XrlMfeaNode (int family,
xorp_module_id module_id,
EventLoop& eventloop,
const string& class_name,
const string& finder_hostname,
uint16_t finder_port,
const string& finder_target,
const string& fea_target)
| XrlMfeaNode |
~XrlMfeaNode ()
| ~XrlMfeaNode |
[virtual]
bool startup ()
| startup |
Startup the node operation.
Returns: true on success, false on failure.
bool shutdown ()
| shutdown |
Shutdown the node operation.
Returns: true on success, false on failure.
XrlRouter& xrl_router ()
| xrl_router |
Get a reference to the XrlRouter instance.
Returns: a reference to the XrlRouter (XrlRouter) instance.
int enable_cli ()
| enable_cli |
int disable_cli ()
| disable_cli |
int start_cli ()
| start_cli |
int stop_cli ()
| stop_cli |
int enable_mfea ()
| enable_mfea |
int disable_mfea ()
| disable_mfea |
int start_mfea ()
| start_mfea |
int stop_mfea ()
| stop_mfea |
XrlCmdError common_0_1_get_target_name (
string& name)
| common_0_1_get_target_name |
[protected]
Get name of Xrl Target
Reimplemented from XrlMfeaTargetBase.
XrlCmdError common_0_1_get_version (
string& version)
| common_0_1_get_version |
[protected]
Get version string from Xrl Target
Reimplemented from XrlMfeaTargetBase.
XrlCmdError common_0_1_get_status (
uint32_t& status,
string& reason)
| common_0_1_get_status |
[protected]
Get status from Xrl Target
Reimplemented from XrlMfeaTargetBase.
XrlCmdError common_0_1_shutdown ()
| common_0_1_shutdown |
[protected]
Shutdown cleanly
Reimplemented from XrlMfeaTargetBase.
XrlCmdError finder_event_observer_0_1_xrl_target_birth (
const string& target_class,
const string& target_instance)
| finder_event_observer_0_1_xrl_target_birth |
[protected]
Announce target birth to observer.
Parameters:
target_class | the target class name. |
target_instance | the target instance name. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError finder_event_observer_0_1_xrl_target_death (
const string& target_class,
const string& target_instance)
| finder_event_observer_0_1_xrl_target_death |
[protected]
Announce target death to observer.
Parameters:
target_class | the target class name. |
target_instance | the target instance name. |
Reimplemented from XrlMfeaTargetBase.
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]
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. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_have_multicast_routing4 (
bool& result)
| mfea_0_1_have_multicast_routing4 |
[protected]
Test if the underlying system supports IPv4 multicast routing.
Parameters:
result | true if the underlying system supports IPv4 multicast routing, otherwise false. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_have_multicast_routing6 (
bool& result)
| mfea_0_1_have_multicast_routing6 |
[protected]
Test if the underlying system supports IPv6 multicast routing.
Parameters:
result | true if the underlying system supports IPv6 multicast routing, otherwise false. |
Reimplemented from XrlMfeaTargetBase.
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]
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). |
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
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. |
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
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 |
Reimplemented from XrlMfeaTargetBase.
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]
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 |
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
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. |
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
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). |
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
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 "<=". |
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
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]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_enable_vif (
const string& vif_name,
const bool& enable)
| mfea_0_1_enable_vif |
[protected]
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. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_start_vif (
const string& vif_name)
| mfea_0_1_start_vif |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_stop_vif (
const string& vif_name)
| mfea_0_1_stop_vif |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_enable_all_vifs (
const bool& enable)
| mfea_0_1_enable_all_vifs |
[protected]
Enable/disable/start/stop all MFEA vif interfaces.
Parameters:
enable | if true, then enable the vifs, otherwise disable them. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_start_all_vifs ()
| mfea_0_1_start_all_vifs |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_stop_all_vifs ()
| mfea_0_1_stop_all_vifs |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_enable_mfea (
const bool& enable)
| mfea_0_1_enable_mfea |
[protected]
Enable/disable/start/stop the MFEA.
Parameters:
enable | if true, then enable the MFEA, otherwise disable it. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_start_mfea ()
| mfea_0_1_start_mfea |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_stop_mfea ()
| mfea_0_1_stop_mfea |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_enable_cli (
const bool& enable)
| mfea_0_1_enable_cli |
[protected]
Enable/disable/start/stop the MFEA CLI access.
Parameters:
enable | if true, then enable the MFEA CLI access, otherwise disable it. |
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_start_cli ()
| mfea_0_1_start_cli |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_stop_cli ()
| mfea_0_1_stop_cli |
[protected]
Reimplemented from XrlMfeaTargetBase.
XrlCmdError mfea_0_1_log_trace_all (
const bool& enable)
| mfea_0_1_log_trace_all |
[protected]
Enable/disable the MFEA trace log for all operations.
Parameters:
enable | if true, then enable the trace log, otherwise disable it. |
Reimplemented from XrlMfeaTargetBase.