mld6igmp_base.hh

来自「BCAST Implementation for NS2」· HH 代码 · 共 993 行 · 第 1/3 页

HH
993
字号
	const IPv6&	source_address, 	const IPv6&	dest_address, 	const vector<uint8_t>&	protocol_message) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add Multicast Routing Information Base information.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param dest_prefix the destination prefix to add.     *       *  @param next_hop_router_addr the address of the next-hop router toward     *  the destination prefix.     *       *  @param next_hop_vif_name the name of the vif toward the destination     *  prefix.     *       *  @param next_hop_vif_index the index of the vif toward the destination     *  prefix.     *       *  @param metric_preference the metric preference for this entry.     *       *  @param metric the metric for this entry.     */    virtual XrlCmdError mfea_client_0_1_add_mrib4(	// Input values, 	const string&	xrl_sender_name, 	const IPv4Net&	dest_prefix, 	const IPv4&	next_hop_router_addr, 	const string&	next_hop_vif_name, 	const uint32_t&	next_hop_vif_index, 	const uint32_t&	metric_preference, 	const uint32_t&	metric) = 0;    virtual XrlCmdError mfea_client_0_1_add_mrib6(	// Input values, 	const string&	xrl_sender_name, 	const IPv6Net&	dest_prefix, 	const IPv6&	next_hop_router_addr, 	const string&	next_hop_vif_name, 	const uint32_t&	next_hop_vif_index, 	const uint32_t&	metric_preference, 	const uint32_t&	metric) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Delete Multicast Routing Information Base information.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param dest_prefix the destination prefix to delete.     */    virtual XrlCmdError mfea_client_0_1_delete_mrib4(	// Input values, 	const string&	xrl_sender_name, 	const IPv4Net&	dest_prefix) = 0;    virtual XrlCmdError mfea_client_0_1_delete_mrib6(	// Input values, 	const string&	xrl_sender_name, 	const IPv6Net&	dest_prefix) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Complete a transaction with MRIB information.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     */    virtual XrlCmdError mfea_client_0_1_set_mrib_done(	// Input values, 	const string&	xrl_sender_name) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  A signal that a dataflow-related pre-condition is true.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param source_address the source address of the dataflow.     *       *  @param group_address the group address of the dataflow.     *       *  @param threshold_interval_sec the number of seconds in the interval     *  requested for measurement.     *       *  @param threshold_interval_usec the number of microseconds in the     *  interval requested for measurement.     *       *  @param measured_interval_sec the number of seconds in the last measured     *  interval that has triggered the signal.     *       *  @param measured_interval_usec the number of microseconds in the last     *  measured interval that has triggered the signal.     *       *  @param threshold_packets the threshold value to trigger a signal (in     *  number of packets).     *       *  @param threshold_bytes the threshold value to trigger a signal (in     *  bytes).     *       *  @param measured_packets the number of packets measured within the     *  measured interval.     *       *  @param measured_bytes the number of bytes measured within the measured     *  interval.     *       *  @param is_threshold_in_packets if true, threshold_packets is valid.     *       *  @param is_threshold_in_bytes if true, threshold_bytes is valid.     *       *  @param is_geq_upcall if true, the operation for comparison is ">=".     *       *  @param is_leq_upcall if true, the operation for comparison is "<=".     */    virtual XrlCmdError mfea_client_0_1_recv_dataflow_signal4(	// Input values, 	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&	measured_interval_sec, 	const uint32_t&	measured_interval_usec, 	const uint32_t&	threshold_packets, 	const uint32_t&	threshold_bytes, 	const uint32_t&	measured_packets, 	const uint32_t&	measured_bytes, 	const bool&	is_threshold_in_packets, 	const bool&	is_threshold_in_bytes, 	const bool&	is_geq_upcall, 	const bool&	is_leq_upcall) = 0;    virtual XrlCmdError mfea_client_0_1_recv_dataflow_signal6(	// Input values, 	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&	measured_interval_sec, 	const uint32_t&	measured_interval_usec, 	const uint32_t&	threshold_packets, 	const uint32_t&	threshold_bytes, 	const uint32_t&	measured_packets, 	const uint32_t&	measured_bytes, 	const bool&	is_threshold_in_packets, 	const bool&	is_threshold_in_bytes, 	const bool&	is_geq_upcall, 	const bool&	is_leq_upcall) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable/start/stop a MLD6IGMP vif interface.     *       *  @param vif_name the name of the vif to enable/disable/start/stop.     */    virtual XrlCmdError mld6igmp_0_1_enable_vif(	// Input values, 	const string&	vif_name) = 0;    virtual XrlCmdError mld6igmp_0_1_disable_vif(	// Input values, 	const string&	vif_name) = 0;    virtual XrlCmdError mld6igmp_0_1_start_vif(	// Input values, 	const string&	vif_name) = 0;    virtual XrlCmdError mld6igmp_0_1_stop_vif(	// Input values, 	const string&	vif_name) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable/start/stop all MLD6IGMP vif interfaces.     */    virtual XrlCmdError mld6igmp_0_1_enable_all_vifs() = 0;    virtual XrlCmdError mld6igmp_0_1_disable_all_vifs() = 0;    virtual XrlCmdError mld6igmp_0_1_start_all_vifs() = 0;    virtual XrlCmdError mld6igmp_0_1_stop_all_vifs() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable/start/stop MLD6IGMP protocol and the MLD6IGMP CLI     *  access.     */    virtual XrlCmdError mld6igmp_0_1_enable_mld6igmp() = 0;    virtual XrlCmdError mld6igmp_0_1_disable_mld6igmp() = 0;    virtual XrlCmdError mld6igmp_0_1_enable_cli() = 0;    virtual XrlCmdError mld6igmp_0_1_disable_cli() = 0;    virtual XrlCmdError mld6igmp_0_1_start_mld6igmp() = 0;    virtual XrlCmdError mld6igmp_0_1_stop_mld6igmp() = 0;    virtual XrlCmdError mld6igmp_0_1_start_cli() = 0;    virtual XrlCmdError mld6igmp_0_1_stop_cli() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Configure MLD6IGMP interface-related metrics. The 'set_foo' XRLs set     *  the particular values. The 'reset_foo' XRLs reset the metrics to their     *  default values.     *       *  @param vif_name the name of the vif to configure.     *       *  @param proto_version the protocol version.     */    virtual XrlCmdError mld6igmp_0_1_get_vif_proto_version(	// Input values, 	const string&	vif_name, 	// Output values, 	uint32_t&	proto_version) = 0;    virtual XrlCmdError mld6igmp_0_1_set_vif_proto_version(	// Input values, 	const string&	vif_name, 	const uint32_t&	proto_version) = 0;    virtual XrlCmdError mld6igmp_0_1_reset_vif_proto_version(	// Input values, 	const string&	vif_name) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable the MLD6IGMP trace log.     */    virtual XrlCmdError mld6igmp_0_1_enable_log_trace() = 0;    virtual XrlCmdError mld6igmp_0_1_disable_log_trace() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add/delete a client protocol in the MLD/IGMP protocol.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param protocol_name the name of the protocol to add/delete.     *       *  @param protocol_id the ID of the protocol to add/delete (both sides     *  must agree on the particular values).     *       *  @param vif_name the name of the vif the protocol add/delete to apply     *  to.     *       *  @param 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.     */    virtual XrlCmdError mld6igmp_0_1_add_protocol4(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index) = 0;    virtual XrlCmdError mld6igmp_0_1_add_protocol6(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index) = 0;    virtual XrlCmdError mld6igmp_0_1_delete_protocol4(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index) = 0;    virtual XrlCmdError mld6igmp_0_1_delete_protocol6(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index) = 0;private:    const XrlCmdError handle_common_0_1_get_target_name(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_get_version(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_get_status(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_shutdown(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_processor_0_1_process_command(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_new_vif(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_delete_vif(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_add_vif_addr4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_add_vif_addr6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_delete_vif_addr4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_delete_vif_addr6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_set_vif_flags(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_set_all_vifs_done(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_is_vif_setup_completed(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_recv_protocol_message4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_mfea_client_0_1_recv_protocol_message6(const XrlArgs& in, XrlArgs* out);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?