⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospfv3_base.hh

📁 xorp源码hg
💻 HH
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 2001-2007 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/ospfv3_base.hh,v 1.16 2007/03/12 10:16:06 atanu Exp $ */#ifndef __XRL_TARGETS_OSPFV3_BASE_HH__#define __XRL_TARGETS_OSPFV3_BASE_HH__#undef XORP_LIBRARY_NAME#define XORP_LIBRARY_NAME "XrlOspfv3Target"#include "libxorp/xlog.h"#include "libxipc/xrl_cmd_map.hh"class XrlOspfv3TargetBase {protected:    XrlCmdMap* _cmds;public:    /**     * Constructor.     *     * @param cmds an XrlCmdMap that the commands associated with the target     *		   should be added to.  This is typically the XrlRouter     *		   associated with the target.     */    XrlOspfv3TargetBase(XrlCmdMap* cmds = 0);    /**     * Destructor.     *     * Dissociates instance commands from command map.     */    virtual ~XrlOspfv3TargetBase();    /**     * Set command map.     *     * @param cmds pointer to command map to associate commands with.  This     * argument is typically a pointer to the XrlRouter associated with the     * target.     *     * @return true on success, false if cmds is null or a command map has     * already been supplied.     */    bool set_command_map(XrlCmdMap* cmds);    /**     * Get Xrl instance name associated with command map.     */    inline const string& name() const { return _cmds->name(); }    /**     * Get version string of instance.     */    inline const char* version() const { return "ospfv3/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:     *     *  Receive an IPv4 packet from a raw socket.     *     *  @param if_name the interface name the packet arrived on.     *     *  @param vif_name the vif name the packet arrived on.     *     *  @param src_address the IP source address.     *     *  @param dst_address the IP destination address.     *     *  @param ip_protocol the IP protocol number.     *     *  @param ip_ttl the IP TTL (hop-limit). If it has a negative value, then     *  the received value is unknown.     *     *  @param ip_tos the Type of Service (Diffserv/ECN bits for IPv4). If it     *  has a negative value, then the received value is unknown.     *     *  @param ip_router_alert if true, the IP Router Alert option was included     *  in the IP packet.     */    virtual XrlCmdError raw_packet4_client_0_1_recv(	// Input values,	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 vector<uint8_t>&	payload) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Receive an IPv6 packet from a raw socket.     *     *  @param if_name the interface name the packet arrived on.     *     *  @param vif_name the vif name the packet arrived on.     *     *  @param src_address the IP source address.     *     *  @param dst_address the IP destination address.     *     *  @param ip_protocol the IP protocol number.     *     *  @param ip_ttl the IP TTL (hop-limit). If it has a negative value, then     *  the received value is unknown.     *     *  @param ip_tos the Type Of Service (IP traffic class for IPv4). If it     *  has a negative value, then the received value is unknown.     *     *  @param ip_router_alert if true, the IP Router Alert option was included     *  in the IP packet.     *     *  @param ext_headers_type a list of u32 integers with the types of the     *  optional extention headers.     *     *  @param ext_headers_payload a list of payload data, one for each     *  optional extention header. The number of entries must match     *  ext_headers_type.     */    virtual XrlCmdError raw_packet6_client_0_1_recv(	// Input values,	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 XrlAtomList&	ext_headers_type,	const XrlAtomList&	ext_headers_payload,	const vector<uint8_t>&	payload) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Configure a policy filter.     *     *  @param filter the identifier of the filter to configure.     *     *  @param conf the configuration of the filter.     */    virtual XrlCmdError policy_backend_0_1_configure(	// Input values,	const uint32_t&	filter,	const string&	conf) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Reset a policy filter.     *     *  @param filter the identifier of the filter to reset.     */    virtual XrlCmdError policy_backend_0_1_reset(	// Input values,	const uint32_t&	filter) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Push all available routes through all filters for re-filtering.     */    virtual XrlCmdError policy_backend_0_1_push_routes() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Start route redistribution for an IPv6 route.     *     *  @param network the route to advertise.     *     *  @param unicast whether the route is unicast.     *     *  @param multicast whether the route is multicast.     *     *  @param nexthop the nexthop of the route.     *     *  @param metric the metric of the route.     *     *  @param policytags the set of policy-tags associated with the route.     */    virtual XrlCmdError policy_redist6_0_1_add_route6(	// Input values,	const IPv6Net&	network,	const bool&	unicast,	const bool&	multicast,	const IPv6&	nexthop,	const uint32_t&	metric,	const XrlAtomList&	policytags) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Terminate route redistribution for an IPv6 route.     *     *  @param network the route for which advertisements should cease.     *     *  @param unicast whether the route is unicast.     *     *  @param multicast whether the route is multicast.     */    virtual XrlCmdError policy_redist6_0_1_delete_route6(	// Input values,	const IPv6Net&	network,	const bool&	unicast,	const bool&	multicast) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Set instance id     */    virtual XrlCmdError ospfv3_0_1_set_instance_id(	// Input values,	const uint32_t&	id) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Set router id     */    virtual XrlCmdError ospfv3_0_1_set_router_id(	// Input values,	const IPv4&	id) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Set the router alert in the IP options.     */    virtual XrlCmdError ospfv3_0_1_set_ip_router_alert(	// Input values,	const bool&	ip_router_alert) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Create an area.     *     *  @param area id of the area     *     *  @param type of area "border", "stub", "nssa"     */    virtual XrlCmdError ospfv3_0_1_create_area_router(	// Input values,	const IPv4&	area,	const string&	type) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Change area type.     *     *  @param area id of the area     *     *  @param type of area "border", "stub", "nssa"     */    virtual XrlCmdError ospfv3_0_1_change_area_router_type(	// Input values,	const IPv4&	area,	const string&	type) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Destroy area.     *     *  @param area id of the area     */    virtual XrlCmdError ospfv3_0_1_destroy_area_router(	// Input values,	const IPv4&	area) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Create a binding to an interface.     *     *  @param ifname the interface.     *     *  @param vifname virtual interface.     *     *  @param type of link "p2p", "broadcast", "nbma", "p2m", "vlink"     */    virtual XrlCmdError ospfv3_0_1_create_peer(	// Input values,	const string&	ifname,	const string&	vifname,	const string&	type,	const IPv4&	area) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Delete peer.     */    virtual XrlCmdError ospfv3_0_1_delete_peer(	// Input values,	const string&	ifname,	const string&	vifname) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Set the peer state up or down.     */    virtual XrlCmdError ospfv3_0_1_set_peer_state(	// Input values,	const string&	ifname,	const string&	vifname,	const bool&	enable) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Add an address to the peer.     */    virtual XrlCmdError ospfv3_0_1_add_address_peer(	// Input values,	const string&	ifname,	const string&	vifname,	const IPv4&	area,	const IPv6&	addr) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Remove an address from the peer.     */    virtual XrlCmdError ospfv3_0_1_remove_address_peer(	// Input values,	const string&	ifname,	const string&	vifname,	const IPv4&	area,	const IPv6&	addr) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Set the address state up or down.     */    virtual XrlCmdError ospfv3_0_1_set_address_state_peer(	// Input values,	const string&	ifname,	const string&	vifname,	const IPv4&	area,	const IPv6&	addr,	const bool&	enable) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Activate peer. Called once the peer and child nodes have been     *  configured.     */    virtual XrlCmdError ospfv3_0_1_activate_peer(	// Input values,	const string&	ifname,	const string&	vifname,	const IPv4&	area) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Update peer. Called if the peer and child nodes are modified.     */    virtual XrlCmdError ospfv3_0_1_update_peer(	// Input values,	const string&	ifname,	const string&	vifname,	const IPv4&	area) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Add a neighbour to the peer.     */    virtual XrlCmdError ospfv3_0_1_add_neighbour(	// Input values,	const string&	ifname,	const string&	vifname,	const IPv4&	area,

⌨️ 快捷键说明

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