|
xorp
|
Extended Unresolved RouteEntry, used by ExtIntTable. More...
#include <route.hh>
Public Types | |
|
typedef multimap< A, UnresolvedIPRouteEntry< A > * > | RouteBackLink |
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 |
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.
| UnresolvedIPRouteEntry< A >::UnresolvedIPRouteEntry | ( | const IPRouteEntry< A > * | route | ) | [inline] |
Constructor for a given IPRouteEntry.
| route | the IPRouteEntry route. |
| UnresolvedIPRouteEntry< A >::RouteBackLink::iterator UnresolvedIPRouteEntry< A >::backlink | ( | ) | const [inline] |
| const IPRouteEntry<A>* UnresolvedIPRouteEntry< A >::route | ( | ) | const [inline] |
| 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.
| backlink | the ExtIntTable multimap iterator for this route. |