class Fib2mribNode

The Fib2mrib node class. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods


Detailed Description

There should be one node per Fib2mrib instance.

 Fib2mribNode (EventLoop& eventloop)

Fib2mribNode

Constructor for a given event loop.

Parameters:

eventloopthe event loop to use.
 ~Fib2mribNode ()

~Fib2mribNode

[virtual]

Destructor

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.

bool  startup ()

startup

Startup the node operation.

Returns: true on success, false on failure.

Reimplemented from ServiceBase.

bool  shutdown ()

shutdown

Shutdown the node operation.

Returns: true on success, false on failure.

Reimplemented from ServiceBase.

ProcessStatus  node_status (string& reason_msg)

node_status

Get the node status (see ProcessStatus).

Parameters:

reason_msgreturn-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:

enableif 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:

networkthe network address prefix this route applies to.
nexthopthe address of the next-hop router for this route.
ifnamethe name of the physical interface toward the destination.
vifnamethe name of the virtual interface toward the destination.
metricthe routing metric for this route.
admin_distancethe administratively defined distance for this route.
protocol_originthe name of the protocol that originated this route.
xorp_routetrue if this route was installed by XORP.
error_msgthe 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:

networkthe network address prefix this route applies to.
nexthopthe address of the next-hop router for this route.
ifnamethe name of the physical interface toward the destination.
vifnamethe name of the virtual interface toward the destination.
metricthe routing metric for this route.
admin_distancethe administratively defined distance for this route.
protocol_originthe name of the protocol that originated this route.
xorp_routetrue if this route was installed by XORP.
error_msgthe 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:

networkthe network address prefix this route applies to.
nexthopthe address of the next-hop router for this route.
ifnamethe name of the physical interface toward the destination.
vifnamethe name of the virtual interface toward the destination.
metricthe routing metric for this route.
admin_distancethe administratively defined distance for this route.
protocol_originthe name of the protocol that originated this route.
xorp_routetrue if this route was installed by XORP.
error_msgthe 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:

networkthe network address prefix this route applies to.
nexthopthe address of the next-hop router for this route.
ifnamethe name of the physical interface toward the destination.
vifnamethe name of the virtual interface toward the destination.
metricthe routing metric for this route.
admin_distancethe administratively defined distance for this route.
protocol_originthe name of the protocol that originated this route.
xorp_routetrue if this route was installed by XORP.
error_msgthe 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:

networkthe network address prefix this route applies to.
ifnamethe name of the physical interface toward the destination.
vifnamethe name of the virtual interface toward the destination.
error_msgthe 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:

networkthe network address prefix this route applies to.
ifnamethe name of the physical interface toward the destination.
vifnamethe name of the virtual interface toward the destination.
error_msgthe 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_enabledif 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:

filteridentifier of filter to configure.
confconfiguration of the filter.
void  reset_filter (const uint32_t& filter)

reset_filter

Reset a policy filter.

Parameters:

filteridentifier 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_pushif 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]


Generated by: pavlin on possum.icir.org on Wed Aug 2 15:36:35 2006, using kdoc $.