XrlMld6igmpNode (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& mfea_target)
| XrlMld6igmpNode |
~XrlMld6igmpNode ()
| ~XrlMld6igmpNode |
[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_mld6igmp ()
| enable_mld6igmp |
int disable_mld6igmp ()
| disable_mld6igmp |
int start_mld6igmp ()
| start_mld6igmp |
int stop_mld6igmp ()
| stop_mld6igmp |
void send_mfea_add_delete_protocol ()
| send_mfea_add_delete_protocol |
void send_start_stop_protocol_kernel_vif ()
| send_start_stop_protocol_kernel_vif |
void send_join_leave_multicast_group ()
| send_join_leave_multicast_group |
void send_protocol_message ()
| send_protocol_message |
XrlCmdError common_0_1_get_target_name (
string& name)
| common_0_1_get_target_name |
[protected]
Get name of Xrl Target
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError common_0_1_get_version (
string& version)
| common_0_1_get_version |
[protected]
Get version string from Xrl Target
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError common_0_1_get_status (
uint32_t& status,
string& reason)
| common_0_1_get_status |
[protected]
Get status from Xrl Target
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError common_0_1_shutdown ()
| common_0_1_shutdown |
[protected]
Shutdown cleanly
Reimplemented from XrlMld6igmpTargetBase.
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 XrlMld6igmpTargetBase.
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 XrlMld6igmpTargetBase.
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 XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_new_vif (
const string& vif_name,
const uint32_t& vif_index)
| mfea_client_0_1_new_vif |
[protected]
Add a new vif.
Parameters:
vif_name | the name of the new vif. |
vif_index | the index of the new vif. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_delete_vif (
const string& vif_name)
| mfea_client_0_1_delete_vif |
[protected]
Delete an existing vif.
Parameters:
vif_name | the name of the vif to delete. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_add_vif_addr4 (
const string& vif_name,
const IPv4& addr,
const IPv4Net& subnet,
const IPv4& broadcast,
const IPv4& peer)
| mfea_client_0_1_add_vif_addr4 |
[protected]
Add an address to a vif.
Parameters:
vif_name | the name of the vif. |
addr | the unicast address to add. |
subnet | the subnet address to add. |
broadcast | the broadcast address (when applicable). |
peer | the peer address (when applicable). |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_add_vif_addr6 (
const string& vif_name,
const IPv6& addr,
const IPv6Net& subnet,
const IPv6& broadcast,
const IPv6& peer)
| mfea_client_0_1_add_vif_addr6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_delete_vif_addr4 (
const string& vif_name,
const IPv4& addr)
| mfea_client_0_1_delete_vif_addr4 |
[protected]
Delete an address from a vif.
Parameters:
vif_name | the name of the vif. |
addr | the unicast address to delete. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_delete_vif_addr6 (
const string& vif_name,
const IPv6& addr)
| mfea_client_0_1_delete_vif_addr6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_set_vif_flags (
const string& vif_name,
const bool& is_pim_register,
const bool& is_p2p,
const bool& is_loopback,
const bool& is_multicast,
const bool& is_broadcast,
const bool& is_up)
| mfea_client_0_1_set_vif_flags |
[protected]
Set flags to a vif.
Parameters:
vif_name | the name of the vif. |
is_pim_register | true if this is a PIM Register vif. |
is_p2p | true if this is a point-to-point vif. |
is_loopback | true if this is a loopback interface. |
is_multicast | true if the vif is multicast-capable. |
is_broadcast | true if the vif is broadcast-capable. |
is_up | true if the vif is UP and running. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_set_all_vifs_done ()
| mfea_client_0_1_set_all_vifs_done |
[protected]
Complete all transactions with vif information.
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_is_vif_setup_completed (
bool& is_completed)
| mfea_client_0_1_is_vif_setup_completed |
[protected]
Test if the vif setup is completed.
Parameters:
is_completed | if true the vif setup is completed. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_recv_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_client_0_1_recv_protocol_message4 |
[protected]
Receive a protocol message from 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 the message was received on. |
vif_index | the index of the vif the message was received on. |
source_address | the address of the sender. |
dest_address | the destination address. |
ip_ttl | the TTL of the received IP packet. If it has a negative value, it should be ignored. |
ip_tos | the TOS of the received IP packet. If it has a negative value, it should be ignored. |
is_router_alert | if true, the IP Router Alert option in the IP packet was set (when applicable). |
protocol_message | the protocol message. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_recv_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_client_0_1_recv_protocol_message6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_recv_kernel_signal_message4 (
const string& ,
const string& ,
const uint32_t& ,
const uint32_t& ,
const string& ,
const uint32_t& ,
const IPv4& ,
const IPv4& ,
const vector<uint8_t>&
)
| mfea_client_0_1_recv_kernel_signal_message4 |
[protected]
Receive a kernel signal message from 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). |
message_type | the type of the kernel signal message (TODO: integer for now: the particular types are well-known by both sides). |
vif_name | the name of the vif the message was received on. |
vif_index | the index of the vif the message was received on. |
source_address | the address of the sender. |
dest_address | the destination address. |
protocol_message | the protocol message. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_recv_kernel_signal_message6 (
const string& ,
const string& ,
const uint32_t& ,
const uint32_t& ,
const string& ,
const uint32_t& ,
const IPv6& ,
const IPv6& ,
const vector<uint8_t>&
)
| mfea_client_0_1_recv_kernel_signal_message6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_recv_dataflow_signal4 (
const string& ,
const IPv4& ,
const IPv4& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const bool& ,
const bool& ,
const bool& ,
const bool&
)
| mfea_client_0_1_recv_dataflow_signal4 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mfea_client_0_1_recv_dataflow_signal6 (
const string& ,
const IPv6& ,
const IPv6& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const uint32_t& ,
const bool& ,
const bool& ,
const bool& ,
const bool&
)
| mfea_client_0_1_recv_dataflow_signal6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_enable_vif (
const string& vif_name,
const bool& enable)
| mld6igmp_0_1_enable_vif |
[protected]
Enable/disable/start/stop a MLD6IGMP 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 XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_start_vif (
const string& vif_name)
| mld6igmp_0_1_start_vif |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_stop_vif (
const string& vif_name)
| mld6igmp_0_1_stop_vif |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_enable_all_vifs (
const bool& enable)
| mld6igmp_0_1_enable_all_vifs |
[protected]
Enable/disable/start/stop all MLD6IGMP vif interfaces.
Parameters:
enable | if true, then enable the vifs, otherwise disable them. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_start_all_vifs ()
| mld6igmp_0_1_start_all_vifs |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_stop_all_vifs ()
| mld6igmp_0_1_stop_all_vifs |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_enable_mld6igmp (
const bool& enable)
| mld6igmp_0_1_enable_mld6igmp |
[protected]
Enable/disable/start/stop the MLD6IGMP protocol.
Parameters:
enable | if true, then enable the MLD6IGMP protocol, otherwise disable it. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_start_mld6igmp ()
| mld6igmp_0_1_start_mld6igmp |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_stop_mld6igmp ()
| mld6igmp_0_1_stop_mld6igmp |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_enable_cli (
const bool& enable)
| mld6igmp_0_1_enable_cli |
[protected]
Enable/disable/start/stop the MLD6IGMP CLI access.
Parameters:
enable | if true, then enable the MLD6IGMP CLI access, otherwise disable it. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_start_cli ()
| mld6igmp_0_1_start_cli |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_stop_cli ()
| mld6igmp_0_1_stop_cli |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_get_vif_proto_version (
const string& vif_name,
uint32_t& proto_version)
| mld6igmp_0_1_get_vif_proto_version |
[protected]
Configure MLD6IGMP interface-related metrics. The 'set_foo' XRLs set the particular values. The 'reset_foo' XRLs reset the metrics to their default values.
Parameters:
vif_name | the name of the vif to configure. |
proto_version | the protocol version. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_set_vif_proto_version (
const string& vif_name,
const uint32_t& proto_version)
| mld6igmp_0_1_set_vif_proto_version |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_reset_vif_proto_version (
const string& vif_name)
| mld6igmp_0_1_reset_vif_proto_version |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_log_trace_all (
const bool& enable)
| mld6igmp_0_1_log_trace_all |
[protected]
Enable/disable the MLD6IGMP trace log for all operations.
Parameters:
enable | if true, then enable the trace log, otherwise disable it. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_add_protocol4 (
const string& xrl_sender_name,
const string& protocol_name,
const uint32_t& protocol_id,
const string& vif_name,
const uint32_t& vif_index)
| mld6igmp_0_1_add_protocol4 |
[protected]
Add/delete a client protocol in the MLD/IGMP protocol.
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). |
vif_name | the name of the vif the protocol add/delete to apply to. |
vif_index | the index of the vif the protocol add/delete to apply to. The added protocol will receive Join/Leave membership information about same-LAN members for the particular vif. |
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_add_protocol6 (
const string& xrl_sender_name,
const string& protocol_name,
const uint32_t& protocol_id,
const string& vif_name,
const uint32_t& vif_index)
| mld6igmp_0_1_add_protocol6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_delete_protocol4 (
const string& xrl_sender_name,
const string& protocol_name,
const uint32_t& protocol_id,
const string& vif_name,
const uint32_t& vif_index)
| mld6igmp_0_1_delete_protocol4 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.
XrlCmdError mld6igmp_0_1_delete_protocol6 (
const string& xrl_sender_name,
const string& protocol_name,
const uint32_t& protocol_id,
const string& vif_name,
const uint32_t& vif_index)
| mld6igmp_0_1_delete_protocol6 |
[protected]
Reimplemented from XrlMld6igmpTargetBase.