class FtiConfig

Forwarding Table Interface. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Members


Detailed Description

Abstract class.

 FtiConfig (EventLoop& eventloop, Profile& profile, IfTree& iftree, NexthopPortMapper& nexthop_port_mapper)

FtiConfig

Constructor.

Parameters:

eventloopthe event loop.
profilethe profile entity.
nexthop_port_mapperthe 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_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.

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  enable_duplicate_routes_to_kernel (bool enable)

enable_duplicate_routes_to_kernel

Enable/disable duplicating the Click routes to the system kernel.

Parameters:

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

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  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_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  start_configuration (string& error_msg)

start_configuration

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

Parameters:

error_msgthe error message (if error).

Returns: true if configuration successfully started.

bool  end_configuration (string& error_msg)

end_configuration

End of configuration interval.

Parameters:

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

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

ftethe 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_listthe 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:

dsthost address to resolve.
ftereturn-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:

dstnetwork address to resolve.
ftereturn-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_listthe 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:

ftethe 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_listthe 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:

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

dsthost address to resolve.
ftereturn-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:

dstnetwork address to resolve.
ftereturn-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_listthe 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_observerthe 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_observerthe 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_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  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_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.

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

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

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

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.

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]


Generated by: pavlin on possum.icir.org on Thu Mar 9 04:43:06 2006, using kdoc $.