OpenSDN source code
|
#include <community.h>
Public Types | |
typedef boost::array< uint8_t, 8 > | ExtCommunityValue |
typedef std::vector < ExtCommunityValue > | ExtCommunityList |
Public Member Functions | |
ExtCommunity (ExtCommunityDB *extcomm_db) | |
ExtCommunity (const ExtCommunity &rhs) | |
ExtCommunity (ExtCommunityDB *extcomm_db, const ExtCommunitySpec spec) | |
virtual | ~ExtCommunity () |
virtual void | Remove () |
int | CompareTo (const ExtCommunity &rhs) const |
bool | ContainsRTarget (const ExtCommunityValue &val) const |
bool | ContainsOriginVn (as_t asn, uint32_t vn_index) const |
bool | ContainsOriginVn (const ExtCommunityValue &val) const |
bool | ContainsOriginVn4 (const ExtCommunityValue &val) const |
bool | ContainsVrfRouteImport (const ExtCommunityValue &val) const |
bool | ContainsSourceAs (const ExtCommunityValue &val) const |
uint32_t | GetSubClusterId () const |
const ExtCommunityList & | communities () const |
std::vector< std::string > | GetTunnelEncap () const |
std::vector< int > | GetTagList (as2_t asn=0) const |
std::vector< int > | GetTag4List (as_t asn=0) const |
bool | ContainsTunnelEncapVxlan () const |
int | GetOriginVnIndex () const |
Private Member Functions | |
void | Append (const ExtCommunityValue &value) |
void | Append (const ExtCommunityList &list) |
void | Remove (const ExtCommunityList &list) |
void | RemoveMFlags () |
void | RemoveRTarget () |
void | RemoveSGID () |
void | RemoveTag () |
void | RemoveSiteOfOrigin () |
void | RemoveSourceAS () |
void | RemoveVrfRouteImport () |
void | RemoveOriginVn () |
void | RemoveTunnelEncapsulation () |
void | RemoveLoadBalance () |
void | RemoveSubCluster () |
void | Set (const ExtCommunityList &list) |
Private Attributes | |
tbb::atomic< int > | refcount_ |
ExtCommunityDB * | extcomm_db_ |
ExtCommunityList | communities_ |
Friends | |
class | ExtCommunityDB |
class | BgpAttrTest |
std::size_t | hash_value (ExtCommunity const &comm) |
int | intrusive_ptr_add_ref (const ExtCommunity *cextcomm) |
int | intrusive_ptr_del_ref (const ExtCommunity *cextcomm) |
void | intrusive_ptr_release (const ExtCommunity *cextcomm) |
Definition at line 150 of file community.h.
typedef std::vector<ExtCommunityValue> ExtCommunity::ExtCommunityList |
Definition at line 153 of file community.h.
typedef boost::array<uint8_t, 8> ExtCommunity::ExtCommunityValue |
Definition at line 152 of file community.h.
|
inlineexplicit |
Definition at line 155 of file community.h.
|
inlineexplicit |
Definition at line 159 of file community.h.
|
explicit |
|
inlinevirtual |
Definition at line 167 of file community.h.
|
private |
Definition at line 264 of file community.cc.
|
private |
Definition at line 256 of file community.cc.
|
inline |
Definition at line 180 of file community.h.
int ExtCommunity::CompareTo | ( | const ExtCommunity & | rhs | ) | const |
Definition at line 221 of file community.cc.
bool ExtCommunity::ContainsOriginVn | ( | as_t | asn, |
uint32_t | vn_index | ||
) | const |
bool ExtCommunity::ContainsOriginVn | ( | const ExtCommunityValue & | val | ) | const |
bool ExtCommunity::ContainsOriginVn4 | ( | const ExtCommunityValue & | val | ) | const |
bool ExtCommunity::ContainsRTarget | ( | const ExtCommunityValue & | val | ) | const |
bool ExtCommunity::ContainsSourceAs | ( | const ExtCommunityValue & | val | ) | const |
bool ExtCommunity::ContainsTunnelEncapVxlan | ( | ) | const |
bool ExtCommunity::ContainsVrfRouteImport | ( | const ExtCommunityValue & | val | ) | const |
|
static |
|
static |
|
inlinestatic |
int ExtCommunity::GetOriginVnIndex | ( | ) | const |
uint32_t ExtCommunity::GetSubClusterId | ( | ) | const |
vector< int > ExtCommunity::GetTag4List | ( | as_t | asn = 0 | ) | const |
vector< int > ExtCommunity::GetTagList | ( | as2_t | asn = 0 | ) | const |
vector< string > ExtCommunity::GetTunnelEncap | ( | ) | const |
|
inlinestatic |
Definition at line 203 of file community.h.
|
inlinestatic |
Definition at line 211 of file community.h.
|
inlinestatic |
Definition at line 219 of file community.h.
|
inlinestatic |
Definition at line 240 of file community.h.
|
inlinestatic |
Definition at line 372 of file community.h.
|
inlinestatic |
Definition at line 235 of file community.h.
|
inlinestatic |
Definition at line 227 of file community.h.
|
inlinestatic |
Definition at line 248 of file community.h.
|
inlinestatic |
Definition at line 193 of file community.h.
|
inlinestatic |
Definition at line 265 of file community.h.
|
inlinestatic |
Definition at line 257 of file community.h.
|
inlinestatic |
Definition at line 304 of file community.h.
|
inlinestatic |
Definition at line 313 of file community.h.
|
inlinestatic |
Definition at line 322 of file community.h.
|
inlinestatic |
Definition at line 335 of file community.h.
|
inlinestatic |
Definition at line 346 of file community.h.
|
inlinestatic |
Definition at line 378 of file community.h.
|
inlinestatic |
Definition at line 384 of file community.h.
|
inlinestatic |
Definition at line 366 of file community.h.
|
inlinestatic |
Definition at line 357 of file community.h.
|
virtual |
|
private |
Definition at line 237 of file community.cc.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 248 of file community.cc.
|
static |
Definition at line 352 of file community.cc.
|
static |
|
friend |
Definition at line 407 of file community.h.
|
friend |
Definition at line 406 of file community.h.
|
friend |
Definition at line 390 of file community.h.
|
friend |
Definition at line 430 of file community.h.
|
friend |
Definition at line 434 of file community.h.
|
friend |
Definition at line 438 of file community.h.
|
private |
Definition at line 427 of file community.h.
|
private |
Definition at line 426 of file community.h.
|
mutableprivate |
Definition at line 425 of file community.h.