📄 ospfv2_base.hh
字号:
* propagation delays; it must be greater than zero. */ virtual XrlCmdError ospfv2_0_1_set_inftransdelay( // Input values, const string& ifname, const string& vifname, const IPv4& area, const uint32_t& delay) = 0; /** * Pure-virtual function that needs to be implemented to: * * Used in the designated router election. */ virtual XrlCmdError ospfv2_0_1_set_router_priority( // Input values, const string& ifname, const string& vifname, const IPv4& area, const uint32_t& priority) = 0; /** * Pure-virtual function that needs to be implemented to: * * The interval between hello messages. */ virtual XrlCmdError ospfv2_0_1_set_hello_interval( // Input values, const string& ifname, const string& vifname, const IPv4& area, const uint32_t& interval) = 0; /** * Pure-virtual function that needs to be implemented to: * * The period to wait before considering a router dead. */ virtual XrlCmdError ospfv2_0_1_set_router_dead_interval( // Input values, const string& ifname, const string& vifname, const IPv4& area, const uint32_t& interval) = 0; /** * Pure-virtual function that needs to be implemented to: * * Set simple password authentication key. * * @param ifname the interface name. * * @param vifname the vif name. * * @param area the area ID. * * @param password the authentication password. */ virtual XrlCmdError ospfv2_0_1_set_simple_authentication_key( // Input values, const string& ifname, const string& vifname, const IPv4& area, const string& password) = 0; /** * Pure-virtual function that needs to be implemented to: * * Delete simple password authentication key. * * @param ifname the interface name. * * @param vifname the vif name. * * @param area the area ID. */ virtual XrlCmdError ospfv2_0_1_delete_simple_authentication_key( // Input values, const string& ifname, const string& vifname, const IPv4& area) = 0; /** * Pure-virtual function that needs to be implemented to: * * Set MD5 authentication key. * * @param ifname the interface name. * * @param vifname the vif name. * * @param area the area ID. * * @param key_id the key ID (must be an integer in the interval [0, 255]). * * @param password the authentication password. * * @param start_time the authentication start time (YYYY-MM-DD.HH:MM). * * @param end_time the authentication end time (YYYY-MM-DD.HH:MM). * * @param max_time_drift the maximum time drift (in seconds) among all * routers. Allowed values are [0--65534] seconds or 65535 for unlimited * time drift. */ virtual XrlCmdError ospfv2_0_1_set_md5_authentication_key( // Input values, const string& ifname, const string& vifname, const IPv4& area, const uint32_t& key_id, const string& password, const string& start_time, const string& end_time, const uint32_t& max_time_drift) = 0; /** * Pure-virtual function that needs to be implemented to: * * Delete MD5 authentication key. * * @param ifname the interface name. * * @param vifname the vif name. * * @param area the area ID. * * @param key_id the key ID (must be an integer in the interval [0, 255]). */ virtual XrlCmdError ospfv2_0_1_delete_md5_authentication_key( // Input values, const string& ifname, const string& vifname, const IPv4& area, const uint32_t& key_id) = 0; /** * Pure-virtual function that needs to be implemented to: * * Toggle the passive status of an interface. */ virtual XrlCmdError ospfv2_0_1_set_passive( // Input values, const string& ifname, const string& vifname, const IPv4& area, const bool& passive) = 0; /** * Pure-virtual function that needs to be implemented to: * * If this is a "stub" or "nssa" area toggle the sending of a default * route. */ virtual XrlCmdError ospfv2_0_1_originate_default_route( // Input values, const IPv4& area, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Set the StubDefaultCost, the default cost sent in a default route in a * "stub" or "nssa" area. */ virtual XrlCmdError ospfv2_0_1_stub_default_cost( // Input values, const IPv4& area, const uint32_t& cost) = 0; /** * Pure-virtual function that needs to be implemented to: * * Toggle the sending of summaries into "stub" or "nssa" areas. */ virtual XrlCmdError ospfv2_0_1_summaries( // Input values, const IPv4& area, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Add area range. */ virtual XrlCmdError ospfv2_0_1_area_range_add( // Input values, const IPv4& area, const IPv4Net& net, const bool& advertise) = 0; /** * Pure-virtual function that needs to be implemented to: * * Delete area range. */ virtual XrlCmdError ospfv2_0_1_area_range_delete( // Input values, const IPv4& area, const IPv4Net& net) = 0; /** * Pure-virtual function that needs to be implemented to: * * Change the advertised state of this area. */ virtual XrlCmdError ospfv2_0_1_area_range_change_state( // Input values, const IPv4& area, const IPv4Net& net, const bool& advertise) = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/Disable tracing. * * @param tvar trace variable. * * @param enable set to true to enable false to disable. */ virtual XrlCmdError ospfv2_0_1_trace( // Input values, const string& tvar, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get a single lsa from an area. A stateless mechanism to get LSAs. The * client of this interface should start from zero and continue to request * LSAs (incrementing index) until toohigh becomes true. * * @param area database that is being searched. * * @param index into database starting from 0. * * @param valid true if a LSA has been returned. Some index values do not * contain LSAs. This should not be considered an error. * * @param toohigh true if no more LSA exist after this index. * * @param self if true this LSA was originated by this router. * * @param lsa if valid is true the LSA at index. */ virtual XrlCmdError ospfv2_0_1_get_lsa( // Input values, const IPv4& area, const uint32_t& index, // Output values, bool& valid, bool& toohigh, bool& self, vector<uint8_t>& lsa) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get a list of all the configured areas. Return a list of u32 type * values. Each value is an area ID. */ virtual XrlCmdError ospfv2_0_1_get_area_list( // Output values, XrlAtomList& areas) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get the list of neighbours. Return a list of u32 type values. Each * value is an internal identifier that can be used with the * get_neighbour_info XRL. */ virtual XrlCmdError ospfv2_0_1_get_neighbour_list( // Output values, XrlAtomList& areas) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get information on a neighbour. * * @param nid neighbour ID returned by the get_neighbour_list. * * @param address of neighbour in txt to allow IPv4 and IPv6. * * @param interface with which the neighbour forms the adjacency. * * @param state of the adjacency. * * @param rid router ID of the neighbour. * * @param priority of the neighbour (used for DR election). * * @param deadtime time until neighbour is considered dead. * * @param area the neighbour is in. * * @param opt value in the neighbours hello packet. * * @param dr designated router. * * @param bdr backup designated router. * * @param up time in seconds that the neigbour has been up. * * @param adjacent time in seconds that there has been an adjacency. */ virtual XrlCmdError ospfv2_0_1_get_neighbour_info( // Input values, const uint32_t& nid, // Output values, string& address, string& interface, string& state, IPv4& rid, uint32_t& priority, uint32_t& deadtime, IPv4& area, uint32_t& opt, IPv4& dr, IPv4& bdr, uint32_t& up, uint32_t& adjacent) = 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_raw_packet4_client_0_1_recv(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_policy_backend_0_1_configure(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_policy_backend_0_1_reset(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_policy_backend_0_1_push_routes(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_policy_redist4_0_1_add_route4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_policy_redist4_0_1_delete_route4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_router_id(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_rfc1583_compatibility(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_ip_router_alert(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_create_area_router(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_change_area_router_type(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_destroy_area_router(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_create_peer(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_delete_peer(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_peer_state(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_add_neighbour(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_remove_neighbour(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_create_virtual_link(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_delete_virtual_link(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_transit_area_virtual_link(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_interface_cost(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_retransmit_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_inftransdelay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_router_priority(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_hello_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_router_dead_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_simple_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_delete_simple_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_md5_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_delete_md5_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_set_passive(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_originate_default_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_stub_default_cost(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_summaries(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_area_range_add(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_area_range_delete(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_area_range_change_state(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_trace(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_get_lsa(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_get_area_list(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_get_neighbour_list(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_ospfv2_0_1_get_neighbour_info(const XrlArgs& in, XrlArgs* out); void add_handlers(); void remove_handlers();};#endif // __XRL_TARGETS_OSPFV2_BASE_HH__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -