5 #ifndef vnsw_agent_vm_interface_hpp
6 #define vnsw_agent_vm_interface_hpp
176 Op l2_force_op,
Op l3_force_op)
const;
509 typedef std::map<PortMapKey, uint16_t, PortMapKey>
PortMap;
528 int32_t
GetSrcPortMap(uint8_t protocol, uint16_t src_port)
const;
529 int32_t
GetDstPortMap(uint8_t protocol, uint16_t dst_port)
const;
577 void Remove(FloatingIpSet::iterator &it);
620 void Remove(AliasIpSet::iterator &it);
671 void Remove(ServiceVlanSet::iterator &it);
708 void Remove(StaticRouteSet::iterator &it);
753 typedef std::set<AllowedAddressPair, AllowedAddressPair>
762 void Remove(AllowedAddressPairSet::iterator &it);
790 typedef std::set<SecurityGroupEntry, SecurityGroupEntry>
801 void Remove(SecurityGroupEntrySet::iterator &it);
838 void Remove(TagEntrySet::iterator &it);
851 const std::string &
vrf_name,
bool ignore_acl);
873 void Remove(VrfAssignRuleSet::iterator &it);
887 bool is_primary,
bool is_service_ip,
888 bool is_service_health_check_ip,
889 bool is_local,
const IpAddress &tracking_ip);
942 void Remove(InstanceIpSet::iterator &it);
1011 #define FAT_FLOW_ENTRY_MIN_PREFIX_LEN 8
1046 const std::string &ignore_addr_str,
1097 void print(
void)
const;
1118 void Remove(FatFlowEntrySet::iterator &it);
1170 void Remove(BridgeDomainEntrySet::iterator &it);
1210 void Remove(VmiReceiveRouteSet::iterator &it);
1234 const std::string &
name,
1314 if (
agent()->is_l3mh() ==
false &&
1441 uint16_t *dport,
bool *same_port_num,
1447 uint16_t *dport,
bool *same_port_num,
1453 uint16_t *dport,
bool *same_port_num,
1456 uint16_t *dport,
bool *same_port_num,
1458 bool *is_src_prefix,
bool *is_dst_prefix,
1514 std::vector<autogen::DhcpOptionType> *
options)
const;
1516 std::vector<autogen::DhcpOptionType> *
options,
bool ipv6)
const;
1518 std::vector<autogen::DhcpOptionType> *
options,
bool ipv6)
const;
1531 const uint8_t plen)
const;
1534 std::vector<std::string> *vect)
const;
1578 const std::string &os_name,
const Ip4Address &addr,
1579 const std::string &
mac,
const std::string &vn_name,
1591 const std::string &ifname);
1625 bool *ecmp_changed,
bool *local_pref_changed,
1626 bool *ecmp_load_balance_changed,
1627 bool *static_route_config_changed,
1628 bool *etree_leaf_mode_changed,
1630 void ApplyConfig(
bool old_ipv4_active,
bool old_l2_active,
1631 bool old_ipv6_active,
1633 const uint8_t old_subnet_plen);
1639 uint32_t plen,
const std::string &vn_name,
bool force_policy,
1640 bool ecmp,
bool is_local,
bool proxy_arp,
1643 const string &intf_route_type,
bool is_learnt_route =
false);
1648 bool new_ipv4_active);
1875 bool *force_update)
const = 0;
1887 bool *force_update)
const;
1898 bool *force_update)
const;
1911 bool *force_update)
const;
1926 bool *force_update)
const;
1927 autogen::VirtualMachineInterface *
GetVmiCfg()
const;
2013 const std::string &mac_addr,
2014 const std::string vm_name,
2017 const std::string &parent,
2018 uint16_t tx_vlan_id,
2019 uint16_t rx_vlan_id,
2022 uint8_t vhostuser_mode,
2024 uint8_t link_state);
2031 bool *force_update)
const;
2050 bool layer3_forwarding,
2059 bool *force_update)
const;
2070 bool *force_update)
const;
2077 bool *force_update)
const;
2092 bool *force_update)
const;
2100 bool *force_update)
const;
boost::asio::ip::address_v6 Ip6Address
boost::asio::ip::address IpAddress
boost::asio::ip::address_v4 Ip4Address
std::vector< boost::uuids::uuid > UuidList
boost::intrusive_ptr< SgEntry > SgEntryRef
std::vector< int > TagList
boost::intrusive_ptr< MirrorEntry > MirrorEntryRef
boost::intrusive_ptr< NextHop > NextHopRef
boost::intrusive_ptr< const BridgeDomainEntry > BridgeDomainConstRef
std::vector< Interface * > InterfaceList
std::vector< int > SecurityGroupList
boost::intrusive_ptr< TagEntry > TagEntryRef
std::vector< Ip4Address > AddressList
boost::intrusive_ptr< AclDBEntry > AclDBEntryRef
boost::intrusive_ptr< VnEntry > VnEntryRef
std::vector< std::string > CommunityList
std::unique_ptr< DBRequestKey > KeyPtr
DBTableBase * get_table() const
const boost::uuids::uuid & logical_router_uuid() const
const MacAddress & mac() const
bool os_oper_state() const
const std::string & name() const
Interface::Transport transport() const
static const uint8_t vHostUserServer
const VmiEcmpLoadBalance & ecmp_load_balance() const
Ip6Address nova_ip6_addr_
const MirrorEntry * mirror_entry() const
bool igmp_enabled() const
FirewallPolicyList fw_policy_list_
void InsertMetaDataIpInfo(MetaDataIp *mip)
uint32_t FloatingIpCount() const
std::set< ServiceVlan, ServiceVlan > ServiceVlanSet
FirewallPolicyList fwaas_fw_policy_list_
bool layer3_forwarding() const
void SetServiceVlanPathPreference(PathPreference *pref, const IpAddress &service_ip) const
bool UpdateState(const VmInterfaceState *attr, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
const UuidList & slo_list() 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
std::set< FatFlowEntry, FatFlowEntry > FatFlowEntrySet
VrfAssignRuleList vrf_assign_rule_list_
bool policy_enabled() const
const VrfAssignRuleList & vrf_assign_rule_list() const
const boost::uuids::uuid & si_other_end_vmi() const
VmInterface::VmiType vmi_type() const
void set_vm_mac(const MacAddress &mac)
std::set< VrfAssignRule, VrfAssignRule > VrfAssignRuleSet
std::set< AllowedAddressPair, AllowedAddressPair > AllowedAddressPairSet
bool cfg_igmp_enable() const
uint16_t tx_vlan_id() const
VmInterface * PortTuplePairedInterface() const
std::set< LearntMacIp, LearntMacIp > LearntMacIpSet
HealthCheckInstanceSet hc_instance_set_
void DeleteL2InterfaceRoute(const VrfEntry *vrf, uint32_t ethernet_tag, const IpAddress &ip, const MacAddress &mac) const
uint32_t GetPbbLabel() const
const VrfEntry * GetServiceVlanVrf(uint16_t vlan_tag) const
ServiceVlanList service_vlan_list_
bool Resync(const InterfaceTable *table, const VmInterfaceData *data)
static const uint32_t kInvalidIsid
bool SgExists(const boost::uuids::uuid &id, const SgList &sg_l)
VmiReceiveRouteList receive_route_list_
std::string service_intf_type_
virtual bool CmpInterface(const DBEntry &rhs) const
bool OnChange(VmInterfaceData *data)
const uint8_t subnet_plen() const
bool GetInterfaceDhcpOptions(std::vector< autogen::DhcpOptionType > *options) const
boost::uuids::uuid logical_interface_
void DeleteMetaDataIpInfo(MetaDataIp *mip)
const NextHop * l2_interface_nh_policy() const
const Ip4Address & vm_ip_service_addr() const
bool drop_new_flows() const
bool HasFloatingIp() const
const ServiceVlanList & service_vlan_list() const
bool flood_unknown_unicast_
bool CopyIpAddress(Ip4Address &addr)
uint32_t local_preference_
std::set< VmiReceiveRoute, VmiReceiveRoute > VmiReceiveRouteSet
LearntMacIpList learnt_mac_ip_list_
BridgeDomainList bridge_domain_list_
bool IsFatFlowPortBased(uint8_t protocol, uint16_t port, FatFlowIgnoreAddressType *ignore_addr) const
uint32_t max_flows() const
const boost::uuids::uuid & vm_project_uuid() const
uint32_t ethernet_tag() const
static const uint32_t kInvalidPmdId
bool NeedOsStateWithoutDevice() const
const FloatingIpList & floating_ip_list() const
bool IsMaxMacIpLearnt() const
const Interface * parent() const
VrfEntryRef forwarding_vrf_
uint32_t flow_count() const
std::set< HealthCheckInstanceBase * > HealthCheckInstanceSet
const boost::uuids::uuid & logical_interface() const
void set_dhcp_enable_v6_config(bool dhcp_enable_v6)
const InstanceIpList & instance_ipv6_list() const
std::set< TagEntry, TagEntry > TagEntrySet
const VmiReceiveRouteList & receive_route_list() const
bool CopyIp6Address(const Ip6Address &addr)
static const char * kServiceInterface
std::unique_ptr< MetaDataIpState > metadata_ip6_state_
AllowedAddressPairList allowed_address_pair_list_
void UpdateMetaDataIpInfo()
size_t GetAliasIpCount() 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)
uint8_t vhostuser_mode() const
bool UpdateIsHealthCheckActive()
std::vector< boost::uuids::uuid > TagGroupUuidList
const std::string & service_intf_type() const
ProxyArpMode proxy_arp_mode_
MetaDataIpMap metadata_ip_map_
bool IsIpv6Active() const
VmiEcmpLoadBalance ecmp_load_balance_
const StaticRouteList & static_route_list() const
bool MatchDstPrefixPort(uint8_t protocol, uint16_t port, IpAddress *dst_ip, FatFlowIgnoreAddressType *ignore_addr) const
Ip4Address dhcp_addr() const
std::set< FloatingIp, FloatingIp > FloatingIpSet
void AddL2InterfaceRoute(const IpAddress &ip, const MacAddress &mac, const IpAddress &dependent_ip) const
void set_max_flows(uint32_t val)
static void DeleteIfNameReq(InterfaceTable *table, const boost::uuids::uuid &uuid)
bool need_linklocal_ip() const
bool learning_enabled() const
IpAddress GetServiceIp(const IpAddress &ip) const
const InstanceIpList & instance_ipv4_list() const
bool IsFloatingIp(const IpAddress &ip) const
uint32_t label_op() const
uint32_t local_preference() const
void SetConfigurer(VmInterface::Configurer type)
const AliasIpList & alias_ip_list() const
std::unique_ptr< LocalVmPortPeer > peer_
Ip4Address primary_ip_addr_
bool WaitForTraffic() const
bool ResyncIpAddress(const VmInterfaceIpAddressData *data)
void set_device_type(VmInterface::DeviceType type)
bool InstallBridgeRoutes() const
bool OnResyncServiceVlan(VmInterfaceConfigData *data)
std::unique_ptr< ResolveRouteState > resolve_route_state_
void DeleteRoute(const std::string &vrf_name, const IpAddress &ip, uint32_t plen)
bool IsMetaDataIPActive() const
void set_vxlan_id(int vxlan_id)
const boost::uuids::uuid & vmi_cfg_uuid() const
bool IsMetaDataL2Active() const
boost::uuids::uuid vm_project_uuid_
void CleanupAliasIpList()
bool IsConfigurerSet(VmInterface::Configurer type)
void InsertHealthCheckInstance(HealthCheckInstanceBase *hc_inst)
OperDhcpOptions oper_dhcp_options_
void CopyTagIdList(TagList *tag_id_list) const
bool IsHealthCheckEnabled() const
bool IsMirrorEnabled() const
std::set< InstanceIp, InstanceIp > InstanceIpSet
void DeleteHealthCheckInstance(HealthCheckInstanceBase *hc_inst)
FatFlowPrefixAggregateType
@ AGGREGATE_PREFIX_MIN_VAL
@ AGGREGATE_PREFIX_MAX_VAL
SecurityGroupEntryList sg_list_
bool GetSubnetDhcpOptions(std::vector< autogen::DhcpOptionType > *options, bool ipv6) const
void FillV4ExcludeIp(uint64_t plen, const Ip4Address &ip, FatFlowExcludeList *list) const
Ip6Address mdata_ip6_addr() const
const NextHop * l2_interface_nh_no_policy() const
const LearntMacIpList & learnt_mac_ip_list() const
bool flood_unknown_unicast() const
bool ResetVrfDelete(const InterfaceTable *table, const std::string &vrf_name)
std::vector< boost::uuids::uuid > SecurityGroupUuidList
bool DeleteState(VmInterfaceState *attr)
IpAddress service_health_check_ip_
static const char * kInterfaceStatic
void set_learning_enabled(bool val)
void CleanupFloatingIpList()
void FillV6ExcludeIp(uint16_t plen, const IpAddress &ip, FatFlowExcludeList *list) const
boost::uuids::uuid vmi_cfg_uuid_
void ResetConfigurer(VmInterface::Configurer type)
void set_primary_ip_addr(const Ip4Address &addr)
void set_service_intf_type(std::string type)
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)
const BridgeDomainList & bridge_domain_list() const
const FirewallPolicyList & fwaas_fw_policy_list() const
void set_hbs_intf_type(VmInterface::HbsIntfType val)
IpAddress service_health_check_ip() const
bool MatchDstPrefixRule(uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *DstIP, FatFlowIgnoreAddressType *ignore_addr) const
size_t GetFloatingIpCount() const
@ LABEL_TYPE_SERVICE_VLAN
const FirewallPolicyList & fw_policy_list() const
std::unique_ptr< VmiRouteState > interface_route_state_
std::string ToString() const
std::unique_ptr< NextHopState > nexthop_state_
bool ResyncOsOperState(const VmInterfaceOsOperStateData *data)
void BuildFatFlowExcludeList(FatFlowExcludeList *list) const
AliasIpList alias_ip_list_
const MacAddress & GetVifMac(const Agent *) const
std::map< std::string, FatFlowIgnoreAddressType > IgnoreAddressMap
bool mac_ip_learning_enable() const
void SetInterfacesDropNewFlows(bool drop_new_flows) const
const std::string & cfg_name() const
uint8_t configurer() const
const AllowedAddressPairList & allowed_address_pair_list() const
Ip4Address vm_ip_service_addr_
bool do_dhcp_relay() const
const TagEntryList & tag_list() const
std::map< IpAddress, MetaDataIp * > MetaDataIpMap
std::set< AliasIp, AliasIp > AliasIpSet
bool MatchSrcDstPrefixPort(uint8_t protocol, uint16_t port, IpAddress *src_ip, IpAddress *dst_ip) const
uint32_t GetServiceVlanLabel(const VrfEntry *vrf) const
const FatFlowList & fat_flow_list() const
FloatingIpList floating_ip_list_
bool MatchSrcDstPrefixRule(uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *SrcIP, IpAddress *DstIP) const
VnEntry * GetNonConstVn() const
const OperDhcpOptions & oper_dhcp_options() const
InstanceIpList instance_ipv4_list_
VmInterface::HbsIntfType hbs_intf_type_
const MacAddress & vm_mac() const
VmInterface(const boost::uuids::uuid &uuid, const std::string &name, bool os_oper_state, const boost::uuids::uuid &logical_router_uuid)
bool UpdatePolicySet(const Agent *agent)
void set_mirror_entry(MirrorEntry *entry)
VmInterface::DeviceType device_type() const
Interface::MirrorDirection mirror_direction() const
std::set< SecurityGroupEntry, SecurityGroupEntry > SecurityGroupEntrySet
bool NeedMplsLabel() const
ProxyArpMode proxy_arp_mode() const
bool service_ip_ecmp() const
uint16_t rx_vlan_id() const
const VmEntry * vm() const
void set_subnet_bcast_addr(const Ip4Address &addr)
const VnEntry * vn() const
bool layer2_control_word_
const std::string GetAnalyzer() const
bool dhcp_enable_config() const
std::unique_ptr< MacVmBindingState > mac_vm_binding_state_
void UpdateInterfaceHealthCheckService()
static const uint32_t kInvalidVlanId
MirrorEntryRef mirror_entry_
const Ip4Address & primary_ip_addr() const
const HealthCheckInstanceSet & hc_instance_set() const
bool mac_ip_learning_enable_
const SecurityGroupEntryList & sg_list() const
VmInterface::HbsIntfType hbs_intf_type() const
bool is_vn_qos_config() const
StaticRouteList static_route_list_
boost::uuids::uuid si_other_end_vmi_
const Ip4Address & subnet() const
virtual void ObtainOsSpecificParams(const std::string &name, Agent *agent)
bool OnResyncSecurityGroupList(VmInterfaceConfigData *data, bool new_ipv4_active)
void CopySgIdList(SecurityGroupList *sg_id_list) const
void SendTrace(const AgentDBTable *table, Trace event) const
const std::string & vm_name() const
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)
bool MatchAapIp(const IpAddress &ip, uint8_t plen) const
static const uint8_t vHostUserClient
void ApplyConfig(bool old_ipv4_active, bool old_l2_active, bool old_ipv6_active, const Ip4Address &old_subnet, const uint8_t old_subnet_plen)
bool OnResyncStaticRoute(VmInterfaceConfigData *data, bool new_ipv4_active)
VmInterface::VmiType vmi_type_
std::unique_ptr< VrfTableLabelState > vrf_table_label_state_
bool layer2_control_word() const
bool IsUnrestrictedProxyArp() const
VrfEntry * forwarding_vrf() const
static void SetIfNameReq(InterfaceTable *table, const boost::uuids::uuid &uuid, const std::string &ifname)
static const char * kInterface
void set_pbb_interface(bool val)
InterfaceList parent_list() const
KeyPtr GetDBRequestKey() const
void set_layer3_forwarding(bool val)
bool GetIpamDhcpOptions(std::vector< autogen::DhcpOptionType > *options, bool ipv6) const
bool service_ip_ecmp6() const
bool copyMacIpData(const VmInterfaceLearntMacIpData *data)
InterfaceList parent_list_
tbb::atomic< int > flow_count_
bool MatchSrcPrefixPort(uint8_t protocol, uint16_t port, IpAddress *src_ip, FatFlowIgnoreAddressType *ignore_addr) const
MetaDataIp * GetMetaDataIp(const IpAddress &ip) const
void CopyEcmpLoadBalance(EcmpLoadBalance &ecmp_load_balance)
virtual void GetOsParams(Agent *agent)
bool ExcludeFromFatFlow(Address::Family family, const IpAddress &sip, const IpAddress &dip) const
std::unique_ptr< MetaDataIpState > metadata_ip_state_
const MacAddress & GetIpMac(const IpAddress &, const uint8_t plen) const
bool ResyncConfig(VmInterfaceConfigData *data)
bool pbb_interface() const
Ip4Address subnet_bcast_addr_
uint32_t GetPbbVrf() const
bool CanBeDeleted() const
void set_vmi_type(VmInterface::VmiType type)
void SetPathPreference(PathPreference *pref, bool ecmp, const IpAddress &dependent_ip) const
void set_etree_leaf(bool val)
Ip4Address mdata_ip_addr() const
const NextHop * l3_interface_nh_no_policy() const
void set_dhcp_enable_config(bool dhcp_enable)
const Ip6Address & primary_ip6_addr() const
bool dhcp_enable_v6_config() const
bool HasServiceVlan() const
VrfEntry * GetAliasIpVrf(const IpAddress &ip) const
void BuildIpStringList(Address::Family family, std::vector< std::string > *vect) const
DISALLOW_COPY_AND_ASSIGN(VmInterface)
bool PolicyEnabled() const
static IgnoreAddressMap InitIgnoreAddressMap()
void set_mirror_direction(Interface::MirrorDirection mirror_direction)
const Ip4Address & subnet_bcast_addr() const
FatFlowList fat_flow_list_
bool MatchSrcPrefixRule(uint8_t protocol, uint16_t *sport, uint16_t *dport, bool *same_port_num, IpAddress *SrcIP, FatFlowIgnoreAddressType *ignore_addr) const
static const uint32_t kMaxMacIpLimit
Interface::MirrorDirection mirror_direction_
void set_layer2_control_word(bool val)
std::set< BridgeDomain, BridgeDomain > BridgeDomainEntrySet
const AclDBEntry * vrf_assign_acl() const
InstanceIpList instance_ipv6_list_
bool IsIpv4Active() const
std::set< StaticRoute, StaticRoute > StaticRouteSet
void update_flow_count(int val) const
static IgnoreAddressMap fatflow_ignore_addr_map_
Ip6Address primary_ip6_addr_
const Peer * peer() const
VmInterface::DeviceType device_type_
const std::string & vrf_name() const
IpAddress GetGatewayIp(const IpAddress &ip) const
const Agent * agent() const
void Copy(const Agent *agent, const VmInterface *vmi) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
virtual ~MacVmBindingState()
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
NextHopRef l3_mcast_nh_no_policy_
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
NextHopRef l3_nh_no_policy_
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
uint32_t l2_label() const
bool AddL3(const Agent *agent, VmInterface *vmi) const
NextHopRef l2_nh_no_policy_
uint32_t l3_label() const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
bool AddL2(const Agent *agent, VmInterface *vmi) const
virtual ~ResolveRouteState()
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
void Copy(const Agent *agent, const VmInterface *vmi) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool AddL2(const Agent *agent, VmInterface *vmi) const
VmInterface::VrfAssignRuleList vrf_assign_rule_list_
virtual ~VmInterfaceConfigData()
VmInterface::TagEntryList tag_list_
VmInterface::InstanceIpList instance_ipv4_list_
Interface::MirrorDirection mirror_direction_
VmInterface::ServiceVlanList service_vlan_list_
OperDhcpOptions oper_dhcp_options_
std::vector< std::string > physical_interface_list_
boost::uuids::uuid vm_uuid_
VmInterface::AliasIpList alias_ip_list_
bool mac_ip_learning_enable_
VmInterface::DeviceType device_type_
VmInterface::HbsIntfType hbs_intf_type_
VmInterface::ProxyArpMode proxy_arp_mode_
VmInterface::StaticRouteList static_route_list_
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
VmInterface::SecurityGroupEntryList sg_list_
VmInterface::AllowedAddressPairList allowed_address_pair_list_
std::string analyzer_name_
boost::uuids::uuid vmi_cfg_uuid_
virtual VmInterface * OnAdd(const InterfaceTable *table, const VmInterfaceKey *key) const
std::string service_intf_type_
boost::uuids::uuid qos_config_uuid_
boost::uuids::uuid si_other_end_vmi_
VmInterface::FloatingIpList floating_ip_list_
boost::uuids::uuid vn_uuid_
virtual bool OnDelete(const InterfaceTable *table, VmInterface *entry) const
VmInterface::BridgeDomainList bridge_domain_list_
VmInterface::FatFlowList fat_flow_list_
VmInterface::InstanceIpList instance_ipv6_list_
autogen::VirtualMachineInterface * GetVmiCfg() const
uint32_t local_preference_
VmInterface::VmiType vmi_type_
boost::uuids::uuid logical_interface_
std::string physical_interface_
boost::uuids::uuid parent_vmi_
void CopyVhostData(const Agent *agent)
VmiEcmpLoadBalance ecmp_load_balance_
IpAddress service_health_check_ip_
VmInterface::VmiReceiveRouteList receive_route_list_
VmInterfaceConfigData(Agent *agent, IFMapNode *node)
virtual bool OnDelete(const InterfaceTable *table, VmInterface *entry) const
VmInterfaceData(Agent *agent, IFMapNode *node, Type type, Interface::Transport transport)
virtual ~VmInterfaceData()
virtual VmInterface * OnAdd(const InterfaceTable *table, const VmInterfaceKey *key) const
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const =0
VmInterfaceGlobalVrouterData(bool bridging, bool layer3_forwarding, int vxlan_id)
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
virtual ~VmInterfaceGlobalVrouterData()
VmInterfaceHealthCheckData()
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
virtual ~VmInterfaceHealthCheckData()
virtual ~VmInterfaceIfNameData()
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
virtual VmInterface * OnAdd(const InterfaceTable *table, const VmInterfaceKey *key) const
virtual bool OnDelete(const InterfaceTable *table, VmInterface *vmi) const
virtual ~VmInterfaceIpAddressData()
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
VmInterfaceIpAddressData()
VmInterfaceKey(AgentKey::DBSubOperation sub_op, const boost::uuids::uuid &uuid, const std::string &name)
Interface * AllocEntry(const InterfaceTable *table) const
InterfaceKey * Clone() const
virtual ~VmInterfaceKey()
VmInterfaceLearntMacIpData()
VmInterface::LearntMacIpList mac_ip_list_
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
virtual ~VmInterfaceLearntMacIpData()
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
VmInterfaceMirrorData(bool mirror_enable, const std::string &analyzer_name)
virtual ~VmInterfaceMirrorData()
std::string analyzer_name_
virtual ~VmInterfaceNewFlowDropData()
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
VmInterfaceNewFlowDropData(bool drop_new_flows)
std::string physical_interface_
VmInterface::DeviceType device_type_
virtual bool OnDelete(const InterfaceTable *table, VmInterface *entry) const
VmInterface::VmiType vmi_type_
virtual VmInterface * OnAdd(const InterfaceTable *table, const VmInterfaceKey *key) const
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
boost::uuids::uuid vm_uuid_
boost::uuids::uuid vm_project_uuid_
virtual ~VmInterfaceNovaData()
VmInterfaceOsOperStateData(bool status)
virtual ~VmInterfaceOsOperStateData()
virtual bool OnResync(const InterfaceTable *table, VmInterface *vmi, bool *force_update) const
virtual ~VmInterfaceState()
virtual bool Update(const Agent *agent, VmInterface *vmi, Op l2_force_op, Op l3_force_op) const
virtual bool AddL2(const Agent *agent, VmInterface *vmi) const
VmInterfaceState(bool l2_installed, bool l3_installed)
virtual void Copy(const Agent *agent, const VmInterface *vmi) const
virtual bool AddL3(const Agent *agent, VmInterface *vmi) const
virtual Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
virtual bool DeleteL2(const Agent *agent, VmInterface *vmi) const
virtual bool DeleteL3(const Agent *agent, VmInterface *vmi) const
virtual Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
static Op RecomputeOp(Op old_op, Op new_op)
void Update(const AliasIp *lhs, const AliasIp *rhs)
void Insert(const AliasIp *rhs)
void Remove(AliasIpSet::iterator &it)
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool IsLess(const AliasIp *rhs) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
boost::uuids::uuid vn_uuid_
bool operator()(const AliasIp &lhs, const AliasIp &rhs) const
void Copy(const Agent *agent, const VmInterface *vmi) const
void Update(const AllowedAddressPair *lhs, const AllowedAddressPair *rhs)
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
AllowedAddressPairSet list_
void Remove(AllowedAddressPairSet::iterator &it)
void Insert(const AllowedAddressPair *rhs)
~AllowedAddressPairList()
NextHopRef policy_disabled_nh_
bool AddL2(const Agent *agent, VmInterface *vmi) const
bool ecmp_config_changed_
void Copy(const Agent *agent, const VmInterface *vmi) const
NextHopRef policy_enabled_nh_
bool operator==(const AllowedAddressPair &rhs) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
virtual ~AllowedAddressPair()
bool IsLess(const AllowedAddressPair *rhs) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool operator()(const AllowedAddressPair &lhs, const AllowedAddressPair &rhs) const
void Update(const BridgeDomain *lhs, const BridgeDomain *rhs)
void Remove(BridgeDomainEntrySet::iterator &it)
void Insert(const BridgeDomain *rhs)
BridgeDomainEntrySet list_
BridgeDomain(const BridgeDomain &rhs)
BridgeDomain(const boost::uuids::uuid &uuid, uint32_t vlan_tag)
bool operator==(const BridgeDomain &rhs) const
bool IsLess(const BridgeDomain *rhs) const
BridgeDomainConstRef bridge_domain_
bool operator()(const BridgeDomain &lhs, const BridgeDomain &rhs) const
FatFlowEntry(const uint8_t proto, const uint16_t p, FatFlowIgnoreAddressType ignore_addr, FatFlowPrefixAggregateType prefix_aggr)
bool operator==(const FatFlowEntry &rhs) const
static FatFlowEntry MakeFatFlowEntry(const std::string &protocol, const int &port, const std::string &ignore_addr_str, const std::string &src_prefix_str, const int &src_prefix_mask, const int &src_aggregate_plen, const std::string &dst_prefix_str, const int &dst_prefix_mask, const int &dst_aggregate_plen)
uint8_t src_aggregate_plen
FatFlowPrefixAggregateType prefix_aggregate
FatFlowEntry(const uint8_t proto, const uint16_t p)
bool operator()(const FatFlowEntry &lhs, const FatFlowEntry &rhs) const
uint8_t dst_aggregate_plen
FatFlowEntry(const FatFlowEntry &rhs)
FatFlowIgnoreAddressType ignore_address
bool IsLess(const FatFlowEntry *rhs) const
std::vector< uint64_t > fat_flow_v4_exclude_list_
std::vector< uint64_t > fat_flow_v6_exclude_lower_list_
std::vector< uint64_t > fat_flow_v6_exclude_upper_list_
std::vector< uint16_t > fat_flow_v6_exclude_plen_list_
bool UpdateList(const Agent *agent, VmInterface *vmi)
void Remove(FatFlowEntrySet::iterator &it)
void Insert(const FatFlowEntry *rhs)
void Update(const FatFlowEntry *lhs, const FatFlowEntry *rhs)
void Insert(const FloatingIp *rhs)
void Remove(FloatingIpSet::iterator &it)
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
void Update(const FloatingIp *lhs, const FloatingIp *rhs)
PortMapKey(uint8_t protocol, uint16_t port)
bool operator()(const PortMapKey &lhs, const PortMapKey &rhs) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
int32_t GetDstPortMap(uint8_t protocol, uint16_t dst_port) const
uint32_t PortMappingSize() const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
bool IsLess(const FloatingIp *rhs) const
bool AddL2(const Agent *agent, VmInterface *vmi) const
std::map< PortMapKey, uint16_t, PortMapKey > PortMap
int32_t GetSrcPortMap(uint8_t protocol, uint16_t src_port) const
void Copy(const Agent *agent, const VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
boost::uuids::uuid vn_uuid_
const IpAddress GetFixedIp(const VmInterface *) const
Direction direction() const
bool operator()(const FloatingIp &lhs, const FloatingIp &rhs) const
PortMap::iterator PortMapIterator
bool AddL3(const Agent *agent, VmInterface *vmi) const
bool port_map_enabled() const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
virtual bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
InstanceIpList(bool is_ipv4)
void Insert(const InstanceIp *rhs)
void Remove(InstanceIpSet::iterator &it)
void Update(const InstanceIp *lhs, const InstanceIp *rhs)
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
void SetPrefixForAllocUnitIpam(VmInterface *intrface) const
bool operator==(const InstanceIp &rhs) const
bool is_service_health_check_ip_
bool is_force_policy() const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
void Copy(const Agent *agent, const VmInterface *vmi) const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
InstanceIp operator=(const InstanceIp &rhs) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
void Update(const Agent *agent, VmInterface *vmi, const VmInterface::InstanceIpList *list) const
bool IsLess(const InstanceIp *rhs) const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
bool operator()(const InstanceIp &lhs, const InstanceIp &rhs) const
bool AddL2(const Agent *agent, VmInterface *vmi) const
void Update(const LearntMacIp *lhs, const LearntMacIp *rhs)
virtual bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
void Insert(const LearntMacIp *rhs)
void Remove(const LearntMacIp *rhs)
void Copy(const Agent *agent, const VmInterface *vmi) const
NextHopRef l2_nh_no_policy_
bool AddL2(const Agent *agent, VmInterface *vmi) const
bool operator()(const LearntMacIp &lhs, const LearntMacIp &rhs) const
bool IsLess(const LearntMacIp *rhs) const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
LearntMacIp operator=(const LearntMacIp &rhs) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
NextHopRef l3_nh_no_policy_
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
void Update(const Agent *agent, VmInterface *vmi, const VmInterface::InstanceIpList *list) const
bool operator==(const LearntMacIp &rhs) const
ListEntry(bool del_pending)
void set_del_pending(bool val) const
VmInterfaceState::Op GetOp(VmInterfaceState::Op op) const
SecurityGroupEntrySet list_
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
~SecurityGroupEntryList()
void Insert(const SecurityGroupEntry *rhs)
void Update(const SecurityGroupEntry *lhs, const SecurityGroupEntry *rhs)
void Remove(SecurityGroupEntrySet::iterator &it)
bool AddL3(const Agent *agent, VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool operator()(const SecurityGroupEntry &lhs, const SecurityGroupEntry &rhs) const
bool operator==(const SecurityGroupEntry &rhs) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
virtual ~SecurityGroupEntry()
bool IsLess(const SecurityGroupEntry *rhs) const
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
void Remove(ServiceVlanSet::iterator &it)
void Insert(const ServiceVlan *rhs)
void Update(const ServiceVlan *lhs, const ServiceVlan *rhs)
bool operator()(const ServiceVlan &lhs, const ServiceVlan &rhs) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
void DeleteCommon(const VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
void Copy(const Agent *agent, const VmInterface *vmi) const
bool IsLess(const ServiceVlan *rhs) const
void AddCommon(const Agent *agent, const VmInterface *vmi) const
void Update(const Agent *agent, VmInterface *vmi) const
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
void Update(const StaticRoute *lhs, const StaticRoute *rhs)
void Insert(const StaticRoute *rhs)
void Remove(StaticRouteSet::iterator &it)
bool AddL3(const Agent *agent, VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool IsLess(const StaticRoute *rhs) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool operator()(const StaticRoute &lhs, const StaticRoute &rhs) const
void Copy(const Agent *agent, const VmInterface *vmi) const
CommunityList communities_
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
void Insert(const TagEntry *rhs)
void Update(const TagEntry *lhs, const TagEntry *rhs)
void Remove(TagEntrySet::iterator &it)
bool operator()(const TagEntry &lhs, const TagEntry &rhs) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
bool IsLess(const TagEntry *rhs) const
bool operator==(const TagEntry &rhs) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
void Remove(VmiReceiveRouteSet::iterator &it)
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
void Insert(const VmiReceiveRoute *rhs)
void Update(const VmiReceiveRoute *lhs, const VmiReceiveRoute *rhs)
virtual ~VmiReceiveRoute()
void Copy(const Agent *agent, const VmInterface *vmi) const
bool AddL2(const Agent *agent, VmInterface *vmi) const
bool IsLess(const VmiReceiveRoute *rhs) const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool operator()(const VmiReceiveRoute &lhs, const VmiReceiveRoute &rhs) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
AclDBEntryRef vrf_assign_acl_
void Insert(const VrfAssignRule *rhs)
void Remove(VrfAssignRuleSet::iterator &it)
void Update(const VrfAssignRule *lhs, const VrfAssignRule *rhs)
bool UpdateList(const Agent *agent, VmInterface *vmi, VmInterfaceState::Op l2_force_op, VmInterfaceState::Op l3_force_op)
bool IsLess(const VrfAssignRule *rhs) const
bool operator==(const VrfAssignRule &rhs) const
bool operator()(const VrfAssignRule &lhs, const VrfAssignRule &rhs) const
void Update(const Agent *agent, VmInterface *vmi)
autogen::MatchConditionType match_condition_
bool AddL3(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL2(const Agent *agent, const VmInterface *vmi) const
bool DeleteL3(const Agent *agent, VmInterface *vmi) const
bool AddL2(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
bool DeleteL2(const Agent *agent, VmInterface *vmi) const
void Copy(const Agent *agent, const VmInterface *vmi) const
bool AddL3(const Agent *agent, VmInterface *vmi) const
VmInterfaceState::Op GetOpL3(const Agent *agent, const VmInterface *vmi) const
virtual ~VrfTableLabelState()
std::vector< boost::uuids::uuid > SgUuidList
std::vector< AclDBEntryConstRef > FirewallPolicyList
std::vector< SgEntryRef > SgList