📄 rip_base.hh
字号:
* * @param ifname the interface name. * * @param vifname the vif name. * * @param addr the address. * * @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). */ virtual XrlCmdError rip_0_1_set_md5_authentication_key( // Input values, const string& ifname, const string& vifname, const IPv4& addr, const uint32_t& key_id, const string& password, const string& start_time, const string& end_time) = 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 addr the address. * * @param key_id the key ID (must be an integer in the interval [0, 255]). */ virtual XrlCmdError rip_0_1_delete_md5_authentication_key( // Input values, const string& ifname, const string& vifname, const IPv4& addr, const uint32_t& key_id) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get a textual description of the status of address RIP is running upon. * * @param ifname the interface that owns vif that has the address. * * @param vifname virtual interface owns the address. * * @param addr the address to query. */ virtual XrlCmdError rip_0_1_rip_address_status( // Input values, const string& ifname, const string& vifname, const IPv4& addr, // Output values, string& status) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get addresses running RIP. */ virtual XrlCmdError rip_0_1_get_all_addresses( // Output values, XrlAtomList& ifnames, XrlAtomList& vifnames, XrlAtomList& addrs) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get counters associated with interface / vif /address. */ virtual XrlCmdError rip_0_1_get_counters( // Input values, const string& ifname, const string& vifname, const IPv4& addr, // Output values, XrlAtomList& counter_descriptions, XrlAtomList& counter_values) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get the list of peers associated with interface / vif / address. */ virtual XrlCmdError rip_0_1_get_peers( // Input values, const string& ifname, const string& vifname, const IPv4& addr, // Output values, XrlAtomList& peers) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get list of all peers known to RIP. There is a 1-to-1 correspondence * between the items in the lists of peers, ifnames, vifnames, addrs. */ virtual XrlCmdError rip_0_1_get_all_peers( // Output values, XrlAtomList& peers, XrlAtomList& ifnames, XrlAtomList& vifnames, XrlAtomList& addrs) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get counters associated with peer of interface / vif /address. * * @param counter_descriptions textual descriptions of counters. * * @param counter_values values associated with counters. * * @param peer_last_active is the number of seconds since TimeVal(0,0). */ virtual XrlCmdError rip_0_1_get_peer_counters( // Input values, const string& ifname, const string& vifname, const IPv4& addr, const IPv4& peer, // Output values, XrlAtomList& counter_descriptions, XrlAtomList& counter_values, uint32_t& peer_last_active) = 0; /** * Pure-virtual function that needs to be implemented to: * * Configure protocol route redistribution. * * @param protocol_name name of protocol to redistribute routes from. * * @param cost RIP cost metric to assign to protocol routes. * * @param tag RIP tag to associate with protocol routes. */ virtual XrlCmdError rip_0_1_redist_protocol_routes( // Input values, const string& protocol_name, const uint32_t& cost, const uint32_t& tag) = 0; /** * Pure-virtual function that needs to be implemented to: * * Remove protocol route redistribution. * * @param protocol_name name of protocol to stop redistribution of routes * from. */ virtual XrlCmdError rip_0_1_no_redist_protocol_routes( // Input values, const string& protocol_name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Method invoked by target implementing socket4/0.1 when a packet arrives * from an IPv4 source. * * @param sockid the identifier associated with socket where error * occurred. * * @param src_host the originating host. * * @param src_port the originating IP port. * * @param data the data received. */ virtual XrlCmdError socket4_user_0_1_recv_event( // Input values, const string& sockid, const IPv4& src_host, const uint32_t& src_port, const vector<uint8_t>& data) = 0; /** * Pure-virtual function that needs to be implemented to: * * Method invoked by target implementing socket4/0.1 when a connection * request is received from an IPv4 source. */ virtual XrlCmdError socket4_user_0_1_connect_event( // Input values, const string& sockid, const IPv4& src_host, const uint32_t& src_port, const string& new_sockid, // Output values, bool& accept) = 0; /** * Pure-virtual function that needs to be implemented to: * * Method invoked by target implementing socket4/0.1 when an error occurs. * * @param sockid the identifier associated with socket where error * occurred. * * @param error a textual description of the error. * * @param fatal indication of whether socket is shutdown because of error. */ virtual XrlCmdError socket4_user_0_1_error_event( // Input values, const string& sockid, const string& error, const bool& fatal) = 0; /** * Pure-virtual function that needs to be implemented to: * * Method invoked by target implementing socket4/0.1 when a socket is * forcibly closed. This would typically happen when the address the * socket is bound to is removed from an interface. This method is not * called if the socket is closed through socket/0.1/close. */ virtual XrlCmdError socket4_user_0_1_close_event( // Input values, const string& sockid, const string& reason) = 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_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_finder_event_observer_0_1_xrl_target_death(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_redist4_0_1_add_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_redist4_0_1_delete_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_redist4_0_1_starting_route_dump(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_redist4_0_1_finishing_route_dump(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_add_rip_address(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_remove_rip_address(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_rip_address_enabled(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_rip_address_enabled(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_cost(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_cost(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_horizon(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_horizon(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_passive(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_passive(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_accept_non_rip_requests(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_accept_non_rip_requests(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_accept_default_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_accept_default_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_advertise_default_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_advertise_default_route(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_route_timeout(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_route_timeout(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_deletion_delay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_deletion_delay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_request_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_request_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_update_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_update_interval(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_update_jitter(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_update_jitter(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_triggered_update_delay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_triggered_update_delay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_triggered_update_jitter(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_triggered_update_jitter(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_interpacket_delay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_interpacket_delay(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_simple_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_delete_simple_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_set_md5_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_delete_md5_authentication_key(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_rip_address_status(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_get_all_addresses(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_get_counters(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_get_peers(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_get_all_peers(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_get_peer_counters(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_redist_protocol_routes(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rip_0_1_no_redist_protocol_routes(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_socket4_user_0_1_recv_event(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_socket4_user_0_1_connect_event(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_socket4_user_0_1_error_event(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_socket4_user_0_1_close_event(const XrlArgs& in, XrlArgs* out); void add_handlers(); void remove_handlers();};#endif // __XRL_TARGETS_RIP_BASE_HH__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -