OpenSDN source code
AgentXmppChannel Class Reference

#include <controller_peer.h>

Collaboration diagram for AgentXmppChannel:

Public Member Functions

 AgentXmppChannel (Agent *agent, const std::string &xmpp_server, const std::string &label_range, uint8_t xs_idx)
 
virtual ~AgentXmppChannel ()
 
virtual std::string ToString () const
 
virtual bool SendUpdate (const uint8_t *msg, size_t msgsize)
 
virtual void ReceiveUpdate (const XmppStanza::XmppMessage *msg)
 
virtual void ReceiveEvpnUpdate (XmlPugi *pugi)
 
virtual void ReceiveMulticastUpdate (XmlPugi *pugi)
 
virtual void ReceiveMvpnUpdate (XmlPugi *pugi)
 
virtual void ReceiveV4V6Update (XmlPugi *pugi)
 
virtual void ReceiveInet4MplsUpdate (XmlPugi *pugi)
 
XmppChannelGetXmppChannel ()
 
void ReceiveBgpMessage (std::unique_ptr< XmlBase > impl)
 
void Ready ()
 
void NotReady ()
 
void TimedOut ()
 
void StartEndOfRibTxWalker ()
 
void StopEndOfRibTxWalker ()
 
void EndOfRibTx ()
 
void EndOfRibRx ()
 
void CreateBgpPeer ()
 
void RegisterXmppChannel (XmppChannel *channel)
 
std::string GetXmppServer ()
 
uint8_t GetXmppServerIdx ()
 
std::string GetMcastLabelRange ()
 
Agentagent () const
 
BgpPeerbgp_peer_id ()
 
PeerPtr bgp_peer_id_ref ()
 
std::string GetBgpPeerName () const
 
void UpdateConnectionInfo (xmps::PeerState state)
 
bool ControllerSendEvpnRouteCommon (AgentRoute *route, const Ip4Address *nexthop_ip, std::string vn, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, uint32_t mpls_label, uint32_t tunnel_bmap, const std::string &destination, const std::string &source, const PathPreference &path_preference, bool associate)
 
bool ControllerSendMcastRouteCommon (AgentRoute *route, bool associate)
 
bool ControllerSendIPMcastRouteCommon (AgentRoute *route, bool associate)
 
bool ControllerSendMvpnRouteCommon (AgentRoute *route, bool associate)
 
bool BuildEvpnMulticastMessage (autogen::EnetItemType &item, std::stringstream &node_id, AgentRoute *route, const Ip4Address *nh_ip, const std::string &vn, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, uint32_t label, uint32_t tunnel_bmap, bool associate, const AgentPath *path, bool assisted_replication)
 
void AddMulticastEvpnRoute (const std::string &vrf_name, const IpAddress &source, const IpAddress &group, autogen::EnetItemType *item)
 
void AddEvpnRoute (const std::string &vrf_name, std::string mac_addr, const IpAddress &ip, uint32_t plen, autogen::EnetItemType *item)
 
void AddEvpnEcmpRoute (std::string vrf_name, const MacAddress &mac, const IpAddress &ip, uint32_t plen, autogen::EnetItemType *item, const VnListType &vn_list)
 
template<typename TYPE >
void BuildTagList (const TYPE *item, TagList &tag_list)
 
uint64_t route_published_time () const
 
EndOfRibTxTimerend_of_rib_tx_timer ()
 
EndOfRibRxTimerend_of_rib_rx_timer ()
 
LlgrStaleTimerllgr_stale_timer ()
 
uint64_t sequence_number () const
 
void Unregister ()
 

Static Public Member Functions

static bool IsXmppChannelActive (const Agent *agent, AgentXmppChannel *peer)
 
static bool IsBgpPeerActive (const Agent *agent, AgentXmppChannel *peer)
 
static bool SetConfigPeer (AgentXmppChannel *peer)
 
static void SetMulticastPeer (AgentXmppChannel *old_peer, AgentXmppChannel *new_peer)
 
static void CleanConfigStale (AgentXmppChannel *agent_xmpp_channel)
 
static void XmppClientChannelEvent (AgentXmppChannel *peer, xmps::PeerState state)
 
static void HandleAgentXmppClientChannelEvent (AgentXmppChannel *peer, xmps::PeerState state)
 
static bool ControllerSendCfgSubscribe (AgentXmppChannel *peer)
 
static bool ControllerSendVmCfgSubscribe (AgentXmppChannel *peer, const boost::uuids::uuid &vm_id, bool subscribe)
 
static bool ControllerSendSubscribe (AgentXmppChannel *peer, VrfEntry *vrf, bool subscribe)
 
static bool ControllerSendRouteAdd (AgentXmppChannel *peer, AgentRoute *route, const Ip4Address *nexthop_ip, const VnListType &vn_list, uint32_t label, uint32_t tunnel_bmap, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, Agent::RouteTableType type, const PathPreference &path_preference, const EcmpLoadBalance &ecmp_load_balance, uint32_t native_vrf_id)
 
static bool ControllerSendEvpnRouteAdd (AgentXmppChannel *peer, AgentRoute *route, const Ip4Address *nexthop_ip, std::string vn, uint32_t mpls_label, uint32_t tunnel_bmap, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, const std::string &destination, const std::string &source, const PathPreference &path_preference)
 
static bool ControllerSendMcastRouteAdd (AgentXmppChannel *peer, AgentRoute *route)
 
static bool ControllerSendRouteDelete (AgentXmppChannel *peer, AgentRoute *route, const VnListType &vn_list, uint32_t label, uint32_t tunnel_bmap, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, Agent::RouteTableType type, const PathPreference &path_preference)
 
static bool ControllerSendEvpnRouteDelete (AgentXmppChannel *peer, AgentRoute *route, std::string vn, uint32_t mpls_label, const std::string &destination, const std::string &source, uint32_t tunnel_bmap)
 
static bool ControllerSendMcastRouteDelete (AgentXmppChannel *peer, AgentRoute *route)
 

Protected Member Functions

virtual void WriteReadyCb (const boost::system::error_code &ec)
 

Private Member Functions

void AddFabricVrfRoute (const Ip4Address &prefix_addr, uint32_t prefix_len, const Ip4Address &addr, const VnListType &vn_list, const SecurityGroupList &sg_list, const TagList &tag_list)
 
void PeerIsNotConfig ()
 
InetUnicastAgentRouteTablePrefixToRouteTable (const std::string &vrf_name, const IpAddress &prefix_addr)
 
InetUnicastAgentRouteTablePrefixToRouteMplsTable (const std::string &vrf_name, const IpAddress &prefix_addr)
 
void ReceiveInternal (const XmppStanza::XmppMessage *msg)
 
void AddRoute (std::string vrf_name, IpAddress ip, uint32_t plen, autogen::ItemType *item)
 
void AddMplsRoute (std::string vrf_name, IpAddress ip, uint32_t plen, autogen::ItemType *item)
 
void AddMulticastEvpnRoute (const std::string &vrf_name, const MacAddress &mac, autogen::EnetItemType *item)
 
void AddRemoteMplsRoute (std::string vrf_name, IpAddress ip, uint32_t plen, autogen::ItemType *item, const VnListType &vn_list)
 
void AddRemoteRoute (std::string vrf_name, IpAddress prefix_addr, uint32_t prefix_len, autogen::ItemType *item, const VnListType &vn_list)
 
void AddInetEcmpRoute (std::string vrf_name, IpAddress ip, uint32_t plen, autogen::ItemType *item, const VnListType &vn_list)
 
void AddInetMplsEcmpRoute (std::string vrf_name, IpAddress ip, uint32_t plen, autogen::ItemType *item, const VnListType &vn_list)
 
template<typename TYPE >
ControllerEcmpRouteBuildEcmpData (TYPE *item, const VnListType &vn_list, const EcmpLoadBalance &ecmp_load_balance, const AgentRouteTable *rt_table, const std::string &prefix_str)
 
bool ControllerSendV4V6UnicastRouteCommon (AgentRoute *route, const VnListType &vn_list, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, uint32_t mpls_label, uint32_t tunnel_bmap, const PathPreference &path_preference, bool associate, Agent::RouteTableType type, const EcmpLoadBalance &ecmp_load_balance, uint32_t native_vrf_id)
 
bool BuildTorMulticastMessage (autogen::EnetItemType &item, std::stringstream &node_id, AgentRoute *route, const Ip4Address *nh_ip, const std::string &vn, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, uint32_t label, uint32_t tunnel_bmap, const std::string &destination, const std::string &source, bool associate)
 
bool BuildEvpnUnicastMessage (autogen::EnetItemType &item, std::stringstream &node_id, AgentRoute *route, const Ip4Address *nh_ip, const std::string &vn, const SecurityGroupList *sg_list, const TagList *tag_list, const CommunityList *communities, uint32_t label, uint32_t tunnel_bmap, const PathPreference &path_prefernce, bool associate)
 
bool BuildAndSendEvpnDom (autogen::EnetItemType &item, std::stringstream &ss_node, const AgentRoute *route, bool associate)
 
template<typename TYPE >
bool IsEcmp (const TYPE &nexthops)
 
template<typename TYPE >
void GetVnList (const TYPE &nexthops, VnListType *vn_list)
 

Private Attributes

XmppChannelchannel_
 
std::string channel_str_
 
std::string xmpp_server_
 
std::string label_range_
 
uint8_t xs_idx_
 
PeerPtr bgp_peer_id_
 
uint64_t route_published_time_
 
boost::scoped_ptr< EndOfRibTxTimerend_of_rib_tx_timer_
 
boost::scoped_ptr< EndOfRibRxTimerend_of_rib_rx_timer_
 
boost::scoped_ptr< LlgrStaleTimerllgr_stale_timer_
 
Agentagent_
 

Detailed Description

Definition at line 46 of file controller_peer.h.

Constructor & Destructor Documentation

◆ AgentXmppChannel()

AgentXmppChannel::AgentXmppChannel ( Agent agent,
const std::string &  xmpp_server,
const std::string &  label_range,
uint8_t  xs_idx 
)

Definition at line 95 of file controller_peer.cc.

Here is the call graph for this function:

◆ ~AgentXmppChannel()

AgentXmppChannel::~AgentXmppChannel ( )
virtual

Definition at line 109 of file controller_peer.cc.

Member Function Documentation

◆ AddEvpnEcmpRoute()

void AgentXmppChannel::AddEvpnEcmpRoute ( std::string  vrf_name,
const MacAddress mac,
const IpAddress ip,
uint32_t  plen,
autogen::EnetItemType *  item,
const VnListType vn_list 
)

Definition at line 963 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddEvpnRoute()

void AgentXmppChannel::AddEvpnRoute ( const std::string &  vrf_name,
std::string  mac_addr,
const IpAddress ip,
uint32_t  plen,
autogen::EnetItemType *  item 
)

Definition at line 1166 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddFabricVrfRoute()

void AgentXmppChannel::AddFabricVrfRoute ( const Ip4Address prefix_addr,
uint32_t  prefix_len,
const Ip4Address addr,
const VnListType vn_list,
const SecurityGroupList sg_list,
const TagList tag_list 
)
private

Definition at line 1118 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddInetEcmpRoute()

void AgentXmppChannel::AddInetEcmpRoute ( std::string  vrf_name,
IpAddress  ip,
uint32_t  plen,
autogen::ItemType *  item,
const VnListType vn_list 
)
private

Definition at line 927 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddInetMplsEcmpRoute()

void AgentXmppChannel::AddInetMplsEcmpRoute ( std::string  vrf_name,
IpAddress  ip,
uint32_t  plen,
autogen::ItemType *  item,
const VnListType vn_list 
)
private

Definition at line 1797 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddMplsRoute()

void AgentXmppChannel::AddMplsRoute ( std::string  vrf_name,
IpAddress  ip,
uint32_t  plen,
autogen::ItemType *  item 
)
private

Definition at line 1821 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddMulticastEvpnRoute() [1/2]

void AgentXmppChannel::AddMulticastEvpnRoute ( const std::string &  vrf_name,
const IpAddress source,
const IpAddress group,
autogen::EnetItemType *  item 
)

◆ AddMulticastEvpnRoute() [2/2]

void AgentXmppChannel::AddMulticastEvpnRoute ( const std::string &  vrf_name,
const MacAddress mac,
autogen::EnetItemType *  item 
)
private

◆ AddRemoteMplsRoute()

void AgentXmppChannel::AddRemoteMplsRoute ( std::string  vrf_name,
IpAddress  ip,
uint32_t  plen,
autogen::ItemType *  item,
const VnListType vn_list 
)
private

Definition at line 1693 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddRemoteRoute()

void AgentXmppChannel::AddRemoteRoute ( std::string  vrf_name,
IpAddress  prefix_addr,
uint32_t  prefix_len,
autogen::ItemType *  item,
const VnListType vn_list 
)
private

Handle VxLAN routes using methods in VxlanRoutingManager Tunnels, Interfaces and Interface Composites are handled here when route is destined to the Routing VRF instance.

Definition at line 1435 of file controller_peer.cc.

Here is the call graph for this function:

◆ AddRoute()

void AgentXmppChannel::AddRoute ( std::string  vrf_name,
IpAddress  ip,
uint32_t  plen,
autogen::ItemType *  item 
)
private

Definition at line 1780 of file controller_peer.cc.

Here is the call graph for this function:

◆ agent()

Agent* AgentXmppChannel::agent ( ) const
inline

Definition at line 155 of file controller_peer.h.

◆ bgp_peer_id()

BgpPeer* AgentXmppChannel::bgp_peer_id ( )
inline

Definition at line 156 of file controller_peer.h.

◆ bgp_peer_id_ref()

PeerPtr AgentXmppChannel::bgp_peer_id_ref ( )
inline

Definition at line 159 of file controller_peer.h.

◆ BuildAndSendEvpnDom()

bool AgentXmppChannel::BuildAndSendEvpnDom ( autogen::EnetItemType &  item,
std::stringstream &  ss_node,
const AgentRoute route,
bool  associate 
)
private

Definition at line 2887 of file controller_peer.cc.

Here is the call graph for this function:

◆ BuildEcmpData()

template<typename TYPE >
ControllerEcmpRoute * AgentXmppChannel::BuildEcmpData ( TYPE *  item,
const VnListType vn_list,
const EcmpLoadBalance ecmp_load_balance,
const AgentRouteTable rt_table,
const std::string &  prefix_str 
)
private

Definition at line 1012 of file controller_peer.cc.

Here is the call graph for this function:

◆ BuildEvpnMulticastMessage()

bool AgentXmppChannel::BuildEvpnMulticastMessage ( autogen::EnetItemType &  item,
std::stringstream &  node_id,
AgentRoute route,
const Ip4Address nh_ip,
const std::string &  vn,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
uint32_t  label,
uint32_t  tunnel_bmap,
bool  associate,
const AgentPath path,
bool  assisted_replication 
)

Definition at line 2662 of file controller_peer.cc.

Here is the call graph for this function:

◆ BuildEvpnUnicastMessage()

bool AgentXmppChannel::BuildEvpnUnicastMessage ( autogen::EnetItemType &  item,
std::stringstream &  node_id,
AgentRoute route,
const Ip4Address nh_ip,
const std::string &  vn,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
uint32_t  label,
uint32_t  tunnel_bmap,
const PathPreference path_prefernce,
bool  associate 
)
private

Definition at line 2778 of file controller_peer.cc.

Here is the call graph for this function:

◆ BuildTagList()

template<typename TYPE >
void AgentXmppChannel::BuildTagList ( const TYPE *  item,
TagList tag_list 
)

Definition at line 3486 of file controller_peer.cc.

◆ BuildTorMulticastMessage()

bool AgentXmppChannel::BuildTorMulticastMessage ( autogen::EnetItemType &  item,
std::stringstream &  node_id,
AgentRoute route,
const Ip4Address nh_ip,
const std::string &  vn,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
uint32_t  label,
uint32_t  tunnel_bmap,
const std::string &  destination,
const std::string &  source,
bool  associate 
)
private

Definition at line 2567 of file controller_peer.cc.

Here is the call graph for this function:

◆ CleanConfigStale()

void AgentXmppChannel::CleanConfigStale ( AgentXmppChannel agent_xmpp_channel)
static

Definition at line 1917 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendCfgSubscribe()

bool AgentXmppChannel::ControllerSendCfgSubscribe ( AgentXmppChannel peer)
static

Definition at line 2277 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendEvpnRouteAdd()

bool AgentXmppChannel::ControllerSendEvpnRouteAdd ( AgentXmppChannel peer,
AgentRoute route,
const Ip4Address nexthop_ip,
std::string  vn,
uint32_t  mpls_label,
uint32_t  tunnel_bmap,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
const std::string &  destination,
const std::string &  source,
const PathPreference path_preference 
)
static

Definition at line 3227 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendEvpnRouteCommon()

bool AgentXmppChannel::ControllerSendEvpnRouteCommon ( AgentRoute route,
const Ip4Address nexthop_ip,
std::string  vn,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
uint32_t  mpls_label,
uint32_t  tunnel_bmap,
const std::string &  destination,
const std::string &  source,
const PathPreference path_preference,
bool  associate 
)

Definition at line 2957 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendEvpnRouteDelete()

bool AgentXmppChannel::ControllerSendEvpnRouteDelete ( AgentXmppChannel peer,
AgentRoute route,
std::string  vn,
uint32_t  mpls_label,
const std::string &  destination,
const std::string &  source,
uint32_t  tunnel_bmap 
)
static

Definition at line 3259 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendIPMcastRouteCommon()

bool AgentXmppChannel::ControllerSendIPMcastRouteCommon ( AgentRoute route,
bool  associate 
)

Definition at line 3126 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendMcastRouteAdd()

bool AgentXmppChannel::ControllerSendMcastRouteAdd ( AgentXmppChannel peer,
AgentRoute route 
)
static

Definition at line 3374 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendMcastRouteCommon()

bool AgentXmppChannel::ControllerSendMcastRouteCommon ( AgentRoute route,
bool  associate 
)

Definition at line 3026 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendMcastRouteDelete()

bool AgentXmppChannel::ControllerSendMcastRouteDelete ( AgentXmppChannel peer,
AgentRoute route 
)
static

Definition at line 3389 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendMvpnRouteCommon()

bool AgentXmppChannel::ControllerSendMvpnRouteCommon ( AgentRoute route,
bool  associate 
)

Definition at line 3137 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendRouteAdd()

bool AgentXmppChannel::ControllerSendRouteAdd ( AgentXmppChannel peer,
AgentRoute route,
const Ip4Address nexthop_ip,
const VnListType vn_list,
uint32_t  label,
uint32_t  tunnel_bmap,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
Agent::RouteTableType  type,
const PathPreference path_preference,
const EcmpLoadBalance ecmp_load_balance,
uint32_t  native_vrf_id 
)
static

Definition at line 3286 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendRouteDelete()

bool AgentXmppChannel::ControllerSendRouteDelete ( AgentXmppChannel peer,
AgentRoute route,
const VnListType vn_list,
uint32_t  label,
uint32_t  tunnel_bmap,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
Agent::RouteTableType  type,
const PathPreference path_preference 
)
static

Definition at line 3328 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendSubscribe()

bool AgentXmppChannel::ControllerSendSubscribe ( AgentXmppChannel peer,
VrfEntry vrf,
bool  subscribe 
)
static

Definition at line 2318 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendV4V6UnicastRouteCommon()

bool AgentXmppChannel::ControllerSendV4V6UnicastRouteCommon ( AgentRoute route,
const VnListType vn_list,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
uint32_t  mpls_label,
uint32_t  tunnel_bmap,
const PathPreference path_preference,
bool  associate,
Agent::RouteTableType  type,
const EcmpLoadBalance ecmp_load_balance,
uint32_t  native_vrf_id 
)
private

Definition at line 2380 of file controller_peer.cc.

Here is the call graph for this function:

◆ ControllerSendVmCfgSubscribe()

bool AgentXmppChannel::ControllerSendVmCfgSubscribe ( AgentXmppChannel peer,
const boost::uuids::uuid vm_id,
bool  subscribe 
)
static

Definition at line 2228 of file controller_peer.cc.

Here is the call graph for this function:

◆ CreateBgpPeer()

void AgentXmppChannel::CreateBgpPeer ( )

Definition at line 173 of file controller_peer.cc.

Here is the call graph for this function:

◆ end_of_rib_rx_timer()

EndOfRibRxTimer * AgentXmppChannel::end_of_rib_rx_timer ( )

Definition at line 2213 of file controller_peer.cc.

◆ end_of_rib_tx_timer()

EndOfRibTxTimer * AgentXmppChannel::end_of_rib_tx_timer ( )

Definition at line 2209 of file controller_peer.cc.

◆ EndOfRibRx()

void AgentXmppChannel::EndOfRibRx ( )

Definition at line 3404 of file controller_peer.cc.

Here is the call graph for this function:

◆ EndOfRibTx()

void AgentXmppChannel::EndOfRibTx ( )

Definition at line 3414 of file controller_peer.cc.

Here is the call graph for this function:

◆ GetBgpPeerName()

std::string AgentXmppChannel::GetBgpPeerName ( ) const

Definition at line 166 of file controller_peer.cc.

◆ GetMcastLabelRange()

std::string AgentXmppChannel::GetMcastLabelRange ( )
inline

Definition at line 153 of file controller_peer.h.

◆ GetVnList()

template<typename TYPE >
void AgentXmppChannel::GetVnList ( const TYPE &  nexthops,
VnListType vn_list 
)
private

Definition at line 1774 of file controller_peer.cc.

◆ GetXmppChannel()

XmppChannel* AgentXmppChannel::GetXmppChannel ( )
inline

Definition at line 61 of file controller_peer.h.

◆ GetXmppServer()

std::string AgentXmppChannel::GetXmppServer ( )
inline

Definition at line 151 of file controller_peer.h.

◆ GetXmppServerIdx()

uint8_t AgentXmppChannel::GetXmppServerIdx ( )
inline

Definition at line 152 of file controller_peer.h.

◆ HandleAgentXmppClientChannelEvent()

void AgentXmppChannel::HandleAgentXmppClientChannelEvent ( AgentXmppChannel peer,
xmps::PeerState  state 
)
static

Definition at line 2197 of file controller_peer.cc.

Here is the call graph for this function:

◆ IsBgpPeerActive()

bool AgentXmppChannel::IsBgpPeerActive ( const Agent agent,
AgentXmppChannel peer 
)
static

Definition at line 1949 of file controller_peer.cc.

Here is the call graph for this function:

◆ IsEcmp()

template<typename TYPE >
bool AgentXmppChannel::IsEcmp ( const TYPE &  nexthops)
private

Definition at line 1757 of file controller_peer.cc.

◆ IsXmppChannelActive()

bool AgentXmppChannel::IsXmppChannelActive ( const Agent agent,
AgentXmppChannel peer 
)
static

Definition at line 1928 of file controller_peer.cc.

Here is the call graph for this function:

◆ llgr_stale_timer()

LlgrStaleTimer * AgentXmppChannel::llgr_stale_timer ( )

Definition at line 2217 of file controller_peer.cc.

◆ NotReady()

void AgentXmppChannel::NotReady ( )

Definition at line 2087 of file controller_peer.cc.

Here is the call graph for this function:

◆ PeerIsNotConfig()

void AgentXmppChannel::PeerIsNotConfig ( )
private

Definition at line 2221 of file controller_peer.cc.

Here is the call graph for this function:

◆ PrefixToRouteMplsTable()

InetUnicastAgentRouteTable * AgentXmppChannel::PrefixToRouteMplsTable ( const std::string &  vrf_name,
const IpAddress prefix_addr 
)
private

Definition at line 141 of file controller_peer.cc.

Here is the call graph for this function:

◆ PrefixToRouteTable()

InetUnicastAgentRouteTable * AgentXmppChannel::PrefixToRouteTable ( const std::string &  vrf_name,
const IpAddress prefix_addr 
)
private

Definition at line 124 of file controller_peer.cc.

Here is the call graph for this function:

◆ Ready()

void AgentXmppChannel::Ready ( )

Definition at line 2031 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveBgpMessage()

void AgentXmppChannel::ReceiveBgpMessage ( std::unique_ptr< XmlBase impl)

Definition at line 1847 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveEvpnUpdate()

void AgentXmppChannel::ReceiveEvpnUpdate ( XmlPugi pugi)
virtual

Definition at line 204 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveInet4MplsUpdate()

void AgentXmppChannel::ReceiveInet4MplsUpdate ( XmlPugi pugi)
virtual

Definition at line 798 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveInternal()

void AgentXmppChannel::ReceiveInternal ( const XmppStanza::XmppMessage msg)
private

Definition at line 1906 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveMulticastUpdate()

void AgentXmppChannel::ReceiveMulticastUpdate ( XmlPugi pugi)
virtual

Definition at line 402 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveMvpnUpdate()

void AgentXmppChannel::ReceiveMvpnUpdate ( XmlPugi pugi)
virtual

Definition at line 554 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveUpdate()

void AgentXmppChannel::ReceiveUpdate ( const XmppStanza::XmppMessage msg)
virtual

Definition at line 1832 of file controller_peer.cc.

Here is the call graph for this function:

◆ ReceiveV4V6Update()

void AgentXmppChannel::ReceiveV4V6Update ( XmlPugi pugi)
virtual

Definition at line 672 of file controller_peer.cc.

Here is the call graph for this function:

◆ RegisterXmppChannel()

void AgentXmppChannel::RegisterXmppChannel ( XmppChannel channel)

Definition at line 155 of file controller_peer.cc.

Here is the call graph for this function:

◆ route_published_time()

uint64_t AgentXmppChannel::route_published_time ( ) const
inline

Definition at line 204 of file controller_peer.h.

◆ SendUpdate()

bool AgentXmppChannel::SendUpdate ( const uint8_t *  msg,
size_t  msgsize 
)
virtual

Definition at line 195 of file controller_peer.cc.

Here is the call graph for this function:

◆ sequence_number()

uint64_t AgentXmppChannel::sequence_number ( ) const

Definition at line 2009 of file controller_peer.cc.

◆ SetConfigPeer()

bool AgentXmppChannel::SetConfigPeer ( AgentXmppChannel peer)
static

Definition at line 1968 of file controller_peer.cc.

Here is the call graph for this function:

◆ SetMulticastPeer()

void AgentXmppChannel::SetMulticastPeer ( AgentXmppChannel old_peer,
AgentXmppChannel new_peer 
)
static

Definition at line 1992 of file controller_peer.cc.

Here is the call graph for this function:

◆ StartEndOfRibTxWalker()

void AgentXmppChannel::StartEndOfRibTxWalker ( )

Definition at line 3472 of file controller_peer.cc.

Here is the call graph for this function:

◆ StopEndOfRibTxWalker()

void AgentXmppChannel::StopEndOfRibTxWalker ( )

Definition at line 3479 of file controller_peer.cc.

Here is the call graph for this function:

◆ TimedOut()

void AgentXmppChannel::TimedOut ( )

Definition at line 2173 of file controller_peer.cc.

Here is the call graph for this function:

◆ ToString()

std::string AgentXmppChannel::ToString ( ) const
virtual

Definition at line 1910 of file controller_peer.cc.

◆ Unregister()

void AgentXmppChannel::Unregister ( )

Definition at line 115 of file controller_peer.cc.

Here is the call graph for this function:

◆ UpdateConnectionInfo()

void AgentXmppChannel::UpdateConnectionInfo ( xmps::PeerState  state)

Definition at line 3443 of file controller_peer.cc.

Here is the call graph for this function:

◆ WriteReadyCb()

void AgentXmppChannel::WriteReadyCb ( const boost::system::error_code &  ec)
protectedvirtual

Definition at line 1914 of file controller_peer.cc.

◆ XmppClientChannelEvent()

void AgentXmppChannel::XmppClientChannelEvent ( AgentXmppChannel peer,
xmps::PeerState  state 
)
static

Definition at line 1998 of file controller_peer.cc.

Here is the call graph for this function:

Member Data Documentation

◆ agent_

Agent* AgentXmppChannel::agent_
private

Definition at line 309 of file controller_peer.h.

◆ bgp_peer_id_

PeerPtr AgentXmppChannel::bgp_peer_id_
private

Definition at line 304 of file controller_peer.h.

◆ channel_

XmppChannel* AgentXmppChannel::channel_
private

Definition at line 299 of file controller_peer.h.

◆ channel_str_

std::string AgentXmppChannel::channel_str_
private

Definition at line 300 of file controller_peer.h.

◆ end_of_rib_rx_timer_

boost::scoped_ptr<EndOfRibRxTimer> AgentXmppChannel::end_of_rib_rx_timer_
private

Definition at line 307 of file controller_peer.h.

◆ end_of_rib_tx_timer_

boost::scoped_ptr<EndOfRibTxTimer> AgentXmppChannel::end_of_rib_tx_timer_
private

Definition at line 306 of file controller_peer.h.

◆ label_range_

std::string AgentXmppChannel::label_range_
private

Definition at line 302 of file controller_peer.h.

◆ llgr_stale_timer_

boost::scoped_ptr<LlgrStaleTimer> AgentXmppChannel::llgr_stale_timer_
private

Definition at line 308 of file controller_peer.h.

◆ route_published_time_

uint64_t AgentXmppChannel::route_published_time_
private

Definition at line 305 of file controller_peer.h.

◆ xmpp_server_

std::string AgentXmppChannel::xmpp_server_
private

Definition at line 301 of file controller_peer.h.

◆ xs_idx_

uint8_t AgentXmppChannel::xs_idx_
private

Definition at line 303 of file controller_peer.h.


The documentation for this class was generated from the following files: