📄 pim_base.hh
字号:
* * @param group_prefix the group prefix of the configured zone. * * @param is_scope_zone true if configuring administratively scoped zone. * * @param vif_name the name of the vif to use its address as a * candidate-RP. * * @param vif_addr the address of the vif to use as a candidate-RP. * * @param rp_priority the Cand-RP priority (smaller is better). * * @param rp_holdtime the Cand-RP holdtime (in seconds). */ virtual XrlCmdError pim_0_1_add_config_cand_rp4( // Input values, const IPv4Net& group_prefix, const bool& is_scope_zone, const string& vif_name, const IPv4& vif_addr, const uint32_t& rp_priority, const uint32_t& rp_holdtime) = 0; virtual XrlCmdError pim_0_1_add_config_cand_rp6( // Input values, const IPv6Net& group_prefix, const bool& is_scope_zone, const string& vif_name, const IPv6& vif_addr, const uint32_t& rp_priority, const uint32_t& rp_holdtime) = 0; virtual XrlCmdError pim_0_1_delete_config_cand_rp4( // Input values, const IPv4Net& group_prefix, const bool& is_scope_zone, const string& vif_name, const IPv4& vif_addr) = 0; virtual XrlCmdError pim_0_1_delete_config_cand_rp6( // Input values, const IPv6Net& group_prefix, const bool& is_scope_zone, const string& vif_name, const IPv6& vif_addr) = 0; /** * Pure-virtual function that needs to be implemented to: * * Add/delete/complete static RP configuration. * * @param group_prefix the group prefix for the RP. * * @param rp_addr the RP address. * * @param rp_priority the RP priority (smaller is better). * * @param hash_mask_len the hash mask length used in computing an RP for a * group. It should be same across all RPs. If set to zero, the default * one will be used. */ virtual XrlCmdError pim_0_1_add_config_static_rp4( // Input values, const IPv4Net& group_prefix, const IPv4& rp_addr, const uint32_t& rp_priority, const uint32_t& hash_mask_len) = 0; virtual XrlCmdError pim_0_1_add_config_static_rp6( // Input values, const IPv6Net& group_prefix, const IPv6& rp_addr, const uint32_t& rp_priority, const uint32_t& hash_mask_len) = 0; virtual XrlCmdError pim_0_1_delete_config_static_rp4( // Input values, const IPv4Net& group_prefix, const IPv4& rp_addr) = 0; virtual XrlCmdError pim_0_1_delete_config_static_rp6( // Input values, const IPv6Net& group_prefix, const IPv6& rp_addr) = 0; virtual XrlCmdError pim_0_1_delete_config_all_static_group_prefixes_rp4( // Input values, const IPv4& rp_addr) = 0; virtual XrlCmdError pim_0_1_delete_config_all_static_group_prefixes_rp6( // Input values, const IPv6& rp_addr) = 0; virtual XrlCmdError pim_0_1_delete_config_all_static_rps() = 0; virtual XrlCmdError pim_0_1_config_static_rp_done() = 0; /** * Pure-virtual function that needs to be implemented to: * * Get the configured protocol version per interface. * * @param vif_name the name of the vif to apply to. * * @param proto_version the protocol version. */ virtual XrlCmdError pim_0_1_get_vif_proto_version( // Input values, const string& vif_name, // Output values, uint32_t& proto_version) = 0; /** * Pure-virtual function that needs to be implemented to: * * Set the protocol version per interface. * * @param vif_name the name of the vif to apply to. * * @param proto_version the protocol version. */ virtual XrlCmdError pim_0_1_set_vif_proto_version( // Input values, const string& vif_name, const uint32_t& proto_version) = 0; /** * Pure-virtual function that needs to be implemented to: * * Reset the protocol version per interface to its default value. * * @param vif_name the name of the vif to apply to. */ virtual XrlCmdError pim_0_1_reset_vif_proto_version( // Input values, const string& vif_name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get the IP Router Alert option check per interface for received * packets. * * @param vif_name the name of the vif to apply to. * * @param enabled if true, then the IP Router Alert option check was * enabled, otherwise it was disabled. */ virtual XrlCmdError pim_0_1_get_vif_ip_router_alert_option_check( // Input values, const string& vif_name, // Output values, bool& enabled) = 0; /** * Pure-virtual function that needs to be implemented to: * * Set the IP Router Alert option check per interface for received * packets. * * @param vif_name the name of the vif to apply to. * * @param enable if true, then enable the IP Router Alert option check, * otherwise disable it. */ virtual XrlCmdError pim_0_1_set_vif_ip_router_alert_option_check( // Input values, const string& vif_name, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Reset the IP Router Alert option check per interface for received * packets to its default value. * * @param vif_name the name of the vif to apply to. */ virtual XrlCmdError pim_0_1_reset_vif_ip_router_alert_option_check( // Input values, const string& vif_name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Configure PIM Hello-related metrics. The 'set_foo' XRLs set the * particular values. The 'reset_foo' XRLs reset the metrics to their * default values. * * @param vif_name the name of the vif to configure. * * @param hello_triggered_delay the Triggered_Hello_Delay (in seconds). */ virtual XrlCmdError pim_0_1_get_vif_hello_triggered_delay( // Input values, const string& vif_name, // Output values, uint32_t& hello_triggered_delay) = 0; virtual XrlCmdError pim_0_1_set_vif_hello_triggered_delay( // Input values, const string& vif_name, const uint32_t& hello_triggered_delay) = 0; virtual XrlCmdError pim_0_1_reset_vif_hello_triggered_delay( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_hello_period( // Input values, const string& vif_name, // Output values, uint32_t& hello_period) = 0; virtual XrlCmdError pim_0_1_set_vif_hello_period( // Input values, const string& vif_name, const uint32_t& hello_period) = 0; virtual XrlCmdError pim_0_1_reset_vif_hello_period( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_hello_holdtime( // Input values, const string& vif_name, // Output values, uint32_t& hello_holdtime) = 0; virtual XrlCmdError pim_0_1_set_vif_hello_holdtime( // Input values, const string& vif_name, const uint32_t& hello_holdtime) = 0; virtual XrlCmdError pim_0_1_reset_vif_hello_holdtime( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_dr_priority( // Input values, const string& vif_name, // Output values, uint32_t& dr_priority) = 0; virtual XrlCmdError pim_0_1_set_vif_dr_priority( // Input values, const string& vif_name, const uint32_t& dr_priority) = 0; virtual XrlCmdError pim_0_1_reset_vif_dr_priority( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_propagation_delay( // Input values, const string& vif_name, // Output values, uint32_t& propagation_delay) = 0; virtual XrlCmdError pim_0_1_set_vif_propagation_delay( // Input values, const string& vif_name, const uint32_t& propagation_delay) = 0; virtual XrlCmdError pim_0_1_reset_vif_propagation_delay( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_override_interval( // Input values, const string& vif_name, // Output values, uint32_t& override_interval) = 0; virtual XrlCmdError pim_0_1_set_vif_override_interval( // Input values, const string& vif_name, const uint32_t& override_interval) = 0; virtual XrlCmdError pim_0_1_reset_vif_override_interval( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_is_tracking_support_disabled( // Input values, const string& vif_name, // Output values, bool& is_tracking_support_disabled) = 0; virtual XrlCmdError pim_0_1_set_vif_is_tracking_support_disabled( // Input values, const string& vif_name, const bool& is_tracking_support_disabled) = 0; virtual XrlCmdError pim_0_1_reset_vif_is_tracking_support_disabled( // Input values, const string& vif_name) = 0; virtual XrlCmdError pim_0_1_get_vif_accept_nohello_neighbors( // Input values, const string& vif_name, // Output values, bool& accept_nohello_neighbors) = 0; virtual XrlCmdError pim_0_1_set_vif_accept_nohello_neighbors( // Input values, const string& vif_name, const bool& accept_nohello_neighbors) = 0; virtual XrlCmdError pim_0_1_reset_vif_accept_nohello_neighbors( // Input values, const string& vif_name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Configure PIM Join/Prune-related metrics. The 'set_foo' XRLs set the * particular values. The 'reset_foo' XRLs reset the metrics to their * default values. * * @param vif_name the name of the vif to configure. * * @param join_prune_period the period between Join/Prune messages. */ virtual XrlCmdError pim_0_1_get_vif_join_prune_period( // Input values, const string& vif_name, // Output values, uint32_t& join_prune_period) = 0; virtual XrlCmdError pim_0_1_set_vif_join_prune_period( // Input values, const string& vif_name, const uint32_t& join_prune_period) = 0; virtual XrlCmdError pim_0_1_reset_vif_join_prune_period( // Input values, const string& vif_name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Configure SPT-switch threshold. The 'set_foo' XRLs set the particular * values. The 'reset_foo' XRLs reset the metrics to their default values. * * @param is_enabled if true, enable SPT-switch, otherwise disable it. * * @param interval_sec if the SPT-switch is enabled, the interval (in * number of seconds) to measure the bandwidth to consider whether to * switch to the SPT. */ virtual XrlCmdError pim_0_1_get_switch_to_spt_threshold( // Output values, bool& is_enabled, uint32_t& interval_sec, uint32_t& bytes) = 0; virtual XrlCmdError pim_0_1_set_switch_to_spt_threshold( // Input values, const bool& is_enabled, const uint32_t& interval_sec, const uint32_t& bytes) = 0; virtual XrlCmdError pim_0_1_reset_switch_to_spt_threshold() = 0; /** * Pure-virtual function that needs to be implemented to: * * Add or delete an alternative subnet on a PIM vif. An alternative subnet * is used to make incoming traffic with a non-local source address appear * as it is coming from a local subnet. Note: add alternative subnets with * extreme care, only if you know what you are really doing! * * @param vif_name the name of the vif to add or delete an alternative * subnet. * * @param subnet the subnet address to add or delete. */ virtual XrlCmdError pim_0_1_add_alternative_subnet4( // Input values, const string& vif_name, const IPv4Net& subnet) = 0; virtual XrlCmdError pim_0_1_add_alternative_subnet6( // Input values, const string& vif_name, const IPv6Net& subnet) = 0; virtual XrlCmdError pim_0_1_delete_alternative_subnet4( // Input values, const string& vif_name, const IPv4Net& subnet) = 0; virtual XrlCmdError pim_0_1_delete_alternative_subnet6( // Input values, const string& vif_name, const IPv6Net& subnet) = 0; virtual XrlCmdError pim_0_1_remove_all_alternative_subnets( // Input values, const string& vif_name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/disable the PIM trace log for all operations. * * @param enable if true, then enable the trace log, otherwise disable it. */ virtual XrlCmdError pim_0_1_log_trace_all( // Input values, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Test-related methods: add Join/Prune entries, and send them to a * neighbor. */ virtual XrlCmdError pim_0_1_add_test_jp_entry4( // Input values, const IPv4& source_addr, const IPv4& group_addr, const uint32_t& group_mask_len, const string& mrt_entry_type, const string& action_jp, const uint32_t& holdtime, const bool& is_new_group) = 0; virtual XrlCmdError pim_0_1_add_test_jp_entry6( // Input values, const IPv6& source_addr, const IPv6& group_addr, const uint32_t& group_mask_len, const string& mrt_entry_type, const string& action_jp, const uint32_t& holdtime, const bool& is_new_group) = 0; virtual XrlCmdError pim_0_1_send_test_jp_entry4( // Input values, const string& vif_name, const IPv4& nbr_addr) = 0; virtual XrlCmdError pim_0_1_send_test_jp_entry6( // Input values, const string& vif_name, const IPv6& nbr_addr) = 0; /** * Pure-virtual function that needs to be implemented to: *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -