class XrlMfeaTargetBase


 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods

Protected Members


Detailed Description

XrlCmdMap* _cmds

_cmds

[protected]

 XrlMfeaTargetBase (XrlCmdMap* cmds = 0)

XrlMfeaTargetBase

Constructor.

Parameters:

cmdsan XrlCmdMap that the commands associated with the target should be added to. This is typically the XrlRouter associated with the target.
 ~XrlMfeaTargetBase ()

~XrlMfeaTargetBase

[virtual]

Destructor.

Dissociates instance commands from command map.

bool  set_command_map (XrlCmdMap* cmds)

set_command_map

Set command map.

Parameters:

cmdspointer to command map to associate commands with. This argument is typically a pointer to the XrlRouter associated with the target.

Returns: true on success, false if cmds is null or a command map has already been supplied.

inline const string&  name ()

name

[const]

Get Xrl instance name associated with command map.

inline const char*  version ()

version

[const]

Get version string of instance.

XrlCmdError  common_0_1_get_target_name ( string& name)

common_0_1_get_target_name

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get name of Xrl Target

XrlCmdError  common_0_1_get_version ( string& version)

common_0_1_get_version

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get version string from Xrl Target

XrlCmdError  common_0_1_get_status ( uint32_t& status, string& reason)

common_0_1_get_status

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get status of Xrl Target

XrlCmdError  common_0_1_shutdown ()

common_0_1_shutdown

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Request clean shutdown of Xrl Target

XrlCmdError  cli_processor_0_1_process_command ( const string& processor_name, const string& cli_term_name, const uint32_t& cli_session_id, const string& command_name, const string& command_args, string& ret_processor_name, string& ret_cli_term_name, uint32_t& ret_cli_session_id, string& ret_command_output)

cli_processor_0_1_process_command

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Process a CLI command.

Parameters:

processor_namethe processor name for this command.
cli_term_namethe terminal name the command was entered from.
cli_session_idthe CLI session ID the command was entered from.
command_namethe command name to process.
command_argsthe command arguments to process.
ret_processor_namethe processor name to return back to the CLI.
ret_cli_term_namethe terminal name to return back.
ret_cli_session_idthe CLI session ID to return back.
ret_command_outputthe command output to return back.
XrlCmdError  mfea_0_1_have_multicast_routing4 ( bool& result)

mfea_0_1_have_multicast_routing4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Test if the underlying system supports IPv4 multicast routing.

Parameters:

resulttrue if the underlying system supports IPv4 multicast routing, otherwise false.
XrlCmdError  mfea_0_1_have_multicast_routing6 ( bool& result)

mfea_0_1_have_multicast_routing6

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Test if the underlying system supports IPv6 multicast routing.

Parameters:

resulttrue if the underlying system supports IPv6 multicast routing, otherwise false.
XrlCmdError  mfea_0_1_add_protocol4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id)

mfea_0_1_add_protocol4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Add/delete a protocol in the Multicast FEA.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
protocol_namethe name of the protocol to add/delete.
protocol_idthe ID of the protocol to add/delete (both sides must agree on the particular values).
XrlCmdError  mfea_0_1_add_protocol6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id)

mfea_0_1_add_protocol6

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_protocol4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id)

mfea_0_1_delete_protocol4

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_protocol6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id)

mfea_0_1_delete_protocol6

[protected pure virtual]

XrlCmdError  mfea_0_1_start_protocol_vif4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index)

mfea_0_1_start_protocol_vif4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Start/stop a protocol on an interface in the Multicast FEA.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
protocol_namethe name of the protocol to start/stop on the particular vif.
protocol_idthe ID of the protocol to add/stop on the particular vif (both sides must agree on the particular values).
vif_namethe name of the vif to start/stop for the particular protocol.
vif_indexthe index of the vif to start/stop for the particular protocol.
XrlCmdError  mfea_0_1_start_protocol_vif6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index)

mfea_0_1_start_protocol_vif6

[protected pure virtual]

XrlCmdError  mfea_0_1_stop_protocol_vif4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index)

mfea_0_1_stop_protocol_vif4

[protected pure virtual]

XrlCmdError  mfea_0_1_stop_protocol_vif6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index)

mfea_0_1_stop_protocol_vif6

[protected pure virtual]

XrlCmdError  mfea_0_1_allow_signal_messages ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const bool& is_allow)

mfea_0_1_allow_signal_messages

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable the receiving of kernel-originated signal messages.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
protocol_namethe name of the protocol to add.
protocol_idthe ID of the protocol to add (both sides must agree on the particular values).
is_allowif true, enable the receiving of kernel-originated signal messages by protocol 'protocol_name'.
XrlCmdError  mfea_0_1_allow_mrib_messages ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const bool& is_allow)

mfea_0_1_allow_mrib_messages

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable the receiving of Multicast Routing Information Base information.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
protocol_namethe name of the protocol to add.
protocol_idthe ID of the protocol to add (both sides must agree on the particular values).
is_allowif true, enable the receiving of MRIB information messages by protocol 'protocol_name'.
XrlCmdError  mfea_0_1_join_multicast_group4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index, const IPv4& group_address)

mfea_0_1_join_multicast_group4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Join/leave a multicast group.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
protocol_namethe name of the protocol that joins/leave the group.
protocol_idthe ID of the protocol that joins/leave the group (both sides must agree on the particular values).
vif_namethe name of the vif to join/leave the multicast group.
vif_indexthe index of the vif to join/leave the multicast group.
group_addressthe multicast group to join/leave.
XrlCmdError  mfea_0_1_join_multicast_group6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index, const IPv6& group_address)

mfea_0_1_join_multicast_group6

[protected pure virtual]

XrlCmdError  mfea_0_1_leave_multicast_group4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index, const IPv4& group_address)

mfea_0_1_leave_multicast_group4

[protected pure virtual]

XrlCmdError  mfea_0_1_leave_multicast_group6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index, const IPv6& group_address)

mfea_0_1_leave_multicast_group6

[protected pure virtual]

XrlCmdError  mfea_0_1_add_mfc4 ( const string& xrl_sender_name, const IPv4& source_address, const IPv4& group_address, const uint32_t& iif_vif_index, const vector<uint8_t>& oiflist, const vector<uint8_t>& oiflist_disable_wrongvif, const uint32_t& max_vifs_oiflist, const IPv4& rp_address)

mfea_0_1_add_mfc4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Add/delete a Multicast Forwarding Cache with the kernel.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
source_addressthe source address of the MFC to add/delete.
group_addressthe group address of the MFC to add/delete.
iif_vif_indexthe index of the vif that is the incoming interface.
oiflistthe bit-vector with the set of outgoing interfaces.
oiflist_disable_wrongvifthe bit-vector with the set of outgoing interfaces to disable WRONGVIF kernel signal.
max_vifs_oiflistthe number of vifs covered by oiflist or oiflist_disable_wrongvif .
rp_addressthe RP address of the MFC to add.
XrlCmdError  mfea_0_1_add_mfc6 ( const string& xrl_sender_name, const IPv6& source_address, const IPv6& group_address, const uint32_t& iif_vif_index, const vector<uint8_t>& oiflist, const vector<uint8_t>& oiflist_disable_wrongvif, const uint32_t& max_vifs_oiflist, const IPv6& rp_address)

mfea_0_1_add_mfc6

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_mfc4 ( const string& xrl_sender_name, const IPv4& source_address, const IPv4& group_address)

mfea_0_1_delete_mfc4

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_mfc6 ( const string& xrl_sender_name, const IPv6& source_address, const IPv6& group_address)

mfea_0_1_delete_mfc6

[protected pure virtual]

XrlCmdError  mfea_0_1_send_protocol_message4 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index, const IPv4& source_address, const IPv4& dest_address, const int32_t& ip_ttl, const int32_t& ip_tos, const bool& is_router_alert, const vector<uint8_t>& protocol_message)

mfea_0_1_send_protocol_message4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Send a protocol message to the MFEA.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
protocol_namethe name of the protocol that sends a message.
protocol_idthe ID of the protocol that sends a message (both sides must agree on the particular values).
vif_namethe name of the vif to send the message.
vif_indexthe vif index of the vif to send the message.
source_addressthe address of the sender.
dest_addressthe destination address.
ip_ttlthe TTL of the IP packet to send. If it has a negative value, the TTL will be set by the lower layers.
ip_tosthe TOS of the IP packet to send. If it has a negative value, the TOS will be set by the lower layers.
is_router_alertset/reset the IP Router Alert option in the IP packet to send (when applicable).
XrlCmdError  mfea_0_1_send_protocol_message6 ( const string& xrl_sender_name, const string& protocol_name, const uint32_t& protocol_id, const string& vif_name, const uint32_t& vif_index, const IPv6& source_address, const IPv6& dest_address, const int32_t& ip_ttl, const int32_t& ip_tos, const bool& is_router_alert, const vector<uint8_t>& protocol_message)

mfea_0_1_send_protocol_message6

[protected pure virtual]

XrlCmdError  mfea_0_1_add_dataflow_monitor4 ( const string& xrl_sender_name, const IPv4& source_address, const IPv4& group_address, const uint32_t& threshold_interval_sec, const uint32_t& threshold_interval_usec, const uint32_t& threshold_packets, const uint32_t& threshold_bytes, const bool& is_threshold_in_packets, const bool& is_threshold_in_bytes, const bool& is_geq_upcall, const bool& is_leq_upcall)

mfea_0_1_add_dataflow_monitor4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Add/delete a dataflow monitor with the MFEA.

Parameters:

xrl_sender_namethe XRL name of the originator of this XRL.
source_addressthe source address of the dataflow to start/stop monitoring.
group_addressthe group address of the dataflow to start/stop monitoring.
threshold_interval_secthe number of seconds in the interval to measure.
threshold_interval_usecthe number of microseconds in the interval to measure.
threshold_packetsthe threshold (in number of packets) to compare against.
threshold_bytesthe threshold (in number of bytes) to compare against.
is_threshold_in_packetsif true, threshold_packets is valid.
is_threshold_in_bytesif true, threshold_bytes is valid.
is_geq_upcallif true, the operation for comparison is ">=".
is_leq_upcallif true, the operation for comparison is "<=".
XrlCmdError  mfea_0_1_add_dataflow_monitor6 ( const string& xrl_sender_name, const IPv6& source_address, const IPv6& group_address, const uint32_t& threshold_interval_sec, const uint32_t& threshold_interval_usec, const uint32_t& threshold_packets, const uint32_t& threshold_bytes, const bool& is_threshold_in_packets, const bool& is_threshold_in_bytes, const bool& is_geq_upcall, const bool& is_leq_upcall)

mfea_0_1_add_dataflow_monitor6

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_dataflow_monitor4 ( const string& xrl_sender_name, const IPv4& source_address, const IPv4& group_address, const uint32_t& threshold_interval_sec, const uint32_t& threshold_interval_usec, const uint32_t& threshold_packets, const uint32_t& threshold_bytes, const bool& is_threshold_in_packets, const bool& is_threshold_in_bytes, const bool& is_geq_upcall, const bool& is_leq_upcall)

mfea_0_1_delete_dataflow_monitor4

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_dataflow_monitor6 ( const string& xrl_sender_name, const IPv6& source_address, const IPv6& group_address, const uint32_t& threshold_interval_sec, const uint32_t& threshold_interval_usec, const uint32_t& threshold_packets, const uint32_t& threshold_bytes, const bool& is_threshold_in_packets, const bool& is_threshold_in_bytes, const bool& is_geq_upcall, const bool& is_leq_upcall)

mfea_0_1_delete_dataflow_monitor6

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_all_dataflow_monitor4 ( const string& xrl_sender_name, const IPv4& source_address, const IPv4& group_address)

mfea_0_1_delete_all_dataflow_monitor4

[protected pure virtual]

XrlCmdError  mfea_0_1_delete_all_dataflow_monitor6 ( const string& xrl_sender_name, const IPv6& source_address, const IPv6& group_address)

mfea_0_1_delete_all_dataflow_monitor6

[protected pure virtual]

XrlCmdError  mfea_0_1_enable_vif ( const string& vif_name, const bool& enable)

mfea_0_1_enable_vif

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable/start/stop a MFEA vif interface.

Parameters:

vif_namethe name of the vif to enable/disable/start/stop.
enableif true, then enable the vif, otherwise disable it.
XrlCmdError  mfea_0_1_start_vif ( const string& vif_name)

mfea_0_1_start_vif

[protected pure virtual]

XrlCmdError  mfea_0_1_stop_vif ( const string& vif_name)

mfea_0_1_stop_vif

[protected pure virtual]

XrlCmdError  mfea_0_1_enable_all_vifs ( const bool& enable)

mfea_0_1_enable_all_vifs

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable/start/stop all MFEA vif interfaces.

Parameters:

enableif true, then enable the vifs, otherwise disable them.
XrlCmdError  mfea_0_1_start_all_vifs ()

mfea_0_1_start_all_vifs

[protected pure virtual]

XrlCmdError  mfea_0_1_stop_all_vifs ()

mfea_0_1_stop_all_vifs

[protected pure virtual]

XrlCmdError  mfea_0_1_enable_mfea ( const bool& enable)

mfea_0_1_enable_mfea

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable/start/stop the MFEA.

Parameters:

enableif true, then enable the MFEA, otherwise disable it.
XrlCmdError  mfea_0_1_start_mfea ()

mfea_0_1_start_mfea

[protected pure virtual]

XrlCmdError  mfea_0_1_stop_mfea ()

mfea_0_1_stop_mfea

[protected pure virtual]

XrlCmdError  mfea_0_1_enable_cli ( const bool& enable)

mfea_0_1_enable_cli

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable/start/stop the MFEA CLI access.

Parameters:

enableif true, then enable the MFEA CLI access, otherwise disable it.
XrlCmdError  mfea_0_1_start_cli ()

mfea_0_1_start_cli

[protected pure virtual]

XrlCmdError  mfea_0_1_stop_cli ()

mfea_0_1_stop_cli

[protected pure virtual]

XrlCmdError  mfea_0_1_log_trace_all ( const bool& enable)

mfea_0_1_log_trace_all

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/disable the MFEA trace log for all operations.

Parameters:

enableif true, then enable the trace log, otherwise disable it.
XrlCmdError  mfea_0_1_get_mrib_table_default_metric_preference ( uint32_t& metric_preference)

mfea_0_1_get_mrib_table_default_metric_preference

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Configure MFEA MRIB-related parameters. The 'set_foo' XRLs set the particular values. The 'reset_foo' XRLs reset the metrics to their default values.

Parameters:

metric_preferencethe MRIB metric preference.
XrlCmdError  mfea_0_1_set_mrib_table_default_metric_preference ( const uint32_t& metric_preference)

mfea_0_1_set_mrib_table_default_metric_preference

[protected pure virtual]

XrlCmdError  mfea_0_1_reset_mrib_table_default_metric_preference ()

mfea_0_1_reset_mrib_table_default_metric_preference

[protected pure virtual]

XrlCmdError  mfea_0_1_get_mrib_table_default_metric ( uint32_t& metric)

mfea_0_1_get_mrib_table_default_metric

[protected pure virtual]

XrlCmdError  mfea_0_1_set_mrib_table_default_metric ( const uint32_t& metric)

mfea_0_1_set_mrib_table_default_metric

[protected pure virtual]

XrlCmdError  mfea_0_1_reset_mrib_table_default_metric ()

mfea_0_1_reset_mrib_table_default_metric

[protected pure virtual]


Generated by: pavlin on possum.icir.org on Thu Jul 8 23:48:20 2004, using kdoc $.