5 #ifndef SRC_BGP_EVPN_EVPN_TABLE_H_
6 #define SRC_BGP_EVPN_EVPN_TABLE_H_
21 : prefix(prefix),
peer(ipeer) {
31 virtual std::unique_ptr<DBEntry>
AllocEntryStr(
const std::string &key)
const;
82 #endif // SRC_BGP_EVPN_EVPN_TABLE_H_
virtual size_t Hash(const DBEntry *entry) const
virtual Address::Family family() const
static size_t HashFunction(const EvpnPrefix &prefix)
virtual bool Export(RibOut *ribout, Route *route, const RibPeerSet &peerset, UpdateInfoSList &info_slist)
bool ShouldReplicate(const BgpServer *server, const BgpTable *src_table, const ExtCommunityPtr community, const EvpnPrefix &evpn_prefix) const
EvpnManager * GetEvpnManager()
static DBTableBase * CreateTable(DB *db, const std::string &name)
uint64_t unique_mac_route_count() const
tbb::atomic< uint64_t > unique_mac_route_count_
tbb::atomic< uint64_t > im_route_count_
virtual bool IsVpnTable() const
virtual const IPeer * GetPeer() const
EvpnManager * evpn_manager_
This class represents the EVPN manager for an EvpnTable in a VRF.
virtual PathResolver * CreatePathResolver()
tbb::atomic< uint64_t > ip_route_count_
virtual std::unique_ptr< DBEntry > AllocEntry(const DBRequestKey *key) const
EvpnTable(DB *db, const std::string &name)
DISALLOW_COPY_AND_ASSIGN(EvpnTable)
uint64_t im_route_count() const
const std::string & name() const
virtual BgpRoute * TableFind(DBTablePartition *rtp, const DBRequestKey *prefix)
void DestroyEvpnManager()
virtual void AddRemoveCallback(const DBEntryBase *entry, bool add) const
virtual void set_routing_instance(RoutingInstance *rtinstance)
EvpnRoute * FindRoute(const EvpnPrefix &prefix)
tbb::atomic< uint64_t > mac_route_count_
uint64_t mac_route_count() const
virtual BgpRoute * RouteReplicate(BgpServer *server, BgpTable *src_table, BgpRoute *src_rt, const BgpPath *path, ExtCommunityPtr ptr)
RequestKey(const EvpnPrefix &prefix, const IPeer *ipeer)
uint64_t ip_route_count() const
virtual std::unique_ptr< DBEntry > AllocEntryStr(const std::string &key) const