11 #include <ovsdb_types.h>
16 "OVS-" + peer_ip.to_string(), true),
17 peer_ip_(peer_ip), gen_id_(gen_id), peer_manager_(peer_manager),
18 ha_stale_export_(false) {
19 std::stringstream str;
20 str <<
"Allocating OVS Peer " <<
this <<
" Gen-Id " << gen_id;
25 std::stringstream str;
26 str <<
"Deleting OVS Peer " <<
this <<
" Gen-Id " <<
gen_id_;
39 const std::string &dest_vn,
const MacAddress &mac,
64 uint32_t sequence = 0;
105 const std::string &vn_name,
125 ComputeNextHop(agent));
135 assert(
table_.size() == 0);
EvpnRouteEntry * FindRoute(const MacAddress &mac, const IpAddress &ip_addr, uint32_t plen, uint32_t ethernet_tag)
void DeleteOvsPeerMulticastRoute(const Peer *peer, uint32_t vxlan_id, const Ip4Address &tor_ip)
#define OVSDB_TRACE(obj,...)
void AddOvsPeerMulticastRoute(const Peer *peer, uint32_t vxlan_id, const std::string &vn_name, Ip4Address vtep, Ip4Address tor_ip, bool ha_stale)
AgentRouteTable * GetEvpnRouteTable() const
bool Compare(const Peer *rhs) const
boost::asio::ip::address IpAddress
static void DeleteReq(const Peer *peer, const std::string &vrf_name, const MacAddress &mac, const IpAddress &ip_addr, uint32_t plen, uint32_t ethernet_tag, AgentRouteData *data)
OvsPeer * Allocate(const IpAddress &peer_ip)
std::vector< int > SecurityGroupList
const Ip4Address * GetDip() const
OvsPeer(const IpAddress &peer_ip, uint64_t gen_id, OvsPeerManager *manager)
const string & GetName() const
const VmInterface * FindVmFromDhcpBinding(const MacAddress &mac)
const std::string & fabric_vrf_name() const
const AgentPath * GetActivePath() const
uint32_t sequence() const
Ip4Address router_id() const
bool AddOvsRoute(const VrfEntry *vrf, uint32_t vxlan_id, const std::string &dest_vn, const MacAddress &mac, Ip4Address &tor_ip)
AgentRouteTable * GetBridgeRouteTable() const
boost::asio::ip::address_v4 Ip4Address
OvsPeerManager(Agent *agent)
void AddOvsPeerMulticastRoute(const VrfEntry *vrf, uint32_t vxlan_id, const std::string &vn_name_, const Ip4Address &tsn_ip, const Ip4Address &tor_ip)
OvsPeerManager * peer_manager_
void DeleteOvsRoute(VrfEntry *vrf, uint32_t vxlan, const MacAddress &mac)
virtual ~OvsPeerManager()
static void ProcessDelete(DynamicPeer *p)
void CopySgIdList(SecurityGroupList *sg_id_list) const
const Ip4Address * NexthopIp(Agent *agent, const AgentPath *path) const
const Ip4Address * router_ip_ptr() const
void DeleteOvsPeerMulticastRoute(const VrfEntry *vrf, uint32_t vxlan_id, const Ip4Address &tor_ip)
static void AddRemoteVmRouteReq(const Peer *peer, const std::string &vrf_name, const MacAddress &mac, const IpAddress &ip_addr, uint32_t plen, uint32_t ethernet_tag, AgentRouteData *data)