class UnresolvedIPRouteEntry

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

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods


Detailed Description

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.

typedef multimap<A, UnresolvedIPRouteEntry<A>* > RouteBackLink

RouteBackLink

 UnresolvedIPRouteEntry (const IPRouteEntry<A>* route)

UnresolvedIPRouteEntry

Constructor for a given IPRouteEntry.

Parameters:

routethe IPRouteEntry route.
inline const IPRouteEntry<A>*  route ()

route

[const]

Get the route.

Returns: the route.

inline void  set_backlink (typename RouteBackLink::iterator v)

set_backlink

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.

Parameters:

backlinkthe ExtIntTable multimap iterator for this route.
inline typename RouteBackLink::iterator  backlink ()

backlink

[const]

Get the backlink.

Returns: the backlink iterator.

See also: set_backlink


Generated by: pavlin on possum.icir.org on Thu Mar 9 04:43:48 2006, using kdoc $.