|
|
FeaClient communicates add route and delete requests from the RIBs to the FEA process.
FeaClient (XrlRouter& xrl_router, uint32_t max_ops = 100)
| FeaClient |
FeaClient constructor.
Parameters:
xrl_router | XRL router instance to use for communication with the FEA |
max_ops | the maximum number of operations in a transaction. |
~FeaClient ()
| ~FeaClient |
FeaClient destructor
void set_enabled (bool en)
| set_enabled |
Set enabled state.
When enabled FeaClient attempts to send commands to the FEA. When disabled it silently ignores the requests.
bool enabled ()
| enabled |
[const]
Get enabled state.
void add_route (const IPv4Net& dest,
const IPv4& gw,
const string& ifname,
const string& vifname)
| add_route |
Communicate the addition of a new IPv4 route to the FEA.
Parameters:
dest | the destination subnet of the route. |
gw | the nexthop gateway to be used to forward packets towards the dest network. |
ifname | the name of the interface to be used to forward packets towards the dest network. |
vifname | the name of the virtual interface to be used to forward packets towards the dest network. |
void delete_route (const IPv4Net&)
| delete_route |
Communicate the deletion of an IPv4 route to the FEA.
Parameters:
dest | the destination subnet of the route. |
void add_route (const IPv6Net& dest,
const IPv6& gw,
const string& ifname,
const string& vifname)
| add_route |
void delete_route (const IPv6Net& re)
| delete_route |
Communicate the deletion of an IPv6 route to the FEA.
Parameters:
dest | the destination subnet of the route. |
void add_route (const IPv4RouteEntry& re)
| add_route |
Communicate the addition of a new IPv4 route to the FEA.
Parameters:
re | the routing table entry of the new route. |
void delete_route (const IPv4RouteEntry& re)
| delete_route |
Communicate the deletion of a new IPv4 route to the FEA.
Parameters:
re | the routing table entry of the route to be deleted. |
void add_route (const IPv6RouteEntry& re)
| add_route |
Communicate the addition of a new IPv6 route to the FEA.
Parameters:
re | the routing table entry of the new route. |
void delete_route (const IPv6RouteEntry& re)
| delete_route |
Communicate the deletion of a new IPv6 route to the FEA.
Parameters:
re | the routing table entry of the route to be deleted. |
size_t tasks_count ()
| tasks_count |
[const]
Returns: the number of route adds and deletes that are currently queued for communication with the FEA.
bool tasks_pending ()
| tasks_pending |
[const]
Returns: true if there are currently any adds or deletes queued for transmission to the FEA or awaiting acknowledgement from the FEA
SyncFtiCommand * get_next ()
| get_next |
[protected]
Returns: The next task or 0 if there isn't one.
void transaction_completed ()
| transaction_completed |
[protected]
Called when a transaction has completed.
void start ()
| start |
[protected]
Called to start a transaction.
XrlRouter& _xrl_router | _xrl_router |
[protected]
bool _busy | _busy |
[protected]
list<FeaClientTask> _tasks | _tasks |
[protected]
list<FeaClientTask> _completed_tasks | _completed_tasks |
[protected]
const uint32_t _max_ops | _max_ops |
[protected]
uint32_t _op_count | _op_count |
[protected]
bool _enabled | _enabled |
[protected]
Generated by: pavlin on possum.icir.org on Mon Mar 10 19:35:00 2003, using kdoc 2.0a54+XORP. |