5 #ifndef SRC_BGP_BGP_RIBOUT_H_
6 #define SRC_BGP_BGP_RIBOUT_H_
8 #include <boost/scoped_ptr.hpp>
9 #include <boost/intrusive/slist.hpp>
26 class ShowRibOutStatistics;
99 set_attr(table, attrp, 0, 0,
false,
false);
103 set_attr(table, attrp, label, 0,
false,
false);
128 repr_.append(repr, pos, std::string::npos);
191 typedef boost::intrusive::member_hook<
193 boost::intrusive::slist_member_hook<>,
196 typedef boost::intrusive::slist<
199 boost::intrusive::linear<true>
374 #endif // SRC_BGP_BGP_RIBOUT_H_
int GetPeerIndex(IPeerUpdate *peer) const
AdvertiseInfo(const RibOutAttr *roattr)
bool remove_private_enabled() const
std::vector< NextHop > NextHopList
RibOutAttr & operator=(const RibOutAttr &rhs)
void set_attr(const BgpTable *table, const BgpAttrPtr &attrp, uint32_t label)
std::vector< RibOutUpdates * > updates_
const BgpAttr * attr() const
const MacAddress & mac() const
bool operator!=(const NextHop &rhs) const
const RibPeerSet & PeerSet() const
Ip4Address source_address_
void set_as4_supported(bool as4)
const IpAddress & nexthop() const
Ip4Address source_address_
uint32_t cluster_id() const
const std::string & ToString() const
void MoveHistory(RouteUpdate *rt_update)
const NextHopList & nexthop_list() const
bool as4_supported() const
boost::asio::ip::address IpAddress
const RibExportPolicy & ExportPolicy() const
BgpProto::BgpPeerType peer_type() const
void Unregister(IPeerUpdate *peer)
DISALLOW_COPY_AND_ASSIGN(RouteState)
boost::intrusive::slist_member_hook slist_node
PeerIterator(const RibOut *ribout, const RibPeerSet &peer_set)
void SetHistory(AdvertiseSList &history)
std::vector< std::string > encap() const
const std::string & repr() const
std::vector< int > tag_list_
void Register(IPeerUpdate *peer)
const List * operator->() const
const Ip4Address & source_address() const
uint32_t GetQueueSize() const
int CompareTo(const NextHop &rhs) const
const List & list() const
boost::intrusive::slist< AdvertiseInfo, Node, boost::intrusive::linear< true > > List
boost::intrusive_ptr< const BgpAttr > BgpAttrPtr
Ip4Address * source_address()
bool vrf_originated() const
AdvertiseInfo(const AdvertiseInfo &rhs)
bool operator==(const RibOutAttr &rhs) const
NextHopList nexthop_list_
const BgpTable * table() const
BgpUpdateSender * sender()
void GetSubsetPeerSet(RibPeerSet *peerset, const IPeerUpdate *cpeer) const
uint32_t l3_label() const
BgpProto::BgpPeerType type
void set_attr(const BgpTable *table, const BgpAttrPtr &attrp)
bool IsRegistered(IPeerUpdate *peer)
DISALLOW_COPY_AND_ASSIGN(RibOut)
std::vector< std::string > encap_
AdvertiseSList advertised_
bool remove_private_all() const
void set_source_address(Ip4Address source_address)
bool IsEncodingBgp() const
IPeerUpdate * GetPeer(int index) const
RemovePrivatePolicy remove_private
bool IsActive(IPeerUpdate *peer) const
bool operator==(const NextHop &rhs) const
RibOut(BgpTable *table, BgpUpdateSender *sender, const RibExportPolicy &policy)
uint32_t l3_label() const
void set_repr(const std::string &repr, size_t pos=0) const
void FillStatisticsInfo(std::vector< ShowRibOutStatistics > *sros_list) const
boost::asio::ip::address_v4 Ip4Address
std::vector< int > tag_list() const
const AdvertiseSList & Advertised() const
AdvertiseSList & Advertised()
bool operator!=(const RibOutAttr &rhs) const
std::string EncodingString() const
const Ip4Address & source_address() const
BgpUpdateSender * sender_
bool operator<(const NextHop &rhs) const
const RibPeerSet & peer_set_
size_t find_first() const
const IpAddress address() const
bool remove_private_replace() const
int RouteAdvertiseCount(const BgpRoute *rt) const
bool IsEncodingXmpp() const
PeerState(IPeerUpdate *key)
boost::intrusive::member_hook< AdvertiseInfo, boost::intrusive::slist_member_hook<>,&AdvertiseInfo::slist_node > Node
void Deactivate(IPeerUpdate *peer)
size_t find_next(size_t pos) const
const RibOutUpdates * updates(int idx) const
int origin_vn_index() const
void BuildSendReadyBitSet(const RibPeerSet &peerset, RibPeerSet *mready) const
RibOutUpdates * updates(int idx)
RibPeerSet active_peerset_
bool CompareUpdateInfo(const UpdateInfoSList &uinfo_slist) const
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
boost::scoped_ptr< BgpExport > bgp_export_
IndexMap< IPeerUpdate *, PeerState, RibPeerSet > PeerStateMap
void SwapHistory(AdvertiseSList &history)
bool remove_private_peer_loop_check() const
DBTableBase::ListenerId listener_id() const
NextHop(const BgpTable *table, IpAddress address, const MacAddress &mac, uint32_t label, uint32_t l3_label, const ExtCommunity *ext_community, bool vrf_originated)
void operator()(AdvertiseInfo *ainfo)
void swap(AdvertiseSList &adv_slist)
int CompareTo(const RibOutAttr &rhs) const