11 #include <vnc_cfg_types.h>
12 #include <bgp_schema_types.h>
13 #include <agent_types.h>
37 KSyncDBEntry(), vrf_id_(entry->vrf_id()), ksync_obj_(obj) {
42 KSyncDBEntry(), vrf_id_(route->vrf_id()), ksync_obj_(obj) {
59 if (lhs_type != rhs_type)
60 return lhs_type < rhs_type;
73 mac_(entry->mac_), port_(entry->port_), tunnel_dest_(entry->tunnel_dest_) {
79 port_(nullptr), tunnel_dest_() {
118 if (old_vxlan_id != new_vxlan_id) {
200 ksync_(vrf->ksync()),
201 marked_delete_(false),
202 table_delete_ref_(this, rt_table->
deleter()) {
249 VrfRouteObjectMap::const_iterator it;
262 VrfRouteObjectMap::iterator it;
265 if (it->second == rt) {
284 if (state ==
nullptr) {
boost::asio::ip::address_v4 Ip4Address
AgentDBEntry * FindActiveEntry(const DBEntry *key)
uint32_t vxlan_id() const
Agent supports multiple route tables - Inet-unicast (IPv4/IPv6), Inet-multicast, bridge,...
virtual Agent::RouteTableType GetTableType() const =0
Base class for all Route entries in agent.
const AgentPath * GetActivePath() const
const NextHop * GetActiveNextHop() const
VrfTable * vrf_table() const
VxLanTable * vxlan_table() const
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
void ClearState(DBTableBase *tbl_base, ListenerId listener)
void SetState(DBTableBase *tbl_base, ListenerId listener, DBState *state)
ListenerId Register(ChangeCallback callback, const std::string &name="unspecified")
void Unregister(ListenerId listener)
const Interface * GetInterface() const
void UnregisterDb(DBTableBase *table)
DBTableBase * GetDBTable()
void RegisterDb(DBTableBase *table)
static void Unregister(KSyncObject *)
KSyncEntry * GetReference(const KSyncEntry *key)
uint32_t vxlan_id() const
virtual KSyncEntry * DBToKSyncEntry(const DBEntry *e)=0
KSyncVxlanFdbEntry(KSyncVxlanRouteObject *obj, const KSyncVxlanFdbEntry *entry)
virtual std::string ToString() const
virtual bool CompareRoute(const KSyncVxlanRouteEntry &rhs) const
KSyncVxlanBridgeEntry * bridge_
KSyncVxlanPortEntry * port_
const Ip4Address & tunnel_dest() const
virtual bool Sync(DBEntry *e)
const KSyncVxlanBridgeEntry * bridge() const
virtual KSyncEntry * UnresolvedReference()
const KSyncVxlanPortEntry * port() const
virtual ~KSyncVxlanFdbEntry()
virtual KSyncEntry * DBToKSyncEntry(const DBEntry *e)=0
KSyncDBObject * GetObject() const
virtual ~KSyncVxlanRouteEntry()
KSyncVxlanRouteObject * ksync_obj_
KSyncVxlanRouteObject * ksync_object() const
virtual bool CompareRoute(const KSyncVxlanRouteEntry &rhs) const =0
virtual bool IsLess(const KSyncEntry &rhs) const
KSyncVxlanRouteEntry(KSyncVxlanRouteObject *obj, const KSyncVxlanRouteEntry *entry)
virtual void EmptyTable()
AgentRouteTable * rt_table_
LifetimeRef< KSyncVxlanRouteObject > table_delete_ref_
KSyncVxlan * ksync() const
KSyncVxlanRouteObject(KSyncVxlanVrfObject *vrf, AgentRouteTable *rt_table)
virtual ~KSyncVxlanRouteObject()
const AgentRouteTable * route_table() const
void AddToVrfMap(uint32_t vrf_id, KSyncVxlanRouteObject *)
KSyncVxlanVrfObject(KSyncVxlan *ksync)
virtual ~KSyncVxlanVrfObject()
void DelFromVrfMap(KSyncVxlanRouteObject *)
DBTableBase::ListenerId vrf_listener_id_
void VrfNotify(DBTablePartBase *partition, DBEntryBase *e)
VrfRouteObjectMap vrf_fdb_object_map_
KSyncVxlanRouteObject * GetRouteKSyncObject(uint32_t vrf_id) const
virtual KSyncVxlanRouteObject * AllocBridgeRouteTable(const VrfEntry *entry)=0
KSyncVxlanPortObject * port_obj() const
KSyncVxlanVrfObject * vrf_obj() const
static KSyncEntry * defer_entry()
KSyncVxlanBridgeObject * bridge_obj() const
void Reset(LifetimeActor *actor)
int CompareTo(const MacAddress &rhs, int len=0) const
const Ip4Address * GetDip() const
const uint32_t vrf_id() const
static const uint32_t kInvalidvxlan_id