18 const Ip6Address::bytes_type &addr_bytes = prefix.
ToBytes();
19 return boost::hash_range(addr_bytes.begin(), addr_bytes.end());
28 const std::string &key_str)
const {
30 return std::unique_ptr<DBEntry> (
new Inet6Route(prefix));
67 boost::scoped_ptr<Inet6Prefix> prefix;
83 if (dest_route == NULL) {
85 partition->
Add(dest_route);
103 if (dest_path != NULL) {
144 partition->
Notify(dest_route);
173 uinfo_slist->push_front(*uinfo);
boost::intrusive_ptr< const BgpAttr > BgpAttrPtr
BgpAttrPtr ReplaceExtCommunityAndLocate(const BgpAttr *attr, ExtCommunityPtr extcomm)
BgpAttrPtr ReplaceSourceRdAndLocate(const BgpAttr *attr, const RouteDistinguisher &source_rd)
BgpAttrPtr ReplaceOriginVnPathAndLocate(const BgpAttr *attr, OriginVnPathPtr ovnpath)
const OriginVnPath * origin_vn_path() const
const ExtCommunity * ext_community() const
Address::Family nexthop_family() const
uint32_t GetLabel() const
uint32_t GetFlags() const
const uint32_t GetPathId() const
bool NeedsResolution() const
const BgpAttr * GetAttr() const
PathSource GetSource() const
const BgpAttr * GetOriginalAttr() const
bool RemoveSecondaryPath(const BgpRoute *src_rt, BgpPath::PathSource src, const IPeer *peer, uint32_t path_id)
BgpPath * FindSecondaryPath(BgpRoute *src_rt, BgpPath::PathSource src, const IPeer *peer, uint32_t path_id)
void InsertPath(BgpPath *path)
void SetReplicateInfo(const BgpTable *table, const BgpRoute *rt)
RoutingInstanceMgr * routing_instance_mgr()
bool IsNextHopCheckEnabled() const
RoutingInstance * routing_instance()
UpdateInfo * GetUpdateInfo(RibOut *ribout, BgpRoute *route, const RibPeerSet &peerset)
PathResolver * path_resolver()
virtual Address::Family family() const =0
const std::string & name() const
void Notify(DBEntryBase *entry)
virtual void Add(DBEntry *entry)
DBEntry * Find(const DBEntry *entry)
virtual DBTablePartBase * GetTablePartition(const DBRequestKey *key)
static void RegisterFactory(const std::string &prefix, CreateFunction create_fn)
static int PartitionCount()
static Inet6Prefix FromString(const std::string &str, boost::system::error_code *errorp=NULL)
Ip6Address ip6_addr() const
const Ip6Address::bytes_type ToBytes() const
const Inet6Prefix & GetPrefix() const
virtual std::unique_ptr< DBEntry > AllocEntryStr(const std::string &key) const
virtual BgpRoute * TableFind(DBTablePartition *partition, const DBRequestKey *rkey)
Inet6Table(DB *db, const std::string &name)
virtual size_t Hash(const DBEntry *entry) const
virtual bool Export(RibOut *ribout, Route *route, const RibPeerSet &peerset, UpdateInfoSList &info_slist)
virtual Address::Family family() const
BgpRoute * RouteReplicate(BgpServer *server, BgpTable *src_tbl, BgpRoute *src_rt, const BgpPath *path, ExtCommunityPtr ptr)
static size_t HashFunction(const Inet6Prefix &addr)
virtual PathResolver * CreatePathResolver()
static DBTableBase * CreateTable(DB *db, const std::string &name)
virtual std::unique_ptr< DBEntry > AllocEntry(const DBRequestKey *key) const
const RouteDistinguisher & route_distinguisher() const
const Inet6VpnPrefix & GetPrefix() const
void StopPathResolution(int part_id, const BgpPath *path)
void StartPathResolution(BgpRoute *route, const BgpPath *path, BgpTable *nh_table=NULL)
const BgpAttr * attr() const
void set_attr(const BgpTable *table, const BgpAttrPtr &attrp)
const RibExportPolicy & ExportPolicy() const
RoutingInstance * GetDefaultRoutingInstance()
BgpTable * GetTable(Address::Family fmly)
MODULE_INITIALIZER(RegisterFactory)
static void RegisterFactory()