xorp

FibConfig Class Reference

Forwarding Table Interface. More...

#include <fibconfig.hh>

List of all members.

Public Member Functions

 FibConfig (FeaNode &fea_node, const IfTree &system_config_iftree, const IfTree &merged_config_iftree)
 Constructor.
virtual ~FibConfig ()
 Virtual destructor (in case this class is used as a base class).
EventLoopeventloop ()
 Get a reference to the EventLoop instance.
NexthopPortMappernexthop_port_mapper ()
 Get a reference to the NexthopPortMapper instance.
const IfTreesystem_config_iftree () const
 Get a reference to the system interface configuration.
const IfTreemerged_config_iftree () const
 Get a reference to the merged system-user interface configuration.
ProcessStatus status (string &reason) const
 Get the status code.
int start_transaction (uint32_t &tid, string &error_msg)
 Start FIB-related transaction.
int commit_transaction (uint32_t tid, string &error_msg)
 Commit FIB-related transaction.
int abort_transaction (uint32_t tid, string &error_msg)
 Abort FIB-related transaction.
int add_transaction_operation (uint32_t tid, const TransactionManager::Operation &op, string &error_msg)
 Add operation to FIB-related transaction.
int register_fibconfig_forwarding (FibConfigForwarding *fibconfig_forwarding, bool is_exclusive)
 Register FibConfigForwarding plugin.
int unregister_fibconfig_forwarding (FibConfigForwarding *fibconfig_forwarding)
 Unregister FibConfigForwarding plugin.
int register_fibconfig_entry_get (FibConfigEntryGet *fibconfig_entry_get, bool is_exclusive)
 Register FibConfigEntryGet plugin.
int unregister_fibconfig_entry_get (FibConfigEntryGet *fibconfig_entry_get)
 Unregister FibConfigEntryGet plugin.
int register_fibconfig_entry_set (FibConfigEntrySet *fibconfig_entry_set, bool is_exclusive)
 Register FibConfigEntrySet plugin.
int unregister_fibconfig_entry_set (FibConfigEntrySet *fibconfig_entry_set)
 Unregister FibConfigEntrySet plugin.
int register_fibconfig_entry_observer (FibConfigEntryObserver *fibconfig_entry_observer, bool is_exclusive)
 Register FibConfigEntryObserver plugin.
int unregister_fibconfig_entry_observer (FibConfigEntryObserver *fibconfig_entry_observer)
 Unregister FibConfigEntryObserver plugin.
int register_fibconfig_table_get (FibConfigTableGet *fibconfig_table_get, bool is_exclusive)
 Register FibConfigTableGet plugin.
int unregister_fibconfig_table_get (FibConfigTableGet *fibconfig_table_get)
 Unregister FibConfigTableGet plugin.
int register_fibconfig_table_set (FibConfigTableSet *fibconfig_table_set, bool is_exclusive)
 Register FibConfigTableSet plugin.
int unregister_fibconfig_table_set (FibConfigTableSet *fibconfig_table_set)
 Unregister FibConfigTableSet plugin.
int register_fibconfig_table_observer (FibConfigTableObserver *fibconfig_table_observer, bool is_exclusive)
 Register FibConfigTableObserver plugin.
int unregister_fibconfig_table_observer (FibConfigTableObserver *fibconfig_table_observer)
 Unregister FibConfigTableObserver plugin.
int start (string &error_msg)
 Start operation.
int stop (string &error_msg)
 Stop operation.
int start_configuration (string &error_msg)
 Start a configuration interval.
int end_configuration (string &error_msg)
 End of configuration interval.
bool unicast_forwarding_entries_retain_on_startup4 () const
 Test whether the IPv4 unicast forwarding engine retains existing XORP forwarding entries on startup.
bool unicast_forwarding_entries_retain_on_shutdown4 () const
 Test whether the IPv4 unicast forwarding engine retains existing XORP forwarding entries on shutdown.
bool unicast_forwarding_entries_retain_on_startup6 () const
 Test whether the IPv6 unicast forwarding engine retains existing XORP forwarding entries on startup.
bool unicast_forwarding_entries_retain_on_shutdown6 () const
 Test whether the IPv6 unicast forwarding engine retains existing XORP forwarding entries on shutdown.
int set_unicast_forwarding_entries_retain_on_startup4 (bool retain, string &error_msg)
 Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on startup.
int set_unicast_forwarding_entries_retain_on_shutdown4 (bool retain, string &error_msg)
 Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on shutdown.
int set_unicast_forwarding_entries_retain_on_startup6 (bool retain, string &error_msg)
 Set the IPv6 unicast forwarding engine whether to retain existing XORP forwarding entries on startup.
int set_unicast_forwarding_entries_retain_on_shutdown6 (bool retain, string &error_msg)
 Set the IPv6 unicast forwarding engine whether to retain existing XORP forwarding entries on shutdown.
bool unicast_forwarding_table_id_is_configured (int family) const
 Test whether the unicast forwarding table ID for a given address family is configured.
uint32_t unicast_forwarding_table_id (int family) const
 Get the unicast forwarding table ID for a given address family.
bool unicast_forwarding_table_id4_is_configured () const
 Test whether the IPv4 unicast forwarding table ID is configured.
uint32_t unicast_forwarding_table_id4 () const
 Get the IPv4 unicast forwarding table ID.
bool unicast_forwarding_table_id6_is_configured () const
 Test whether the IPv6 unicast forwarding table ID is configured.
uint32_t unicast_forwarding_table_id6 () const
 Get the IPv6 unicast forwarding table ID.
uint32_t get_netlink_filter_table_id () const
 If IPv4 and IPv6 table ids are configured, and configured to the same thing, we can attempt to filter the netlink route messages on that table id.
void propagate_table_id_change ()
int set_unicast_forwarding_table_id4 (bool is_configured, uint32_t table_id, string &error_msg)
 Set the IPv4 unicast forwarding table ID to be used.
int set_unicast_forwarding_table_id6 (bool is_configured, uint32_t table_id, string &error_msg)
 Set the IPv6 unicast forwarding table ID to be used.
int unicast_forwarding_enabled4 (bool &ret_value, string &error_msg) const
 Test whether the IPv4 unicast forwarding engine is enabled or disabled to forward packets.
int unicast_forwarding_enabled6 (bool &ret_value, string &error_msg) const
 Test whether the IPv6 unicast forwarding engine is enabled or disabled to forward packets.
int accept_rtadv_enabled6 (bool &ret_value, string &error_msg) const
 Test whether the acceptance of IPv6 Router Advertisement messages is enabled or disabled.
int set_unicast_forwarding_enabled4 (bool v, string &error_msg)
 Set the IPv4 unicast forwarding engine to enable or disable forwarding of packets.
int set_unicast_forwarding_enabled6 (bool v, string &error_msg)
 Set the IPv6 unicast forwarding engine to enable or disable forwarding of packets.
int set_accept_rtadv_enabled6 (bool v, string &error_msg)
 Enable or disable the acceptance of IPv6 Router Advertisement messages from other routers.
virtual int add_entry4 (const Fte4 &fte)
 Add a single IPv4 forwarding entry.
virtual int delete_entry4 (const Fte4 &fte)
 Delete a single IPv4 forwarding entry.
virtual int set_table4 (const list< Fte4 > &fte_list)
 Set the IPv4 unicast forwarding table.
virtual int delete_all_entries4 ()
 Delete all entries in the IPv4 unicast forwarding table.
virtual int lookup_route_by_dest4 (const IPv4 &dst, Fte4 &fte)
 Lookup an IPv4 route by destination address.
virtual int lookup_route_by_network4 (const IPv4Net &dst, Fte4 &fte)
 Lookup an IPv4 route by network address.
virtual int get_table4 (list< Fte4 > &fte_list)
 Obtain the IPv4 unicast forwarding table.
virtual int add_entry6 (const Fte6 &fte)
 Add a single IPv6 forwarding entry.
virtual int set_table6 (const list< Fte6 > &fte_list)
 Set the IPv6 unicast forwarding table.
virtual int delete_entry6 (const Fte6 &fte)
 Delete a single IPv6 forwarding entry.
virtual int delete_all_entries6 ()
 Delete all entries in the IPv6 unicast forwarding table.
virtual int lookup_route_by_dest6 (const IPv6 &dst, Fte6 &fte)
 Lookup an IPv6 route by destination address.
virtual int lookup_route_by_network6 (const IPv6Net &dst, Fte6 &fte)
 Lookup an IPv6 route by network address.
virtual int get_table6 (list< Fte6 > &fte_list)
 Obtain the IPv6 unicast forwarding table.
int add_fib_table_observer (FibTableObserverBase *fib_table_observer)
 Add a FIB table observer.
int delete_fib_table_observer (FibTableObserverBase *fib_table_observer)
 Delete a FIB table observer.
void propagate_fib_changes (const list< FteX > &fte_list, const FibConfigTableObserver *fibconfig_table_observer)
 Propagate FIB changes to all FIB table observers.
Trie4trie4 ()
 Get the IPv4 Trie (used for testing purpose).
Trie6trie6 ()
 Get the IPv6 Trie (used for testing purpose).

Protected Attributes

Trie4 _trie4
Trie6 _trie6

Private Attributes

FeaNode_fea_node
EventLoop_eventloop
Profile_profile
NexthopPortMapper_nexthop_port_mapper
const IfTree_system_config_iftree
const IfTree_merged_config_iftree
FibConfigTransactionManager_ftm
list< FibConfigForwarding * > _fibconfig_forwarding_plugins
list< FibConfigEntryGet * > _fibconfig_entry_gets
list< FibConfigEntrySet * > _fibconfig_entry_sets
list< FibConfigEntryObserver * > _fibconfig_entry_observers
list< FibConfigTableGet * > _fibconfig_table_gets
list< FibConfigTableSet * > _fibconfig_table_sets
list< FibConfigTableObserver * > _fibconfig_table_observers
bool _unicast_forwarding_entries_retain_on_startup4
bool _unicast_forwarding_entries_retain_on_shutdown4
bool _unicast_forwarding_entries_retain_on_startup6
bool _unicast_forwarding_entries_retain_on_shutdown6
uint32_t _unicast_forwarding_table_id4
bool _unicast_forwarding_table_id4_is_configured
uint32_t _unicast_forwarding_table_id6
bool _unicast_forwarding_table_id6_is_configured
bool _is_running
list< FibTableObserverBase * > _fib_table_observers

Detailed Description

Forwarding Table Interface.

Abstract class.


Constructor & Destructor Documentation

FibConfig::FibConfig ( FeaNode fea_node,
const IfTree system_config_iftree,
const IfTree merged_config_iftree 
)

Constructor.

Parameters:
fea_nodethe FEA node.
system_config_iftreethe system interface configuration tree to use.
merged_config_iftreethe merged system-user interface configuration tree to use.

Member Function Documentation

int FibConfig::abort_transaction ( uint32_t  tid,
string &  error_msg 
)

Abort FIB-related transaction.

Parameters:
tidthe transaction ID.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::accept_rtadv_enabled6 ( bool &  ret_value,
string &  error_msg 
) const

Test whether the acceptance of IPv6 Router Advertisement messages is enabled or disabled.

Parameters:
ret_valueif true on return, then the acceptance of IPv6 Router Advertisement messages is enabled, otherwise is disabled.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::add_entry4 ( const Fte4 fte) [virtual]

Add a single IPv4 forwarding entry.

Must be within a configuration interval.

Parameters:
ftethe entry to add.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::add_entry6 ( const Fte6 fte) [virtual]

Add a single IPv6 forwarding entry.

Must be within a configuration interval.

Parameters:
ftethe entry to add.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::add_fib_table_observer ( FibTableObserverBase fib_table_observer)

Add a FIB table observer.

Parameters:
fib_table_observerthe FIB table observer to add.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::add_transaction_operation ( uint32_t  tid,
const TransactionManager::Operation op,
string &  error_msg 
)

Add operation to FIB-related transaction.

Parameters:
tidthe transaction ID.
opthe operation to add.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::commit_transaction ( uint32_t  tid,
string &  error_msg 
)

Commit FIB-related transaction.

Parameters:
tidthe transaction ID.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::delete_all_entries4 ( ) [virtual]

Delete all entries in the IPv4 unicast forwarding table.

Must be within a configuration interval.

Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::delete_all_entries6 ( ) [virtual]

Delete all entries in the IPv6 unicast forwarding table.

Must be within a configuration interval.

Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::delete_entry4 ( const Fte4 fte) [virtual]

Delete a single IPv4 forwarding entry.

Must be with a configuration interval.

Parameters:
ftethe entry to delete. Only destination and netmask are used.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::delete_entry6 ( const Fte6 fte) [virtual]

Delete a single IPv6 forwarding entry.

Must be within a configuration interval.

Parameters:
ftethe entry to delete. Only destination and netmask are used.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::delete_fib_table_observer ( FibTableObserverBase fib_table_observer)

Delete a FIB table observer.

Parameters:
fib_table_observerthe FIB table observer to delete.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::end_configuration ( string &  error_msg)

End of configuration interval.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
EventLoop& FibConfig::eventloop ( ) [inline]

Get a reference to the EventLoop instance.

Returns:
a reference to the EventLoop instance.
uint32_t FibConfig::get_netlink_filter_table_id ( ) const

If IPv4 and IPv6 table ids are configured, and configured to the same thing, we can attempt to filter the netlink route messages on that table id.

Otherwise, return 0 (no filtering)

int FibConfig::get_table4 ( list< Fte4 > &  fte_list) [virtual]

Obtain the IPv4 unicast forwarding table.

Parameters:
fte_listthe return-by-reference list with all entries in the IPv4 unicast forwarding table.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::get_table6 ( list< Fte6 > &  fte_list) [virtual]

Obtain the IPv6 unicast forwarding table.

Parameters:
fte_listthe return-by-reference list with all entries in the IPv6 unicast forwarding table.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::lookup_route_by_dest4 ( const IPv4 dst,
Fte4 fte 
) [virtual]

Lookup an IPv4 route by destination address.

Parameters:
dsthost address to resolve.
ftereturn-by-reference forwarding table entry.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::lookup_route_by_dest6 ( const IPv6 dst,
Fte6 fte 
) [virtual]

Lookup an IPv6 route by destination address.

Parameters:
dsthost address to resolve.
ftereturn-by-reference forwarding table entry.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::lookup_route_by_network4 ( const IPv4Net dst,
Fte4 fte 
) [virtual]

Lookup an IPv4 route by network address.

Parameters:
dstnetwork address to resolve.
ftereturn-by-reference forwarding table entry.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::lookup_route_by_network6 ( const IPv6Net dst,
Fte6 fte 
) [virtual]

Lookup an IPv6 route by network address.

Parameters:
dstnetwork address to resolve.
ftereturn-by-reference forwarding table entry.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
const IfTree& FibConfig::merged_config_iftree ( ) const [inline]

Get a reference to the merged system-user interface configuration.

Returns:
a reference to the merged system-user interface configuration.
NexthopPortMapper& FibConfig::nexthop_port_mapper ( ) [inline]

Get a reference to the NexthopPortMapper instance.

Returns:
a reference to the NexthopPortMapper instance.
void FibConfig::propagate_fib_changes ( const list< FteX > &  fte_list,
const FibConfigTableObserver fibconfig_table_observer 
)

Propagate FIB changes to all FIB table observers.

Parameters:
fte_listthe list with the FIB changes.
fibconfig_table_observerthe method that reports the FIB changes.
int FibConfig::register_fibconfig_entry_get ( FibConfigEntryGet fibconfig_entry_get,
bool  is_exclusive 
)

Register FibConfigEntryGet plugin.

Parameters:
fibconfig_entry_getthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::register_fibconfig_entry_observer ( FibConfigEntryObserver fibconfig_entry_observer,
bool  is_exclusive 
)

Register FibConfigEntryObserver plugin.

Parameters:
fibconfig_entry_observerthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::register_fibconfig_entry_set ( FibConfigEntrySet fibconfig_entry_set,
bool  is_exclusive 
)

Register FibConfigEntrySet plugin.

Parameters:
fibconfig_entry_setthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::register_fibconfig_forwarding ( FibConfigForwarding fibconfig_forwarding,
bool  is_exclusive 
)

Register FibConfigForwarding plugin.

Parameters:
fibconfig_forwardingthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::register_fibconfig_table_get ( FibConfigTableGet fibconfig_table_get,
bool  is_exclusive 
)

Register FibConfigTableGet plugin.

Parameters:
fibconfig_table_getthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::register_fibconfig_table_observer ( FibConfigTableObserver fibconfig_table_observer,
bool  is_exclusive 
)

Register FibConfigTableObserver plugin.

Parameters:
fibconfig_table_observerthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::register_fibconfig_table_set ( FibConfigTableSet fibconfig_table_set,
bool  is_exclusive 
)

Register FibConfigTableSet plugin.

Parameters:
fibconfig_table_setthe plugin to register.
is_exclusiveif true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_accept_rtadv_enabled6 ( bool  v,
string &  error_msg 
)

Enable or disable the acceptance of IPv6 Router Advertisement messages from other routers.

It should be enabled for hosts, and disabled for routers.

Parameters:
vif true, then enable the acceptance of IPv6 Router Advertisement messages, otherwise disable it.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_table4 ( const list< Fte4 > &  fte_list) [virtual]

Set the IPv4 unicast forwarding table.

Parameters:
fte_listthe list with all entries to install into the IPv4 unicast forwarding table.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_table6 ( const list< Fte6 > &  fte_list) [virtual]

Set the IPv6 unicast forwarding table.

Parameters:
fte_listthe list with all entries to install into the IPv6 unicast forwarding table.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_enabled4 ( bool  v,
string &  error_msg 
)

Set the IPv4 unicast forwarding engine to enable or disable forwarding of packets.

Parameters:
vif true, then enable IPv4 unicast forwarding, otherwise disable it.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_enabled6 ( bool  v,
string &  error_msg 
)

Set the IPv6 unicast forwarding engine to enable or disable forwarding of packets.

Parameters:
vif true, then enable IPv6 unicast forwarding, otherwise disable it.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_entries_retain_on_shutdown4 ( bool  retain,
string &  error_msg 
)

Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on shutdown.

Parameters:
retainif true, then retain the XORP forwarding entries, otherwise delete them.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_entries_retain_on_shutdown6 ( bool  retain,
string &  error_msg 
)

Set the IPv6 unicast forwarding engine whether to retain existing XORP forwarding entries on shutdown.

Parameters:
retainif true, then retain the XORP forwarding entries, otherwise delete them.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_entries_retain_on_startup4 ( bool  retain,
string &  error_msg 
)

Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on startup.

Parameters:
retainif true, then retain the XORP forwarding entries, otherwise delete them.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_entries_retain_on_startup6 ( bool  retain,
string &  error_msg 
)

Set the IPv6 unicast forwarding engine whether to retain existing XORP forwarding entries on startup.

Parameters:
retainif true, then retain the XORP forwarding entries, otherwise delete them.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_table_id4 ( bool  is_configured,
uint32_t  table_id,
string &  error_msg 
)

Set the IPv4 unicast forwarding table ID to be used.

Parameters:
is_configuredif true, the forwarding table ID is configured, otherwise the default table should be used.
table_idthe IPv4 unicast forwarding table ID to be used.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::set_unicast_forwarding_table_id6 ( bool  is_configured,
uint32_t  table_id,
string &  error_msg 
)

Set the IPv6 unicast forwarding table ID to be used.

Parameters:
is_configuredif true, the forwarding table ID is configured, otherwise the default table should be used.
table_idthe IPv6 unicast forwarding table ID to be used.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::start ( string &  error_msg)

Start operation.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::start_configuration ( string &  error_msg)

Start a configuration interval.

All modifications must be within a marked "configuration" interval.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::start_transaction ( uint32_t &  tid,
string &  error_msg 
)

Start FIB-related transaction.

Parameters:
tidthe return-by-reference new transaction ID.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
ProcessStatus FibConfig::status ( string &  reason) const

Get the status code.

Parameters:
reasonthe human-readable reason for any failure.
Returns:
the status code.
int FibConfig::stop ( string &  error_msg)

Stop operation.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
const IfTree& FibConfig::system_config_iftree ( ) const [inline]

Get a reference to the system interface configuration.

Returns:
a reference to the system interface configuration.
Trie4& FibConfig::trie4 ( ) [inline]

Get the IPv4 Trie (used for testing purpose).

Returns:
the IPv4 Trie.
Trie6& FibConfig::trie6 ( ) [inline]

Get the IPv6 Trie (used for testing purpose).

Returns:
the IPv6 Trie.
int FibConfig::unicast_forwarding_enabled4 ( bool &  ret_value,
string &  error_msg 
) const

Test whether the IPv4 unicast forwarding engine is enabled or disabled to forward packets.

Parameters:
ret_valueif true on return, then the IPv4 unicast forwarding is enabled, otherwise is disabled.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unicast_forwarding_enabled6 ( bool &  ret_value,
string &  error_msg 
) const

Test whether the IPv6 unicast forwarding engine is enabled or disabled to forward packets.

Parameters:
ret_valueif true on return, then the IPv6 unicast forwarding is enabled, otherwise is disabled.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
bool FibConfig::unicast_forwarding_entries_retain_on_shutdown4 ( ) const [inline]

Test whether the IPv4 unicast forwarding engine retains existing XORP forwarding entries on shutdown.

Returns:
true if the XORP unicast forwarding entries are retained, otherwise false.
bool FibConfig::unicast_forwarding_entries_retain_on_shutdown6 ( ) const [inline]

Test whether the IPv6 unicast forwarding engine retains existing XORP forwarding entries on shutdown.

Returns:
true if the XORP unicast forwarding entries are retained, otherwise false.
bool FibConfig::unicast_forwarding_entries_retain_on_startup4 ( ) const [inline]

Test whether the IPv4 unicast forwarding engine retains existing XORP forwarding entries on startup.

Returns:
true if the XORP unicast forwarding entries are retained, otherwise false.
bool FibConfig::unicast_forwarding_entries_retain_on_startup6 ( ) const [inline]

Test whether the IPv6 unicast forwarding engine retains existing XORP forwarding entries on startup.

Returns:
true if the XORP unicast forwarding entries are retained, otherwise false.
uint32_t FibConfig::unicast_forwarding_table_id ( int  family) const

Get the unicast forwarding table ID for a given address family.

Parameters:
familythe address family;
Returns:
the unicast forwarding table ID for the given address family.
uint32_t FibConfig::unicast_forwarding_table_id4 ( ) const [inline]

Get the IPv4 unicast forwarding table ID.

Returns:
the IPv4 unicast forwarding table ID.
bool FibConfig::unicast_forwarding_table_id4_is_configured ( ) const [inline]

Test whether the IPv4 unicast forwarding table ID is configured.

Returns:
true if the IPv4 unicast forwarding table ID is configured, otherwise false.
uint32_t FibConfig::unicast_forwarding_table_id6 ( ) const [inline]

Get the IPv6 unicast forwarding table ID.

Returns:
the IPv6 unicast forwarding table ID.
bool FibConfig::unicast_forwarding_table_id6_is_configured ( ) const [inline]

Test whether the IPv6 unicast forwarding table ID is configured.

Returns:
true if the IPv6 unicast forwarding table ID is configured, otherwise false.
bool FibConfig::unicast_forwarding_table_id_is_configured ( int  family) const

Test whether the unicast forwarding table ID for a given address family is configured.

Parameters:
familythe address family.
Returns:
true if the unicast forwarding table ID for the given address family is configured, otherwise false.
int FibConfig::unregister_fibconfig_entry_get ( FibConfigEntryGet fibconfig_entry_get)

Unregister FibConfigEntryGet plugin.

Parameters:
fibconfig_entry_getthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unregister_fibconfig_entry_observer ( FibConfigEntryObserver fibconfig_entry_observer)

Unregister FibConfigEntryObserver plugin.

Parameters:
fibconfig_entry_observerthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unregister_fibconfig_entry_set ( FibConfigEntrySet fibconfig_entry_set)

Unregister FibConfigEntrySet plugin.

Parameters:
fibconfig_entry_setthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unregister_fibconfig_forwarding ( FibConfigForwarding fibconfig_forwarding)

Unregister FibConfigForwarding plugin.

Parameters:
fibconfig_forwardingthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unregister_fibconfig_table_get ( FibConfigTableGet fibconfig_table_get)

Unregister FibConfigTableGet plugin.

Parameters:
fibconfig_table_getthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unregister_fibconfig_table_observer ( FibConfigTableObserver fibconfig_table_observer)

Unregister FibConfigTableObserver plugin.

Parameters:
fibconfig_table_observerthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FibConfig::unregister_fibconfig_table_set ( FibConfigTableSet fibconfig_table_set)

Unregister FibConfigTableSet plugin.

Parameters:
fibconfig_table_setthe plugin to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations