|
xorp
|
Classes | |
| class | JoinLeaveMulticastGroup |
| Class for handling the task of join/leave multicast group requests. More... | |
| class | RegisterUnregisterInterest |
| Class for handling the task to register/unregister interest in the FEA or MFEA with the Finder. More... | |
| class | RegisterUnregisterReceiver |
| Class for handling the task to register/unregister with the FEA as a receiver on an interface. More... | |
| class | SendAddDeleteMembership |
| Class for handling the queue of sending Add/Delete membership requests. More... | |
| class | SendProtocolMessage |
| Class for handling the task of sending protocol messages. More... | |
| class | XrlTaskBase |
| A base class for handling tasks for sending XRL requests. More... | |
Public Member Functions | |
| 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 &fea_target, const string &mfea_target) | |
| int | startup () |
| Startup the node operation. | |
| int | shutdown () |
| Shutdown the node operation. | |
| XrlRouter & | xrl_router () |
| Get a reference to the XrlRouter instance. | |
| const XrlRouter & | xrl_router () const |
| Get a const reference to the XrlRouter instance. | |
| int | enable_cli () |
| int | disable_cli () |
| int | start_cli () |
| int | stop_cli () |
| int | enable_mld6igmp () |
| int | disable_mld6igmp () |
| int | start_mld6igmp () |
| int | stop_mld6igmp () |
| void | send_register_unregister_interest () |
| void | send_register_unregister_receiver () |
| void | send_join_leave_multicast_group () |
| void | send_protocol_message () |
| Send a protocol message through the FEA. | |
| 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 &fea_target, const string &mfea_target) | |
| int | startup () |
| Startup the node operation. | |
| int | shutdown () |
| Shutdown the node operation. | |
| XrlRouter & | xrl_router () |
| Get a reference to the XrlRouter instance. | |
| const XrlRouter & | xrl_router () const |
| Get a const reference to the XrlRouter instance. | |
| int | enable_cli () |
| int | disable_cli () |
| int | start_cli () |
| int | stop_cli () |
| int | enable_mld6igmp () |
| int | disable_mld6igmp () |
| int | start_mld6igmp () |
| int | stop_mld6igmp () |
| void | send_register_unregister_interest () |
| void | send_register_unregister_receiver () |
| void | send_join_leave_multicast_group () |
| void | send_protocol_message () |
Protected Member Functions | |
| XrlCmdError | common_0_1_get_target_name (string &name) |
| Get name of Xrl Target. | |
| XrlCmdError | common_0_1_get_version (string &version) |
| Get version string from Xrl Target. | |
| XrlCmdError | common_0_1_get_status (uint32_t &status, string &reason) |
| Get status from Xrl Target. | |
| XrlCmdError | common_0_1_shutdown () |
| Shutdown cleanly. | |
| XrlCmdError | finder_event_observer_0_1_xrl_target_birth (const string &target_class, const string &target_instance) |
| Announce target birth to observer. | |
| XrlCmdError | finder_event_observer_0_1_xrl_target_death (const string &target_class, const string &target_instance) |
| Announce target death to observer. | |
| 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) |
| Process a CLI command. | |
| XrlCmdError | raw_packet4_client_0_1_recv (const string &if_name, const string &vif_name, const IPv4 &src_address, const IPv4 &dst_address, const uint32_t &ip_protocol, const int32_t &ip_ttl, const int32_t &ip_tos, const bool &ip_router_alert, const bool &ip_internet_control, const vector< uint8_t > &payload) |
| Receive an IPv4 packet from a raw socket. | |
| XrlCmdError | raw_packet6_client_0_1_recv (const string &if_name, const string &vif_name, const IPv6 &src_address, const IPv6 &dst_address, const uint32_t &ip_protocol, const int32_t &ip_ttl, const int32_t &ip_tos, const bool &ip_router_alert, const bool &ip_internet_control, const XrlAtomList &ext_headers_type, const XrlAtomList &ext_headers_payload, const vector< uint8_t > &payload) |
| Receive an IPv6 packet from a raw socket. | |
| XrlCmdError | mld6igmp_0_1_enable_vif (const string &vif_name, const bool &enable) |
| Enable/disable/start/stop a MLD6IGMP vif interface. | |
| XrlCmdError | mld6igmp_0_1_start_vif (const string &vif_name) |
| XrlCmdError | mld6igmp_0_1_stop_vif (const string &vif_name) |
| XrlCmdError | mld6igmp_0_1_enable_all_vifs (const bool &enable) |
| Enable/disable/start/stop all MLD6IGMP vif interfaces. | |
| XrlCmdError | mld6igmp_0_1_start_all_vifs () |
| XrlCmdError | mld6igmp_0_1_stop_all_vifs () |
| XrlCmdError | mld6igmp_0_1_enable_mld6igmp (const bool &enable) |
| Enable/disable/start/stop the MLD6IGMP protocol. | |
| XrlCmdError | mld6igmp_0_1_start_mld6igmp () |
| XrlCmdError | mld6igmp_0_1_stop_mld6igmp () |
| XrlCmdError | mld6igmp_0_1_enable_cli (const bool &enable) |
| Enable/disable/start/stop the MLD6IGMP CLI access. | |
| XrlCmdError | mld6igmp_0_1_start_cli () |
| XrlCmdError | mld6igmp_0_1_stop_cli () |
| XrlCmdError | mld6igmp_0_1_get_vif_proto_version (const string &vif_name, uint32_t &proto_version) |
| Get the configured protocol version per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_proto_version (const string &vif_name, const uint32_t &proto_version) |
| Set the protocol version per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_proto_version (const string &vif_name) |
| Reset the protocol version per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_ip_router_alert_option_check (const string &vif_name, bool &enabled) |
| Get the IP Router Alert option check per interface for received packets. | |
| XrlCmdError | mld6igmp_0_1_set_vif_ip_router_alert_option_check (const string &vif_name, const bool &enable) |
| Set the IP Router Alert option check per interface for received packets. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_ip_router_alert_option_check (const string &vif_name) |
| Reset the IP Router Alert option check per interface for received packets to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_query_interval (const string &vif_name, uint32_t &interval_sec, uint32_t &interval_usec) |
| Get the Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_query_interval (const string &vif_name, const uint32_t &interval_sec, const uint32_t &interval_usec) |
| Set the Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_query_interval (const string &vif_name) |
| Reset the Query Interval per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_query_last_member_interval (const string &vif_name, uint32_t &interval_sec, uint32_t &interval_usec) |
| Get the Last Member Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_query_last_member_interval (const string &vif_name, const uint32_t &interval_sec, const uint32_t &interval_usec) |
| Set the Last Member Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_query_last_member_interval (const string &vif_name) |
| Reset the Last Member Query Interval per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_query_response_interval (const string &vif_name, uint32_t &interval_sec, uint32_t &interval_usec) |
| Get the Query Response Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_query_response_interval (const string &vif_name, const uint32_t &interval_sec, const uint32_t &interval_usec) |
| Set the Query Response Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_query_response_interval (const string &vif_name) |
| Reset the Query Response Interval per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_robust_count (const string &vif_name, uint32_t &robust_count) |
| Get the Robustness Variable count per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_robust_count (const string &vif_name, const uint32_t &robust_count) |
| Set the Robustness Variable count per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_robust_count (const string &vif_name) |
| Reset the Robustness Variable count per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_log_trace_all (const bool &enable) |
| Enable/disable the MLD6IGMP trace log for all operations. | |
| 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) |
| Add/delete a client protocol in the MLD/IGMP protocol. | |
| 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) |
| 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) |
| 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) |
| XrlCmdError | common_0_1_get_target_name (string &name) |
| Get name of Xrl Target. | |
| XrlCmdError | common_0_1_get_version (string &version) |
| Get version string from Xrl Target. | |
| XrlCmdError | common_0_1_get_status (uint32_t &status, string &reason) |
| Get status from Xrl Target. | |
| XrlCmdError | common_0_1_shutdown () |
| Shutdown cleanly. | |
| XrlCmdError | common_0_1_startup () |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | finder_event_observer_0_1_xrl_target_birth (const string &target_class, const string &target_instance) |
| Announce target birth to observer. | |
| XrlCmdError | finder_event_observer_0_1_xrl_target_death (const string &target_class, const string &target_instance) |
| Announce target death to observer. | |
| 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) |
| Process a CLI command. | |
| XrlCmdError | raw_packet4_client_0_1_recv (const string &if_name, const string &vif_name, const IPv4 &src_address, const IPv4 &dst_address, const uint32_t &ip_protocol, const int32_t &ip_ttl, const int32_t &ip_tos, const bool &ip_router_alert, const bool &ip_internet_control, const vector< uint8_t > &payload) |
| Receive an IPv4 packet from a raw socket. | |
| XrlCmdError | raw_packet6_client_0_1_recv (const string &if_name, const string &vif_name, const IPv6 &src_address, const IPv6 &dst_address, const uint32_t &ip_protocol, const int32_t &ip_ttl, const int32_t &ip_tos, const bool &ip_router_alert, const bool &ip_internet_control, const XrlAtomList &ext_headers_type, const XrlAtomList &ext_headers_payload, const vector< uint8_t > &payload) |
| Receive an IPv6 packet from a raw socket. | |
| XrlCmdError | mld6igmp_0_1_enable_vif (const string &vif_name, const bool &enable) |
| Enable/disable/start/stop a MLD6IGMP vif interface. | |
| XrlCmdError | mld6igmp_0_1_start_vif (const string &vif_name) |
| XrlCmdError | mld6igmp_0_1_stop_vif (const string &vif_name) |
| XrlCmdError | mld6igmp_0_1_enable_all_vifs (const bool &enable) |
| Enable/disable/start/stop all MLD6IGMP vif interfaces. | |
| XrlCmdError | mld6igmp_0_1_start_all_vifs () |
| XrlCmdError | mld6igmp_0_1_stop_all_vifs () |
| XrlCmdError | mld6igmp_0_1_enable_mld6igmp (const bool &enable) |
| Enable/disable/start/stop the MLD6IGMP protocol. | |
| XrlCmdError | mld6igmp_0_1_start_mld6igmp () |
| XrlCmdError | mld6igmp_0_1_stop_mld6igmp () |
| XrlCmdError | mld6igmp_0_1_enable_cli (const bool &enable) |
| Enable/disable/start/stop the MLD6IGMP CLI access. | |
| XrlCmdError | mld6igmp_0_1_start_cli () |
| XrlCmdError | mld6igmp_0_1_stop_cli () |
| XrlCmdError | mld6igmp_0_1_get_vif_proto_version (const string &vif_name, uint32_t &proto_version) |
| Get the configured protocol version per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_proto_version (const string &vif_name, const uint32_t &proto_version) |
| Set the protocol version per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_proto_version (const string &vif_name) |
| Reset the protocol version per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_ip_router_alert_option_check (const string &vif_name, bool &enabled) |
| Get the IP Router Alert option check per interface for received packets. | |
| XrlCmdError | mld6igmp_0_1_set_vif_ip_router_alert_option_check (const string &vif_name, const bool &enable) |
| Set the IP Router Alert option check per interface for received packets. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_ip_router_alert_option_check (const string &vif_name) |
| Reset the IP Router Alert option check per interface for received packets to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_query_interval (const string &vif_name, uint32_t &interval_sec, uint32_t &interval_usec) |
| Get the Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_query_interval (const string &vif_name, const uint32_t &interval_sec, const uint32_t &interval_usec) |
| Set the Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_query_interval (const string &vif_name) |
| Reset the Query Interval per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_query_last_member_interval (const string &vif_name, uint32_t &interval_sec, uint32_t &interval_usec) |
| Get the Last Member Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_query_last_member_interval (const string &vif_name, const uint32_t &interval_sec, const uint32_t &interval_usec) |
| Set the Last Member Query Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_query_last_member_interval (const string &vif_name) |
| Reset the Last Member Query Interval per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_query_response_interval (const string &vif_name, uint32_t &interval_sec, uint32_t &interval_usec) |
| Get the Query Response Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_query_response_interval (const string &vif_name, const uint32_t &interval_sec, const uint32_t &interval_usec) |
| Set the Query Response Interval per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_query_response_interval (const string &vif_name) |
| Reset the Query Response Interval per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_get_vif_robust_count (const string &vif_name, uint32_t &robust_count) |
| Get the Robustness Variable count per interface. | |
| XrlCmdError | mld6igmp_0_1_set_vif_robust_count (const string &vif_name, const uint32_t &robust_count) |
| Set the Robustness Variable count per interface. | |
| XrlCmdError | mld6igmp_0_1_reset_vif_robust_count (const string &vif_name) |
| Reset the Robustness Variable count per interface to its default value. | |
| XrlCmdError | mld6igmp_0_1_log_trace_all (const bool &enable) |
| Enable/disable the MLD6IGMP trace log for all operations. | |
| 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) |
| Add/delete a client protocol in the MLD/IGMP protocol. | |
| 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) |
| 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) |
| 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) |
Private Member Functions | |
| const ServiceBase * | ifmgr_mirror_service_base () const |
| Get a reference to the service base of the interface manager. | |
| const IfMgrIfTree & | ifmgr_iftree () const |
| Get a reference to the interface manager tree. | |
| virtual void | finder_connect_event () |
| Called when Finder connection is established. | |
| virtual void | finder_disconnect_event () |
| Called when Finder disconnect occurs. | |
| void | add_task (XrlTaskBase *xrl_task) |
| void | send_xrl_task () |
| void | pop_xrl_task () |
| void | retry_xrl_task () |
| void | fea_register_startup () |
| Initiate registration with the FEA. | |
| void | mfea_register_startup () |
| Initiate registration with the MFEA. | |
| void | fea_register_shutdown () |
| Initiate de-registration with the FEA. | |
| void | mfea_register_shutdown () |
| Initiate de-registration with the MFEA. | |
| void | finder_send_register_unregister_interest_cb (const XrlError &xrl_error) |
| int | register_receiver (const string &if_name, const string &vif_name, uint8_t ip_protocol, bool enable_multicast_loopback) |
| Register as a receiver to receive packets. | |
| int | unregister_receiver (const string &if_name, const string &vif_name, uint8_t ip_protocol) |
| Unregister as a receiver to receive packets. | |
| void | fea_client_send_register_unregister_receiver_cb (const XrlError &xrl_error) |
| int | join_multicast_group (const string &if_name, const string &vif_name, uint8_t ip_protocol, const IPvX &group_address) |
| Join a multicast group on an interface. | |
| int | leave_multicast_group (const string &if_name, const string &vif_name, uint8_t ip_protocol, const IPvX &group_address) |
| Leave a multicast group on an interface. | |
| void | fea_client_send_join_leave_multicast_group_cb (const XrlError &xrl_error) |
| int | proto_send (const string &if_name, const string &vif_name, const IPvX &src_address, const IPvX &dst_address, uint8_t ip_protocol, int32_t ip_ttl, int32_t ip_tos, bool ip_router_alert, bool ip_internet_control, const uint8_t *sndbuf, size_t sndlen, string &error_msg) |
| Send a protocol packet. | |
| void | fea_client_send_protocol_message_cb (const XrlError &xrl_error) |
| int | send_add_membership (const string &dst_module_instance_name, xorp_module_id dst_module_id, uint32_t vif_index, const IPvX &source, const IPvX &group) |
| Send "add membership" to a protocol that needs to be notified about multicast membership changes. | |
| int | send_delete_membership (const string &dst_module_instance_name, xorp_module_id dst_module_id, uint32_t vif_index, const IPvX &source, const IPvX &group) |
| Send "delete membership" to a protocol that needs to be notified about multicast membership changes. | |
| void | send_add_delete_membership () |
| void | mld6igmp_client_send_add_delete_membership_cb (const XrlError &xrl_error) |
| int | add_cli_command_to_cli_manager (const char *command_name, const char *command_help, bool is_command_cd, const char *command_cd_prompt, bool is_command_processor) |
| Add a CLI command to the CLI manager. | |
| void | cli_manager_client_send_add_cli_command_cb (const XrlError &xrl_error) |
| int | delete_cli_command_from_cli_manager (const char *command_name) |
| Delete a CLI command from the CLI manager. | |
| void | cli_manager_client_send_delete_cli_command_cb (const XrlError &xrl_error) |
| int | family () const |
| Get the address family. | |
| const ServiceBase * | ifmgr_mirror_service_base () const |
| Get a reference to the service base of the interface manager. | |
| const IfMgrIfTree & | ifmgr_iftree () const |
| Get a reference to the interface manager tree. | |
| virtual void | finder_connect_event () |
| Called when Finder connection is established. | |
| virtual void | finder_disconnect_event () |
| Called when Finder disconnect occurs. | |
| void | add_task (XrlTaskBase *xrl_task) |
| void | send_xrl_task () |
| void | pop_xrl_task () |
| void | retry_xrl_task () |
| void | fea_register_startup () |
| Initiate registration with the FEA. | |
| void | mfea_register_startup () |
| Initiate registration with the MFEA. | |
| void | fea_register_shutdown () |
| Initiate de-registration with the FEA. | |
| void | mfea_register_shutdown () |
| Initiate de-registration with the MFEA. | |
| void | finder_send_register_unregister_interest_cb (const XrlError &xrl_error) |
| int | register_receiver (const string &if_name, const string &vif_name, uint8_t ip_protocol, bool enable_multicast_loopback) |
| Register as a receiver to receive packets. | |
| int | unregister_receiver (const string &if_name, const string &vif_name, uint8_t ip_protocol) |
| Unregister as a receiver to receive packets. | |
| void | fea_client_send_register_unregister_receiver_cb (const XrlError &xrl_error) |
| int | join_multicast_group (const string &if_name, const string &vif_name, uint8_t ip_protocol, const IPvX &group_address) |
| Join a multicast group on an interface. | |
| int | leave_multicast_group (const string &if_name, const string &vif_name, uint8_t ip_protocol, const IPvX &group_address) |
| Leave a multicast group on an interface. | |
| void | fea_client_send_join_leave_multicast_group_cb (const XrlError &xrl_error) |
| int | proto_send (const string &if_name, const string &vif_name, const IPvX &src_address, const IPvX &dst_address, uint8_t ip_protocol, int32_t ip_ttl, int32_t ip_tos, bool ip_router_alert, bool ip_internet_control, const uint8_t *sndbuf, size_t sndlen, string &error_msg) |
| Send a protocol packet. | |
| void | fea_client_send_protocol_message_cb (const XrlError &xrl_error) |
| int | send_add_membership (const string &dst_module_instance_name, xorp_module_id dst_module_id, uint32_t vif_index, const IPvX &source, const IPvX &group) |
| Send "add membership" to a protocol that needs to be notified about multicast membership changes. | |
| int | send_delete_membership (const string &dst_module_instance_name, xorp_module_id dst_module_id, uint32_t vif_index, const IPvX &source, const IPvX &group) |
| Send "delete membership" to a protocol that needs to be notified about multicast membership changes. | |
| void | send_add_delete_membership () |
| void | mld6igmp_client_send_add_delete_membership_cb (const XrlError &xrl_error) |
| int | add_cli_command_to_cli_manager (const char *command_name, const char *command_help, bool is_command_cd, const char *command_cd_prompt, bool is_command_processor) |
| Add a CLI command to the CLI manager. | |
| void | cli_manager_client_send_add_cli_command_cb (const XrlError &xrl_error) |
| int | delete_cli_command_from_cli_manager (const char *command_name) |
| Delete a CLI command from the CLI manager. | |
| void | cli_manager_client_send_delete_cli_command_cb (const XrlError &xrl_error) |
| int | family () const |
| Get the address family. | |
Private Attributes | |
| EventLoop & | _eventloop |
| const string | _finder_target |
| const string | _fea_target |
| const string | _mfea_target |
| IfMgrXrlMirror | _ifmgr |
| XrlRawPacket4V0p1Client | _xrl_fea_client4 |
| XrlRawPacket6V0p1Client | _xrl_fea_client6 |
| XrlMld6igmpClientV0p1Client | _xrl_mld6igmp_client_client |
| XrlCliManagerV0p1Client | _xrl_cli_manager_client |
| XrlFinderEventNotifierV0p1Client | _xrl_finder_client |
| bool | _is_finder_alive |
| bool | _is_fea_alive |
| bool | _is_fea_registered |
| bool | _is_mfea_alive |
| bool | _is_mfea_registered |
| list< XrlTaskBase * > | _xrl_tasks_queue |
| XorpTimer | _xrl_tasks_queue_timer |
| list< SendAddDeleteMembership > | _send_add_delete_membership_queue |
| XorpTimer | _send_add_delete_membership_queue_timer |
Static Private Attributes | |
| static const TimeVal | RETRY_TIMEVAL = TimeVal(1, 0) |
| int XrlMld6igmpNode::add_cli_command_to_cli_manager | ( | const char * | command_name, |
| const char * | command_help, | ||
| bool | is_command_cd, | ||
| const char * | command_cd_prompt, | ||
| bool | is_command_processor | ||
| ) | [private, virtual] |
Add a CLI command to the CLI manager.
This is a pure virtual function, and it must be implemented by the particular protocol node class that inherits this base class.
| command_name | the command name to add. |
| command_help | the help message for the command. |
| is_command_cd | if true, this is a directory level that allows user to "cd" to that directory. |
| command_cd_prompt | if this is a directory user can "cd" to it, the prompt to appear after the "cd". |
| is_command_processor | if true, this is an oridinary command that can be invoked for processing rather than a directory level. |
Implements ProtoNodeCli.
| int XrlMld6igmpNode::add_cli_command_to_cli_manager | ( | const char * | command_name, |
| const char * | command_help, | ||
| bool | is_command_cd, | ||
| const char * | command_cd_prompt, | ||
| bool | is_command_processor | ||
| ) | [private, virtual] |
Add a CLI command to the CLI manager.
This is a pure virtual function, and it must be implemented by the particular protocol node class that inherits this base class.
| command_name | the command name to add. |
| command_help | the help message for the command. |
| is_command_cd | if true, this is a directory level that allows user to "cd" to that directory. |
| command_cd_prompt | if this is a directory user can "cd" to it, the prompt to appear after the "cd". |
| is_command_processor | if true, this is an oridinary command that can be invoked for processing rather than a directory level. |
Implements ProtoNodeCli.
| XrlCmdError XrlMld6igmpNode::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 | ||
| ) | [protected, virtual] |
Process a CLI command.
| 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. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::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 | ||
| ) | [protected, virtual] |
Process a CLI command.
| 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. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::common_0_1_startup | ( | ) | [protected, virtual] |
Pure-virtual function that needs to be implemented to:
Request a startup of Xrl Target
Implements XrlMld6igmpTargetBase.
| int XrlMld6igmpNode::delete_cli_command_from_cli_manager | ( | const char * | command_name | ) | [private, virtual] |
Delete a CLI command from the CLI manager.
This is a pure virtual function, and it must be implemented by the particular protocol node class that inherits this base class.
| command_name | the command name to delete. |
Implements ProtoNodeCli.
| int XrlMld6igmpNode::delete_cli_command_from_cli_manager | ( | const char * | command_name | ) | [private, virtual] |
Delete a CLI command from the CLI manager.
This is a pure virtual function, and it must be implemented by the particular protocol node class that inherits this base class.
| command_name | the command name to delete. |
Implements ProtoNodeCli.
| int XrlMld6igmpNode::family | ( | ) | const [inline, private] |
| int XrlMld6igmpNode::family | ( | ) | const [inline, private] |
| void XrlMld6igmpNode::fea_register_shutdown | ( | ) | [private, virtual] |
Initiate de-registration with the FEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| void XrlMld6igmpNode::fea_register_shutdown | ( | ) | [private, virtual] |
Initiate de-registration with the FEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| void XrlMld6igmpNode::fea_register_startup | ( | ) | [private, virtual] |
Initiate registration with the FEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| void XrlMld6igmpNode::fea_register_startup | ( | ) | [private, virtual] |
Initiate registration with the FEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| virtual void XrlMld6igmpNode::finder_connect_event | ( | ) | [private, virtual] |
| void XrlMld6igmpNode::finder_connect_event | ( | ) | [private, virtual] |
| void XrlMld6igmpNode::finder_disconnect_event | ( | ) | [private, virtual] |
| virtual void XrlMld6igmpNode::finder_disconnect_event | ( | ) | [private, virtual] |
| XrlCmdError XrlMld6igmpNode::finder_event_observer_0_1_xrl_target_birth | ( | const string & | target_class, |
| const string & | target_instance | ||
| ) | [protected, virtual] |
Announce target birth to observer.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::finder_event_observer_0_1_xrl_target_birth | ( | const string & | target_class, |
| const string & | target_instance | ||
| ) | [protected, virtual] |
Announce target birth to observer.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::finder_event_observer_0_1_xrl_target_death | ( | const string & | target_class, |
| const string & | target_instance | ||
| ) | [protected, virtual] |
Announce target death to observer.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::finder_event_observer_0_1_xrl_target_death | ( | const string & | target_class, |
| const string & | target_instance | ||
| ) | [protected, virtual] |
Announce target death to observer.
Implements XrlMld6igmpTargetBase.
| const IfMgrIfTree& XrlMld6igmpNode::ifmgr_iftree | ( | ) | const [inline, private, virtual] |
Get a reference to the interface manager tree.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| const IfMgrIfTree& XrlMld6igmpNode::ifmgr_iftree | ( | ) | const [inline, private, virtual] |
Get a reference to the interface manager tree.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| const ServiceBase* XrlMld6igmpNode::ifmgr_mirror_service_base | ( | ) | const [inline, private, virtual] |
| const ServiceBase* XrlMld6igmpNode::ifmgr_mirror_service_base | ( | ) | const [inline, private, virtual] |
| int XrlMld6igmpNode::join_multicast_group | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol, | ||
| const IPvX & | group_address | ||
| ) | [private, virtual] |
Join a multicast group on an interface.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
TODO: add a source address as well!!
| if_name | the interface name to join. |
| vif_name | the vif name to join. |
| ip_protocol | the IP protocol number that the receiver is interested in. |
| group_address | the multicast group address to join. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::join_multicast_group | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol, | ||
| const IPvX & | group_address | ||
| ) | [private, virtual] |
Join a multicast group on an interface.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
TODO: add a source address as well!!
| if_name | the interface name to join. |
| vif_name | the vif name to join. |
| ip_protocol | the IP protocol number that the receiver is interested in. |
| group_address | the multicast group address to join. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::leave_multicast_group | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol, | ||
| const IPvX & | group_address | ||
| ) | [private, virtual] |
Leave a multicast group on an interface.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
TODO: add a source address as well!!
| if_name | the interface name to leave. |
| vif_name | the vif name to leave. |
| ip_protocol | the IP protocol number that the receiver is not interested in anymore. |
| group_address | the multicast group address to leave. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::leave_multicast_group | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol, | ||
| const IPvX & | group_address | ||
| ) | [private, virtual] |
Leave a multicast group on an interface.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
TODO: add a source address as well!!
| if_name | the interface name to leave. |
| vif_name | the vif name to leave. |
| ip_protocol | the IP protocol number that the receiver is not interested in anymore. |
| group_address | the multicast group address to leave. |
Implements Mld6igmpNode.
| void XrlMld6igmpNode::mfea_register_shutdown | ( | ) | [private, virtual] |
Initiate de-registration with the MFEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| void XrlMld6igmpNode::mfea_register_shutdown | ( | ) | [private, virtual] |
Initiate de-registration with the MFEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| void XrlMld6igmpNode::mfea_register_startup | ( | ) | [private, virtual] |
Initiate registration with the MFEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| void XrlMld6igmpNode::mfea_register_startup | ( | ) | [private, virtual] |
Initiate registration with the MFEA.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
Implements Mld6igmpNode.
| XrlCmdError XrlMld6igmpNode::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 | ||
| ) | [protected, virtual] |
Add/delete a client protocol in the MLD/IGMP protocol.
| 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. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::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 | ||
| ) | [protected, virtual] |
Add/delete a client protocol in the MLD/IGMP protocol.
| 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. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_all_vifs | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable/start/stop all MLD6IGMP vif interfaces.
| enable | if true, then enable the vifs, otherwise disable them. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_all_vifs | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable/start/stop all MLD6IGMP vif interfaces.
| enable | if true, then enable the vifs, otherwise disable them. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_cli | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable/start/stop the MLD6IGMP CLI access.
| enable | if true, then enable the MLD6IGMP CLI access, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_cli | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable/start/stop the MLD6IGMP CLI access.
| enable | if true, then enable the MLD6IGMP CLI access, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_mld6igmp | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable/start/stop the MLD6IGMP protocol.
| enable | if true, then enable the MLD6IGMP protocol, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_mld6igmp | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable/start/stop the MLD6IGMP protocol.
| enable | if true, then enable the MLD6IGMP protocol, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_vif | ( | const string & | vif_name, |
| const bool & | enable | ||
| ) | [protected, virtual] |
Enable/disable/start/stop a MLD6IGMP vif interface.
| vif_name | the name of the vif to enable/disable/start/stop. |
| enable | if true, then enable the vif, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_enable_vif | ( | const string & | vif_name, |
| const bool & | enable | ||
| ) | [protected, virtual] |
Enable/disable/start/stop a MLD6IGMP vif interface.
| vif_name | the name of the vif to enable/disable/start/stop. |
| enable | if true, then enable the vif, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_ip_router_alert_option_check | ( | const string & | vif_name, |
| bool & | enabled | ||
| ) | [protected, virtual] |
Get the IP Router Alert option check per interface for received packets.
| vif_name | the name of the vif to apply to. |
| enabled | if true, then the IP Router Alert option check was enabled, otherwise it was disabled. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_ip_router_alert_option_check | ( | const string & | vif_name, |
| bool & | enabled | ||
| ) | [protected, virtual] |
Get the IP Router Alert option check per interface for received packets.
| vif_name | the name of the vif to apply to. |
| enabled | if true, then the IP Router Alert option check was enabled, otherwise it was disabled. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_proto_version | ( | const string & | vif_name, |
| uint32_t & | proto_version | ||
| ) | [protected, virtual] |
Get the configured protocol version per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_proto_version | ( | const string & | vif_name, |
| uint32_t & | proto_version | ||
| ) | [protected, virtual] |
Get the configured protocol version per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_query_interval | ( | const string & | vif_name, |
| uint32_t & | interval_sec, | ||
| uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_query_interval | ( | const string & | vif_name, |
| uint32_t & | interval_sec, | ||
| uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_query_last_member_interval | ( | const string & | vif_name, |
| uint32_t & | interval_sec, | ||
| uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_query_last_member_interval | ( | const string & | vif_name, |
| uint32_t & | interval_sec, | ||
| uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_query_response_interval | ( | const string & | vif_name, |
| uint32_t & | interval_sec, | ||
| uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_query_response_interval | ( | const string & | vif_name, |
| uint32_t & | interval_sec, | ||
| uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_robust_count | ( | const string & | vif_name, |
| uint32_t & | robust_count | ||
| ) | [protected, virtual] |
Get the Robustness Variable count per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_get_vif_robust_count | ( | const string & | vif_name, |
| uint32_t & | robust_count | ||
| ) | [protected, virtual] |
Get the Robustness Variable count per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_log_trace_all | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable the MLD6IGMP trace log for all operations.
| enable | if true, then enable the trace log, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_log_trace_all | ( | const bool & | enable | ) | [protected, virtual] |
Enable/disable the MLD6IGMP trace log for all operations.
| enable | if true, then enable the trace log, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_ip_router_alert_option_check | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the IP Router Alert option check per interface for received packets to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_ip_router_alert_option_check | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the IP Router Alert option check per interface for received packets to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_proto_version | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the protocol version per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_proto_version | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the protocol version per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_interval | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Query Interval per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_interval | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Query Interval per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_last_member_interval | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Last Member Query Interval per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_last_member_interval | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Last Member Query Interval per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_response_interval | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Query Response Interval per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_response_interval | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Query Response Interval per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_robust_count | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Robustness Variable count per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_reset_vif_robust_count | ( | const string & | vif_name | ) | [protected, virtual] |
Reset the Robustness Variable count per interface to its default value.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_ip_router_alert_option_check | ( | const string & | vif_name, |
| const bool & | enable | ||
| ) | [protected, virtual] |
Set the IP Router Alert option check per interface for received packets.
| vif_name | the name of the vif to apply to. |
| enable | if true, then enable the IP Router Alert option check, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_ip_router_alert_option_check | ( | const string & | vif_name, |
| const bool & | enable | ||
| ) | [protected, virtual] |
Set the IP Router Alert option check per interface for received packets.
| vif_name | the name of the vif to apply to. |
| enable | if true, then enable the IP Router Alert option check, otherwise disable it. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_proto_version | ( | const string & | vif_name, |
| const uint32_t & | proto_version | ||
| ) | [protected, virtual] |
Set the protocol version per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_proto_version | ( | const string & | vif_name, |
| const uint32_t & | proto_version | ||
| ) | [protected, virtual] |
Set the protocol version per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_query_interval | ( | const string & | vif_name, |
| const uint32_t & | interval_sec, | ||
| const uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_query_interval | ( | const string & | vif_name, |
| const uint32_t & | interval_sec, | ||
| const uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_query_last_member_interval | ( | const string & | vif_name, |
| const uint32_t & | interval_sec, | ||
| const uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_query_last_member_interval | ( | const string & | vif_name, |
| const uint32_t & | interval_sec, | ||
| const uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_query_response_interval | ( | const string & | vif_name, |
| const uint32_t & | interval_sec, | ||
| const uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_query_response_interval | ( | const string & | vif_name, |
| const uint32_t & | interval_sec, | ||
| const uint32_t & | interval_usec | ||
| ) | [protected, virtual] |
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_robust_count | ( | const string & | vif_name, |
| const uint32_t & | robust_count | ||
| ) | [protected, virtual] |
Set the Robustness Variable count per interface.
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::mld6igmp_0_1_set_vif_robust_count | ( | const string & | vif_name, |
| const uint32_t & | robust_count | ||
| ) | [protected, virtual] |
Set the Robustness Variable count per interface.
Implements XrlMld6igmpTargetBase.
| int XrlMld6igmpNode::proto_send | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPvX & | src_address, | ||
| const IPvX & | dst_address, | ||
| uint8_t | ip_protocol, | ||
| int32_t | ip_ttl, | ||
| int32_t | ip_tos, | ||
| bool | ip_router_alert, | ||
| bool | ip_internet_control, | ||
| const uint8_t * | sndbuf, | ||
| size_t | sndlen, | ||
| string & | error_msg | ||
| ) | [private, virtual] |
Send a protocol packet.
This is a pure virtual function, and it must be implemented by the particular protocol node class that inherits this base class.
| if_name | the interface to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
| vif_name | the vif to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. It must be between 1 and 255. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, the TTL will be set internally before transmission. |
| ip_tos | the Type Of Service (Diffserv/ECN bits for IPv4). If it has a negative value, the TOS will be set internally before transmission. |
| ip_router_alert | if true, then add the IP Router Alert option to the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
| sndbuf | the data buffer with the outgoing packet. |
| sndlen | the data length in sndbuf. |
| error_msg | the error message (if error). |
Implements ProtoNode< Mld6igmpVif >.
| int XrlMld6igmpNode::proto_send | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPvX & | src_address, | ||
| const IPvX & | dst_address, | ||
| uint8_t | ip_protocol, | ||
| int32_t | ip_ttl, | ||
| int32_t | ip_tos, | ||
| bool | ip_router_alert, | ||
| bool | ip_internet_control, | ||
| const uint8_t * | sndbuf, | ||
| size_t | sndlen, | ||
| string & | error_msg | ||
| ) | [private, virtual] |
Send a protocol packet.
This is a pure virtual function, and it must be implemented by the particular protocol node class that inherits this base class.
| if_name | the interface to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
| vif_name | the vif to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. It must be between 1 and 255. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, the TTL will be set internally before transmission. |
| ip_tos | the Type Of Service (Diffserv/ECN bits for IPv4). If it has a negative value, the TOS will be set internally before transmission. |
| ip_router_alert | if true, then add the IP Router Alert option to the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
| sndbuf | the data buffer with the outgoing packet. |
| sndlen | the data length in sndbuf. |
| error_msg | the error message (if error). |
Implements ProtoNode< Mld6igmpVif >.
| XrlCmdError XrlMld6igmpNode::raw_packet4_client_0_1_recv | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPv4 & | src_address, | ||
| const IPv4 & | dst_address, | ||
| const uint32_t & | ip_protocol, | ||
| const int32_t & | ip_ttl, | ||
| const int32_t & | ip_tos, | ||
| const bool & | ip_router_alert, | ||
| const bool & | ip_internet_control, | ||
| const vector< uint8_t > & | payload | ||
| ) | [protected, virtual] |
Receive an IPv4 packet from a raw socket.
| if_name | the interface name the packet arrived on. |
| vif_name | the vif name the packet arrived on. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. |
| ip_tos | the Type of Service (Diffserv/ECN bits for IPv4). If it has a negative value, then the received value is unknown. |
| ip_router_alert | if true, the IP Router Alert option was included in the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::raw_packet4_client_0_1_recv | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPv4 & | src_address, | ||
| const IPv4 & | dst_address, | ||
| const uint32_t & | ip_protocol, | ||
| const int32_t & | ip_ttl, | ||
| const int32_t & | ip_tos, | ||
| const bool & | ip_router_alert, | ||
| const bool & | ip_internet_control, | ||
| const vector< uint8_t > & | payload | ||
| ) | [protected, virtual] |
Receive an IPv4 packet from a raw socket.
| if_name | the interface name the packet arrived on. |
| vif_name | the vif name the packet arrived on. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. |
| ip_tos | the Type of Service (Diffserv/ECN bits for IPv4). If it has a negative value, then the received value is unknown. |
| ip_router_alert | if true, the IP Router Alert option was included in the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::raw_packet6_client_0_1_recv | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPv6 & | src_address, | ||
| const IPv6 & | dst_address, | ||
| const uint32_t & | ip_protocol, | ||
| const int32_t & | ip_ttl, | ||
| const int32_t & | ip_tos, | ||
| const bool & | ip_router_alert, | ||
| const bool & | ip_internet_control, | ||
| const XrlAtomList & | ext_headers_type, | ||
| const XrlAtomList & | ext_headers_payload, | ||
| const vector< uint8_t > & | payload | ||
| ) | [protected, virtual] |
Receive an IPv6 packet from a raw socket.
| if_name | the interface name the packet arrived on. |
| vif_name | the vif name the packet arrived on. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. |
| ip_tos | the Type Of Service (IP traffic class for IPv4). If it has a negative value, then the received value is unknown. |
| ip_router_alert | if true, the IP Router Alert option was included in the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
| ext_headers_type | a list of u32 integers with the types of the optional extention headers. |
| ext_headers_payload | a list of payload data, one for each optional extention header. The number of entries must match ext_headers_type. |
Implements XrlMld6igmpTargetBase.
| XrlCmdError XrlMld6igmpNode::raw_packet6_client_0_1_recv | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPv6 & | src_address, | ||
| const IPv6 & | dst_address, | ||
| const uint32_t & | ip_protocol, | ||
| const int32_t & | ip_ttl, | ||
| const int32_t & | ip_tos, | ||
| const bool & | ip_router_alert, | ||
| const bool & | ip_internet_control, | ||
| const XrlAtomList & | ext_headers_type, | ||
| const XrlAtomList & | ext_headers_payload, | ||
| const vector< uint8_t > & | payload | ||
| ) | [protected, virtual] |
Receive an IPv6 packet from a raw socket.
| if_name | the interface name the packet arrived on. |
| vif_name | the vif name the packet arrived on. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. |
| ip_tos | the Type Of Service (IP traffic class for IPv4). If it has a negative value, then the received value is unknown. |
| ip_router_alert | if true, the IP Router Alert option was included in the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
| ext_headers_type | a list of u32 integers with the types of the optional extention headers. |
| ext_headers_payload | a list of payload data, one for each optional extention header. The number of entries must match ext_headers_type. |
Implements XrlMld6igmpTargetBase.
| int XrlMld6igmpNode::register_receiver | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol, | ||
| bool | enable_multicast_loopback | ||
| ) | [private, virtual] |
Register as a receiver to receive packets.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| if_name | the interface through which packets should be accepted. |
| vif_name | the vif through which packets should be accepted. |
| ip_protocol | the IP protocol number that the receiver is interested in. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
| enable_multicast_loopback | if true then enable delivering of multicast datagrams back to this host (assuming the host is a member of the same multicast group). |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::register_receiver | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol, | ||
| bool | enable_multicast_loopback | ||
| ) | [private, virtual] |
Register as a receiver to receive packets.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| if_name | the interface through which packets should be accepted. |
| vif_name | the vif through which packets should be accepted. |
| ip_protocol | the IP protocol number that the receiver is interested in. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
| enable_multicast_loopback | if true then enable delivering of multicast datagrams back to this host (assuming the host is a member of the same multicast group). |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::send_add_membership | ( | const string & | dst_module_instance_name, |
| xorp_module_id | dst_module_id, | ||
| uint32_t | vif_index, | ||
| const IPvX & | source, | ||
| const IPvX & | group | ||
| ) | [private, virtual] |
Send "add membership" to a protocol that needs to be notified about multicast membership changes.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| dst_module_instance_name | the module instance name of the protocol to notify. |
| dst_module_id | the module ID (xorp_module_id) of the protocol to notify. |
| vif_index | the vif index of the interface with membership change. |
| source | the source address of the (S,G) or (*,G) entry that has changed membership. In case of Any-Source Multicast, it is IPvX::ZERO(). |
| group | the group address. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::send_add_membership | ( | const string & | dst_module_instance_name, |
| xorp_module_id | dst_module_id, | ||
| uint32_t | vif_index, | ||
| const IPvX & | source, | ||
| const IPvX & | group | ||
| ) | [private, virtual] |
Send "add membership" to a protocol that needs to be notified about multicast membership changes.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| dst_module_instance_name | the module instance name of the protocol to notify. |
| dst_module_id | the module ID (xorp_module_id) of the protocol to notify. |
| vif_index | the vif index of the interface with membership change. |
| source | the source address of the (S,G) or (*,G) entry that has changed membership. In case of Any-Source Multicast, it is IPvX::ZERO(). |
| group | the group address. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::send_delete_membership | ( | const string & | dst_module_instance_name, |
| xorp_module_id | dst_module_id, | ||
| uint32_t | vif_index, | ||
| const IPvX & | source, | ||
| const IPvX & | group | ||
| ) | [private, virtual] |
Send "delete membership" to a protocol that needs to be notified about multicast membership changes.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| dst_module_instance_name | the module instance name of the protocol to notify. |
| dst_module_id | the module ID (xorp_module_id) of the protocol to notify. |
| vif_index | the vif index of the interface with membership change. |
| source | the source address of the (S,G) or (*,G) entry that has changed membership. In case of Any-Source Multicast, it is IPvX::ZERO(). |
| group | the group address of the (S,G) or (*,G) entry that has changed. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::send_delete_membership | ( | const string & | dst_module_instance_name, |
| xorp_module_id | dst_module_id, | ||
| uint32_t | vif_index, | ||
| const IPvX & | source, | ||
| const IPvX & | group | ||
| ) | [private, virtual] |
Send "delete membership" to a protocol that needs to be notified about multicast membership changes.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| dst_module_instance_name | the module instance name of the protocol to notify. |
| dst_module_id | the module ID (xorp_module_id) of the protocol to notify. |
| vif_index | the vif index of the interface with membership change. |
| source | the source address of the (S,G) or (*,G) entry that has changed membership. In case of Any-Source Multicast, it is IPvX::ZERO(). |
| group | the group address of the (S,G) or (*,G) entry that has changed. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::shutdown | ( | ) | [virtual] |
Reimplemented from ProtoState.
| int XrlMld6igmpNode::shutdown | ( | ) | [virtual] |
Reimplemented from ProtoState.
| int XrlMld6igmpNode::startup | ( | ) | [virtual] |
Reimplemented from ProtoState.
| int XrlMld6igmpNode::startup | ( | ) | [virtual] |
Reimplemented from ProtoState.
| int XrlMld6igmpNode::unregister_receiver | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol | ||
| ) | [private, virtual] |
Unregister as a receiver to receive packets.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| if_name | the interface through which packets should not be accepted. |
| vif_name | the vif through which packets should not be accepted. |
| ip_protocol | the IP Protocol number that the receiver is not interested in anymore. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
Implements Mld6igmpNode.
| int XrlMld6igmpNode::unregister_receiver | ( | const string & | if_name, |
| const string & | vif_name, | ||
| uint8_t | ip_protocol | ||
| ) | [private, virtual] |
Unregister as a receiver to receive packets.
This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.
| if_name | the interface through which packets should not be accepted. |
| vif_name | the vif through which packets should not be accepted. |
| ip_protocol | the IP Protocol number that the receiver is not interested in anymore. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
Implements Mld6igmpNode.
| XrlRouter& XrlMld6igmpNode::xrl_router | ( | ) | [inline] |
| XrlRouter& XrlMld6igmpNode::xrl_router | ( | ) | [inline] |
| const XrlRouter& XrlMld6igmpNode::xrl_router | ( | ) | const [inline] |
| const XrlRouter& XrlMld6igmpNode::xrl_router | ( | ) | const [inline] |