| XrlCmdMap* _cmds | _cmds | 
[protected]
| XrlMfeaTargetBase (XrlCmdMap* cmds = 0) | XrlMfeaTargetBase | 
Constructor.
Parameters:
| cmds | an 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:
| cmds | pointer 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:
| 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:
| 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_name | the processor name for this command. | 
| cli_term_name | the terminal name the command was entered from. | 
| cli_session_id | the CLI session ID the command was entered from. | 
| command_name | the command name to process. | 
| command_args | the command arguments to process. | 
| ret_processor_name | the processor name to return back to the CLI. | 
| ret_cli_term_name | the terminal name to return back. | 
| ret_cli_session_id | the CLI session ID to return back. | 
| ret_command_output | the 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:
| result | true 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:
| result | true 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_name | the XRL name of the originator of this XRL. | 
| protocol_name | the name of the protocol to add/delete. | 
| protocol_id | the 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_name | the XRL name of the originator of this XRL. | 
| protocol_name | the name of the protocol to start/stop on the particular vif. | 
| protocol_id | the ID of the protocol to add/stop on the particular vif (both sides must agree on the particular values). | 
| vif_name | the name of the vif to start/stop for the particular protocol. | 
| vif_index | the 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_name | the XRL name of the originator of this XRL. | 
| protocol_name | the name of the protocol to add. | 
| protocol_id | the ID of the protocol to add (both sides must agree on the particular values). | 
| is_allow | if 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_name | the XRL name of the originator of this XRL. | 
| protocol_name | the name of the protocol to add. | 
| protocol_id | the ID of the protocol to add (both sides must agree on the particular values). | 
| is_allow | if 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_name | the XRL name of the originator of this XRL. | 
| protocol_name | the name of the protocol that joins/leave the group. | 
| protocol_id | the ID of the protocol that joins/leave the group (both sides must agree on the particular values). | 
| vif_name | the name of the vif to join/leave the multicast group. | 
| vif_index | the index of the vif to join/leave the multicast group. | 
| group_address | the 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_name | the XRL name of the originator of this XRL. | 
| source_address | the source address of the MFC to add/delete. | 
| group_address | the group address of the MFC to add/delete. | 
| iif_vif_index | the index of the vif that is the incoming interface. | 
| oiflist | the bit-vector with the set of outgoing interfaces. | 
| oiflist_disable_wrongvif | the bit-vector with the set of outgoing interfaces to disable WRONGVIF kernel signal. | 
| max_vifs_oiflist | the number of vifs covered by oiflist or oiflist_disable_wrongvif . | 
| rp_address | the 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_name | the XRL name of the originator of this XRL. | 
| protocol_name | the name of the protocol that sends a message. | 
| protocol_id | the ID of the protocol that sends a message (both sides must agree on the particular values). | 
| vif_name | the name of the vif to send the message. | 
| vif_index | the vif index of the vif to send the message. | 
| source_address | the address of the sender. | 
| dest_address | the destination address. | 
| ip_ttl | the TTL of the IP packet to send. If it has a negative value, the TTL will be set by the lower layers. | 
| ip_tos | the TOS of the IP packet to send. If it has a negative value, the TOS will be set by the lower layers. | 
| is_router_alert | set/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_name | the XRL name of the originator of this XRL. | 
| source_address | the source address of the dataflow to start/stop monitoring. | 
| group_address | the group address of the dataflow to start/stop monitoring. | 
| threshold_interval_sec | the number of seconds in the interval to measure. | 
| threshold_interval_usec | the number of microseconds in the interval to measure. | 
| threshold_packets | the threshold (in number of packets) to compare against. | 
| threshold_bytes | the threshold (in number of bytes) to compare against. | 
| is_threshold_in_packets | if true, threshold_packets is valid. | 
| is_threshold_in_bytes | if true, threshold_bytes is valid. | 
| is_geq_upcall | if true, the operation for comparison is ">=". | 
| is_leq_upcall | if 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_name | the name of the vif to enable/disable/start/stop. | 
| enable | if 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:
| enable | if 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:
| enable | if 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:
| enable | if 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:
| enable | if 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_preference | the 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]