| 
 
 | 
 | 
ExportTable is a RouteTable that is used in RIBs to send routes to the RIB clients such as the Forwarding Engine Abstraction (FEA) process. It is the final RouteTable in the RIB.
| ExportTable (const string& tablename, RouteTable<A> *parent, 
		list<RibClient *> *rib_clients_list) | 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. | 
| rib_clients_list | a pointer to the RIB's list of RibClient instances. The list of RibClient instances is used to communicate with the RIB clients 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 RIB clients.
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> *route, 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 RIB clients.
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 RIB clients.
Reimplemented from RouteTable.
| Generated by: pavlin on possum.icir.org on Thu Nov 6 23:47:07 2003, using kdoc 2.0a54+XORP. |