| 
 | 
 | ||||||||||||||||
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 | 
| 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. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
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. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
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.
| TableType  type () | type | 
[const]
Returns: the table type (TableType).
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.