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