|
xorp
|
Base class for originators of RIP route entires. More...
#include <route_entry.hh>
Classes | |
| struct | RouteEntryStore |
Public Types | |
| typedef RouteEntry< A > | Route |
| typedef IPNet< A > | Net |
Public Member Functions | |
| RouteEntryOrigin (bool is_rib_origin) | |
| bool | is_rib_origin () const |
| Test if RIB is the originator. | |
| bool | associate (Route *r) |
| Associate route with this RouteEntryOrigin. | |
| bool | dissociate (Route *r) |
| Dissociate route from this RouteEntryOrigin. | |
| Route * | find_route (const Net &n) const |
| Find route if RouteOrigin has a route for given network. | |
| uint32_t | route_count () const |
| void | clear () |
| Clear/remove all routes associated with this RouteEntryOrigin. | |
| void | dump_routes (vector< const Route * > &routes) const |
| Dump associated routes into a vector (debugging use only). | |
| virtual uint32_t | expiry_secs () const =0 |
| Retrieve number of seconds before routes associated with this RouteEntryOrigin should be marked as expired. | |
| virtual uint32_t | deletion_secs () const =0 |
| Retrieve number of seconds before route should be deleted after expiry. | |
Protected Attributes | |
| struct RouteEntryStore * | _rtstore |
Private Attributes | |
| bool | _is_rib_origin |
Base class for originators of RIP route entires.
This class is used for storing RIPv2 and RIPng route entries. It is a template class taking an address family type as a template argument. Only IPv4 and IPv6 types may be supplied.
| bool RouteEntryOrigin< A >::associate | ( | Route * | r | ) |
Associate route with this RouteEntryOrigin.
| r | route to be stored. |
| bool RouteEntryOrigin< A >::dissociate | ( | Route * | r | ) |
Dissociate route from this RouteEntryOrigin.
| r | route to be dissociated. |
| virtual uint32_t RouteEntryOrigin< A >::expiry_secs | ( | ) | const [pure virtual] |
Retrieve number of seconds before routes associated with this RouteEntryOrigin should be marked as expired.
A return value of 0 indicates routes are of infinite duration, eg static routes.
Implemented in PeerRoutes< A >, Peer< A >, RedistRouteOrigin< A >, Peer< IPv4 >, PeerRoutes< IPv4 >, RedistRouteOrigin< IPv6 >, and RedistRouteOrigin< IPv4 >.
| RouteEntry< A > * RouteEntryOrigin< A >::find_route | ( | const Net & | n | ) | const |
Find route if RouteOrigin has a route for given network.
| n | network. |
| bool RouteEntryOrigin< A >::is_rib_origin | ( | ) | const [inline] |
| uint32_t RouteEntryOrigin< A >::route_count | ( | ) | const |