class PathAttributeList

PathAttributeList is used to handle efficiently path attribute lists. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods


Detailed Description

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

typedef list<PathAttribute*>::iterator iterator

iterator

 PathAttributeList ()

PathAttributeList

 PathAttributeList (const NextHopAttribute<A> &nexthop, const ASPathAttribute &aspath, const OriginAttribute &origin)

PathAttributeList

 PathAttributeList (const PathAttributeList<A>& palist)

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.

void  add_path_attribute (PathAttribute *att)

add_path_attribute

Add this path attribute to the list don't make a local copy.

const A&  nexthop ()

nexthop

[const]

const ASPath&  aspath ()

aspath

[const]

uint8_t  origin ()

origin

[const]

const MEDAttribute*  med_att ()

med_att

[const]

const LocalPrefAttribute*  local_pref_att ()

local_pref_att

[const]

const AtomicAggAttribute*  atomic_aggregate_att ()

atomic_aggregate_att

[const]

const AggregatorAttribute*  aggregator_att ()

aggregator_att

[const]

const CommunityAttribute*  community_att ()

community_att

[const]

const OriginatorIDAttribute*  originator_id ()

originator_id

[const]

const ClusterListAttribute*  cluster_list ()

cluster_list

[const]

void  rehash ()

rehash

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:

bufis the buffer to encode into.
wire_sizeis given the size of the buffer to encode into, and returns the amount of data placed in the buffer.
peeris 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.

string  str ()

str

[const]

bool  operator< (const PathAttributeList<A> &them)

operator<

[const]

bool  operator== (const PathAttributeList<A> &them)

operator==

[const]


Generated by: bms on anglepoise.lon.incunabulum.net on Wed Jul 23 10:06:01 2008, using kdoc 2.0a54+XORP.