mfea_base.hh

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

HH
1,093
字号
/* * Copyright (c) 2001-2003 International Computer Science Institute * See LICENSE file for licensing, conditions, and warranties on use. * * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED * * Generated by 'tgt-gen'. * * $XORP: xorp/xrl/targets/mfea_base.hh,v 1.16 2003/09/23 03:35:39 pavlin Exp $ */#ifndef __XRL_INTERFACES_MFEA_BASE_HH__#define __XRL_INTERFACES_MFEA_BASE_HH__#undef XORP_LIBRARY_NAME#define XORP_LIBRARY_NAME "XrlMfeaTarget"#include "libxorp/xlog.h"#include "libxipc/xrl_cmd_map.hh"class XrlMfeaTargetBase {protected:    XrlCmdMap* _cmds;public:    XrlMfeaTargetBase(XrlCmdMap* cmds) : _cmds(cmds) { add_handlers(); }    virtual ~XrlMfeaTargetBase() { remove_handlers(); }    inline const string& name() const { return _cmds->name(); }    inline const char* version() const { return "mfea/0.0"; }protected:    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Get name of Xrl Target     */    virtual XrlCmdError common_0_1_get_target_name(	// Output values, 	string&	name) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Get version string from Xrl Target     */    virtual XrlCmdError common_0_1_get_version(	// Output values, 	string&	version) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Get status of Xrl Target     */    virtual XrlCmdError common_0_1_get_status(	// Output values, 	uint32_t&	status, 	string&	reason) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Request clean shutdown of Xrl Target     */    virtual XrlCmdError common_0_1_shutdown() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Process a CLI command.     *       *  @param processor_name the processor name for this command.     *       *  @param cli_term_name the terminal name the command was entered from.     *       *  @param cli_session_id the CLI session ID the command was entered from.     *       *  @param command_name the command name to process.     *       *  @param command_args the command arguments to process.     *       *  @param ret_processor_name the processor name to return back to the CLI.     *       *  @param ret_cli_term_name the terminal name to return back.     *       *  @param ret_cli_session_id the CLI session ID to return back.     *       *  @param ret_command_output the command output to return back.     */    virtual XrlCmdError cli_processor_0_1_process_command(	// Input values, 	const string&	processor_name, 	const string&	cli_term_name, 	const uint32_t&	cli_session_id, 	const string&	command_name, 	const string&	command_args, 	// Output values, 	string&	ret_processor_name, 	string&	ret_cli_term_name, 	uint32_t&	ret_cli_session_id, 	string&	ret_command_output) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Test if the underlying system supports IPv4 multicast routing.     *       *  @param result true if the underlying system supports IPv4 multicast     *  routing, otherwise false.     */    virtual XrlCmdError mfea_0_1_have_multicast_routing4(	// Output values, 	bool&	result) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Test if the underlying system supports IPv6 multicast routing.     *       *  @param result true if the underlying system supports IPv6 multicast     *  routing, otherwise false.     */    virtual XrlCmdError mfea_0_1_have_multicast_routing6(	// Output values, 	bool&	result) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add/delete a protocol in the Multicast FEA.     *       *  @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).     */    virtual XrlCmdError mfea_0_1_add_protocol4(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id) = 0;    virtual XrlCmdError mfea_0_1_add_protocol6(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id) = 0;    virtual XrlCmdError mfea_0_1_delete_protocol4(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id) = 0;    virtual XrlCmdError mfea_0_1_delete_protocol6(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Start/stop a protocol on an interface in the Multicast FEA.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param protocol_name the name of the protocol to start/stop on the     *  particular vif.     *       *  @param protocol_id the ID of the protocol to add/stop on the particular     *  vif (both sides must agree on the particular values).     *       *  @param vif_name the name of the vif to start/stop for the particular     *  protocol.     *       *  @param vif_index the index of the vif to start/stop for the particular     *  protocol.     */    virtual XrlCmdError mfea_0_1_start_protocol_vif4(	// 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 mfea_0_1_start_protocol_vif6(	// 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 mfea_0_1_stop_protocol_vif4(	// 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 mfea_0_1_stop_protocol_vif6(	// 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;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable the receiving of kernel-originated signal messages.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param protocol_name the name of the protocol to add.     *       *  @param protocol_id the ID of the protocol to add (both sides must agree     *  on the particular values).     *       *  @param is_allow if true, enable the receiving of kernel-originated     *  signal messages by protocol 'protocol_name'.     */    virtual XrlCmdError mfea_0_1_allow_signal_messages(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const bool&	is_allow) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable the receiving of Multicast Routing Information Base     *  information.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param protocol_name the name of the protocol to add.     *       *  @param protocol_id the ID of the protocol to add (both sides must agree     *  on the particular values).     *       *  @param is_allow if true, enable the receiving of MRIB information     *  messages by protocol 'protocol_name'.     */    virtual XrlCmdError mfea_0_1_allow_mrib_messages(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const bool&	is_allow) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Join/leave a multicast group.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param protocol_name the name of the protocol that joins/leave the     *  group.     *       *  @param protocol_id the ID of the protocol that joins/leave the group     *  (both sides must agree on the particular values).     *       *  @param vif_name the name of the vif to join/leave the multicast group.     *       *  @param vif_index the index of the vif to join/leave the multicast     *  group.     *       *  @param group_address the multicast group to join/leave.     */    virtual XrlCmdError mfea_0_1_join_multicast_group4(	// 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, 	const IPv4&	group_address) = 0;    virtual XrlCmdError mfea_0_1_join_multicast_group6(	// 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, 	const IPv6&	group_address) = 0;    virtual XrlCmdError mfea_0_1_leave_multicast_group4(	// 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, 	const IPv4&	group_address) = 0;    virtual XrlCmdError mfea_0_1_leave_multicast_group6(	// 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, 	const IPv6&	group_address) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add/delete a Multicast Forwarding Cache with the kernel.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param source_address the source address of the MFC to add/delete.     *       *  @param group_address the group address of the MFC to add/delete.     *       *  @param iif_vif_index the index of the vif that is the incoming     *  interface.     *       *  @param oiflist the bit-vector with the set of outgoing interfaces.     *       *  @param oiflist_disable_wrongvif the bit-vector with the set of outgoing     *  interfaces to disable WRONGVIF kernel signal.     *       *  @param max_vifs_oiflist the number of vifs covered by oiflist or     *  oiflist_disable_wrongvif .     *       *  @param rp_address the RP address of the MFC to add.     */    virtual XrlCmdError mfea_0_1_add_mfc4(	// Input values, 	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) = 0;    virtual XrlCmdError mfea_0_1_add_mfc6(	// Input values, 	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) = 0;    virtual XrlCmdError mfea_0_1_delete_mfc4(	// Input values, 

⌨️ 快捷键说明

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