class PathAttributeList
|
PathAttributeList is used to handle efficiently path attribute lists. More... |
|
|
Public Types
Public Methods
PathAttributeList is used to handle efficiently path attribute lists.
An object in the class is initialized from explicit PathAttribute
objects passed in by reference. The initialization creates a copy
of the attribute, links it into a list, and for mandatory attributes
it also stores a pointer to the newly created attribute into a
class member (e.g. _aspath_att ...) for ease of use.
typedef list<PathAttribute*>::const_iterator const_iterator | const_iterator |
PathAttributeList ()
| PathAttributeList |
~PathAttributeList ()
| ~PathAttributeList |
void add_path_attribute (const PathAttribute &att)
| add_path_attribute |
Add this path attribute to the list after making a local copy.
Add this path attribute to the list don't make a local copy.
const A& nexthop ()
| nexthop |
[const]
const ASPath& aspath ()
| aspath |
[const]
[const]
[const]
[const]
[const]
[const]
[const]
[const]
[const]
const uint8_t* hash ()
| hash |
[const]
bool complete ()
| complete |
[const]
void replace_nexthop (const A& nexthop)
| replace_nexthop |
void replace_AS_path (const ASPath& as_path)
| replace_AS_path |
void replace_origin (const OriginType& origin)
| replace_origin |
void remove_attribute_by_type (PathAttType type)
| remove_attribute_by_type |
void remove_attribute_by_pointer (PathAttribute*)
| remove_attribute_by_pointer |
void process_unknown_attributes ()
| process_unknown_attributes |
For unknown attributes:
1) If transitive set the partial bit.
2) If not transitive remove.
bool encode (uint8_t* buf, size_t &wire_size,
const BGPPeerData* peerdata)
| encode |
[const]
Encode the PA List for transmission to the specified peer.
Note that as Some peers speak 4-byte AS numbers and some don't,
the encoding is peer-specific.
Parameters:
buf | is the buffer to encode into.
|
wire_size | is given the size of the buffer to encode
into, and returns the amount of data placed in the buffer.
|
peer | is the peer to encode this for. Some peers want
4-byte AS numbers and some don't.
|
Returns: true if the data was successfully encoded; false if
there wasn't enough space in the buffer for the data.
[const]
[const]
[const]
Generated by: bms on anglepoise.lon.incunabulum.net on Wed Jul 23 10:06:01 2008, using kdoc 2.0a54+XORP.