|
| ||||||||||||||||
Base class for pushing and pulling interface configurations down to the particular platform.
| IfConfig (EventLoop& eventloop, IfConfigUpdateReporterBase& ur,
IfConfigErrorReporterBase& er,
NexthopPortMapper& nexthop_port_mapper)
| IfConfig |
Constructor.
Parameters:
| eventloop | the event loop. |
| ur | update reporter that receives updates through when configurations are pushed down and when triggered spontaneously on the underlying platform. |
| er | error reporter that errors are propagated through when configurations are pushed down. |
| nexthop_port_mapper | the next-hop port mapper. |
| ~IfConfig ()
| ~IfConfig |
[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.
| inline IfConfigErrorReporterBase& er ()
| er |
Get error reporter associated with IfConfig.
| IfTree& live_config ()
| live_config |
| void set_live_config (const IfTree& it)
| set_live_config |
| const IfTree& pulled_config ()
| pulled_config |
| IfTree& pushed_config ()
| pushed_config |
| IfTree* local_config ()
| local_config |
| void hook_local_config (IfTree* v)
| hook_local_config |
| bool restore_original_config_on_shutdown ()
| restore_original_config_on_shutdown |
[const]
Test whether the original configuration should be restored on shutdown.
Returns: true of the original configuration should be restored on shutdown, otherwise false.
| void set_restore_original_config_on_shutdown (bool v)
| set_restore_original_config_on_shutdown |
Set the flag whether the original configuration should be restored on shutdown.
Parameters:
| v | if true the original configuration should be restored on shutdown. |
| int register_ifc_get_primary (IfConfigGet *ifc_get)
| register_ifc_get_primary |
| int register_ifc_set_primary (IfConfigSet *ifc_set)
| register_ifc_set_primary |
| int register_ifc_observer_primary (IfConfigObserver *ifc_observer)
| register_ifc_observer_primary |
| int register_ifc_get_secondary (IfConfigGet *ifc_get)
| register_ifc_get_secondary |
| int register_ifc_set_secondary (IfConfigSet *ifc_set)
| register_ifc_set_secondary |
| int register_ifc_observer_secondary (IfConfigObserver *ifc_observer)
| register_ifc_observer_secondary |
| IfConfigGet& ifc_get_primary ()
| ifc_get_primary |
| IfConfigSet& ifc_set_primary ()
| ifc_set_primary |
| IfConfigObserver& ifc_observer_primary ()
| ifc_observer_primary |
| IfConfigGet& ifc_get_ioctl ()
| ifc_get_ioctl |
| IfConfigSetClick& ifc_set_click ()
| ifc_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.
| 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.
| 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 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_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 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 push_config (IfTree& config)
| push_config |
Push IfTree structure down to platform. Errors are reported via the constructor supplied ErrorReporter instance.
Note that on return some of the interface tree configuration state may be modified.
Parameters:
| config | the configuration to be pushed down. |
Returns: true on success, otherwise false.
| const IfTree& pull_config ()
| pull_config |
Pull up current config from platform.
Returns: the platform IfTree.
| void flush_config ()
| flush_config |
| IfTreeInterface * get_if (IfTree& it, const string& ifname)
| get_if |
| IfTreeVif * get_vif (IfTree& it, const string& ifname,
const string& vifname)
| get_vif |
| const string& push_error ()
| push_error |
[const]
Get error message associated with push operation.
| bool report_update (const IfTreeInterface& fi,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeInterface and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
| bool report_update (const IfTreeInterface& fi, const IfTreeVif& fv,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeVif and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
| bool report_update (const IfTreeInterface& fi,
const IfTreeVif& fv,
const IfTreeAddr4& fa,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeAddr4 and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
| bool report_update (const IfTreeInterface& fi,
const IfTreeVif& fv,
const IfTreeAddr6& fa,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeAddr6 and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
| void report_updates_completed (bool is_system_interfaces_reportee)
| report_updates_completed |
Report that updates were completed to IfConfigUpdateReporter.
| void report_updates (const IfTree& it, bool is_system_interfaces_reportee)
| report_updates |
Check every item within IfTree and report updates to IfConfigUpdateReporter.
| void map_ifindex (uint32_t if_index, const string& ifname)
| map_ifindex |
| void unmap_ifindex (uint32_t if_index)
| unmap_ifindex |
| const char* find_ifname (uint32_t if_index)
| find_ifname |
[const]
| uint32_t find_ifindex (const string& ifname)
| find_ifindex |
[const]
| const char* get_insert_ifname (uint32_t if_index)
| get_insert_ifname |
| uint32_t get_insert_ifindex (const string& ifname)
| get_insert_ifindex |