|
|
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 Trie<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 Wed Dec 11 16:50:58 2002, using kdoc 2.0a54+XORP. |