class BgpTrie
|
The BgpTrie is an augmented, specialized trie that allows us to
lookup by network address or by path attribute list. More... |
|
|
Public Types
- typedef ::IPNet<A> IPNet
- typedef ::ChainedSubnetRoute<A> ChainedSubnetRoute
- typedef map<const PAListRef<A>,
const ChainedSubnetRoute*,
Path_Att_Ptr_Cmp<A> > PathmapType
- typedef RefTrie<A, const ChainedSubnetRoute> RouteTrie
- typedef RouteTrie::iterator iterator
Public Methods
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.
XXX mjh: I've changed the pathmap to be a nexthop map. This will still
allow the code to find the next route when the igp distance failed,
but is much faster. The downside is we may not dump routes with
the same PA list together. Hopefully this can be remedied when we
change to a pull-based model.
typedef ::IPNet<A> IPNet | IPNet |
typedef ::ChainedSubnetRoute<A> ChainedSubnetRoute | ChainedSubnetRoute |
typedef RouteTrie::iterator iterator | iterator |
Reimplemented from RefTrie.
void erase (const IPNet& net)
| erase |
Reimplemented from RefTrie.
void delete_all_nodes ()
| delete_all_nodes |
Reimplemented from RefTrie.
const PathmapType& pathmap ()
| pathmap |
[const]
Generated by: pavlin on kobe.xorp.net on Wed Jan 7 19:11:04 2009, using kdoc 2.0a54+XORP.