UnresolvedIPRouteEntry< A > Class Template Reference

Extended Unresolved RouteEntry, used by ExtIntTable. More...

#include <route.hh>

List of all members.

Public Types

typedef multimap< A,
UnresolvedIPRouteEntry< A > * > 

Public Member Functions

 UnresolvedIPRouteEntry (const IPRouteEntry< A > *route)
 Constructor for a given IPRouteEntry.
const IPRouteEntry< A > * route () const
 Get the route.
void set_backlink (typename RouteBackLink::iterator v)
 Set the backlink.
RouteBackLink::iterator backlink () const
 Get the backlink.

Private Attributes

RouteBackLink::iterator _backlink
const IPRouteEntry< A > * _route

Detailed Description

template<class A>
class UnresolvedIPRouteEntry< A >

Extended Unresolved RouteEntry, used by ExtIntTable.

This class stored an extended unresolved routing table entry, for use in ExtIntTable. When a route with a non-local nexthop arrives, the ExtIntTable attempts to discover a local nexthop by finding the route that packets to the non-local nexthop would use. If the local nexthop is not found, this entry is used to store the unresolved route.

This is a template class, where A is either a the IPv4 class or the IPv6 class.

Constructor & Destructor Documentation

template<class A >
UnresolvedIPRouteEntry< A >::UnresolvedIPRouteEntry ( const IPRouteEntry< A > *  route) [inline]

Constructor for a given IPRouteEntry.

routethe IPRouteEntry route.

Member Function Documentation

template<typename A >
UnresolvedIPRouteEntry< A >::RouteBackLink::iterator UnresolvedIPRouteEntry< A >::backlink ( ) const [inline]

Get the backlink.

See also:
the backlink iterator.
template<class A >
const IPRouteEntry<A>* UnresolvedIPRouteEntry< A >::route ( ) const [inline]

Get the route.

the route.
template<typename A >
void UnresolvedIPRouteEntry< A >::set_backlink ( typename RouteBackLink::iterator  v) [inline]

Set the backlink.

When an unresolved route is created, the ExtIntTable will store a link to it in a multimap that is indexed by the unresolved nexthop. This will allow all the routes affected by a change (e.g., resolving the nexthop) to be found easily. However, if the EGP parent goes away, we need to remove the links from this multimap, and the backlink provides an iterator into the multimap that makes this operation very efficient.

backlinkthe ExtIntTable multimap iterator for this route.

The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations