OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VmInterface Class Reference

#include <vm_interface.h>

Inheritance diagram for VmInterface:
Collaboration diagram for VmInterface:

Classes

struct  AliasIp
 
struct  AliasIpList
 
struct  AllowedAddressPair
 
struct  AllowedAddressPairList
 
struct  BridgeDomain
 
struct  BridgeDomainList
 
struct  FatFlowEntry
 
struct  FatFlowExcludeList
 
struct  FatFlowList
 
struct  FloatingIp
 
struct  FloatingIpList
 
struct  InstanceIp
 
struct  InstanceIpList
 
struct  LearntMacIp
 
struct  LearntMacIpList
 
struct  List
 
struct  ListEntry
 
struct  SecurityGroupEntry
 
struct  SecurityGroupEntryList
 
struct  ServiceVlan
 
struct  ServiceVlanList
 
struct  StaticRoute
 
struct  StaticRouteList
 
struct  TagEntry
 
struct  TagEntryList
 
struct  VmiReceiveRoute
 
struct  VmiReceiveRouteList
 
struct  VrfAssignRule
 
struct  VrfAssignRuleList
 

Public Types

enum  Configurer { INSTANCE_MSG, CONFIG }
 
enum  DeviceType {
  DEVICE_TYPE_INVALID, VM_ON_TAP, VM_VLAN_ON_VMI, VM_PHYSICAL_VLAN,
  VM_PHYSICAL_MAC, TOR, LOCAL_DEVICE, REMOTE_VM_VLAN_ON_VMI,
  VM_SRIOV, VMI_ON_LR
}
 
enum  VmiType {
  VMI_TYPE_INVALID, INSTANCE, SERVICE_CHAIN, SERVICE_INSTANCE,
  BAREMETAL, GATEWAY, REMOTE_VM, SRIOV,
  VHOST, ROUTER
}
 
enum  LabelType {
  LABEL_TYPE_INVALID = 0, LABEL_TYPE_L2, LABEL_TYPE_L3, LABEL_TYPE_AAP,
  LABEL_TYPE_SERVICE_VLAN, LABEL_TYPE_MAX
}
 
enum  ProxyArpMode { PROXY_ARP_NONE, PROXY_ARP_UNRESTRICTED, PROXY_ARP_INVALID }
 
enum  FatFlowIgnoreAddressType {
  IGNORE_SOURCE = 1, IGNORE_ADDRESS_MIN_VAL = IGNORE_SOURCE, IGNORE_DESTINATION, IGNORE_NONE,
  IGNORE_ADDRESS_MAX_VAL = IGNORE_NONE
}
 
enum  FatFlowPrefixAggregateType {
  AGGREGATE_NONE = 0, AGGREGATE_PREFIX_MIN_VAL = AGGREGATE_NONE, AGGREGATE_DST_IPV6, AGGREGATE_SRC_IPV6,
  AGGREGATE_SRC_DST_IPV6, AGGREGATE_DST_IPV4, AGGREGATE_SRC_IPV4, AGGREGATE_SRC_DST_IPV4,
  AGGREGATE_PREFIX_MAX_VAL = AGGREGATE_SRC_DST_IPV4
}
 
enum  HbsIntfType { HBS_INTF_INVALID = 0, HBS_INTF_LEFT, HBS_INTF_RIGHT, HBS_INTF_MGMT }
 
enum  Trace {
  ADD, DEL, ACTIVATED_IPV4, ACTIVATED_IPV6,
  ACTIVATED_L2, DEACTIVATED_IPV4, DEACTIVATED_IPV6, DEACTIVATED_L2,
  FLOATING_IP_CHANGE, SERVICE_CHANGE, VMI_REUSE, VRF_REUSE
}
 
enum  ServiceMode { BRIDGE_MODE, ROUTED_MODE, ROUTED_NAT_MODE, SERVICE_MODE_ERROR }
 
typedef std::map< IpAddress,
MetaDataIp * > 
MetaDataIpMap
 
typedef std::set
< HealthCheckInstanceBase * > 
HealthCheckInstanceSet
 
typedef std::set< FloatingIp,
FloatingIp
FloatingIpSet
 
typedef std::set< AliasIp,
AliasIp
AliasIpSet
 
typedef std::set< ServiceVlan,
ServiceVlan
ServiceVlanSet
 
typedef std::set< StaticRoute,
StaticRoute
StaticRouteSet
 
typedef std::set
< AllowedAddressPair,
AllowedAddressPair
AllowedAddressPairSet
 
typedef std::set
< SecurityGroupEntry,
SecurityGroupEntry
SecurityGroupEntrySet
 
typedef std::vector
< boost::uuids::uuid
SecurityGroupUuidList
 
typedef std::set< TagEntry,
TagEntry
TagEntrySet
 
typedef std::vector
< boost::uuids::uuid
TagGroupUuidList
 
typedef std::set
< VrfAssignRule, VrfAssignRule
VrfAssignRuleSet
 
typedef std::set< InstanceIp,
InstanceIp
InstanceIpSet
 
typedef std::set< LearntMacIp,
LearntMacIp
LearntMacIpSet
 
typedef std::map< std::string,
FatFlowIgnoreAddressType
IgnoreAddressMap
 
typedef std::set< FatFlowEntry,
FatFlowEntry
FatFlowEntrySet
 
typedef std::set< BridgeDomain,
BridgeDomain
BridgeDomainEntrySet
 
typedef std::set
< VmiReceiveRoute,
VmiReceiveRoute
VmiReceiveRouteSet
 
- Public Types inherited from Interface
enum  Type {
  INVALID, PHYSICAL, REMOTE_PHYSICAL, LOGICAL,
  VM_INTERFACE, INET, PACKET
}
 
enum  Trace {
  ADD, DEL, ACTIVATED, DEACTIVATED,
  FLOATING_IP_CHANGE, SERVICE_CHANGE
}
 
enum  MirrorDirection { MIRROR_RX_TX, MIRROR_RX, MIRROR_TX, UNKNOWN }
 
enum  Transport {
  TRANSPORT_INVALID, TRANSPORT_VIRTUAL, TRANSPORT_ETHERNET, TRANSPORT_SOCKET,
  TRANSPORT_PMD
}
 
- Public Types inherited from AgentDBEntry
typedef boost::intrusive_ptr
< AgentDBEntry
AgentDBEntyRef
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 

Public Member Functions

 VmInterface (const boost::uuids::uuid &uuid, const std::string &name, bool os_oper_state, const boost::uuids::uuid &logical_router_uuid)
 
 VmInterface (const boost::uuids::uuid &uuid, const std::string &name, const Ip4Address &addr, const MacAddress &mac, const std::string &vm_name, const boost::uuids::uuid &vm_project_uuid, uint16_t tx_vlan_id, uint16_t rx_vlan_id, Interface *parent, const Ip6Address &addr6, DeviceType dev_type, VmiType vmi_type, uint8_t vhostuser_mode, bool os_oper_state, const boost::uuids::uuid &logical_router_uuid)
 
virtual ~VmInterface ()
 
virtual bool CmpInterface (const DBEntry &rhs) const
 
virtual void GetOsParams (Agent *agent)
 
void SendTrace (const AgentDBTable *table, Trace event) const
 
bool Delete (const DBRequest *req)
 
void Add ()
 
KeyPtr GetDBRequestKey () const
 
std::string ToString () const
 
bool Resync (const InterfaceTable *table, const VmInterfaceData *data)
 
bool OnChange (VmInterfaceData *data)
 
void PostAdd ()
 
const VmEntryvm () const
 
const VnEntryvn () const
 
VnEntryGetNonConstVn () const
 
const Ip4Addressprimary_ip_addr () const
 
void set_primary_ip_addr (const Ip4Address &addr)
 
bool policy_enabled () const
 
const Ip4Addresssubnet_bcast_addr () const
 
const Ip4Addressvm_ip_service_addr () const
 
const Ip6Addressprimary_ip6_addr () const
 
const MacAddressvm_mac () const
 
void set_vm_mac (const MacAddress &mac)
 
bool fabric_port () const
 
bool need_linklocal_ip () const
 
bool drop_new_flows () const
 
void set_device_type (VmInterface::DeviceType type)
 
void set_vmi_type (VmInterface::VmiType type)
 
VmInterface::DeviceType device_type () const
 
VmInterface::VmiType vmi_type () const
 
VmInterface::HbsIntfType hbs_intf_type () const
 
bool admin_state () const
 
const AclDBEntryvrf_assign_acl () const
 
const Peerpeer () const
 
uint32_t ethernet_tag () const
 
Ip4Address dhcp_addr () const
 
IpAddress service_health_check_ip () const
 
const VmiEcmpLoadBalanceecmp_load_balance () const
 
bool is_vn_qos_config () const
 
bool learning_enabled () const
 
void set_learning_enabled (bool val)
 
bool etree_leaf () const
 
void set_etree_leaf (bool val)
 
void set_hbs_intf_type (VmInterface::HbsIntfType val)
 
bool pbb_interface () const
 
void set_pbb_interface (bool val)
 
bool layer2_control_word () const
 
void set_layer2_control_word (bool val)
 
const NextHopl3_interface_nh_no_policy () const
 
const NextHopl2_interface_nh_no_policy () const
 
const NextHopl2_interface_nh_policy () const
 
const std::string & cfg_name () const
 
uint16_t tx_vlan_id () const
 
uint16_t rx_vlan_id () const
 
uint8_t vhostuser_mode () const
 
const Interfaceparent () const
 
bool ecmp () const
 
bool ecmp6 () const
 
Ip4Address service_ip ()
 
bool service_ip_ecmp () const
 
Ip6Address service_ip6 ()
 
bool service_ip_ecmp6 () const
 
bool flood_unknown_unicast () const
 
bool bridging () const
 
bool layer3_forwarding () const
 
void set_layer3_forwarding (bool val)
 
const std::string & vm_name () const
 
const std::string & vrf_name () const
 
const boost::uuids::uuidvm_project_uuid () const
 
uint32_t local_preference () const
 
void SetPathPreference (PathPreference *pref, bool ecmp, const IpAddress &dependent_ip) const
 
const OperDhcpOptionsoper_dhcp_options () const
 
bool dhcp_enable_config () const
 
void set_dhcp_enable_config (bool dhcp_enable)
 
bool dhcp_enable_v6_config () const
 
void set_dhcp_enable_v6_config (bool dhcp_enable_v6)
 
bool do_dhcp_relay () const
 
bool cfg_igmp_enable () const
 
bool igmp_enabled () const
 
bool mac_ip_learning_enable () const
 
uint32_t max_flows () const
 
void set_max_flows (uint32_t val)
 
ProxyArpMode proxy_arp_mode () const
 
bool IsUnrestrictedProxyArp () const
 
int vxlan_id () const
 
void set_vxlan_id (int vxlan_id)
 
bool IsVxlanMode () const
 
uint8_t configurer () const
 
bool IsConfigurerSet (VmInterface::Configurer type)
 
void SetConfigurer (VmInterface::Configurer type)
 
void ResetConfigurer (VmInterface::Configurer type)
 
bool CanBeDeleted () const
 
const Ip4Addresssubnet () const
 
const uint8_t subnet_plen () const
 
const MacAddressGetVifMac (const Agent *) const
 
const boost::uuids::uuidlogical_interface () const
 
const MirrorEntrymirror_entry () const
 
void set_mirror_entry (MirrorEntry *entry)
 
bool IsMirrorEnabled () const
 
Interface::MirrorDirection mirror_direction () const
 
void set_mirror_direction (Interface::MirrorDirection mirror_direction)
 
uint32_t FloatingIpCount () const
 
const FloatingIpListfloating_ip_list () const
 
bool HasFloatingIp (Address::Family family) const
 
bool HasFloatingIp () const
 
bool IsFloatingIp (const IpAddress &ip) const
 
size_t GetFloatingIpCount () const
 
const AliasIpListalias_ip_list () const
 
VrfEntryGetAliasIpVrf (const IpAddress &ip) const
 
size_t GetAliasIpCount () const
 
void CleanupAliasIpList ()
 
const StaticRouteListstatic_route_list () const
 
const SecurityGroupEntryListsg_list () const
 
void CopySgIdList (SecurityGroupList *sg_id_list) const
 
void CopyTagIdList (TagList *tag_id_list) const
 
const TagEntryListtag_list () const
 
const VrfAssignRuleListvrf_assign_rule_list () const
 
const AllowedAddressPairListallowed_address_pair_list () const
 
const InstanceIpListinstance_ipv4_list () const
 
const InstanceIpListinstance_ipv6_list () const
 
const FatFlowListfat_flow_list () const
 
const LearntMacIpListlearnt_mac_ip_list () const
 
bool IsFatFlowPortBased (uint8_t protocol, uint16_t port, FatFlowIgnoreAddressType *ignore_addr) const
 
bool ExcludeFromFatFlow (Address::Family family, const IpAddress &sip, const IpAddress &dip) const
 
bool MatchSrcPrefixPort (uint8_t protocol, uint16_t port, IpAddress *src_ip, FatFlowIgnoreAddressType *ignore_addr) const
 
bool MatchSrcPrefixRule (uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *SrcIP, FatFlowIgnoreAddressType *ignore_addr) const
 
bool MatchDstPrefixPort (uint8_t protocol, uint16_t port, IpAddress *dst_ip, FatFlowIgnoreAddressType *ignore_addr) const
 
bool MatchDstPrefixRule (uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *DstIP, FatFlowIgnoreAddressType *ignore_addr) const
 
bool MatchSrcDstPrefixPort (uint8_t protocol, uint16_t port, IpAddress *src_ip, IpAddress *dst_ip) const
 
bool MatchSrcDstPrefixRule (uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *SrcIP, IpAddress *DstIP) const
 
bool IsFatFlowPrefixAggregation (bool ingress, uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *SrcIP, IpAddress *DstIP, bool *is_src_prefix, bool *is_dst_prefix, FatFlowIgnoreAddressType *ignore_addr) const
 
const BridgeDomainListbridge_domain_list () const
 
const VmiReceiveRouteListreceive_route_list () const
 
void set_subnet_bcast_addr (const Ip4Address &addr)
 
VrfEntryforwarding_vrf () const
 
Ip4Address mdata_ip_addr () const
 
Ip6Address mdata_ip6_addr () const
 
MetaDataIpGetMetaDataIp (const IpAddress &ip) const
 
void InsertMetaDataIpInfo (MetaDataIp *mip)
 
void DeleteMetaDataIpInfo (MetaDataIp *mip)
 
void UpdateMetaDataIpInfo ()
 
void InsertHealthCheckInstance (HealthCheckInstanceBase *hc_inst)
 
void DeleteHealthCheckInstance (HealthCheckInstanceBase *hc_inst)
 
const HealthCheckInstanceSethc_instance_set () const
 
bool IsHealthCheckEnabled () const
 
void UpdateInterfaceHealthCheckService ()
 
const ServiceVlanListservice_vlan_list () const
 
bool HasServiceVlan () const
 
Agentagent () const
 
uint32_t GetServiceVlanLabel (const VrfEntry *vrf) const
 
const VrfEntryGetServiceVlanVrf (uint16_t vlan_tag) const
 
bool OnResyncServiceVlan (VmInterfaceConfigData *data)
 
void SetServiceVlanPathPreference (PathPreference *pref, const IpAddress &service_ip) const
 
const UuidListslo_list () const
 
const std::string GetAnalyzer () const
 
bool IsL2Active () const
 
bool IsIpv6Active () const
 
bool WaitForTraffic () const
 
bool GetInterfaceDhcpOptions (std::vector< autogen::DhcpOptionType > *options) const
 
bool GetSubnetDhcpOptions (std::vector< autogen::DhcpOptionType > *options, bool ipv6) const
 
bool GetIpamDhcpOptions (std::vector< autogen::DhcpOptionType > *options, bool ipv6) const
 
IpAddress GetServiceIp (const IpAddress &ip) const
 
IpAddress GetGatewayIp (const IpAddress &ip) const
 
bool NeedDevice () const
 
bool NeedOsStateWithoutDevice () const
 
bool IsActive () const
 
bool InstallBridgeRoutes () const
 
bool IsBareMetal () const
 
bool NeedMplsLabel () const
 
bool SgExists (const boost::uuids::uuid &id, const SgList &sg_l)
 
const MacAddressGetIpMac (const IpAddress &, const uint8_t plen) const
 
bool MatchAapIp (const IpAddress &ip, uint8_t plen) const
 
void BuildIpStringList (Address::Family family, std::vector< std::string > *vect) const
 
uint32_t GetIsid () const
 
uint32_t GetPbbVrf () const
 
uint32_t GetPbbLabel () const
 
uint32_t label_op () const
 
void GetNextHopInfo ()
 
bool UpdatePolicySet (const Agent *agent)
 
const FirewallPolicyListfw_policy_list () const
 
const FirewallPolicyListfwaas_fw_policy_list () const
 
const boost::uuids::uuidvmi_cfg_uuid () const
 
bool is_left_si () const
 
uint32_t service_mode ()
 
const boost::uuids::uuidsi_other_end_vmi () const
 
const std::string & service_intf_type () const
 
void set_service_intf_type (std::string type)
 
VmInterfacePortTuplePairedInterface () const
 
void BuildFatFlowExcludeList (FatFlowExcludeList *list) const
 
bool IsMaxMacIpLearnt () const
 
void update_flow_count (int val) const
 
uint32_t flow_count () const
 
InterfaceList parent_list () const
 
- Public Member Functions inherited from Interface
 Interface (Type type, const boost::uuids::uuid &uuid, const std::string &name, VrfEntry *vrf, bool os_oper_state, const boost::uuids::uuid &logical_router_uuid)
 
virtual ~Interface ()
 
virtual void SetKey (const DBRequestKey *key)
 
void SetPciIndex (Agent *agent, size_t index)
 
bool IsLess (const DBEntry &rhs) const
 
uint32_t vrf_id () const
 
uint32_t GetRefCount () const
 
bool DBEntrySandesh (Sandesh *sresp, std::string &name) const
 
bool IsTunnelEnabled () const
 
Type type () const
 
const boost::uuids::uuidGetUuid () const
 
const std::string & name () const
 
VrfEntryvrf () const
 
bool ipv4_active () const
 
bool ipv6_active () const
 
bool is_hc_active () const
 
bool metadata_ip_active () const
 
bool metadata_l2_active () const
 
bool ip_active (Address::Family family) const
 
bool l2_active () const
 
const uint32_t id () const
 
bool dhcp_enabled () const
 
bool dhcp_enabled_v6 () const
 
bool dns_enabled () const
 
uint32_t label () const
 
uint32_t l2_label () const
 
bool IsL2LabelValid (uint32_t label) const
 
uint32_t os_index () const
 
const MacAddressmac () const
 
bool os_oper_state () const
 
bool admin_state () const
 
void set_test_oper_state (bool val)
 
void set_flow_key_nh (const NextHop *nh)
 
const NextHopflow_key_nh () const
 
Interface::Transport transport () const
 
bool IsUveActive () const
 
const AgentQosConfigqos_config () const
 
void UpdateOperStateOfSubIntf (const InterfaceTable *table)
 
bool NeedDefaultOsOperStateDisabled (Agent *agent) const
 
boost::optional
< InterfaceOsParams::IfGuid
os_guid () const
 
const boost::uuids::uuidlogical_router_uuid () const
 
void set_logical_router_uuid (const boost::uuids::uuid &logical_router_uuid)
 
InterfaceOsParams get_os_params ()
 
- Public Member Functions inherited from AgentOperDBEntry
 AgentOperDBEntry ()
 
virtual ~AgentOperDBEntry ()
 
IFMapNodeifmap_node () const
 
void SetIFMapNodeState (IFMapDependencyManager::IFMapNodePtr sref)
 
- Public Member Functions inherited from AgentDBEntry
 AgentDBEntry ()
 
virtual ~AgentDBEntry ()
 
void SetRefState () const
 
void ClearRefState () const
 
bool IsActive () const
 
DBStateGetAgentDBEntryState (int listener_id)
 
const DBStateGetAgentDBEntryState (int listener_id) const
 
virtual void AllocateResources (ResourceManager *resource_manager)
 
virtual void FreeResources (ResourceManager *resource_manager)
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 

Static Public Member Functions

static void NovaAdd (InterfaceTable *table, const boost::uuids::uuid &intf_uuid, const std::string &os_name, const Ip4Address &addr, const std::string &mac, const std::string &vn_name, const boost::uuids::uuid &vm_project_uuid, uint16_t tx_vlan_id, uint16_t rx_vlan_id, const std::string &parent, const Ip6Address &ipv6, uint8_t vhostuser_mode, Interface::Transport transport, uint8_t link_state)
 
static void Delete (InterfaceTable *table, const boost::uuids::uuid &intf_uuid, VmInterface::Configurer configurer)
 
static void SetIfNameReq (InterfaceTable *table, const boost::uuids::uuid &uuid, const std::string &ifname)
 
static void DeleteIfNameReq (InterfaceTable *table, const boost::uuids::uuid &uuid)
 

Static Public Attributes

static const uint32_t kInvalidVlanId = 0xFFFF
 
static const uint32_t kInvalidPmdId = 0xFFFF
 
static const uint32_t kInvalidIsid = 0xFFFFFF
 
static const uint8_t vHostUserClient = 0
 
static const uint8_t vHostUserServer = 1
 
static const uint32_t kMaxMacIpLimit = 50
 
static const char * kInterface = "interface"
 
static const char * kServiceInterface = "service-interface"
 
static const char * kInterfaceStatic = "interface-static"
 
- Static Public Attributes inherited from Interface
static const uint32_t kInvalidIndex = 0xFFFFFFFF
 

Private Member Functions

virtual void ObtainOsSpecificParams (const std::string &name, Agent *agent)
 
bool IsMetaDataL2Active () const
 
bool IsMetaDataIPActive () const
 
bool IsIpv4Active () const
 
bool PolicyEnabled () const
 
void FillV4ExcludeIp (uint64_t plen, const Ip4Address &ip, FatFlowExcludeList *list) const
 
void FillV6ExcludeIp (uint16_t plen, const IpAddress &ip, FatFlowExcludeList *list) const
 
bool CopyConfig (const InterfaceTable *table, const VmInterfaceConfigData *data, bool *sg_changed, bool *ecmp_changed, bool *local_pref_changed, bool *ecmp_load_balance_changed, bool *static_route_config_changed, bool *etree_leaf_mode_changed, bool *tag_changed)
 
void ApplyConfig (bool old_ipv4_active, bool old_l2_active, bool old_ipv6_active, const Ip4Address &old_subnet, const uint8_t old_subnet_plen)
 
void UpdateL2 ()
 
void DeleteL2 ()
 
void AddRoute (const std::string &vrf_name, const IpAddress &ip, uint32_t plen, const std::string &vn_name, bool force_policy, bool ecmp, bool is_local, bool proxy_arp, const IpAddress &service_ip, const IpAddress &dependent_ip, const CommunityList &communties, uint32_t label, const string &intf_route_type, bool is_learnt_route=false)
 
void DeleteRoute (const std::string &vrf_name, const IpAddress &ip, uint32_t plen)
 
bool OnResyncSecurityGroupList (VmInterfaceConfigData *data, bool new_ipv4_active)
 
bool ResyncIpAddress (const VmInterfaceIpAddressData *data)
 
bool ResyncOsOperState (const VmInterfaceOsOperStateData *data)
 
bool ResyncConfig (VmInterfaceConfigData *data)
 
bool CopyIpAddress (Ip4Address &addr)
 
bool CopyIp6Address (const Ip6Address &addr)
 
bool ResetVrfDelete (const InterfaceTable *table, const std::string &vrf_name)
 
void CleanupFloatingIpList ()
 
bool OnResyncStaticRoute (VmInterfaceConfigData *data, bool new_ipv4_active)
 
void AddL2InterfaceRoute (const IpAddress &ip, const MacAddress &mac, const IpAddress &dependent_ip) const
 
void DeleteL2InterfaceRoute (const VrfEntry *vrf, uint32_t ethernet_tag, const IpAddress &ip, const MacAddress &mac) const
 
bool UpdateIsHealthCheckActive ()
 
void CopyEcmpLoadBalance (EcmpLoadBalance &ecmp_load_balance)
 
bool UpdateState (const VmInterfaceState *attr, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
 
bool DeleteState (VmInterfaceState *attr)
 
void SetInterfacesDropNewFlows (bool drop_new_flows) const
 
bool copyMacIpData (const VmInterfaceLearntMacIpData *data)
 
 DISALLOW_COPY_AND_ASSIGN (VmInterface)
 

Static Private Member Functions

static IgnoreAddressMap InitIgnoreAddressMap ()
 

Private Attributes

VmEntryBackRef vm_
 
VnEntryRef vn_
 
Ip4Address primary_ip_addr_
 
Ip4Address subnet_bcast_addr_
 
Ip6Address primary_ip6_addr_
 
MacAddress vm_mac_
 
bool policy_enabled_
 
MirrorEntryRef mirror_entry_
 
Interface::MirrorDirection mirror_direction_
 
std::string cfg_name_
 
bool fabric_port_
 
bool need_linklocal_ip_
 
bool drop_new_flows_
 
bool drop_new_flows_vmi_
 
bool dhcp_enable_
 
bool dhcp_enable_v6_
 
bool do_dhcp_relay_
 
ProxyArpMode proxy_arp_mode_
 
std::string vm_name_
 
std::string vrf_name_
 
boost::uuids::uuid vm_project_uuid_
 
int vxlan_id_
 
bool bridging_
 
bool layer3_forwarding_
 
bool flood_unknown_unicast_
 
bool mac_set_
 
bool ecmp_
 
bool ecmp6_
 
Ip4Address service_ip_
 
bool service_ip_ecmp_
 
Ip6Address service_ip6_
 
bool service_ip_ecmp6_
 
bool disable_policy_
 
uint16_t tx_vlan_id_
 
uint16_t rx_vlan_id_
 
InterfaceBackRef parent_
 
uint32_t local_preference_
 
OperDhcpOptions oper_dhcp_options_
 
bool cfg_igmp_enable_
 
bool igmp_enabled_
 
bool mac_ip_learning_enable_
 
uint32_t max_flows_
 
tbb::atomic< int > flow_count_
 
std::unique_ptr
< MacVmBindingState
mac_vm_binding_state_
 
std::unique_ptr< NextHopStatenexthop_state_
 
std::unique_ptr
< VrfTableLabelState
vrf_table_label_state_
 
std::unique_ptr< MetaDataIpStatemetadata_ip_state_
 
std::unique_ptr< MetaDataIpStatemetadata_ip6_state_
 
std::unique_ptr
< ResolveRouteState
resolve_route_state_
 
std::unique_ptr< VmiRouteStateinterface_route_state_
 
SecurityGroupEntryList sg_list_
 
TagEntryList tag_list_
 
FloatingIpList floating_ip_list_
 
AliasIpList alias_ip_list_
 
ServiceVlanList service_vlan_list_
 
StaticRouteList static_route_list_
 
AllowedAddressPairList allowed_address_pair_list_
 
InstanceIpList instance_ipv4_list_
 
InstanceIpList instance_ipv6_list_
 
FatFlowList fat_flow_list_
 
BridgeDomainList bridge_domain_list_
 
VrfAssignRuleList vrf_assign_rule_list_
 
VmiReceiveRouteList receive_route_list_
 
LearntMacIpList learnt_mac_ip_list_
 
std::unique_ptr< LocalVmPortPeerpeer_
 
Ip4Address vm_ip_service_addr_
 
VmInterface::DeviceType device_type_
 
VmInterface::VmiType vmi_type_
 
VmInterface::HbsIntfType hbs_intf_type_
 
uint8_t configurer_
 
Ip4Address subnet_
 
uint8_t subnet_plen_
 
int ethernet_tag_
 
boost::uuids::uuid logical_interface_
 
Ip4Address nova_ip_addr_
 
Ip6Address nova_ip6_addr_
 
Ip4Address dhcp_addr_
 
MetaDataIpMap metadata_ip_map_
 
HealthCheckInstanceSet hc_instance_set_
 
VmiEcmpLoadBalance ecmp_load_balance_
 
IpAddress service_health_check_ip_
 
bool is_vn_qos_config_
 
bool learning_enabled_
 
bool etree_leaf_
 
bool pbb_interface_
 
bool layer2_control_word_
 
FirewallPolicyList fw_policy_list_
 
FirewallPolicyList fwaas_fw_policy_list_
 
UuidList slo_list_
 
VrfEntryRef forwarding_vrf_
 
uint8_t vhostuser_mode_
 
bool is_left_si_
 
uint32_t service_mode_
 
boost::uuids::uuid si_other_end_vmi_
 
boost::uuids::uuid vmi_cfg_uuid_
 
std::string service_intf_type_
 
InterfaceList parent_list_
 

Static Private Attributes

static IgnoreAddressMap fatflow_ignore_addr_map_
 

Friends

struct VmInterfaceConfigData
 
struct VmInterfaceNovaData
 
struct VmInterfaceIpAddressData
 
struct VmInterfaceOsOperStateData
 
struct VmInterfaceMirrorData
 
struct VmInterfaceGlobalVrouterData
 
struct VmInterfaceHealthCheckData
 
struct VmInterfaceNewFlowDropData
 
struct ResolveRouteState
 
struct VmiRouteState
 
struct VmInterfaceLearntMacIpData
 

Additional Inherited Members

- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 
- Protected Member Functions inherited from Interface
void SetItfSandeshData (ItfSandeshData &data) const
 
- Protected Attributes inherited from Interface
Type type_
 
boost::uuids::uuid uuid_
 
VrfEntryRef vrf_
 
uint32_t label_
 
uint32_t l2_label_
 
bool ipv4_active_
 
bool ipv6_active_
 
bool is_hc_active_
 
bool metadata_ip_active_
 
bool metadata_l2_active_
 
bool l2_active_
 
size_t id_
 
bool dhcp_enabled_
 
bool dhcp_enabled_v6_
 
bool dns_enabled_
 
bool admin_state_
 
bool test_oper_state_
 
NextHopConstRef flow_key_nh_
 
Transport transport_
 
AgentQosConfigConstRef qos_config_
 
struct InterfaceOsParams os_params_
 
boost::uuids::uuid logical_router_uuid_
 

Detailed Description

Definition at line 358 of file vm_interface.h.

Member Typedef Documentation

Definition at line 612 of file vm_interface.h.

Definition at line 1163 of file vm_interface.h.

Definition at line 1111 of file vm_interface.h.

Definition at line 567 of file vm_interface.h.

Definition at line 466 of file vm_interface.h.

Definition at line 1007 of file vm_interface.h.

Definition at line 933 of file vm_interface.h.

Definition at line 989 of file vm_interface.h.

Definition at line 465 of file vm_interface.h.

Definition at line 792 of file vm_interface.h.

Definition at line 664 of file vm_interface.h.

Definition at line 701 of file vm_interface.h.

Definition at line 828 of file vm_interface.h.

Definition at line 829 of file vm_interface.h.

Definition at line 1203 of file vm_interface.h.

Definition at line 864 of file vm_interface.h.

Member Enumeration Documentation

Enumerator
INSTANCE_MSG 
CONFIG 

Definition at line 372 of file vm_interface.h.

Enumerator
DEVICE_TYPE_INVALID 
VM_ON_TAP 
VM_VLAN_ON_VMI 
VM_PHYSICAL_VLAN 
VM_PHYSICAL_MAC 
TOR 
LOCAL_DEVICE 
REMOTE_VM_VLAN_ON_VMI 
VM_SRIOV 
VMI_ON_LR 

Definition at line 378 of file vm_interface.h.

Enumerator
IGNORE_SOURCE 
IGNORE_ADDRESS_MIN_VAL 
IGNORE_DESTINATION 
IGNORE_NONE 
IGNORE_ADDRESS_MAX_VAL 

Definition at line 433 of file vm_interface.h.

Enumerator
AGGREGATE_NONE 
AGGREGATE_PREFIX_MIN_VAL 
AGGREGATE_DST_IPV6 
AGGREGATE_SRC_IPV6 
AGGREGATE_SRC_DST_IPV6 
AGGREGATE_DST_IPV4 
AGGREGATE_SRC_IPV4 
AGGREGATE_SRC_DST_IPV4 
AGGREGATE_PREFIX_MAX_VAL 

Definition at line 446 of file vm_interface.h.

Enumerator
HBS_INTF_INVALID 
HBS_INTF_LEFT 
HBS_INTF_RIGHT 
HBS_INTF_MGMT 

Definition at line 458 of file vm_interface.h.

Enumerator
LABEL_TYPE_INVALID 
LABEL_TYPE_L2 
LABEL_TYPE_L3 
LABEL_TYPE_AAP 
LABEL_TYPE_SERVICE_VLAN 
LABEL_TYPE_MAX 

Definition at line 413 of file vm_interface.h.

Enumerator
PROXY_ARP_NONE 
PROXY_ARP_UNRESTRICTED 
PROXY_ARP_INVALID 

Definition at line 422 of file vm_interface.h.

Enumerator
BRIDGE_MODE 
ROUTED_MODE 
ROUTED_NAT_MODE 
SERVICE_MODE_ERROR 

Definition at line 1556 of file vm_interface.h.

Enumerator
ADD 
DEL 
ACTIVATED_IPV4 
ACTIVATED_IPV6 
ACTIVATED_L2 
DEACTIVATED_IPV4 
DEACTIVATED_IPV6 
DEACTIVATED_L2 
FLOATING_IP_CHANGE 
SERVICE_CHANGE 
VMI_REUSE 
VRF_REUSE 

Definition at line 1218 of file vm_interface.h.

Enumerator
VMI_TYPE_INVALID 
INSTANCE 
SERVICE_CHAIN 
SERVICE_INSTANCE 
BAREMETAL 
GATEWAY 
REMOTE_VM 
SRIOV 
VHOST 
ROUTER 

Definition at line 398 of file vm_interface.h.

Constructor & Destructor Documentation

VmInterface::VmInterface ( const boost::uuids::uuid uuid,
const std::string &  name,
bool  os_oper_state,
const boost::uuids::uuid logical_router_uuid 
)

Definition at line 48 of file vm_interface.cc.

VmInterface::VmInterface ( const boost::uuids::uuid uuid,
const std::string &  name,
const Ip4Address addr,
const MacAddress mac,
const std::string &  vm_name,
const boost::uuids::uuid vm_project_uuid,
uint16_t  tx_vlan_id,
uint16_t  rx_vlan_id,
Interface parent,
const Ip6Address addr6,
DeviceType  dev_type,
VmiType  vmi_type,
uint8_t  vhostuser_mode,
bool  os_oper_state,
const boost::uuids::uuid logical_router_uuid 
)

Definition at line 99 of file vm_interface.cc.

VmInterface::~VmInterface ( )
virtual

Definition at line 156 of file vm_interface.cc.

Member Function Documentation

void VmInterface::Add ( )
virtual

Reimplemented from Interface.

Definition at line 194 of file vm_interface.cc.

void VmInterface::AddL2InterfaceRoute ( const IpAddress ip,
const MacAddress mac,
const IpAddress dependent_ip 
) const
private

Definition at line 399 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::AddRoute ( const std::string &  vrf_name,
const IpAddress ip,
uint32_t  plen,
const std::string &  vn_name,
bool  force_policy,
bool  ecmp,
bool  is_local,
bool  proxy_arp,
const IpAddress service_ip,
const IpAddress dependent_ip,
const CommunityList communties,
uint32_t  label,
const string &  intf_route_type,
bool  is_learnt_route = false 
)
private

Definition at line 447 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::admin_state ( ) const
inline

Definition at line 1281 of file vm_interface.h.

Agent* VmInterface::agent ( ) const
inline

Definition at line 1495 of file vm_interface.h.

Here is the call graph for this function:

const AliasIpList& VmInterface::alias_ip_list ( ) const
inline

Definition at line 1392 of file vm_interface.h.

const AllowedAddressPairList& VmInterface::allowed_address_pair_list ( ) const
inline

Definition at line 1416 of file vm_interface.h.

void VmInterface::ApplyConfig ( bool  old_ipv4_active,
bool  old_l2_active,
bool  old_ipv6_active,
const Ip4Address old_subnet,
const uint8_t  old_subnet_plen 
)
private

Definition at line 379 of file vm_interface.cc.

Here is the call graph for this function:

const BridgeDomainList& VmInterface::bridge_domain_list ( ) const
inline

Definition at line 1461 of file vm_interface.h.

bool VmInterface::bridging ( ) const
inline

Definition at line 1328 of file vm_interface.h.

void VmInterface::BuildFatFlowExcludeList ( VmInterface::FatFlowExcludeList list) const

Definition at line 1338 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::BuildIpStringList ( Address::Family  family,
std::vector< std::string > *  vect 
) const

Definition at line 1406 of file vm_interface_utils.cc.

bool VmInterface::CanBeDeleted ( ) const
inline

Definition at line 1366 of file vm_interface.h.

bool VmInterface::cfg_igmp_enable ( ) const
inline

Definition at line 1348 of file vm_interface.h.

const std::string& VmInterface::cfg_name ( ) const
inline

Definition at line 1309 of file vm_interface.h.

void VmInterface::CleanupAliasIpList ( )

Definition at line 2301 of file vm_interface.cc.

void VmInterface::CleanupFloatingIpList ( )
private

Definition at line 1979 of file vm_interface.cc.

bool VmInterface::CmpInterface ( const DBEntry rhs) const
virtual

Implements Interface.

Definition at line 176 of file vm_interface.cc.

Here is the call graph for this function:

uint8_t VmInterface::configurer ( ) const
inline

Definition at line 1362 of file vm_interface.h.

bool VmInterface::CopyConfig ( const InterfaceTable table,
const VmInterfaceConfigData data,
bool *  sg_changed,
bool *  ecmp_changed,
bool *  local_pref_changed,
bool *  ecmp_load_balance_changed,
bool *  static_route_config_changed,
bool *  etree_leaf_mode_changed,
bool *  tag_changed 
)
private

Definition at line 263 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::CopyEcmpLoadBalance ( EcmpLoadBalance ecmp_load_balance)
private

Definition at line 387 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::CopyIp6Address ( const Ip6Address addr)
private

Definition at line 245 of file vm_interface_request.cc.

bool VmInterface::CopyIpAddress ( Ip4Address addr)
private

Definition at line 1484 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::copyMacIpData ( const VmInterfaceLearntMacIpData data)
private

Definition at line 1262 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::CopySgIdList ( SecurityGroupList sg_id_list) const

Definition at line 663 of file vm_interface_utils.cc.

void VmInterface::CopyTagIdList ( TagList tag_id_list) const

Definition at line 3442 of file vm_interface.cc.

bool VmInterface::Delete ( const DBRequest req)
virtual

Reimplemented from Interface.

Definition at line 198 of file vm_interface.cc.

Here is the call graph for this function:

void VmInterface::Delete ( InterfaceTable table,
const boost::uuids::uuid intf_uuid,
VmInterface::Configurer  configurer 
)
static

Definition at line 1008 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::DeleteHealthCheckInstance ( HealthCheckInstanceBase hc_inst)

Definition at line 742 of file vm_interface_utils.cc.

void VmInterface::DeleteIfNameReq ( InterfaceTable table,
const boost::uuids::uuid uuid 
)
static

Definition at line 1291 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::DeleteL2 ( )
private
void VmInterface::DeleteL2InterfaceRoute ( const VrfEntry vrf,
uint32_t  ethernet_tag,
const IpAddress ip,
const MacAddress mac 
) const
private

Definition at line 432 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::DeleteMetaDataIpInfo ( MetaDataIp mip)

Definition at line 1469 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::DeleteRoute ( const std::string &  vrf_name,
const IpAddress ip,
uint32_t  plen 
)
private

Definition at line 486 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::DeleteState ( VmInterfaceState attr)
private

Definition at line 565 of file vm_interface.cc.

Here is the call graph for this function:

VmInterface::DeviceType VmInterface::device_type ( ) const
inline

Definition at line 1278 of file vm_interface.h.

Ip4Address VmInterface::dhcp_addr ( ) const
inline

Definition at line 1287 of file vm_interface.h.

bool VmInterface::dhcp_enable_config ( ) const
inline

Definition at line 1342 of file vm_interface.h.

bool VmInterface::dhcp_enable_v6_config ( ) const
inline

Definition at line 1344 of file vm_interface.h.

VmInterface::DISALLOW_COPY_AND_ASSIGN ( VmInterface  )
private
bool VmInterface::do_dhcp_relay ( ) const
inline

Definition at line 1346 of file vm_interface.h.

bool VmInterface::drop_new_flows ( ) const
inline

Definition at line 1275 of file vm_interface.h.

bool VmInterface::ecmp ( ) const
inline

Definition at line 1321 of file vm_interface.h.

bool VmInterface::ecmp6 ( ) const
inline

Definition at line 1322 of file vm_interface.h.

const VmiEcmpLoadBalance& VmInterface::ecmp_load_balance ( ) const
inline

Definition at line 1289 of file vm_interface.h.

uint32_t VmInterface::ethernet_tag ( ) const
inline

Definition at line 1286 of file vm_interface.h.

bool VmInterface::etree_leaf ( ) const
inline

Definition at line 1295 of file vm_interface.h.

bool VmInterface::ExcludeFromFatFlow ( Address::Family  family,
const IpAddress sip,
const IpAddress dip 
) const

Definition at line 1270 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::fabric_port ( ) const
inline

Definition at line 1273 of file vm_interface.h.

const FatFlowList& VmInterface::fat_flow_list ( ) const
inline

Definition at line 1428 of file vm_interface.h.

void VmInterface::FillV4ExcludeIp ( uint64_t  plen,
const Ip4Address ip,
VmInterface::FatFlowExcludeList list 
) const
private

Definition at line 1317 of file vm_interface_utils.cc.

void VmInterface::FillV6ExcludeIp ( uint16_t  plen,
const IpAddress ip,
VmInterface::FatFlowExcludeList list 
) const
private

Definition at line 1326 of file vm_interface_utils.cc.

Here is the call graph for this function:

const FloatingIpList& VmInterface::floating_ip_list ( ) const
inline

Definition at line 1386 of file vm_interface.h.

uint32_t VmInterface::FloatingIpCount ( ) const
inline

Definition at line 1385 of file vm_interface.h.

bool VmInterface::flood_unknown_unicast ( ) const
inline

Definition at line 1327 of file vm_interface.h.

uint32_t VmInterface::flow_count ( ) const
inline

Definition at line 1595 of file vm_interface.h.

VrfEntry* VmInterface::forwarding_vrf ( ) const
inline

Definition at line 1473 of file vm_interface.h.

const FirewallPolicyList& VmInterface::fw_policy_list ( ) const
inline

Definition at line 1545 of file vm_interface.h.

const FirewallPolicyList& VmInterface::fwaas_fw_policy_list ( ) const
inline

Definition at line 1548 of file vm_interface.h.

size_t VmInterface::GetAliasIpCount ( ) const
inline

Definition at line 1396 of file vm_interface.h.

VrfEntry * VmInterface::GetAliasIpVrf ( const IpAddress ip) const

Definition at line 720 of file vm_interface_utils.cc.

const string VmInterface::GetAnalyzer ( ) const

Definition at line 797 of file vm_interface_utils.cc.

DBEntryBase::KeyPtr VmInterface::GetDBRequestKey ( ) const
virtual

Implements Interface.

Definition at line 189 of file vm_interface.cc.

Here is the call graph for this function:

size_t VmInterface::GetFloatingIpCount ( ) const
inline

Definition at line 1390 of file vm_interface.h.

IpAddress VmInterface::GetGatewayIp ( const IpAddress ip) const

Definition at line 640 of file vm_interface_utils.cc.

bool VmInterface::GetInterfaceDhcpOptions ( std::vector< autogen::DhcpOptionType > *  options) const

Definition at line 497 of file vm_interface_utils.cc.

bool VmInterface::GetIpamDhcpOptions ( std::vector< autogen::DhcpOptionType > *  options,
bool  ipv6 
) const

Definition at line 532 of file vm_interface_utils.cc.

const MacAddress & VmInterface::GetIpMac ( const IpAddress ip,
const uint8_t  plen 
) const

Definition at line 552 of file vm_interface_utils.cc.

uint32_t VmInterface::GetIsid ( ) const

Definition at line 1422 of file vm_interface_utils.cc.

MetaDataIp * VmInterface::GetMetaDataIp ( const IpAddress ip) const

Definition at line 1453 of file vm_interface_utils.cc.

void VmInterface::GetNextHopInfo ( )

Definition at line 1202 of file vm_interface.cc.

Here is the call graph for this function:

VnEntry* VmInterface::GetNonConstVn ( ) const
inline

Definition at line 1263 of file vm_interface.h.

void VmInterface::GetOsParams ( Agent agent)
virtual

Reimplemented from Interface.

Definition at line 138 of file vm_interface_utils.cc.

Here is the call graph for this function:

uint32_t VmInterface::GetPbbLabel ( ) const

Definition at line 1440 of file vm_interface_utils.cc.

uint32_t VmInterface::GetPbbVrf ( ) const

Definition at line 1430 of file vm_interface_utils.cc.

IpAddress VmInterface::GetServiceIp ( const IpAddress ip) const

Definition at line 613 of file vm_interface_utils.cc.

uint32_t VmInterface::GetServiceVlanLabel ( const VrfEntry vrf) const

Definition at line 674 of file vm_interface_utils.cc.

const VrfEntry * VmInterface::GetServiceVlanVrf ( uint16_t  vlan_tag) const

Definition at line 685 of file vm_interface_utils.cc.

bool VmInterface::GetSubnetDhcpOptions ( std::vector< autogen::DhcpOptionType > *  options,
bool  ipv6 
) const

Definition at line 508 of file vm_interface_utils.cc.

const MacAddress & VmInterface::GetVifMac ( const Agent agent) const

Definition at line 1364 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::HasFloatingIp ( Address::Family  family) const

Definition at line 696 of file vm_interface_utils.cc.

bool VmInterface::HasFloatingIp ( ) const

Definition at line 704 of file vm_interface_utils.cc.

bool VmInterface::HasServiceVlan ( ) const
inline

Definition at line 1493 of file vm_interface.h.

VmInterface::HbsIntfType VmInterface::hbs_intf_type ( ) const
inline

Definition at line 1280 of file vm_interface.h.

const VmInterface::HealthCheckInstanceSet & VmInterface::hc_instance_set ( ) const

Definition at line 755 of file vm_interface_utils.cc.

bool VmInterface::igmp_enabled ( ) const
inline

Definition at line 1349 of file vm_interface.h.

static IgnoreAddressMap VmInterface::InitIgnoreAddressMap ( )
inlinestaticprivate

Definition at line 1673 of file vm_interface.h.

void VmInterface::InsertHealthCheckInstance ( HealthCheckInstanceBase hc_inst)

Definition at line 736 of file vm_interface_utils.cc.

void VmInterface::InsertMetaDataIpInfo ( MetaDataIp mip)

Definition at line 1462 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::InstallBridgeRoutes ( ) const

Definition at line 1377 of file vm_interface_utils.cc.

const InstanceIpList& VmInterface::instance_ipv4_list ( ) const
inline

Definition at line 1420 of file vm_interface.h.

const InstanceIpList& VmInterface::instance_ipv6_list ( ) const
inline

Definition at line 1424 of file vm_interface.h.

bool VmInterface::is_left_si ( ) const
inline

Definition at line 1555 of file vm_interface.h.

bool VmInterface::is_vn_qos_config ( ) const
inline

Definition at line 1290 of file vm_interface.h.

bool VmInterface::IsActive ( ) const

Definition at line 163 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::IsBareMetal ( ) const
inline

Definition at line 1526 of file vm_interface.h.

bool VmInterface::IsConfigurerSet ( VmInterface::Configurer  type)

Definition at line 172 of file vm_interface.cc.

bool VmInterface::IsFatFlowPortBased ( uint8_t  protocol,
uint16_t  port,
FatFlowIgnoreAddressType ignore_addr 
) const

Definition at line 809 of file vm_interface_utils.cc.

bool VmInterface::IsFatFlowPrefixAggregation ( bool  ingress,
uint8_t  protocol,
uint16_t *  sport,
uint16_t *  dport,
bool *  same_port_num,
IpAddress SrcIP,
IpAddress DstIP,
bool *  is_src_prefix,
bool *  is_dst_prefix,
FatFlowIgnoreAddressType ignore_addr 
) const

Definition at line 1223 of file vm_interface_utils.cc.

bool VmInterface::IsFloatingIp ( const IpAddress ip) const

Definition at line 708 of file vm_interface_utils.cc.

bool VmInterface::IsHealthCheckEnabled ( ) const

Definition at line 759 of file vm_interface_utils.cc.

bool VmInterface::IsIpv4Active ( ) const
private

Definition at line 266 of file vm_interface_utils.cc.

bool VmInterface::IsIpv6Active ( ) const

Definition at line 290 of file vm_interface_utils.cc.

bool VmInterface::IsL2Active ( ) const

Definition at line 306 of file vm_interface_utils.cc.

bool VmInterface::IsMaxMacIpLearnt ( ) const

Definition at line 1970 of file vm_interface.cc.

bool VmInterface::IsMetaDataIPActive ( ) const
private

Definition at line 236 of file vm_interface_utils.cc.

bool VmInterface::IsMetaDataL2Active ( ) const
private

Definition at line 258 of file vm_interface_utils.cc.

bool VmInterface::IsMirrorEnabled ( ) const
inline

Definition at line 1377 of file vm_interface.h.

bool VmInterface::IsUnrestrictedProxyArp ( ) const
inline

Definition at line 1354 of file vm_interface.h.

bool VmInterface::IsVxlanMode ( ) const

Definition at line 1399 of file vm_interface_utils.cc.

Here is the call graph for this function:

const NextHop * VmInterface::l2_interface_nh_no_policy ( ) const

Definition at line 1183 of file vm_interface.cc.

const NextHop * VmInterface::l2_interface_nh_policy ( ) const

Definition at line 1187 of file vm_interface.cc.

const NextHop * VmInterface::l3_interface_nh_no_policy ( ) const

Definition at line 1179 of file vm_interface.cc.

uint32_t VmInterface::label_op ( ) const

Definition at line 1191 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::layer2_control_word ( ) const
inline

Definition at line 1302 of file vm_interface.h.

bool VmInterface::layer3_forwarding ( ) const
inline

Definition at line 1329 of file vm_interface.h.

bool VmInterface::learning_enabled ( ) const
inline

Definition at line 1292 of file vm_interface.h.

const LearntMacIpList& VmInterface::learnt_mac_ip_list ( ) const
inline

Definition at line 1431 of file vm_interface.h.

uint32_t VmInterface::local_preference ( ) const
inline

Definition at line 1335 of file vm_interface.h.

const boost::uuids::uuid& VmInterface::logical_interface ( ) const
inline

Definition at line 1371 of file vm_interface.h.

bool VmInterface::mac_ip_learning_enable ( ) const
inline

Definition at line 1350 of file vm_interface.h.

bool VmInterface::MatchAapIp ( const IpAddress ip,
uint8_t  plen 
) const

Definition at line 579 of file vm_interface_utils.cc.

bool VmInterface::MatchDstPrefixPort ( uint8_t  protocol,
uint16_t  port,
IpAddress dst_ip,
FatFlowIgnoreAddressType ignore_addr 
) const

Definition at line 962 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::MatchDstPrefixRule ( uint8_t  protocol,
uint16_t *  sport,
uint16_t *  dport,
bool *  same_port_num,
IpAddress DstIP,
FatFlowIgnoreAddressType ignore_addr 
) const

Definition at line 1053 of file vm_interface_utils.cc.

bool VmInterface::MatchSrcDstPrefixPort ( uint8_t  protocol,
uint16_t  port,
IpAddress src_ip,
IpAddress dst_ip 
) const

Definition at line 1088 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::MatchSrcDstPrefixRule ( uint8_t  protocol,
uint16_t *  sport,
uint16_t *  dport,
bool *  same_port_num,
IpAddress SrcIP,
IpAddress DstIP 
) const

Definition at line 1189 of file vm_interface_utils.cc.

bool VmInterface::MatchSrcPrefixPort ( uint8_t  protocol,
uint16_t  port,
IpAddress src_ip,
FatFlowIgnoreAddressType ignore_addr 
) const

Definition at line 834 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::MatchSrcPrefixRule ( uint8_t  protocol,
uint16_t *  sport,
uint16_t *  dport,
bool *  same_port_num,
IpAddress SrcIP,
FatFlowIgnoreAddressType ignore_addr 
) const

Definition at line 928 of file vm_interface_utils.cc.

uint32_t VmInterface::max_flows ( ) const
inline

Definition at line 1351 of file vm_interface.h.

Ip6Address VmInterface::mdata_ip6_addr ( ) const

Definition at line 1276 of file vm_interface.cc.

Ip4Address VmInterface::mdata_ip_addr ( ) const

Definition at line 1265 of file vm_interface.cc.

Interface::MirrorDirection VmInterface::mirror_direction ( ) const
inline

Definition at line 1378 of file vm_interface.h.

const MirrorEntry* VmInterface::mirror_entry ( ) const
inline

Definition at line 1375 of file vm_interface.h.

bool VmInterface::need_linklocal_ip ( ) const
inline

Definition at line 1274 of file vm_interface.h.

bool VmInterface::NeedDevice ( ) const

Definition at line 97 of file vm_interface_utils.cc.

bool VmInterface::NeedMplsLabel ( ) const
bool VmInterface::NeedOsStateWithoutDevice ( ) const

Definition at line 124 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::NovaAdd ( InterfaceTable table,
const boost::uuids::uuid intf_uuid,
const std::string &  os_name,
const Ip4Address addr,
const std::string &  mac,
const std::string &  vn_name,
const boost::uuids::uuid vm_project_uuid,
uint16_t  tx_vlan_id,
uint16_t  rx_vlan_id,
const std::string &  parent,
const Ip6Address ipv6,
uint8_t  vhostuser_mode,
Interface::Transport  transport,
uint8_t  link_state 
)
static

Definition at line 984 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::ObtainOsSpecificParams ( const std::string &  name,
Agent agent 
)
privatevirtual

Reimplemented from Interface.

Definition at line 51 of file interface_params.cc.

Here is the call graph for this function:

bool VmInterface::OnChange ( VmInterfaceData data)

Definition at line 254 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::OnResyncSecurityGroupList ( VmInterfaceConfigData data,
bool  new_ipv4_active 
)
private
bool VmInterface::OnResyncServiceVlan ( VmInterfaceConfigData data)
bool VmInterface::OnResyncStaticRoute ( VmInterfaceConfigData data,
bool  new_ipv4_active 
)
private
const OperDhcpOptions& VmInterface::oper_dhcp_options ( ) const
inline

Definition at line 1339 of file vm_interface.h.

const Interface* VmInterface::parent ( ) const
inline

Definition at line 1313 of file vm_interface.h.

Here is the call graph for this function:

InterfaceList VmInterface::parent_list ( ) const
inline

Definition at line 1596 of file vm_interface.h.

bool VmInterface::pbb_interface ( ) const
inline

Definition at line 1299 of file vm_interface.h.

const Peer * VmInterface::peer ( ) const

Definition at line 805 of file vm_interface_utils.cc.

bool VmInterface::policy_enabled ( ) const
inline

Definition at line 1267 of file vm_interface.h.

bool VmInterface::PolicyEnabled ( ) const
private

Definition at line 1384 of file vm_interface_utils.cc.

VmInterface * VmInterface::PortTuplePairedInterface ( ) const

Definition at line 1514 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::PostAdd ( )
virtual

Reimplemented from AgentDBEntry.

Definition at line 217 of file vm_interface.cc.

Here is the call graph for this function:

const Ip6Address& VmInterface::primary_ip6_addr ( ) const
inline

Definition at line 1270 of file vm_interface.h.

const Ip4Address& VmInterface::primary_ip_addr ( ) const
inline

Definition at line 1264 of file vm_interface.h.

ProxyArpMode VmInterface::proxy_arp_mode ( ) const
inline

Definition at line 1353 of file vm_interface.h.

const VmiReceiveRouteList& VmInterface::receive_route_list ( ) const
inline

Definition at line 1465 of file vm_interface.h.

void VmInterface::ResetConfigurer ( VmInterface::Configurer  type)

Definition at line 168 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::ResetVrfDelete ( const InterfaceTable table,
const std::string &  vrf_name 
)
private

Definition at line 241 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::Resync ( const InterfaceTable table,
const VmInterfaceData data 
)

Definition at line 267 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::ResyncConfig ( VmInterfaceConfigData data)
private
bool VmInterface::ResyncIpAddress ( const VmInterfaceIpAddressData data)
private
bool VmInterface::ResyncOsOperState ( const VmInterfaceOsOperStateData data)
private
uint16_t VmInterface::rx_vlan_id ( ) const
inline

Definition at line 1311 of file vm_interface.h.

void VmInterface::SendTrace ( const AgentDBTable table,
Trace  event 
) const
virtual

Reimplemented from Interface.

Definition at line 1524 of file vm_interface_utils.cc.

Here is the call graph for this function:

IpAddress VmInterface::service_health_check_ip ( ) const
inline

Definition at line 1288 of file vm_interface.h.

const std::string& VmInterface::service_intf_type ( ) const
inline

Definition at line 1568 of file vm_interface.h.

Ip4Address VmInterface::service_ip ( )
inline

Definition at line 1323 of file vm_interface.h.

Ip6Address VmInterface::service_ip6 ( )
inline

Definition at line 1325 of file vm_interface.h.

bool VmInterface::service_ip_ecmp ( ) const
inline

Definition at line 1324 of file vm_interface.h.

bool VmInterface::service_ip_ecmp6 ( ) const
inline

Definition at line 1326 of file vm_interface.h.

uint32_t VmInterface::service_mode ( )
inline

Definition at line 1562 of file vm_interface.h.

const ServiceVlanList& VmInterface::service_vlan_list ( ) const
inline

Definition at line 1490 of file vm_interface.h.

void VmInterface::set_device_type ( VmInterface::DeviceType  type)
inline

Definition at line 1276 of file vm_interface.h.

Here is the call graph for this function:

void VmInterface::set_dhcp_enable_config ( bool  dhcp_enable)
inline

Definition at line 1343 of file vm_interface.h.

void VmInterface::set_dhcp_enable_v6_config ( bool  dhcp_enable_v6)
inline

Definition at line 1345 of file vm_interface.h.

void VmInterface::set_etree_leaf ( bool  val)
inline

Definition at line 1296 of file vm_interface.h.

void VmInterface::set_hbs_intf_type ( VmInterface::HbsIntfType  val)
inline

Definition at line 1298 of file vm_interface.h.

void VmInterface::set_layer2_control_word ( bool  val)
inline

Definition at line 1303 of file vm_interface.h.

void VmInterface::set_layer3_forwarding ( bool  val)
inline

Definition at line 1330 of file vm_interface.h.

void VmInterface::set_learning_enabled ( bool  val)
inline

Definition at line 1293 of file vm_interface.h.

void VmInterface::set_max_flows ( uint32_t  val)
inline

Definition at line 1352 of file vm_interface.h.

void VmInterface::set_mirror_direction ( Interface::MirrorDirection  mirror_direction)
inline

Definition at line 1381 of file vm_interface.h.

Here is the call graph for this function:

void VmInterface::set_mirror_entry ( MirrorEntry entry)
inline

Definition at line 1376 of file vm_interface.h.

void VmInterface::set_pbb_interface ( bool  val)
inline

Definition at line 1300 of file vm_interface.h.

void VmInterface::set_primary_ip_addr ( const Ip4Address addr)
inline

Definition at line 1265 of file vm_interface.h.

void VmInterface::set_service_intf_type ( std::string  type)
inline

Definition at line 1569 of file vm_interface.h.

Here is the call graph for this function:

void VmInterface::set_subnet_bcast_addr ( const Ip4Address addr)
inline

Definition at line 1469 of file vm_interface.h.

void VmInterface::set_vm_mac ( const MacAddress mac)
inline

Definition at line 1272 of file vm_interface.h.

Here is the call graph for this function:

void VmInterface::set_vmi_type ( VmInterface::VmiType  type)
inline

Definition at line 1277 of file vm_interface.h.

Here is the call graph for this function:

void VmInterface::set_vxlan_id ( int  vxlan_id)
inline

Definition at line 1359 of file vm_interface.h.

Here is the call graph for this function:

void VmInterface::SetConfigurer ( VmInterface::Configurer  type)

Definition at line 164 of file vm_interface.cc.

Here is the call graph for this function:

void VmInterface::SetIfNameReq ( InterfaceTable table,
const boost::uuids::uuid uuid,
const std::string &  ifname 
)
static

Definition at line 1281 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::SetInterfacesDropNewFlows ( bool  drop_new_flows) const
private

Definition at line 3478 of file vm_interface.cc.

Here is the call graph for this function:

void VmInterface::SetPathPreference ( PathPreference pref,
bool  ecmp,
const IpAddress dependent_ip 
) const

Definition at line 326 of file vm_interface_utils.cc.

Here is the call graph for this function:

void VmInterface::SetServiceVlanPathPreference ( PathPreference pref,
const IpAddress service_ip 
) const

Definition at line 339 of file vm_interface_utils.cc.

Here is the call graph for this function:

const SecurityGroupEntryList& VmInterface::sg_list ( ) const
inline

Definition at line 1402 of file vm_interface.h.

bool VmInterface::SgExists ( const boost::uuids::uuid id,
const SgList sg_l 
)
const boost::uuids::uuid& VmInterface::si_other_end_vmi ( ) const
inline

Definition at line 1565 of file vm_interface.h.

const UuidList& VmInterface::slo_list ( ) const
inline

Definition at line 1504 of file vm_interface.h.

const StaticRouteList& VmInterface::static_route_list ( ) const
inline

Definition at line 1399 of file vm_interface.h.

const Ip4Address& VmInterface::subnet ( ) const
inline

Definition at line 1368 of file vm_interface.h.

const Ip4Address& VmInterface::subnet_bcast_addr ( ) const
inline

Definition at line 1268 of file vm_interface.h.

const uint8_t VmInterface::subnet_plen ( ) const
inline

Definition at line 1369 of file vm_interface.h.

const TagEntryList& VmInterface::tag_list ( ) const
inline

Definition at line 1408 of file vm_interface.h.

string VmInterface::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 185 of file vm_interface.cc.

Here is the call graph for this function:

uint16_t VmInterface::tx_vlan_id ( ) const
inline

Definition at line 1310 of file vm_interface.h.

void VmInterface::update_flow_count ( int  val) const

Definition at line 3454 of file vm_interface.cc.

Here is the call graph for this function:

void VmInterface::UpdateInterfaceHealthCheckService ( )

Definition at line 765 of file vm_interface_utils.cc.

Here is the call graph for this function:

bool VmInterface::UpdateIsHealthCheckActive ( )
private

Definition at line 1181 of file vm_interface_request.cc.

Here is the call graph for this function:

void VmInterface::UpdateL2 ( )
private

Definition at line 542 of file vm_interface.cc.

Here is the call graph for this function:

void VmInterface::UpdateMetaDataIpInfo ( )

Definition at line 1476 of file vm_interface_utils.cc.

bool VmInterface::UpdatePolicySet ( const Agent agent)

Definition at line 3399 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::UpdateState ( const VmInterfaceState attr,
VmInterfaceState::Op  l2_force_op,
VmInterfaceState::Op  l3_force_op 
)
private

Definition at line 558 of file vm_interface.cc.

Here is the call graph for this function:

uint8_t VmInterface::vhostuser_mode ( ) const
inline

Definition at line 1312 of file vm_interface.h.

const VmEntry* VmInterface::vm ( ) const
inline

Definition at line 1261 of file vm_interface.h.

const Ip4Address& VmInterface::vm_ip_service_addr ( ) const
inline

Definition at line 1269 of file vm_interface.h.

const MacAddress& VmInterface::vm_mac ( ) const
inline

Definition at line 1271 of file vm_interface.h.

const std::string& VmInterface::vm_name ( ) const
inline

Definition at line 1331 of file vm_interface.h.

const boost::uuids::uuid& VmInterface::vm_project_uuid ( ) const
inline

Definition at line 1333 of file vm_interface.h.

const boost::uuids::uuid& VmInterface::vmi_cfg_uuid ( ) const
inline

Definition at line 1551 of file vm_interface.h.

VmInterface::VmiType VmInterface::vmi_type ( ) const
inline

Definition at line 1279 of file vm_interface.h.

const VnEntry* VmInterface::vn ( ) const
inline

Definition at line 1262 of file vm_interface.h.

const AclDBEntry* VmInterface::vrf_assign_acl ( ) const
inline

Definition at line 1282 of file vm_interface.h.

const VrfAssignRuleList& VmInterface::vrf_assign_rule_list ( ) const
inline

Definition at line 1412 of file vm_interface.h.

const std::string& VmInterface::vrf_name ( ) const
inline

Definition at line 1332 of file vm_interface.h.

int VmInterface::vxlan_id ( ) const
inline

Definition at line 1358 of file vm_interface.h.

bool VmInterface::WaitForTraffic ( ) const

Definition at line 591 of file vm_interface_utils.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend struct ResolveRouteState
friend

Definition at line 1608 of file vm_interface.h.

friend struct VmInterfaceConfigData
friend

Definition at line 1600 of file vm_interface.h.

friend struct VmInterfaceGlobalVrouterData
friend

Definition at line 1605 of file vm_interface.h.

friend struct VmInterfaceHealthCheckData
friend

Definition at line 1606 of file vm_interface.h.

friend struct VmInterfaceIpAddressData
friend

Definition at line 1602 of file vm_interface.h.

friend struct VmInterfaceLearntMacIpData
friend

Definition at line 1610 of file vm_interface.h.

friend struct VmInterfaceMirrorData
friend

Definition at line 1604 of file vm_interface.h.

friend struct VmInterfaceNewFlowDropData
friend

Definition at line 1607 of file vm_interface.h.

friend struct VmInterfaceNovaData
friend

Definition at line 1601 of file vm_interface.h.

friend struct VmInterfaceOsOperStateData
friend

Definition at line 1603 of file vm_interface.h.

friend struct VmiRouteState
friend

Definition at line 1609 of file vm_interface.h.

Member Data Documentation

AliasIpList VmInterface::alias_ip_list_
private

Definition at line 1759 of file vm_interface.h.

AllowedAddressPairList VmInterface::allowed_address_pair_list_
private

Definition at line 1762 of file vm_interface.h.

BridgeDomainList VmInterface::bridge_domain_list_
private

Definition at line 1766 of file vm_interface.h.

bool VmInterface::bridging_
private

Definition at line 1716 of file vm_interface.h.

bool VmInterface::cfg_igmp_enable_
private

Definition at line 1739 of file vm_interface.h.

std::string VmInterface::cfg_name_
private

Definition at line 1696 of file vm_interface.h.

uint8_t VmInterface::configurer_
private

Definition at line 1777 of file vm_interface.h.

VmInterface::DeviceType VmInterface::device_type_
private

Definition at line 1774 of file vm_interface.h.

Ip4Address VmInterface::dhcp_addr_
private

Definition at line 1785 of file vm_interface.h.

bool VmInterface::dhcp_enable_
private

Definition at line 1704 of file vm_interface.h.

bool VmInterface::dhcp_enable_v6_
private

Definition at line 1705 of file vm_interface.h.

bool VmInterface::disable_policy_
private

Definition at line 1730 of file vm_interface.h.

bool VmInterface::do_dhcp_relay_
private

Definition at line 1707 of file vm_interface.h.

bool VmInterface::drop_new_flows_
private

Definition at line 1699 of file vm_interface.h.

bool VmInterface::drop_new_flows_vmi_
mutableprivate

Definition at line 1700 of file vm_interface.h.

bool VmInterface::ecmp6_
private

Definition at line 1721 of file vm_interface.h.

bool VmInterface::ecmp_
private

Definition at line 1720 of file vm_interface.h.

VmiEcmpLoadBalance VmInterface::ecmp_load_balance_
private

Definition at line 1788 of file vm_interface.h.

int VmInterface::ethernet_tag_
private

Definition at line 1780 of file vm_interface.h.

bool VmInterface::etree_leaf_
private

Definition at line 1792 of file vm_interface.h.

bool VmInterface::fabric_port_
private

Definition at line 1697 of file vm_interface.h.

FatFlowList VmInterface::fat_flow_list_
private

Definition at line 1765 of file vm_interface.h.

VmInterface::IgnoreAddressMap VmInterface::fatflow_ignore_addr_map_
staticprivate
Initial value:

Definition at line 1686 of file vm_interface.h.

FloatingIpList VmInterface::floating_ip_list_
private

Definition at line 1758 of file vm_interface.h.

bool VmInterface::flood_unknown_unicast_
private

Definition at line 1718 of file vm_interface.h.

tbb::atomic<int> VmInterface::flow_count_
mutableprivate

Definition at line 1744 of file vm_interface.h.

VrfEntryRef VmInterface::forwarding_vrf_
private

Definition at line 1799 of file vm_interface.h.

FirewallPolicyList VmInterface::fw_policy_list_
private

Definition at line 1796 of file vm_interface.h.

FirewallPolicyList VmInterface::fwaas_fw_policy_list_
private

Definition at line 1797 of file vm_interface.h.

VmInterface::HbsIntfType VmInterface::hbs_intf_type_
private

Definition at line 1776 of file vm_interface.h.

HealthCheckInstanceSet VmInterface::hc_instance_set_
private

Definition at line 1787 of file vm_interface.h.

bool VmInterface::igmp_enabled_
private

Definition at line 1740 of file vm_interface.h.

InstanceIpList VmInterface::instance_ipv4_list_
private

Definition at line 1763 of file vm_interface.h.

InstanceIpList VmInterface::instance_ipv6_list_
private

Definition at line 1764 of file vm_interface.h.

std::unique_ptr<VmiRouteState> VmInterface::interface_route_state_
private

Definition at line 1753 of file vm_interface.h.

bool VmInterface::is_left_si_
private

Definition at line 1803 of file vm_interface.h.

bool VmInterface::is_vn_qos_config_
private

Definition at line 1790 of file vm_interface.h.

const char * VmInterface::kInterface = "interface"
static

Definition at line 368 of file vm_interface.h.

const char * VmInterface::kInterfaceStatic = "interface-static"
static

Definition at line 370 of file vm_interface.h.

const uint32_t VmInterface::kInvalidIsid = 0xFFFFFF
static

Definition at line 362 of file vm_interface.h.

const uint32_t VmInterface::kInvalidPmdId = 0xFFFF
static

Definition at line 361 of file vm_interface.h.

const uint32_t VmInterface::kInvalidVlanId = 0xFFFF
static

Definition at line 360 of file vm_interface.h.

const uint32_t VmInterface::kMaxMacIpLimit = 50
static

Definition at line 365 of file vm_interface.h.

const char * VmInterface::kServiceInterface = "service-interface"
static

Definition at line 369 of file vm_interface.h.

bool VmInterface::layer2_control_word_
private

Definition at line 1794 of file vm_interface.h.

bool VmInterface::layer3_forwarding_
private

Definition at line 1717 of file vm_interface.h.

bool VmInterface::learning_enabled_
private

Definition at line 1791 of file vm_interface.h.

LearntMacIpList VmInterface::learnt_mac_ip_list_
private

Definition at line 1769 of file vm_interface.h.

uint32_t VmInterface::local_preference_
private

Definition at line 1735 of file vm_interface.h.

boost::uuids::uuid VmInterface::logical_interface_
private

Definition at line 1782 of file vm_interface.h.

bool VmInterface::mac_ip_learning_enable_
private

Definition at line 1741 of file vm_interface.h.

bool VmInterface::mac_set_
private

Definition at line 1719 of file vm_interface.h.

std::unique_ptr<MacVmBindingState> VmInterface::mac_vm_binding_state_
private

Definition at line 1747 of file vm_interface.h.

uint32_t VmInterface::max_flows_
private

Definition at line 1743 of file vm_interface.h.

std::unique_ptr<MetaDataIpState> VmInterface::metadata_ip6_state_
private

Definition at line 1751 of file vm_interface.h.

MetaDataIpMap VmInterface::metadata_ip_map_
private

Definition at line 1786 of file vm_interface.h.

std::unique_ptr<MetaDataIpState> VmInterface::metadata_ip_state_
private

Definition at line 1750 of file vm_interface.h.

Interface::MirrorDirection VmInterface::mirror_direction_
private

Definition at line 1695 of file vm_interface.h.

MirrorEntryRef VmInterface::mirror_entry_
private

Definition at line 1694 of file vm_interface.h.

bool VmInterface::need_linklocal_ip_
private

Definition at line 1698 of file vm_interface.h.

std::unique_ptr<NextHopState> VmInterface::nexthop_state_
private

Definition at line 1748 of file vm_interface.h.

Ip6Address VmInterface::nova_ip6_addr_
private

Definition at line 1784 of file vm_interface.h.

Ip4Address VmInterface::nova_ip_addr_
private

Definition at line 1783 of file vm_interface.h.

OperDhcpOptions VmInterface::oper_dhcp_options_
private

Definition at line 1737 of file vm_interface.h.

InterfaceBackRef VmInterface::parent_
private

Definition at line 1734 of file vm_interface.h.

InterfaceList VmInterface::parent_list_
private

Definition at line 1814 of file vm_interface.h.

bool VmInterface::pbb_interface_
private

Definition at line 1793 of file vm_interface.h.

std::unique_ptr<LocalVmPortPeer> VmInterface::peer_
private

Definition at line 1772 of file vm_interface.h.

bool VmInterface::policy_enabled_
private

Definition at line 1693 of file vm_interface.h.

Ip6Address VmInterface::primary_ip6_addr_
private

Definition at line 1691 of file vm_interface.h.

Ip4Address VmInterface::primary_ip_addr_
private

Definition at line 1689 of file vm_interface.h.

ProxyArpMode VmInterface::proxy_arp_mode_
private

Definition at line 1709 of file vm_interface.h.

VmiReceiveRouteList VmInterface::receive_route_list_
private

Definition at line 1768 of file vm_interface.h.

std::unique_ptr<ResolveRouteState> VmInterface::resolve_route_state_
private

Definition at line 1752 of file vm_interface.h.

uint16_t VmInterface::rx_vlan_id_
private

Definition at line 1733 of file vm_interface.h.

IpAddress VmInterface::service_health_check_ip_
private

Definition at line 1789 of file vm_interface.h.

std::string VmInterface::service_intf_type_
private

Definition at line 1813 of file vm_interface.h.

Ip6Address VmInterface::service_ip6_
private

Definition at line 1724 of file vm_interface.h.

Ip4Address VmInterface::service_ip_
private

Definition at line 1722 of file vm_interface.h.

bool VmInterface::service_ip_ecmp6_
private

Definition at line 1725 of file vm_interface.h.

bool VmInterface::service_ip_ecmp_
private

Definition at line 1723 of file vm_interface.h.

uint32_t VmInterface::service_mode_
private

Definition at line 1804 of file vm_interface.h.

ServiceVlanList VmInterface::service_vlan_list_
private

Definition at line 1760 of file vm_interface.h.

SecurityGroupEntryList VmInterface::sg_list_
private

Definition at line 1756 of file vm_interface.h.

boost::uuids::uuid VmInterface::si_other_end_vmi_
private

Definition at line 1810 of file vm_interface.h.

UuidList VmInterface::slo_list_
private

Definition at line 1798 of file vm_interface.h.

StaticRouteList VmInterface::static_route_list_
private

Definition at line 1761 of file vm_interface.h.

Ip4Address VmInterface::subnet_
private

Definition at line 1778 of file vm_interface.h.

Ip4Address VmInterface::subnet_bcast_addr_
private

Definition at line 1690 of file vm_interface.h.

uint8_t VmInterface::subnet_plen_
private

Definition at line 1779 of file vm_interface.h.

TagEntryList VmInterface::tag_list_
private

Definition at line 1757 of file vm_interface.h.

uint16_t VmInterface::tx_vlan_id_
private

Definition at line 1732 of file vm_interface.h.

uint8_t VmInterface::vhostuser_mode_
private

Definition at line 1801 of file vm_interface.h.

const uint8_t VmInterface::vHostUserClient = 0
static

Definition at line 363 of file vm_interface.h.

const uint8_t VmInterface::vHostUserServer = 1
static

Definition at line 364 of file vm_interface.h.

VmEntryBackRef VmInterface::vm_
private

Definition at line 1687 of file vm_interface.h.

Ip4Address VmInterface::vm_ip_service_addr_
private

Definition at line 1773 of file vm_interface.h.

MacAddress VmInterface::vm_mac_
private

Definition at line 1692 of file vm_interface.h.

std::string VmInterface::vm_name_
private

Definition at line 1711 of file vm_interface.h.

boost::uuids::uuid VmInterface::vm_project_uuid_
private

Definition at line 1714 of file vm_interface.h.

boost::uuids::uuid VmInterface::vmi_cfg_uuid_
private

Definition at line 1812 of file vm_interface.h.

VmInterface::VmiType VmInterface::vmi_type_
private

Definition at line 1775 of file vm_interface.h.

VnEntryRef VmInterface::vn_
private

Definition at line 1688 of file vm_interface.h.

VrfAssignRuleList VmInterface::vrf_assign_rule_list_
private

Definition at line 1767 of file vm_interface.h.

std::string VmInterface::vrf_name_
private

Definition at line 1712 of file vm_interface.h.

std::unique_ptr<VrfTableLabelState> VmInterface::vrf_table_label_state_
private

Definition at line 1749 of file vm_interface.h.

int VmInterface::vxlan_id_
private

Definition at line 1715 of file vm_interface.h.


The documentation for this class was generated from the following files: