5 #ifndef SRC_BGP_BGP_ROUTE_H_
6 #define SRC_BGP_BGP_ROUTE_H_
36 bool include_secondary =
false)
const;
43 uint32_t path_id = 0);
54 const IPeer *peer, uint32_t path_id);
56 const IPeer *peer, uint32_t path_id);
70 uint32_t l3_label = 0)
const {
82 const std::string &source =
"",
const std::string &protocol =
"")
const;
boost::asio::ip::address IpAddress
const BgpPath * FindPath(BgpPath::PathSource src) const
void FillRouteInfo(const BgpTable *table, ShowRoute *show_route, const std::string &source="", const std::string &protocol="") const
DISALLOW_COPY_AND_ASSIGN(BgpRoute)
bool RemovePath(BgpPath::PathSource src, const IPeer *peer=NULL, uint32_t path_id=0)
const BgpPath * BestPath() const
virtual bool IsValid() const
void add_peer_sources(std::string val)
const std::set< std::string > & peer_sources() const
virtual RouteDistinguisher GetRouteDistinguisher() const
void del_peer_sources(std::string val)
void DeletePath(BgpPath *path)
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)
virtual std::string ToXmppIdString() const
virtual void BuildProtoPrefix(BgpProtoPrefix *prefix, const BgpAttr *attr=NULL, uint32_t label=0, uint32_t l3_label=0) const
virtual void BuildBgpProtoNextHop(std::vector< uint8_t > &nh, IpAddress nexthop) const
uint32_t SubClusterId() const
void FillRouteInfo(const BgpTable *table, ShowRouteBrief *show_route) const
std::set< std::string > peer_sources_
void InsertPath(BgpPath *path)
bool DuplicateForwardingPath(const BgpPath *in_path) const
void AddExtCommunitySubCluster(BgpPath *path)
virtual std::string ToString() const =0
static RouteDistinguisher kZeroRd
const Path * front() const