rib_base.hh

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

HH
898
字号
/* * 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/rib_base.hh,v 1.18 2003/09/30 03:08:05 pavlin Exp $ */#ifndef __XRL_INTERFACES_RIB_BASE_HH__#define __XRL_INTERFACES_RIB_BASE_HH__#undef XORP_LIBRARY_NAME#define XORP_LIBRARY_NAME "XrlRibTarget"#include "libxorp/xlog.h"#include "libxipc/xrl_cmd_map.hh"class XrlRibTargetBase {protected:    XrlCmdMap* _cmds;public:    XrlRibTargetBase(XrlCmdMap* cmds) : _cmds(cmds) { add_handlers(); }    virtual ~XrlRibTargetBase() { remove_handlers(); }    inline const string& name() const { return _cmds->name(); }    inline const char* version() const { return "rib/0.0"; }protected:    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable/start/stop RIB.     */    virtual XrlCmdError rib_0_1_enable_rib() = 0;    virtual XrlCmdError rib_0_1_disable_rib() = 0;    virtual XrlCmdError rib_0_1_start_rib() = 0;    virtual XrlCmdError rib_0_1_stop_rib() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add/delete/enable/disable a RIB client. Add/delete/enable/disable a RIB     *  client for a given target name, address family, and unicast/multicast     *  flags.     *       *  @param target_name the target name of the RIB client.     *       *  @param unicast true if a client for the unicast RIB.     *       *  @param multicast true if a client for the multicast RIB.     */    virtual XrlCmdError rib_0_1_add_rib_client4(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_add_rib_client6(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_delete_rib_client4(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_delete_rib_client6(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_enable_rib_client4(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_enable_rib_client6(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_disable_rib_client4(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_disable_rib_client6(	// Input values, 	const string&	target_name, 	const bool&	unicast, 	const bool&	multicast) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Don't send anything to the FEA - used for testing only     */    virtual XrlCmdError rib_0_1_no_fea() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Make errors fatal; used to detect errors we'd normally mask     */    virtual XrlCmdError rib_0_1_make_errors_fatal() = 0;    virtual XrlCmdError rib_0_1_add_igp_table4(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_add_igp_table6(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_delete_igp_table4(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_delete_igp_table6(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_add_egp_table4(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_add_egp_table6(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_delete_egp_table4(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_delete_egp_table6(	// Input values, 	const string&	protocol, 	const string&	tgt_class, 	const string&	tgt_instance, 	const bool&	unicast, 	const bool&	multicast) = 0;    virtual XrlCmdError rib_0_1_add_route4(	// Input values, 	const string&	protocol, 	const bool&	unicast, 	const bool&	multicast, 	const IPv4Net&	network, 	const IPv4&	nexthop, 	const uint32_t&	metric) = 0;    virtual XrlCmdError rib_0_1_add_route6(	// Input values, 	const string&	protocol, 	const bool&	unicast, 	const bool&	multicast, 	const IPv6Net&	network, 	const IPv6&	nexthop, 	const uint32_t&	metric) = 0;    virtual XrlCmdError rib_0_1_replace_route4(	// Input values, 	const string&	protocol, 	const bool&	unicast, 	const bool&	multicast, 	const IPv4Net&	network, 	const IPv4&	nexthop, 	const uint32_t&	metric) = 0;    virtual XrlCmdError rib_0_1_replace_route6(	// Input values, 	const string&	protocol, 	const bool&	unicast, 	const bool&	multicast, 	const IPv6Net&	network, 	const IPv6&	nexthop, 	const uint32_t&	metric) = 0;    virtual XrlCmdError rib_0_1_delete_route4(	// Input values, 	const string&	protocol, 	const bool&	unicast, 	const bool&	multicast, 	const IPv4Net&	network) = 0;    virtual XrlCmdError rib_0_1_delete_route6(	// Input values, 	const string&	protocol, 	const bool&	unicast, 	const bool&	multicast, 	const IPv6Net&	network) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Lookup nexthop.     *       *  @param addr address to lookup.     *       *  @param unicast look in unicast RIB.     *       *  @param multicast look in multicast RIB.     *       *  @param nexthop contains the resolved nexthop if successful, IPv4::ZERO     *  otherwise. It is an error for the unicast and multicast fields to both     *  be true or both false.     */    virtual XrlCmdError rib_0_1_lookup_route4(	// Input values, 	const IPv4&	addr, 	const bool&	unicast, 	const bool&	multicast, 	// Output values, 	IPv4&	nexthop) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Lookup nexthop.     *       *  @param addr address to lookup.     *       *  @param unicast look in unicast RIB.     *       *  @param multicast look in multicast RIB.     *       *  @param nexthop contains the resolved nexthop if successful, IPv6::ZERO     *  otherwise. It is an error for the unicast and multicast fields to both     *  be true or both false.     */    virtual XrlCmdError rib_0_1_lookup_route6(	// Input values, 	const IPv6&	addr, 	const bool&	unicast, 	const bool&	multicast, 	// Output values, 	IPv6&	nexthop) = 0;    virtual XrlCmdError rib_0_1_new_vif(	// Input values, 	const string&	name) = 0;    virtual XrlCmdError rib_0_1_add_vif_addr4(	// Input values, 	const string&	name, 	const IPv4&	addr, 	const IPv4Net&	subnet) = 0;    virtual XrlCmdError rib_0_1_add_vif_addr6(	// Input values, 	const string&	name, 	const IPv6&	addr, 	const IPv6Net&	subnet) = 0;    virtual XrlCmdError rib_0_1_redist_enable4(	// Input values, 

⌨️ 快捷键说明

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