class RouteRange

Stores a Route and bounds on the validity of the route. More...

Definition#include <rt_tab_base.hh>
Template formRouteRange<class A>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods


Detailed Description

The RouteRange class is used to hold an annotated routing entry. It is used when the RegisterTable is registering interest in routing information associated with a specific address. It holds an IP address, the route that would be used to route that address, and the top and bottom addresses of the route range that includes that address for which this route applies without being overlayed by a more specific route. For example:

Suppose an OriginTable holds the routes 1.0.0.0/16 and 1.0.1.0/24. The address we're interested in is 1.0.0.10. Then if we ask this OriginTable for the RouteRange for 1.0.0.10, we get:

address: 1.0.0.10 route: the route for 1.0.0.0/16 top: 1.0.0.255 bottom: 1.0.0.0

Ie, the route for 1.0.0.10 is 1.0.0.0/16, and this answer is also valid for addresses in the range 1.0.0.0 to 1.0.0.255 inclusive.

 RouteRange (const A& req_addr, const IPRouteEntry<A> *route, const A& top, const A& bottom)

RouteRange

const A&  top ()

top

[const]

const A&  bottom ()

bottom

[const]

const IPRouteEntry<A> * route ()

route

[const]

const IPNet<A>&  net ()

net

[const]

void  merge (const RouteRange *his_rr)

merge

merge this entry with rr: replace route with the entry from rr if it is better, (XXX why ?) shrink the intervals if the other one is smaller.

IPNet<A>  minimal_subnet ()

minimal_subnet

[const]


Generated by: pavlin on possum.icir.org on Thu Nov 6 23:47:07 2003, using kdoc 2.0a54+XORP.