|
|
RibClient communicates add route and delete requests from the RIBs to a RIB client (e.g., the FEA).
RibClient (XrlRouter& xrl_router, const string& target_name,
size_t max_ops = 100)
| RibClient |
RibClient constructor.
Parameters:
xrl_router | XRL router instance to use for communication with the RIB client. |
target_name | the XRL target name to send the route changes to. |
max_ops | the maximum number of operations in a transaction. |
~RibClient ()
| ~RibClient |
const string& target_name ()
| target_name |
[const]
Get the target name.
Returns: the target name.
void set_enabled (bool en)
| set_enabled |
Set enabled state.
When enabled RibClient attempts to send commands to the RIB client. When disabled it silently ignores the requests.
bool enabled ()
| enabled |
[const]
void add_route (const IPv4Net& dest,
const IPv4& gw,
const string& ifname,
const string& vifname,
uint32_t metric,
uint32_t admin_distance,
const string& protocol_origin)
| add_route |
Communicate the addition of a new IPv4 route to the RIB client.
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. |
metric | the routing metric toward dest. |
admin_distance | the administratively defined distance toward dest. |
protocol_origin | the name of the protocol that originated this entry. |
void delete_route (const IPv4Net& dest)
| delete_route |
Communicate the deletion of an IPv4 route to the RIB client.
Parameters:
dest | the destination subnet of the route. |
void add_route (const IPv6Net& dest,
const IPv6& gw,
const string& ifname,
const string& vifname,
uint32_t metric,
uint32_t admin_distance,
const string& protocol_origin)
| add_route |
Communicate the addition of a new IPv6 route to the RIB client.
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. |
metric | the routing metric toward dest. |
admin_distance | the administratively defined distance toward dest. |
protocol_origin | the name of the protocol that originated this entry. |
void delete_route (const IPv6Net& dest)
| delete_route |
Communicate the deletion of an IPv6 route to the RIB client.
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 RIB client.
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 RIB client.
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 RIB client.
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 RIB client.
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 RIB client.
bool tasks_pending ()
| tasks_pending |
[const]
Returns: true if there are currently any adds or deletes queued for transmission to the RIB client or awaiting acknowledgement from the RIB client.
bool failed ()
| failed |
[const]
check RibClient failure status
Returns: true if RibClient has suffered a fatal error, true otherwise
SyncFtiCommand* get_next ()
| get_next |
[protected]
Returns: The next task or NULL if there isn't one.
void transaction_completed (bool fatal_error)
| transaction_completed |
[protected]
Called when a transaction has completed.
void start ()
| start |
[protected]
Called to start a transaction.