|
OpenSDN source code
|
#include <boost/array.hpp>#include <boost/intrusive_ptr.hpp>#include <boost/system/error_code.hpp>#include <tbb/atomic.h>#include <set>#include <string>#include <vector>#include "base/parse_object.h"#include "base/util.h"#include "bgp/bgp_attr_base.h"#include "bgp/bgp_common.h"#include "bgp/extended-community/types.h"

Go to the source code of this file.
Classes | |
| struct | CommunitySpec |
| class | Community |
| struct | CommunityCompare |
| class | CommunityDB |
| class | ExtCommunitySpec |
| class | ExtCommunity |
| struct | ExtCommunityCompare |
| class | ExtCommunityDB |
| class | LargeCommunitySpec |
| This class encapsulates the wire-format representation of a BGP Large Community attribute and provides encoding, comparison, and canonicalization functions for Large Community attributes. More... | |
| class | LargeCommunity |
| This class represents an array of BGP Large Community values. A LargeCommunity consists of one or more 12-byte tuples. This class provides manipulation (append, remove, set), comparison, hashing, and conversion to/from human-readable formats. More... | |
| struct | LargeCommunityCompare |
| A structure to compare order LargeCommunity objects. More... | |
| class | LargeCommunityDB |
| This class represents a database for managing LargeCommunity objects. It is used to store, deduplicate, and retrieve canonical instances of LargeCommunity. More... | |
Typedefs | |
| typedef boost::intrusive_ptr< const Community > | CommunityPtr |
| typedef boost::intrusive_ptr< const ExtCommunity > | ExtCommunityPtr |
| typedef boost::intrusive_ptr< const LargeCommunity > | LargeCommunityPtr |
| Defines a type for automatic storage of a LargeCommunity instance. More... | |
Functions | |
| int | intrusive_ptr_add_ref (const Community *ccomm) |
| int | intrusive_ptr_del_ref (const Community *ccomm) |
| void | intrusive_ptr_release (const Community *ccomm) |
| int | intrusive_ptr_add_ref (const ExtCommunity *cextcomm) |
| int | intrusive_ptr_del_ref (const ExtCommunity *cextcomm) |
| void | intrusive_ptr_release (const ExtCommunity *cextcomm) |
| int | intrusive_ptr_add_ref (const LargeCommunity *clargecomm) |
| Increment reference count atomically. More... | |
| int | intrusive_ptr_del_ref (const LargeCommunity *clargecomm) |
| Decrement reference count of given large community. More... | |
| void | intrusive_ptr_release (const LargeCommunity *clargecomm) |
| Release a LargeCommunity instance when the reference count reaches zero. More... | |
| typedef boost::intrusive_ptr<const Community> CommunityPtr |
Definition at line 110 of file community.h.
| typedef boost::intrusive_ptr<const ExtCommunity> ExtCommunityPtr |
Definition at line 449 of file community.h.
| typedef boost::intrusive_ptr<const LargeCommunity> LargeCommunityPtr |
Defines a type for automatic storage of a LargeCommunity instance.
Definition at line 667 of file community.h.
|
inline |
Definition at line 92 of file community.h.
|
inline |
Definition at line 431 of file community.h.
|
inline |
Increment reference count atomically.
Definition at line 645 of file community.h.
|
inline |
Definition at line 96 of file community.h.
|
inline |
Definition at line 435 of file community.h.
|
inline |
Decrement reference count of given large community.
Decrement reference count of an clargecomm.
Definition at line 650 of file community.h.
|
inline |
Definition at line 100 of file community.h.
|
inline |
Definition at line 439 of file community.h.
|
inline |
Release a LargeCommunity instance when the reference count reaches zero.
Definition at line 656 of file community.h.