class BgpTrie

The BgpTrie is an augmented, specialized trie that allows us to lookup by network address or by path attribute list. More...

Definition#include <bgp_trie.hh>
Template formBgpTrie<class A>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods


Detailed Description

The BgpTrie is an augmented, specialized trie that allows us to lookup by network address or by path attribute list. We need this because we can't efficiently extract entries with the same path attribute list from a regular trie. Each set of nodes with the same path attribute pointer are linked together into a chain (a circular doubly-linked list). The BgpTrie holds a pointer to any one of those nodes.

typedef IPNet<A> IPNet

IPNet

typedef ChainedSubnetRoute<A> ChainedSubnetRoute

ChainedSubnetRoute

typedef map<const PathAttributeList<A> *, const ChainedSubnetRoute*, Path_Att_Ptr_Cmp<A> > PathmapType

PathmapType

typedef RefTrie<A, const ChainedSubnetRoute> RouteTrie

RouteTrie

typedef RouteTrie::iterator iterator

iterator

 BgpTrie ()

BgpTrie

iterator  insert (const IPNet& net, const SubnetRoute<A>& route)

insert

void  erase (const IPNet& net)

erase

void  delete_all_nodes ()

delete_all_nodes

iterator  lookup_node (const IPNet& net)

lookup_node

[const]

iterator  lower_bound (const IPNet& net)

lower_bound

[const]

iterator  find (const A& addr)

find

[const]

iterator  find_less_specific (const IPNet& net)

find_less_specific

[const]

void  find_bounds (const A& net, A& lo, A& hi)

find_bounds

[const]

int  route_count ()

route_count

[const]

iterator  begin ()

begin

[const]

iterator  end ()

end

[const]

iterator  search_subtree (const IPNet& net)

search_subtree

[const]

const PathmapType&  pathmap ()

pathmap

[const]


Generated by: pavlin on possum.icir.org on Mon Mar 10 19:34:59 2003, using kdoc 2.0a54+XORP.