OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BgpXmppMessage Class Reference

#include <xmpp_message_builder.h>

Inheritance diagram for BgpXmppMessage:
Collaboration diagram for BgpXmppMessage:

Classes

struct  MobilityInfo
 
class  XmlWriter
 

Public Member Functions

 BgpXmppMessage ()
 
virtual ~BgpXmppMessage ()
 
virtual bool Start (const RibOut *ribout, bool cache_routes, const RibOutAttr *roattr, const BgpRoute *route)
 
virtual void Finish ()
 
virtual bool AddRoute (const BgpRoute *route, const RibOutAttr *roattr)
 
virtual const uint8_t * GetData (IPeerUpdate *peer, size_t *lenp, const std::string **msg_str, std::string *temp)
 
- Public Member Functions inherited from Message
 Message ()
 
virtual ~Message ()
 
uint64_t num_reach_routes () const
 
uint64_t num_unreach_routes () const
 

Private Member Functions

virtual void Reset ()
 
void EncodeNextHop (const BgpRoute *route, const RibOutAttr::NextHop &nexthop, autogen::ItemType *item)
 
void AddIpReach (const BgpRoute *route, const RibOutAttr *roattr)
 
void AddIpUnreach (const BgpRoute *route)
 
bool AddInetRoute (const BgpRoute *route, const RibOutAttr *roattr)
 
bool AddInet6Route (const BgpRoute *route, const RibOutAttr *roattr)
 
void EncodeEnetNextHop (const BgpRoute *route, const RibOutAttr::NextHop &nexthop, autogen::EnetItemType *item)
 
void AddEnetReach (const BgpRoute *route, const RibOutAttr *roattr)
 
void AddEnetUnreach (const BgpRoute *route)
 
bool AddEnetRoute (const BgpRoute *route, const RibOutAttr *roattr)
 
void AddMcastReach (const BgpRoute *route, const RibOutAttr *roattr)
 
void AddMcastUnreach (const BgpRoute *route)
 
bool AddMcastRoute (const BgpRoute *route, const RibOutAttr *roattr)
 
void AddMvpnReach (const BgpRoute *route, const RibOutAttr *roattr)
 
void AddMvpnUnreach (const BgpRoute *route)
 
bool AddMvpnRoute (const BgpRoute *route, const RibOutAttr *roattr)
 
void ProcessCommunity (const Community *community)
 
void ProcessExtCommunity (const ExtCommunity *ext_community)
 
std::string GetVirtualNetwork (const RibOutAttr::NextHop &nexthop) const
 
std::string GetVirtualNetwork (const BgpRoute *route, const RibOutAttr *roattr) const
 
 DISALLOW_COPY_AND_ASSIGN (BgpXmppMessage)
 

Private Attributes

const BgpTabletable_
 
XmlWriter writer_
 
bool is_reachable_
 
bool cache_routes_
 
bool repr_valid_
 
std::string msg_begin_
 
std::string repr_
 
pugi::xml_document doc_
 
MobilityInfo mobility_
 
bool etree_leaf_
 
std::vector< int > security_group_list_
 
std::vector< std::string > community_list_
 
LoadBalance::LoadBalanceAttribute load_balance_attribute_
 

Static Private Attributes

static const size_t kMaxFromToLength = 192
 
static const uint32_t kMaxReachCount = 32
 
static const uint32_t kMaxUnreachCount = 256
 

Additional Inherited Members

- Protected Attributes inherited from Message
uint64_t num_reach_route_
 
uint64_t num_unreach_route_
 

Detailed Description

Definition at line 33 of file xmpp_message_builder.h.

Constructor & Destructor Documentation

BgpXmppMessage::BgpXmppMessage ( )

Definition at line 76 of file xmpp_message_builder.cc.

BgpXmppMessage::~BgpXmppMessage ( )
virtual

Definition at line 87 of file xmpp_message_builder.cc.

Member Function Documentation

void BgpXmppMessage::AddEnetReach ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 313 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::AddEnetRoute ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 402 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddEnetUnreach ( const BgpRoute route)
private

Definition at line 398 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::AddInet6Route ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 277 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::AddInetRoute ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 265 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddIpReach ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 204 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddIpUnreach ( const BgpRoute route)
private

Definition at line 261 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddMcastReach ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 418 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::AddMcastRoute ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 459 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddMcastUnreach ( const BgpRoute route)
private

Definition at line 455 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddMvpnReach ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 471 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::AddMvpnRoute ( const BgpRoute route,
const RibOutAttr roattr 
)
private

Definition at line 512 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::AddMvpnUnreach ( const BgpRoute route)
private

Definition at line 508 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::AddRoute ( const BgpRoute route,
const RibOutAttr roattr 
)
virtual

Implements Message.

Definition at line 146 of file xmpp_message_builder.cc.

Here is the call graph for this function:

BgpXmppMessage::DISALLOW_COPY_AND_ASSIGN ( BgpXmppMessage  )
private
void BgpXmppMessage::EncodeEnetNextHop ( const BgpRoute route,
const RibOutAttr::NextHop nexthop,
autogen::EnetItemType *  item 
)
private

Definition at line 289 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::EncodeNextHop ( const BgpRoute route,
const RibOutAttr::NextHop nexthop,
autogen::ItemType *  item 
)
private

Definition at line 172 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::Finish ( )
virtual

Implements Message.

Definition at line 143 of file xmpp_message_builder.cc.

const uint8_t * BgpXmppMessage::GetData ( IPeerUpdate peer,
size_t *  lenp,
const std::string **  msg_str,
std::string *  temp 
)
virtual

Implements Message.

Definition at line 524 of file xmpp_message_builder.cc.

Here is the call graph for this function:

string BgpXmppMessage::GetVirtualNetwork ( const RibOutAttr::NextHop nexthop) const
private

Definition at line 616 of file xmpp_message_builder.cc.

Here is the call graph for this function:

string BgpXmppMessage::GetVirtualNetwork ( const BgpRoute route,
const RibOutAttr roattr 
) const
private

Definition at line 630 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::ProcessCommunity ( const Community community)
private

Definition at line 567 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::ProcessExtCommunity ( const ExtCommunity ext_community)
private

Definition at line 576 of file xmpp_message_builder.cc.

Here is the call graph for this function:

void BgpXmppMessage::Reset ( )
privatevirtual

Reimplemented from Message.

Definition at line 90 of file xmpp_message_builder.cc.

Here is the call graph for this function:

bool BgpXmppMessage::Start ( const RibOut ribout,
bool  cache_routes,
const RibOutAttr roattr,
const BgpRoute route 
)
virtual

Implements Message.

Definition at line 99 of file xmpp_message_builder.cc.

Here is the call graph for this function:

Member Data Documentation

bool BgpXmppMessage::cache_routes_
private

Definition at line 105 of file xmpp_message_builder.h.

std::vector<std::string> BgpXmppMessage::community_list_
private

Definition at line 114 of file xmpp_message_builder.h.

pugi::xml_document BgpXmppMessage::doc_
private

Definition at line 109 of file xmpp_message_builder.h.

bool BgpXmppMessage::etree_leaf_
private

Definition at line 111 of file xmpp_message_builder.h.

bool BgpXmppMessage::is_reachable_
private

Definition at line 104 of file xmpp_message_builder.h.

const size_t BgpXmppMessage::kMaxFromToLength = 192
staticprivate

Definition at line 47 of file xmpp_message_builder.h.

const uint32_t BgpXmppMessage::kMaxReachCount = 32
staticprivate

Definition at line 48 of file xmpp_message_builder.h.

const uint32_t BgpXmppMessage::kMaxUnreachCount = 256
staticprivate

Definition at line 49 of file xmpp_message_builder.h.

LoadBalance::LoadBalanceAttribute BgpXmppMessage::load_balance_attribute_
private

Definition at line 115 of file xmpp_message_builder.h.

MobilityInfo BgpXmppMessage::mobility_
private

Definition at line 110 of file xmpp_message_builder.h.

std::string BgpXmppMessage::msg_begin_
private

Definition at line 107 of file xmpp_message_builder.h.

std::string BgpXmppMessage::repr_
private

Definition at line 108 of file xmpp_message_builder.h.

bool BgpXmppMessage::repr_valid_
private

Definition at line 106 of file xmpp_message_builder.h.

std::vector<int> BgpXmppMessage::security_group_list_
private

Definition at line 113 of file xmpp_message_builder.h.

const BgpTable* BgpXmppMessage::table_
private

Definition at line 102 of file xmpp_message_builder.h.

XmlWriter BgpXmppMessage::writer_
private

Definition at line 103 of file xmpp_message_builder.h.


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