|
|
There should be one node per Fib2mrib instance.
Fib2mribNode (EventLoop& eventloop)
| Fib2mribNode |
Constructor for a given event loop.
Parameters:
eventloop | the event loop to use. |
~Fib2mribNode ()
| ~Fib2mribNode |
[virtual]
EventLoop& eventloop ()
| eventloop |
Get the event loop this node is added to.
Returns: the event loop this node is added to.
const string& protocol_name ()
| protocol_name |
[const]
Get the protocol name.
Returns: a string with the protocol name.
int startup ()
| startup |
Startup the node operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ServiceBase.
int shutdown ()
| shutdown |
Shutdown the node operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ServiceBase.
ProcessStatus node_status (string& reason_msg)
| node_status |
Get the node status (see ProcessStatus).
Parameters:
reason_msg | return-by-reference string that contains human-readable information about the status. |
Returns: the node status (see ProcessStatus).
bool is_done ()
| is_done |
[const]
Test if the node processing is done.
Returns: true if the node processing is done, otherwise false.
bool is_enabled ()
| is_enabled |
[const]
Test whether the node operation is enabled.
Returns: true if the node operation is enabled, otherwise false.
void set_enabled (bool enable)
| set_enabled |
Enable/disable node operation.
Note that for the time being it affects only whether the routes are installed into RIB. In the future it may affect the interaction with other modules as well.
Parameters:
enable | if true then enable node operation, otherwise disable it. |
int add_route4 (const IPv4Net& network, const IPv4& nexthop,
const string& ifname, const string& vifname,
uint32_t metric, uint32_t admin_distance,
const string& protocol_origin, bool xorp_route,
string& error_msg)
| add_route4 |
Add an IPv4 route.
Parameters:
network | the network address prefix this route applies to. |
nexthop | the address of the next-hop router for this route. |
ifname | the name of the physical interface toward the destination. |
vifname | the name of the virtual interface toward the destination. |
metric | the routing metric for this route. |
admin_distance | the administratively defined distance for this route. |
protocol_origin | the name of the protocol that originated this route. |
xorp_route | true if this route was installed by XORP. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int add_route6 (const IPv6Net& network, const IPv6& nexthop,
const string& ifname, const string& vifname,
uint32_t metric, uint32_t admin_distance,
const string& protocol_origin, bool xorp_route,
string& error_msg)
| add_route6 |
Add an IPv6 route.
Parameters:
network | the network address prefix this route applies to. |
nexthop | the address of the next-hop router for this route. |
ifname | the name of the physical interface toward the destination. |
vifname | the name of the virtual interface toward the destination. |
metric | the routing metric for this route. |
admin_distance | the administratively defined distance for this route. |
protocol_origin | the name of the protocol that originated this route. |
xorp_route | true if this route was installed by XORP. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int replace_route4 (const IPv4Net& network, const IPv4& nexthop,
const string& ifname, const string& vifname,
uint32_t metric, uint32_t admin_distance,
const string& protocol_origin, bool xorp_route,
string& error_msg)
| replace_route4 |
Replace an IPv4 route.
Parameters:
network | the network address prefix this route applies to. |
nexthop | the address of the next-hop router for this route. |
ifname | the name of the physical interface toward the destination. |
vifname | the name of the virtual interface toward the destination. |
metric | the routing metric for this route. |
admin_distance | the administratively defined distance for this route. |
protocol_origin | the name of the protocol that originated this route. |
xorp_route | true if this route was installed by XORP. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int replace_route6 (const IPv6Net& network, const IPv6& nexthop,
const string& ifname, const string& vifname,
uint32_t metric, uint32_t admin_distance,
const string& protocol_origin, bool xorp_route,
string& error_msg)
| replace_route6 |
Replace an IPv6 route.
Parameters:
network | the network address prefix this route applies to. |
nexthop | the address of the next-hop router for this route. |
ifname | the name of the physical interface toward the destination. |
vifname | the name of the virtual interface toward the destination. |
metric | the routing metric for this route. |
admin_distance | the administratively defined distance for this route. |
protocol_origin | the name of the protocol that originated this route. |
xorp_route | true if this route was installed by XORP. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int delete_route4 (const IPv4Net& network, const string& ifname,
const string& vifname, string& error_msg)
| delete_route4 |
Delete an IPv4 route.
Parameters:
network | the network address prefix this route applies to. |
ifname | the name of the physical interface toward the destination. |
vifname | the name of the virtual interface toward the destination. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int delete_route6 (const IPv6Net& network, const string& ifname,
const string& vifname, string& error_msg)
| delete_route6 |
Delete an IPv6 route.
Parameters:
network | the network address prefix this route applies to. |
ifname | the name of the physical interface toward the destination. |
vifname | the name of the virtual interface toward the destination. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
bool is_log_trace ()
| is_log_trace |
[const]
Test if trace log is enabled.
This method is used to test whether to output trace log debug messges.
Returns: true if trace log is enabled, otherwise false.
void set_log_trace (bool is_enabled)
| set_log_trace |
Enable/disable trace log.
This method is used to enable/disable trace log debug messages output.
Parameters:
is_enabled | if true, trace log is enabled, otherwise is disabled. |
void configure_filter (const uint32_t& filter, const string& conf)
| configure_filter |
Configure a policy filter.
Will throw an exception on error.
Export filter is not supported by fib2mrib routes.
Parameters:
filter | identifier of filter to configure. |
conf | configuration of the filter. |
void reset_filter (const uint32_t& filter)
| reset_filter |
Reset a policy filter.
Parameters:
filter | identifier of filter to reset. |
void push_routes ()
| push_routes |
Push all the routes through the policy filters for re-filtering.
void push_pull_rib_routes (bool is_push)
| push_pull_rib_routes |
Push or pull all the routes to/from the RIB.
Parameters:
is_push | if true, then push the routes, otherwise pull them |
void tree_complete ()
| tree_complete |
[protected]
Reimplemented from IfMgrHintObserver.
void updates_made ()
| updates_made |
[protected]
Reimplemented from IfMgrHintObserver.
void incr_startup_requests_n ()
| incr_startup_requests_n |
[protected]
void decr_startup_requests_n ()
| decr_startup_requests_n |
[protected]
void incr_shutdown_requests_n ()
| incr_shutdown_requests_n |
[protected]
void decr_shutdown_requests_n ()
| decr_shutdown_requests_n |
[protected]
void update_status ()
| update_status |
[protected]