class IfConfig

Base class for pushing and pulling interface configurations down to the particular platform. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

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:

eventloopthe event loop.
urupdate reporter that receives updates through when configurations are pushed down and when triggered spontaneously on the underlying platform.
ererror reporter that errors are propagated through when configurations are pushed down.
nexthop_port_mapperthe 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

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_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop (string& error_msg)

stop

Stop operation.

Parameters:

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

enableif true, then enable Click support, otherwise disable it.
int  start_click (string& error_msg)

start_click

Start Click support.

Parameters:

error_msgthe 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_msgthe 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:

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

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

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

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

directorythe kernel-level Click mount directory.
void  enable_user_click (bool enable)

enable_user_click

Enable/disable user-level Click support.

Parameters:

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

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

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

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

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

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

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

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

configthe 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

IfTreeInterfaceget_if (IfTree& it, const string& ifname)

get_if

IfTreeVifget_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


Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:05 2005, using kdoc $.