|
|
ExportTable is a RouteTable that is used in Unicast RIBs to send routes to the Forwarding Engine Abstraction (FEA) process. It is the final RouteTable in the RIB
ExportTable (const string& tablename, RouteTable<A>* parent,
FeaClient *fea)
| ExportTable |
ExportTable Constructor
Parameters:
tablename | the name of the table, used for debugging purposes. |
parent | the RouteTable immediately preceding this one. Usually this will be a RegisterTable. |
fea | a pointer to the RIB's FeaClient instance. The FeaClient is used to communicate with the FEA using XRLs. |
~ExportTable ()
| ~ExportTable |
ExportTable Destructor
int add_route (const IPRouteEntry<A> &route, RouteTable<A> *caller)
| add_route |
add_route is called when a new route is successfully added to the RIB, and this needs to be communicated to the FEA.
Parameters:
route | the RouteEntry for the new route. |
caller | the RouteTable calling this method. This must be the same as _parent |
Reimplemented from RouteTable.
int delete_route (const IPRouteEntry<A> *, RouteTable<A> *caller)
| delete_route |
delete_route is called when a route is removed from the the RIB, and this needs to be communicated to the FEA
Parameters:
route | the RouteEntry for the route being deleted. |
caller | the RouteTable calling this method. This must be the same as _parent |
Reimplemented from RouteTable.
const IPRouteEntry<A> * lookup_route (const IPNet<A> &net)
| lookup_route |
[const]
lookup a route in this RIB. This request is simply passed on unchanged to the parent.
Reimplemented from RouteTable.
const IPRouteEntry<A> * lookup_route (const A &addr)
| lookup_route |
[const]
lookup a route in this RIB. This request is simply passed on unchanged to the parent.
Reimplemented from RouteTable.
RouteRange<A> * lookup_route_range (const A &addr)
| lookup_route_range |
[const]
lookup a route range in this RIB. This request is simply passed on unchanged to the parent.
Reimplemented from RouteTable.
int type ()
| type |
[const]
Returns: EXPORT_TABLE
Reimplemented from RouteTable.
void replumb (RouteTable<A> *old_parent, RouteTable<A> *new_parent)
| replumb |
replumb to replace the old parent of this table with a new parent
Parameters:
old_parent | the parent RouteTable being replaced (must be the same as the existing parent) |
new_parent | the new parent RouteTable |
Reimplemented from RouteTable.
RouteTable<A> * parent ()
| parent |
Returns: this ExportTable's parent RouteTable
Reimplemented from RouteTable.
string str ()
| str |
[const]
Returns: this ExportTable as a string for debugging purposes
Reimplemented from RouteTable.
void flush ()
| flush |
A single routing change communicated by a routing protocol can cause multiple add_route and delete_route events at the ExportTable (typically a delete_route then an add_route to replace a route). flush is called explicitly after the end of a batch of changes to allow events to be queued and then amalgamated in the ExportTable to reduce unnecessary changes reaching the FEA.
Reimplemented from RouteTable.
Generated by: pavlin on possum.icir.org on Mon Mar 10 19:35:00 2003, using kdoc 2.0a54+XORP. |