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 + -
显示快捷键?