📄 pim.xif
字号:
/* $XORP: xorp/xrl/interfaces/pim.xif,v 1.23 2005/06/01 00:37:01 pavlin Exp $ *//* * Protocol Independent Multicast XRL interface. */interface pim/0.1 { /** * Enable/disable/start/stop a PIM vif interface. * * @param vif_name the name of the vif to enable/disable/start/stop. * @param enable if true, then enable the vif, otherwise * disable it. */ enable_vif ? vif_name:txt & enable:bool start_vif ? vif_name:txt stop_vif ? vif_name:txt /** * Enable/disable/start/stop all PIM vif interfaces. * * @param enable if true, then enable the vifs, otherwise * disable them. */ enable_all_vifs ? enable:bool start_all_vifs stop_all_vifs /** * Enable/disable/start/stop the PIM protocol. * * @param enable if true, then enable the PIM protocol, otherwise * disable it. */ enable_pim ? enable:bool start_pim stop_pim /** * Enable/disable/start/stop the PIM CLI access. * * @param enable if true, then enable the PIM CLI access, * otherwise disable it. */ enable_cli ? enable:bool start_cli stop_cli /** * Enable/disable/start/stop BSR. * * @param enable if true, then enable the BSR, otherwise * disable it. */ enable_bsr ? enable:bool start_bsr stop_bsr /** * Add/delete scope zone. * * @param scope_zone_id the ID of the configured zone. * @param vif_name the name of the vif to use as a bondary of the * scope zone. * @param vif_addr the address of the vif to use as a bondary of the * scope zone. */ add_config_scope_zone_by_vif_name4? scope_zone_id:ipv4net \ & vif_name:txt add_config_scope_zone_by_vif_name6? scope_zone_id:ipv6net \ & vif_name:txt add_config_scope_zone_by_vif_addr4? scope_zone_id:ipv4net \ & vif_addr:ipv4 add_config_scope_zone_by_vif_addr6? scope_zone_id:ipv6net \ & vif_addr:ipv6 delete_config_scope_zone_by_vif_name4? scope_zone_id:ipv4net \ & vif_name:txt delete_config_scope_zone_by_vif_name6? scope_zone_id:ipv6net \ & vif_name:txt delete_config_scope_zone_by_vif_addr4? scope_zone_id:ipv4net \ & vif_addr:ipv4 delete_config_scope_zone_by_vif_addr6? scope_zone_id:ipv6net \ & vif_addr:ipv6 /** * Add/delete candidate-BSR configuration. * * @param scope_zone_id the ID 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-BSR. * @param vif_addr the address of the vif to use as a candidate-BSR. * @param bsr_priority the BSR priority (larger is better). * @param hash_mask_len the hash mask length. */ add_config_cand_bsr4? scope_zone_id:ipv4net \ & is_scope_zone:bool \ & vif_name:txt \ & vif_addr:ipv4 \ & bsr_priority:u32 \ & hash_mask_len:u32 add_config_cand_bsr6? scope_zone_id:ipv6net \ & is_scope_zone:bool \ & vif_name:txt \ & vif_addr:ipv6 \ & bsr_priority:u32 \ & hash_mask_len:u32 delete_config_cand_bsr4 ? scope_zone_id:ipv4net \ & is_scope_zone:bool delete_config_cand_bsr6 ? scope_zone_id:ipv6net \ & is_scope_zone:bool /** * Add/delete Candidate-RP configuration. * * @param is_scope_zone true if configuring administratively scoped * zone. * @param group_prefix the group prefix of the configured 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). */ add_config_cand_rp4 ? group_prefix:ipv4net \ & is_scope_zone:bool \ & vif_name:txt \ & vif_addr:ipv4 \ & rp_priority:u32 \ & rp_holdtime:u32 add_config_cand_rp6 ? group_prefix:ipv6net \ & is_scope_zone:bool \ & vif_name:txt \ & vif_addr:ipv6 \ & rp_priority:u32 \ & rp_holdtime:u32 delete_config_cand_rp4? group_prefix:ipv4net \ & is_scope_zone:bool \ & vif_name:txt \ & vif_addr:ipv4 delete_config_cand_rp6? group_prefix:ipv6net \ & is_scope_zone:bool \ & vif_name:txt \ & vif_addr:ipv6 /** * 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. */ add_config_static_rp4 ? group_prefix:ipv4net \ & rp_addr:ipv4 \ & rp_priority:u32 \ & hash_mask_len:u32 add_config_static_rp6 ? group_prefix:ipv6net \ & rp_addr:ipv6 \ & rp_priority:u32 \ & hash_mask_len:u32 delete_config_static_rp4 ? group_prefix:ipv4net \ & rp_addr:ipv4 delete_config_static_rp6 ? group_prefix:ipv6net \ & rp_addr:ipv6 delete_config_all_static_group_prefixes_rp4 ? rp_addr:ipv4 delete_config_all_static_group_prefixes_rp6 ? rp_addr:ipv6 delete_config_all_static_rps config_static_rp_done /** * Get the configured protocol version per interface. * * @param vif_name the name of the vif to apply to. * @param proto_version the protocol version. */ get_vif_proto_version ? vif_name:txt -> proto_version:u32 /** * Set the protocol version per interface. * * @param vif_name the name of the vif to apply to. * @param proto_version the protocol version. */ set_vif_proto_version ? vif_name:txt & proto_version:u32 /** * Reset the protocol version per interface to its default value. * * @param vif_name the name of the vif to apply to. */ reset_vif_proto_version ? vif_name:txt /** * 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. */ get_vif_ip_router_alert_option_check ? vif_name:txt -> enabled:bool /** * 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. */ set_vif_ip_router_alert_option_check ? vif_name:txt & enable:bool /** * 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. */ reset_vif_ip_router_alert_option_check ? vif_name:txt /** * 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 proto_version the protocol version. * @param hello_triggered_delay the Triggered_Hello_Delay (in seconds). * @param hello_period the Hello_Period periodic interval for Hello * messages (in seconds). * @param hello_holdtime the Holdtime in the Holdtime option * (in seconds). * @param dr_priority the DR Priority in the DR Priority * option (larger is better). * @param propagation_delay the Propagation Delay in the * LAN Prune Delay option (in milliseconds). * @param override_interval the Override_Interval in the * LAN Prune Delay option (in milliseconds). * @param is_tracking_support_disabled if true, the T-bit in the * LAN Prune Delay option is set. * @param accept_nohello_neighbors if true, accept neighbors that * didn't send a Hello message first. */ get_vif_hello_triggered_delay ? vif_name:txt -> hello_triggered_delay:u32 set_vif_hello_triggered_delay ? vif_name:txt & hello_triggered_delay:u32 reset_vif_hello_triggered_delay ? vif_name:txt get_vif_hello_period ? vif_name:txt -> hello_period:u32 set_vif_hello_period ? vif_name:txt & hello_period:u32 reset_vif_hello_period ? vif_name:txt get_vif_hello_holdtime ? vif_name:txt -> hello_holdtime:u32 set_vif_hello_holdtime ? vif_name:txt & hello_holdtime:u32 reset_vif_hello_holdtime ? vif_name:txt get_vif_dr_priority ? vif_name:txt -> dr_priority:u32 set_vif_dr_priority ? vif_name:txt & dr_priority:u32 reset_vif_dr_priority ? vif_name:txt get_vif_propagation_delay ? vif_name:txt -> propagation_delay:u32 set_vif_propagation_delay ? vif_name:txt & propagation_delay:u32 reset_vif_propagation_delay ? vif_name:txt get_vif_override_interval ? vif_name:txt -> override_interval:u32 set_vif_override_interval ? vif_name:txt & override_interval:u32 reset_vif_override_interval ? vif_name:txt get_vif_is_tracking_support_disabled ? vif_name:txt \ -> is_tracking_support_disabled:bool set_vif_is_tracking_support_disabled ? vif_name:txt \ & is_tracking_support_disabled:bool reset_vif_is_tracking_support_disabled ? vif_name:txt get_vif_accept_nohello_neighbors ? vif_name:txt \ -> accept_nohello_neighbors:bool set_vif_accept_nohello_neighbors ? vif_name:txt \ & accept_nohello_neighbors:bool reset_vif_accept_nohello_neighbors ? vif_name:txt /** * 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. */ get_vif_join_prune_period ? vif_name:txt -> join_prune_period:u32 set_vif_join_prune_period ? vif_name:txt & join_prune_period:u32 reset_vif_join_prune_period ? vif_name:txt /** * 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. * @param if the SPT-switch is enabled, the threshold in number of * bytes within the interval_sec to switch to the SPT. If it is zero, * then the SPT will happen on the first packet. */ get_switch_to_spt_threshold -> is_enabled:bool \ & interval_sec:u32 \ & bytes:u32 set_switch_to_spt_threshold ? is_enabled:bool \ & interval_sec:u32 \ & bytes:u32 reset_switch_to_spt_threshold /** * 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. */ add_alternative_subnet4 ? vif_name:txt & subnet:ipv4net add_alternative_subnet6 ? vif_name:txt & subnet:ipv6net delete_alternative_subnet4 ? vif_name:txt & subnet:ipv4net delete_alternative_subnet6 ? vif_name:txt & subnet:ipv6net remove_all_alternative_subnets ? vif_name:txt /** * Enable/disable the PIM trace log for all operations. * * @param enable if true, then enable the trace log, otherwise * disable it. */ log_trace_all ? enable:bool /** * Test-related methods: add Join/Prune entries, and send them * to a neighbor. */ add_test_jp_entry4 ? source_addr:ipv4 & group_addr:ipv4 \ & group_mask_len:u32 \ & mrt_entry_type:txt \ & action_jp:txt \ & holdtime:u32 \ & is_new_group:bool add_test_jp_entry6 ? source_addr:ipv6 & group_addr:ipv6 \ & group_mask_len:u32 \ & mrt_entry_type:txt \ & action_jp:txt \ & holdtime:u32 \ & is_new_group:bool send_test_jp_entry4 ? vif_name:txt & nbr_addr:ipv4 send_test_jp_entry6 ? vif_name:txt & nbr_addr:ipv6 /** * Test-related methods: send an Assert message on an interface. * * @param vif_name the name of the vif to send the Assert on. * @param source_addr the source address inside the Assert message. * @param group_addr the group address inside the Assert message. * @param rpt_bit the RPT-bit inside the Assert message. * @param metric_preference the metric preference inside the Assert message. * @param metric the metric inside the Assert message. */ send_test_assert4 ? vif_name:txt \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -