|
|
FtiConfig (EventLoop& eventloop, Profile& profile, IfTree& iftree,
NexthopPortMapper& nexthop_port_mapper)
| FtiConfig |
Constructor.
Parameters:
eventloop | the event loop. |
profile | the profile entity. |
nexthop_port_mapper | the next-hop port mapper. |
~FtiConfig ()
| ~FtiConfig |
[virtual]
Virtual destructor (in case this class is used as base class).
EventLoop& eventloop ()
| eventloop |
Get a reference to the EventLoop instance.
Returns: a reference to the EventLoop instance.
NexthopPortMapper& nexthop_port_mapper ()
| nexthop_port_mapper |
Get a reference to the NexthopPortMapper instance.
Returns: a reference to the NexthopPortMapper instance.
IfTree& iftree ()
| iftree |
Get a reference to the IfTree instance.
Returns: a reference to the IfTree instance.
int register_ftic_entry_get_primary (FtiConfigEntryGet *ftic_entry_get)
| register_ftic_entry_get_primary |
int register_ftic_entry_set_primary (FtiConfigEntrySet *ftic_entry_set)
| register_ftic_entry_set_primary |
int register_ftic_entry_observer_primary (FtiConfigEntryObserver *ftic_entry_observer)
| register_ftic_entry_observer_primary |
int register_ftic_table_get_primary (FtiConfigTableGet *ftic_table_get)
| register_ftic_table_get_primary |
int register_ftic_table_set_primary (FtiConfigTableSet *ftic_table_set)
| register_ftic_table_set_primary |
int register_ftic_table_observer_primary (FtiConfigTableObserver *ftic_table_observer)
| register_ftic_table_observer_primary |
int register_ftic_entry_get_secondary (FtiConfigEntryGet *ftic_entry_get)
| register_ftic_entry_get_secondary |
int register_ftic_entry_set_secondary (FtiConfigEntrySet *ftic_entry_set)
| register_ftic_entry_set_secondary |
int register_ftic_entry_observer_secondary (FtiConfigEntryObserver *ftic_entry_observer)
| register_ftic_entry_observer_secondary |
int register_ftic_table_get_secondary (FtiConfigTableGet *ftic_table_get)
| register_ftic_table_get_secondary |
int register_ftic_table_set_secondary (FtiConfigTableSet *ftic_table_set)
| register_ftic_table_set_secondary |
int register_ftic_table_observer_secondary (FtiConfigTableObserver *ftic_table_observer)
| register_ftic_table_observer_secondary |
FtiConfigEntryGet& ftic_entry_get_primary ()
| ftic_entry_get_primary |
FtiConfigEntrySet& ftic_entry_set_primary ()
| ftic_entry_set_primary |
FtiConfigEntryObserver& ftic_entry_observer_primary ()
| ftic_entry_observer_primary |
FtiConfigTableGet& ftic_table_get_primary ()
| ftic_table_get_primary |
FtiConfigTableSet& ftic_table_set_primary ()
| ftic_table_set_primary |
FtiConfigTableObserver& ftic_table_observer_primary ()
| ftic_table_observer_primary |
FtiConfigEntrySetClick& ftic_entry_set_click ()
| ftic_entry_set_click |
int set_dummy ()
| set_dummy |
Setup the unit to behave as dummy (for testing purpose).
Returns: XORP_OK on success, otherwise XORP_ERROR.
bool is_dummy ()
| is_dummy |
[const]
Test if running in dummy mode.
Returns: true if running in dummy mode, otherwise false.
int start (string& error_msg)
| start |
Start operation.
Parameters:
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int stop (string& error_msg)
| stop |
Stop operation.
Parameters:
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
void enable_click (bool enable)
| enable_click |
Enable/disable Click support.
Parameters:
enable | if true, then enable Click support, otherwise disable it. |
int start_click (string& error_msg)
| start_click |
Start Click support.
Parameters:
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int stop_click (string& error_msg)
| stop_click |
Stop Click support.
Parameters:
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
void enable_duplicate_routes_to_kernel (bool enable)
| enable_duplicate_routes_to_kernel |
Enable/disable duplicating the Click routes to the system kernel.
Parameters:
enable | if true, then enable duplicating the Click routes to the system kernel, otherwise disable it. |
void enable_kernel_click (bool enable)
| enable_kernel_click |
Enable/disable kernel-level Click support.
Parameters:
enable | if true, then enable the kernel-level Click support, otherwise disable it. |
void enable_kernel_click_install_on_startup (bool enable)
| enable_kernel_click_install_on_startup |
Enable/disable installing kernel-level Click on startup.
Parameters:
enable | if true, then install kernel-level Click on startup. |
void set_kernel_click_modules (const list<string>& modules)
| set_kernel_click_modules |
Specify the list of kernel Click modules to load on startup if installing kernel-level Click on startup is enabled.
Parameters:
modules | the list of kernel Click modules to load. |
void set_kernel_click_mount_directory (const string& directory)
| set_kernel_click_mount_directory |
Specify the kernel-level Click mount directory.
Parameters:
directory | the kernel-level Click mount directory. |
void set_kernel_click_config_generator_file (const string& v)
| set_kernel_click_config_generator_file |
Specify the external program to generate the kernel-level Click configuration.
Parameters:
v | the name of the external program to generate the kernel-level Click configuration. |
void enable_user_click (bool enable)
| enable_user_click |
Enable/disable user-level Click support.
Parameters:
enable | if true, then enable the user-level Click support, otherwise disable it. |
void set_user_click_command_file (const string& v)
| set_user_click_command_file |
Specify the user-level Click command file.
Parameters:
v | the name of the user-level Click command file. |
void set_user_click_command_extra_arguments (const string& v)
| set_user_click_command_extra_arguments |
Specify the extra arguments to the user-level Click command.
Parameters:
v | the extra arguments to the user-level Click command. |
void set_user_click_command_execute_on_startup (bool v)
| set_user_click_command_execute_on_startup |
Specify whether to execute on startup the user-level Click command.
Parameters:
v | if true, then execute the user-level Click command on startup. |
void set_user_click_control_address (const IPv4& v)
| set_user_click_control_address |
Specify the address to use for control access to the user-level Click.
Parameters:
v | the address to use for control access to the user-level Click. |
void set_user_click_control_socket_port (uint32_t v)
| set_user_click_control_socket_port |
Specify the socket port to use for control access to the user-level Click.
Parameters:
v | the socket port to use for control access to the user-level Click. |
void set_user_click_startup_config_file (const string& v)
| set_user_click_startup_config_file |
Specify the configuration file to be used by user-level Click on startup.
Parameters:
v | the name of the configuration file to be used by user-level Click on startup. |
void set_user_click_config_generator_file (const string& v)
| set_user_click_config_generator_file |
Specify the external program to generate the user-level Click configuration.
Parameters:
v | the name of the external program to generate the user-level Click configuration. |
bool start_configuration (string& error_msg)
| start_configuration |
Start a configuration interval. All modifications must be within a marked "configuration" interval.
Parameters:
error_msg | the error message (if error). |
Returns: true if configuration successfully started.
bool end_configuration (string& error_msg)
| end_configuration |
End of configuration interval.
Parameters:
error_msg | the error message (if error). |
Returns: true configuration success pushed down into forwarding table.
bool add_entry4 (const Fte4& fte)
| add_entry4 |
[virtual]
Add a single routing entry. Must be within a configuration interval.
Parameters:
fte | the entry to add. |
Returns: true on success, otherwise false.
bool delete_entry4 (const Fte4& fte)
| delete_entry4 |
[virtual]
Delete a single routing entry. Must be with a configuration interval.
Parameters:
fte | the entry to delete. Only destination and netmask are used. |
Returns: true on success, otherwise false.
bool set_table4 (const list<Fte4>& fte_list)
| set_table4 |
[virtual]
Set the unicast forwarding table.
Parameters:
fte_list | the list with all entries to install into the unicast forwarding table. |
Returns: true on success, otherwise false.
bool delete_all_entries4 ()
| delete_all_entries4 |
[virtual]
Delete all entries in the routing table. Must be within a configuration interval.
Returns: true on success, otherwise false.
bool lookup_route_by_dest4 (const IPv4& dst, Fte4& fte)
| lookup_route_by_dest4 |
[virtual]
Lookup a route by destination address.
Parameters:
dst | host address to resolve. |
fte | return-by-reference forwarding table entry. |
Returns: true on success, otherwise false.
bool lookup_route_by_network4 (const IPv4Net& dst, Fte4& fte)
| lookup_route_by_network4 |
[virtual]
Lookup route by network address.
Parameters:
dst | network address to resolve. |
fte | return-by-reference forwarding table entry. |
Returns: true on success, otherwise false.
bool get_table4 (list<Fte4>& fte_list)
| get_table4 |
[virtual]
Obtain the unicast forwarding table.
Parameters:
fte_list | the return-by-reference list with all entries in the unicast forwarding table. |
Returns: true on success, otherwise false.
bool add_entry6 (const Fte6& fte)
| add_entry6 |
[virtual]
Add a single routing entry. Must be within a configuration interval.
Parameters:
fte | the entry to add. |
Returns: true on success, otherwise false.
bool set_table6 (const list<Fte6>& fte_list)
| set_table6 |
[virtual]
Set the unicast forwarding table.
Parameters:
fte_list | the list with all entries to install into the unicast forwarding table. |
Returns: true on success, otherwise false.
bool delete_entry6 (const Fte6& fte)
| delete_entry6 |
[virtual]
Delete a single routing entry. Must be within a configuration interval.
Parameters:
fte | the entry to delete. Only destination and netmask are used. |
Returns: true on success, otherwise false.
bool delete_all_entries6 ()
| delete_all_entries6 |
[virtual]
Delete all entries in the routing table. Must be within a configuration interval.
Returns: true on success, otherwise false.
bool lookup_route_by_dest6 (const IPv6& dst, Fte6& fte)
| lookup_route_by_dest6 |
[virtual]
Lookup a route by destination address.
Parameters:
dst | host address to resolve. |
fte | return-by-reference forwarding table entry. |
Returns: true on success, otherwise false.
bool lookup_route_by_network6 (const IPv6Net& dst, Fte6& fte)
| lookup_route_by_network6 |
[virtual]
Lookup route by network address.
Parameters:
dst | network address to resolve. |
fte | return-by-reference forwarding table entry. |
Returns: true on success, otherwise false.
bool get_table6 (list<Fte6>& fte_list)
| get_table6 |
[virtual]
Obtain the unicast forwarding table.
Parameters:
fte_list | the return-by-reference list with all entries in the unicast forwarding table. |
Returns: true on success, otherwise false.
bool add_fib_table_observer (FibTableObserverBase* fib_table_observer)
| add_fib_table_observer |
Add a FIB table observer.
Parameters:
fib_table_observer | the FIB table observer to add. |
Returns: true on success, otherwise false.
bool delete_fib_table_observer (FibTableObserverBase* fib_table_observer)
| delete_fib_table_observer |
Delete a FIB table observer.
Parameters:
fib_table_observer | the FIB table observer to delete. |
Returns: true on success, otherwise false.
bool have_ipv4 ()
| have_ipv4 |
[const]
Return true if the underlying system supports IPv4.
Returns: true if the underlying system supports IPv4, otherwise false.
bool have_ipv6 ()
| have_ipv6 |
[const]
Return true if the underlying system supports IPv6.
Returns: true if the underlying system supports IPv6, otherwise false.
bool test_have_ipv4 ()
| test_have_ipv4 |
[const]
Test if the underlying system supports IPv4.
Returns: true if the underlying system supports IPv4, otherwise false.
bool test_have_ipv6 ()
| test_have_ipv6 |
[const]
Test if the underlying system supports IPv6.
Returns: true if the underlying system supports IPv6, otherwise false.
int unicast_forwarding_enabled4 (bool& ret_value, string& error_msg)
| unicast_forwarding_enabled4 |
[const]
Test whether the IPv4 unicast forwarding engine is enabled or disabled to forward packets.
Parameters:
ret_value | if true on return, then the IPv4 unicast forwarding is enabled, otherwise is disabled. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unicast_forwarding_enabled6 (bool& ret_value, string& error_msg)
| unicast_forwarding_enabled6 |
[const]
Test whether the IPv6 unicast forwarding engine is enabled or disabled to forward packets.
Parameters:
ret_value | if true on return, then the IPv6 unicast forwarding is enabled, otherwise is disabled. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int accept_rtadv_enabled6 (bool& ret_value, string& error_msg)
| accept_rtadv_enabled6 |
[const]
Test whether the acceptance of IPv6 Router Advertisement messages is enabled or disabled.
Parameters:
ret_value | if true on return, then the acceptance of IPv6 Router Advertisement messages is enabled, otherwise is disabled. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int set_unicast_forwarding_enabled4 (bool v, string& error_msg)
| set_unicast_forwarding_enabled4 |
Set the IPv4 unicast forwarding engine to enable or disable forwarding of packets.
Parameters:
v | if true, then enable IPv4 unicast forwarding, otherwise disable it. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int set_unicast_forwarding_enabled6 (bool v, string& error_msg)
| set_unicast_forwarding_enabled6 |
Set the IPv6 unicast forwarding engine to enable or disable forwarding of packets.
Parameters:
v | if true, then enable IPv6 unicast forwarding, otherwise disable it. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int set_accept_rtadv_enabled6 (bool v, string& error_msg)
| set_accept_rtadv_enabled6 |
Enable or disable the acceptance of IPv6 Router Advertisement messages from other routers. It should be enabled for hosts, and disabled for routers.
Parameters:
v | if true, then enable the acceptance of IPv6 Router Advertisement messages, otherwise disable it. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
Trie4& trie4 ()
| trie4 |
Get the IPv4 Trie (used for testing purpose).
Returns: the IPv4 Trie.
Trie6& trie6 ()
| trie6 |
Get the IPv6 Trie (used for testing purpose).
Returns: the IPv6 Trie.
Trie4 _trie4 | _trie4 |
[protected]
Trie6 _trie6 | _trie6 |
[protected]