|
OpenSDN source code
|
#include <bgp_xmpp_channel.h>

Classes | |
| struct | ChannelStats |
| struct | ErrorStats |
| struct | InstanceMembershipRequestState |
| class | PeerStats |
| struct | Stats |
| struct | SubscriptionState |
| struct | TableMembershipRequestState |
| class | XmppPeer |
Public Types | |
| enum | StatsIndex { RX , TX } |
Static Public Attributes | |
| static const int | kEndOfRibSendRetryTime = 1 |
Protected Attributes | |
| XmppChannel * | channel_ |
Private Types | |
| enum | RequestType { NONE , SUBSCRIBE , UNSUBSCRIBE } |
| typedef std::map< RoutingInstance *, SubscriptionState > | SubscribedRoutingInstanceList |
| typedef std::map< std::string, TableMembershipRequestState > | TableMembershipRequestMap |
| typedef std::map< std::string, InstanceMembershipRequestState > | InstanceMembershipRequestMap |
| typedef std::pair< const std::string, const std::string > | VrfTableName |
| typedef std::multimap< VrfTableName, DBRequest * > | DeferQ |
Private Member Functions | |
| virtual void | ReceiveUpdate (const XmppStanza::XmppMessage *msg) |
| virtual bool | GetMembershipInfo (BgpTable *table, int *instance_id, uint64_t *subscribed_at, RequestType *req_type) |
| bool | VerifyMembership (const std::string &vrf_name, Address::Family family, BgpTable **table, int *instance_id, uint64_t *subscribed_at, bool *subscribe_pending, bool add_change) |
| void | AddTableMembershipState (const std::string &table_name, TableMembershipRequestState tmr_state) |
| bool | DeleteTableMembershipState (const std::string &table_name) |
| TableMembershipRequestState * | GetTableMembershipState (const std::string &table_name) |
| const TableMembershipRequestState * | GetTableMembershipState (const std::string &table_name) const |
| void | AddInstanceMembershipState (const std::string &instance, InstanceMembershipRequestState imr_state) |
| bool | DeleteInstanceMembershipState (const std::string &instance) |
| virtual const InstanceMembershipRequestState * | GetInstanceMembershipState (const std::string &instance) const |
| bool | ProcessItem (std::string vrf_name, const pugi::xml_node &node, bool add_change, int primary_instance_id=0) |
| bool | ProcessInet6Item (std::string vrf_name, const pugi::xml_node &node, bool add_change) |
| bool | ProcessMcastItem (std::string vrf_name, const pugi::xml_node &item, bool add_change) |
| bool | ProcessMvpnItem (std::string vrf_name, const pugi::xml_node &item, bool add_change) |
| void | CreateType7MvpnRouteRequest (IpAddress grp_address, IpAddress src_address, bool add_change, uint64_t subscription_gen_id, DBRequest &req) |
| void | CreateType5MvpnRouteRequest (IpAddress grp_address, IpAddress src_address, bool add_change, uint64_t subscription_gen_id, int instance_id, DBRequest &req, const autogen::MvpnNextHopType &nh) |
| bool | ProcessEnetItem (std::string vrf_name, const pugi::xml_node &item, bool add_change) |
| void | ProcessSubscriptionRequest (std::string rt_instance, const XmppStanza::XmppMessageIq *iq, bool add_change) |
| void | AddSubscriptionState (RoutingInstance *rt_instance, int index) |
| void | DeleteSubscriptionState (RoutingInstance *rt_instance) |
| SubscriptionState * | GetSubscriptionState (RoutingInstance *rt_instance) |
| const SubscriptionState * | GetSubscriptionState (RoutingInstance *rt_instance) const |
| void | RegisterTable (int line, BgpTable *table, const TableMembershipRequestState *tmr_state) |
| void | UnregisterTable (int line, BgpTable *table) |
| void | MembershipRequestCallback (BgpTable *table) |
| void | DequeueRequest (const std::string &table_name, DBRequest *request) |
| bool | XmppDecodeAddress (int af, const std::string &address, IpAddress *addrp, bool zero_ok=false) |
| bool | ResumeClose () |
| void | FlushDeferQ (std::string vrf_name) |
| void | FlushDeferQ (std::string vrf_name, std::string table_name) |
| void | ProcessDeferredSubscribeRequest (RoutingInstance *rt_instance, const InstanceMembershipRequestState &imr_state) |
| void | ClearStaledSubscription (RoutingInstance *rt_instance, SubscriptionState *sub_state) |
| bool | ProcessMembershipResponse (std::string table_name, TableMembershipRequestState *tmr_state) |
| bool | EndOfRibReceiveTimerExpired () |
| void | EndOfRibTimerErrorHandler (std::string error_name, std::string error_message) |
| void | SendEndOfRIB () |
| virtual time_t | GetEndOfRibSendTime () const |
| DISALLOW_COPY_AND_ASSIGN (BgpXmppChannel) | |
Private Attributes | |
| xmps::PeerId | peer_id_ |
| boost::scoped_ptr< BgpXmppRTargetManager > | rtarget_manager_ |
| BgpServer * | bgp_server_ |
| boost::scoped_ptr< XmppPeer > | peer_ |
| boost::scoped_ptr< BgpXmppPeerClose > | peer_close_ |
| boost::scoped_ptr< PeerCloseManager > | close_manager_ |
| boost::scoped_ptr< PeerStats > | peer_stats_ |
| RibExportPolicy | bgp_policy_ |
| DeferQ | defer_q_ |
| TableMembershipRequestMap | table_membership_request_map_ |
| InstanceMembershipRequestMap | instance_membership_request_map_ |
| BgpXmppChannelManager * | manager_ |
| bool | delete_in_progress_ |
| bool | deleted_ |
| bool | defer_peer_close_ |
| bool | skip_update_send_ |
| bool | skip_update_send_cached_ |
| bool | eor_sent_ |
| Timer * | eor_receive_timer_ |
| Timer * | eor_send_timer_ |
| time_t | eor_receive_timer_start_time_ |
| time_t | eor_send_timer_start_time_ |
| WorkQueue< std::string > | membership_response_worker_ |
| SubscribedRoutingInstanceList | routing_instances_ |
| Stats | stats_ [2] |
| ChannelStats | channel_stats_ |
| ErrorStats | error_stats_ |
| LabelBlockManagerPtr | lb_mgr_ |
Friends | |
| class | BgpXmppChannelMock |
| class | BgpXmppChannelManager |
| class | BgpXmppParseTest |
| class | BgpXmppUnitTest |
Definition at line 48 of file bgp_xmpp_channel.h.
|
private |
Definition at line 274 of file bgp_xmpp_channel.h.
|
private |
Definition at line 269 of file bgp_xmpp_channel.h.
|
private |
Definition at line 258 of file bgp_xmpp_channel.h.
|
private |
Definition at line 262 of file bgp_xmpp_channel.h.
|
private |
Definition at line 273 of file bgp_xmpp_channel.h.
|
private |
| Enumerator | |
|---|---|
| NONE | |
| SUBSCRIBE | |
| UNSUBSCRIBE | |
Definition at line 212 of file bgp_xmpp_channel.h.
| Enumerator | |
|---|---|
| RX | |
| TX | |
Definition at line 51 of file bgp_xmpp_channel.h.
|
explicit |
|
virtual |
|
private |
Definition at line 707 of file bgp_xmpp_channel.cc.
|
private |
|
private |
Definition at line 668 of file bgp_xmpp_channel.cc.
|
inline |
Definition at line 176 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 145 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 144 of file bgp_xmpp_channel.h.
| void BgpXmppChannel::ClearEndOfRibState | ( | ) |
|
private |
|
inline |
Definition at line 175 of file bgp_xmpp_channel.h.
| void BgpXmppChannel::Close | ( | ) |
|
inline |
Definition at line 154 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 164 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 134 of file bgp_xmpp_channel.h.
|
private |
Definition at line 716 of file bgp_xmpp_channel.cc.
|
private |
Definition at line 2571 of file bgp_xmpp_channel.cc.
|
private |
Definition at line 677 of file bgp_xmpp_channel.cc.
|
private |
|
private |
|
private |
| bool BgpXmppChannel::EndOfRibSendTimerExpired | ( | ) |
|
private |
|
virtual |
|
inline |
Definition at line 150 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 151 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 131 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 132 of file bgp_xmpp_channel.h.
| void BgpXmppChannel::FillCloseInfo | ( | BgpNeighborResp * | resp | ) | const |
Definition at line 2399 of file bgp_xmpp_channel.cc.
| void BgpXmppChannel::FillInstanceMembershipInfo | ( | BgpNeighborResp * | resp | ) | const |
Definition at line 2403 of file bgp_xmpp_channel.cc.
| void BgpXmppChannel::FillTableMembershipInfo | ( | BgpNeighborResp * | resp | ) | const |
|
private |
|
private |
|
inline |
Definition at line 156 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 157 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 158 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 160 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 161 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 162 of file bgp_xmpp_channel.h.
|
privatevirtual |
|
privatevirtual |
Definition at line 724 of file bgp_xmpp_channel.cc.
|
privatevirtual |
| size_t BgpXmppChannel::GetMembershipRequestQueueSize | ( | ) | const |
Definition at line 585 of file bgp_xmpp_channel.cc.
| int BgpXmppChannel::GetPrimaryInstanceID | ( | const std::string & | s, |
| bool | expect_prefix_len | ||
| ) | const |
Definition at line 2944 of file bgp_xmpp_channel.cc.
| const XmppSession * BgpXmppChannel::GetSession | ( | ) | const |
| const RoutingInstance::RouteTargetList & BgpXmppChannel::GetSubscribedRTargets | ( | RoutingInstance * | instance | ) | const |
Definition at line 3401 of file bgp_xmpp_channel.cc.
|
private |
Definition at line 2575 of file bgp_xmpp_channel.cc.
|
private |
Definition at line 2582 of file bgp_xmpp_channel.cc.
|
private |
|
private |
| bool BgpXmppChannel::IsSubscriptionEmpty | ( | ) | const |
Definition at line 3397 of file bgp_xmpp_channel.cc.
| bool BgpXmppChannel::IsSubscriptionGrStale | ( | RoutingInstance * | instance | ) | const |
Definition at line 3383 of file bgp_xmpp_channel.cc.
| bool BgpXmppChannel::IsSubscriptionLlgrStale | ( | RoutingInstance * | instance | ) | const |
Definition at line 3390 of file bgp_xmpp_channel.cc.
| void BgpXmppChannel::LlgrStaleCurrentSubscriptions | ( | ) |
Definition at line 2508 of file bgp_xmpp_channel.cc.
| TcpSession::Endpoint BgpXmppChannel::local_endpoint | ( | ) | const |
|
inline |
Definition at line 178 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 177 of file bgp_xmpp_channel.h.
|
private |
| bool BgpXmppChannel::MembershipResponseHandler | ( | std::string | table_name | ) |
| IPeer * BgpXmppChannel::Peer | ( | ) |
Definition at line 618 of file bgp_xmpp_channel.cc.
| const IPeer * BgpXmppChannel::Peer | ( | ) | const |
Definition at line 622 of file bgp_xmpp_channel.cc.
| uint64_t BgpXmppChannel::peer_closed_at | ( | ) | const |
Definition at line 3379 of file bgp_xmpp_channel.cc.
| bool BgpXmppChannel::peer_deleted | ( | ) | const |
Definition at line 3372 of file bgp_xmpp_channel.cc.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| void BgpXmppChannel::ProcessPendingSubscriptions | ( | ) |
|
private |
| void BgpXmppChannel::ReceiveEndOfRIB | ( | Address::Family | family | ) |
|
privatevirtual |
|
private |
| TcpSession::Endpoint BgpXmppChannel::remote_endpoint | ( | ) | const |
| void BgpXmppChannel::ResetEndOfRibSendState | ( | ) |
|
private |
Definition at line 2206 of file bgp_xmpp_channel.cc.
| void BgpXmppChannel::RoutingInstanceCallback | ( | std::string | vrf_name, |
| int | op | ||
| ) |
|
inline |
Definition at line 167 of file bgp_xmpp_channel.h.
|
inline |
Definition at line 129 of file bgp_xmpp_channel.h.
|
private |
|
inline |
Definition at line 165 of file bgp_xmpp_channel.h.
|
inline |
| void BgpXmppChannel::set_peer_closed | ( | bool | flag | ) |
Definition at line 3365 of file bgp_xmpp_channel.cc.
| bool BgpXmppChannel::SkipUpdateSend | ( | ) |
| void BgpXmppChannel::StaleCurrentSubscriptions | ( | ) |
Definition at line 2497 of file bgp_xmpp_channel.cc.
| void BgpXmppChannel::StartEndOfRibReceiveTimer | ( | ) |
| string BgpXmppChannel::StateName | ( | ) | const |
| void BgpXmppChannel::SweepCurrentSubscriptions | ( | ) |
| bool BgpXmppChannel::table_membership_request_map_empty | ( | ) | const |
| size_t BgpXmppChannel::table_membership_requests | ( | ) | const |
Definition at line 2282 of file bgp_xmpp_channel.cc.
| const string & BgpXmppChannel::ToString | ( | ) | const |
| const string & BgpXmppChannel::ToUVEKey | ( | ) | const |
| string BgpXmppChannel::transport_address_string | ( | ) | const |
|
inline |
Definition at line 130 of file bgp_xmpp_channel.h.
|
private |
|
private |
|
inline |
Definition at line 179 of file bgp_xmpp_channel.h.
|
private |
Definition at line 630 of file bgp_xmpp_channel.cc.
| void BgpXmppChannel::XMPPPeerInfoSend | ( | const XmppPeerInfoData & | peer_info | ) | const |
Definition at line 556 of file bgp_xmpp_channel.cc.
|
friend |
Definition at line 201 of file bgp_xmpp_channel.h.
|
friend |
Definition at line 200 of file bgp_xmpp_channel.h.
|
friend |
Definition at line 202 of file bgp_xmpp_channel.h.
|
friend |
Definition at line 203 of file bgp_xmpp_channel.h.
|
private |
Definition at line 352 of file bgp_xmpp_channel.h.
|
private |
Definition at line 347 of file bgp_xmpp_channel.h.
|
protected |
Definition at line 197 of file bgp_xmpp_channel.h.
|
private |
Definition at line 375 of file bgp_xmpp_channel.h.
|
private |
Definition at line 350 of file bgp_xmpp_channel.h.
|
private |
Definition at line 362 of file bgp_xmpp_channel.h.
|
private |
Definition at line 355 of file bgp_xmpp_channel.h.
|
private |
Definition at line 360 of file bgp_xmpp_channel.h.
|
private |
Definition at line 361 of file bgp_xmpp_channel.h.
|
private |
Definition at line 366 of file bgp_xmpp_channel.h.
|
private |
Definition at line 368 of file bgp_xmpp_channel.h.
|
private |
Definition at line 367 of file bgp_xmpp_channel.h.
|
private |
Definition at line 369 of file bgp_xmpp_channel.h.
|
private |
Definition at line 365 of file bgp_xmpp_channel.h.
|
private |
Definition at line 376 of file bgp_xmpp_channel.h.
|
private |
Definition at line 358 of file bgp_xmpp_channel.h.
|
static |
Definition at line 50 of file bgp_xmpp_channel.h.
|
private |
Definition at line 379 of file bgp_xmpp_channel.h.
|
private |
Definition at line 359 of file bgp_xmpp_channel.h.
|
private |
Definition at line 370 of file bgp_xmpp_channel.h.
|
private |
Definition at line 348 of file bgp_xmpp_channel.h.
|
private |
Definition at line 349 of file bgp_xmpp_channel.h.
|
private |
Definition at line 345 of file bgp_xmpp_channel.h.
|
private |
Definition at line 351 of file bgp_xmpp_channel.h.
|
private |
Definition at line 371 of file bgp_xmpp_channel.h.
|
private |
Definition at line 346 of file bgp_xmpp_channel.h.
|
private |
Definition at line 363 of file bgp_xmpp_channel.h.
|
private |
Definition at line 364 of file bgp_xmpp_channel.h.
|
private |
Definition at line 374 of file bgp_xmpp_channel.h.
|
private |
Definition at line 357 of file bgp_xmpp_channel.h.