📄 pimsm4.tp
字号:
/* $XORP: xorp/etc/templates/pimsm4.tp,v 1.32 2006/06/30 00:43:05 pavlin Exp $ */protocols { pimsm4 { targetname: txt = "PIMSM_4"; disable: toggle = false; enabled: bool; /* %deprecated */ interface @: txt { vif @: txt { disable: toggle = false; enabled: bool; /* %deprecated */ enable-ip-router-alert-option-check: bool = false; dr-priority: u32 = 1; hello-period: u32 = 30; hello-triggered-delay: u32 = 5; alternative-subnet @: ipv4net { } } } static-rps { rp @: ipv4 { group-prefix @: ipv4net { rp-priority: u32 = 192; hash-mask-len: u32 = 30; } } } bootstrap { disable: toggle = false; enabled: bool; /* %deprecated */ cand-bsr { scope-zone @: ipv4net { is-scope-zone: bool = false; cand-bsr-by-vif-name: txt; cand-bsr-by-vif-addr: ipv4 = 0.0.0.0; bsr-priority: u32 = 1; hash-mask-len: u32 = 30; } } cand-rp { group-prefix @: ipv4net { is-scope-zone: bool = false; cand-rp-by-vif-name: txt; cand-rp-by-vif-addr: ipv4 = 0.0.0.0; rp-priority: u32 = 192; rp-holdtime: u32 = 150; } } } switch-to-spt-threshold { disable: toggle = false; enabled: bool; /* %deprecated */ interval: u32 = 100; bytes: u32 = 0; } traceoptions { flag { all { disable: toggle = false; enabled: bool; /* %deprecated */ } } } }}protocols { pimsm4 { %help: short "Configure the IPv4 PIM-SM protocol"; %modinfo: provides pimsm4; %modinfo: depends mfea4; %modinfo: depends igmp; %modinfo: depends rib; %modinfo: path "pim/xorp_pimsm4"; %modinfo: default_targetname "pim"; %modinfo: status_method xrl "$(pimsm4.targetname)/common/0.1/get_status->status:u32&reason:txt"; %modinfo: startup_method xrl "$(pimsm4.targetname)/pim/0.1/start_pim"; %modinfo: shutdown_method xrl "$(pimsm4.targetname)/common/0.1/shutdown"; %mandatory: $(@.targetname); targetname { %user-hidden: "XRL target name"; %help: short "XRL target name"; %set:; } disable { %help: short "Disable the IPv4 PIM-SM protocol"; %create:; %set: xrl "$(pimsm4.targetname)/pim/0.1/enable_pim?enable:bool=`~$(@)`"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/enable_pim?enable:bool=`~$(DEFAULT)`"; } enabled { %deprecated: "Statement 'enabled: true/false' is replaced with 'disable: false/true'"; %help: short "Enable the IPv4 PIM-SM protocol"; %create:; %set: xrl "$(pimsm4.targetname)/pim/0.1/enable_pim?enable:bool=$(@)"; } interface @ { %help: short "Configure IPv4 PIM-SM on a network interface"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/stop_vif?vif_name:txt=$(interface.@)"; vif @ { %help: short "Configure IPv4 PIM-SM on a virtual interface"; %activate: xrl "$(pimsm4.targetname)/pim/0.1/start_vif?vif_name:txt=$(vif.@)"; %update: xrl "$(pimsm4.targetname)/pim/0.1/start_vif?vif_name:txt=$(vif.@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/stop_vif?vif_name:txt=$(vif.@)"; disable { %help: short "Disable IPv4 PIM-SM on an interface"; %set: xrl "$(pimsm4.targetname)/pim/0.1/enable_vif?vif_name:txt=$(vif.@)&enable:bool=`~$(@)`"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/enable_vif?vif_name:txt=$(vif.@)&enable:bool=`~$(DEFAULT)`"; } enabled { %deprecated: "Statement 'enabled: true/false' is replaced with 'disable: false/true'"; %help: short "Enable IPv4 PIM-SM on an interface"; %set: xrl "$(pimsm4.targetname)/pim/0.1/enable_vif?vif_name:txt=$(vif.@)&enable:bool=$(@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/enable_vif?vif_name:txt=$(vif.@)&enable:bool=`~$(DEFAULT)`"; } enable-ip-router-alert-option-check { %help: short "Enable the IP Router Alert option check"; %create: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_ip_router_alert_option_check?vif_name:txt=$(vif.@)&enable:bool=$(@)"; %set: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_ip_router_alert_option_check?vif_name:txt=$(vif.@)&enable:bool=$(@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_ip_router_alert_option_check?vif_name:txt=$(vif.@)&enable:bool=$(DEFAULT)"; } dr-priority { %help: short "Set the Designated Router election priority"; %create: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_dr_priority?vif_name:txt=$(vif.@)&dr_priority:u32=$(@)"; %set: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_dr_priority?vif_name:txt=$(vif.@)&dr_priority:u32=$(@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_dr_priority?vif_name:txt=$(vif.@)&dr_priority:u32=$(DEFAULT)"; } hello-period { %help: short "Set the Hello messages period (in seconds)"; %allow-range: $(@) "1" "18724" %help: "The Hello messages period (in seconds)"; %create: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_hello_period?vif_name:txt=$(vif.@)&hello_period:u32=$(@)"; %set: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_hello_period?vif_name:txt=$(vif.@)&hello_period:u32=$(@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_hello_period?vif_name:txt=$(vif.@)&hello_period:u32=$(DEFAULT)"; } hello-triggered-delay { %help: short "Set the randomized triggered delay of the Hello messages (in seconds)"; %allow-range: $(@) "1" "255" %help: "The randomized triggered delay of the Hello messages (in seconds)"; %create: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_hello_triggered_delay?vif_name:txt=$(vif.@)&hello_triggered_delay:u32=$(@)"; %set: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_hello_triggered_delay?vif_name:txt=$(vif.@)&hello_triggered_delay:u32=$(@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/set_vif_hello_triggered_delay?vif_name:txt=$(vif.@)&hello_triggered_delay:u32=$(DEFAULT)"; } alternative-subnet @ { %help: short "Fake a subnet to appear directly-connected"; %create: xrl "$(pimsm4.targetname)/pim/0.1/add_alternative_subnet4?vif_name:txt=$(vif.@)&subnet:ipv4net=$(alternative-subnet.@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/delete_alternative_subnet4?vif_name:txt=$(vif.@)&subnet:ipv4net=$(alternative-subnet.@)"; } } } static-rps { %help: short "Configure the set of static RPs"; %activate: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; %update: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/delete_config_all_static_rps"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; rp @ { %help: short "Configure a static RP"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/delete_config_all_static_group_prefixes_rp4?rp_addr:ipv4=$(rp.@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; group-prefix @ { %help: short "Configure the group prefix address covered by the RP"; %activate: xrl "$(pimsm4.targetname)/pim/0.1/add_config_static_rp4?group_prefix:ipv4net=$(group-prefix.@)&rp_addr:ipv4=$(rp.@)&rp_priority:u32=$(@.rp-priority)&hash_mask_len:u32=$(@.hash-mask-len)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/delete_config_static_rp4?group_prefix:ipv4net=$(group-prefix.@)&rp_addr:ipv4=$(rp.@)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; rp-priority { %help: short "Configure the RP priority"; %allow-range: $(@) "0" "255" %help: "The RP priority"; %create:; %set: xrl "$(pimsm4.targetname)/pim/0.1/add_config_static_rp4?group_prefix:ipv4net=$(group-prefix.@)&rp_addr:ipv4=$(rp.@)&rp_priority:u32=$(group-prefix.@.rp-priority)&hash_mask_len:u32=$(group-prefix.@.hash-mask-len)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/add_config_static_rp4?group_prefix:ipv4net=$(group-prefix.@)&rp_addr:ipv4=$(rp.@)&rp_priority:u32=$(DEFAULT)&hash_mask_len:u32=$(group-prefix.@.hash-mask-len)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; } hash-mask-len { %help: short "Configure the hash mask length for the hash function"; %allow-range: $(@) "4" "32" %help: "The hash mask length for the hash function"; %create:; %set: xrl "$(pimsm4.targetname)/pim/0.1/add_config_static_rp4?group_prefix:ipv4net=$(group-prefix.@)&rp_addr:ipv4=$(rp.@)&rp_priority:u32=$(group-prefix.@.rp-priority)&hash_mask_len:u32=$(group-prefix.@.hash-mask-len)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/add_config_static_rp4?group_prefix:ipv4net=$(group-prefix.@)&rp_addr:ipv4=$(rp.@)&rp_priority:u32=$(group-prefix.@.rp-priority)&hash_mask_len:u32=$(DEFAULT)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/config_static_rp_done"; } } } } bootstrap { %help: short "Configure the IPv4 Bootstrap mechanism"; %activate: xrl "$(pimsm4.targetname)/pim/0.1/start_bsr"; %update: xrl "$(pimsm4.targetname)/pim/0.1/start_bsr"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/stop_bsr"; disable { %help: short "Disable the IPv4 Bootstrap mechanism"; %create: xrl "$(pimsm4.targetname)/pim/0.1/enable_bsr?enable:bool=`~$(@)`"; %set: xrl "$(pimsm4.targetname)/pim/0.1/enable_bsr?enable:bool=`~$(@)`"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/enable_bsr?enable:bool=`~$(DEFAULT)`"; } enabled { %deprecated: "Statement 'enabled: true/false' is replaced with 'disable: false/true'"; %help: short "Enable the IPv4 Bootstrap mechanism"; %create: xrl "$(pimsm4.targetname)/pim/0.1/enable_bsr?enable:bool=$(@)"; %set: xrl "$(pimsm4.targetname)/pim/0.1/enable_bsr?enable:bool=$(@)"; } cand-bsr { %help: short "Configure this router as a Candidate-BSR"; scope-zone @ { %help: short "Configure a scope zone in this Candidate-BSR"; %mandatory: $(@.cand-bsr-by-vif-name); %activate: xrl "$(pimsm4.targetname)/pim/0.1/add_config_cand_bsr4?scope_zone_id:ipv4net=$(scope-zone.@)&is_scope_zone:bool=$(@.is-scope-zone)&vif_name:txt=$(@.cand-bsr-by-vif-name)&vif_addr:ipv4=$(@.cand-bsr-by-vif-addr)&bsr_priority:u32=$(@.bsr-priority)&hash_mask_len:u32=$(@.hash-mask-len)"; /* TODO: currently the %update below probably doesn't work */ %update: xrl "$(pimsm4.targetname)/pim/0.1/add_config_cand_bsr4?scope_zone_id:ipv4net=$(scope-zone.@)&is_scope_zone:bool=$(@.is-scope-zone)&vif_name:txt=$(@.cand-bsr-by-vif-name)&vif_addr:ipv4=$(@.cand-bsr-by-vif-addr)&bsr_priority:u32=$(@.bsr-priority)&hash_mask_len:u32=$(@.hash-mask-len)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/delete_config_cand_bsr4?scope_zone_id:ipv4net=$(scope-zone.@)&is_scope_zone:bool=$(@.is-scope-zone)"; is-scope-zone { %help: short "Flag to indicate a scoped or global zone"; %set:; } cand-bsr-by-vif-name { %help: short "Specify the virtual interface with the address of the Candidate-BSR"; %set:; } cand-bsr-by-vif-addr { %help: short "Specify the virtual interface's address to use as the Candidate-BSR"; %set:; } bsr-priority { %help: short "Configure the Candidate-BSR priority"; %allow-range: $(@) "0" "255" %help: "The Candidate-BSR priority"; %set:; } hash-mask-len { %help: short "Configure the hash mask length for the hash function"; %allow-range: $(@) "4" "32" %help: "The hash mask length for the hash function"; %set:; } } } cand-rp { %help: short "Configure this router as a Candidate-RP"; group-prefix @ { %help: short "Configure a scope zone in this Candidate-RP"; %mandatory: $(@.cand-rp-by-vif-name); %activate: xrl "$(pimsm4.targetname)/pim/0.1/add_config_cand_rp4?group_prefix:ipv4net=$(group-prefix.@)&is_scope_zone:bool=$(@.is-scope-zone)&vif_name:txt=$(@.cand-rp-by-vif-name)&vif_addr:ipv4=$(@.cand-rp-by-vif-addr)&rp_priority:u32=$(@.rp-priority)&rp_holdtime:u32=$(@.rp-holdtime)"; %update: xrl "$(pimsm4.targetname)/pim/0.1/add_config_cand_rp4?group_prefix:ipv4net=$(group-prefix.@)&is_scope_zone:bool=$(@.is-scope-zone)&vif_name:txt=$(@.cand-rp-by-vif-name)&vif_addr:ipv4=$(@.cand-rp-by-vif-addr)&rp_priority:u32=$(@.rp-priority)&rp_holdtime:u32=$(@.rp-holdtime)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/delete_config_cand_rp4?group_prefix:ipv4net=$(group-prefix.@)&is_scope_zone:bool=$(@.is-scope-zone)&vif_name:txt=$(@.cand-rp-by-vif-name)&vif_addr:ipv4=$(@.cand-rp-by-vif-addr)"; is-scope-zone { %help: short "Flag to indicate a scoped or global zone"; %set:; } cand-rp-by-vif-name { %help: short "Specify the virtual interface with the address of the Candidate-RP"; %set:; } cand-rp-by-vif-addr { %help: short "Specify the virtual interface's address to use as the Candidate-RP"; %set:; } rp-priority { %help: short "Configure the Candidate-RP priority"; %allow-range: $(@) "0" "255" %help: "The Candidate-RP priority"; %set:; } rp-holdtime { %help: short "Configure the Candidate-RP holdtime (in seconds)"; %allow-range: $(@) "0" "65535" %help: "The Candidate-RP holdtime (in seconds)"; %set:; } } } } switch-to-spt-threshold { %help: short "Configure the shortest-path switch threshold"; %activate: xrl "$(pimsm4.targetname)/pim/0.1/set_switch_to_spt_threshold?is_enabled:bool=`~$(@.disable)`&interval_sec:u32=$(@.interval)&bytes:u32=$(@.bytes)"; %update: xrl "$(pimsm4.targetname)/pim/0.1/set_switch_to_spt_threshold?is_enabled:bool=`~$(@.disable)`&interval_sec:u32=$(@.interval)&bytes:u32=$(@.bytes)"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/reset_switch_to_spt_threshold"; disable { %help: short "Disable the shortest-path switching"; %set:; } enabled { %deprecated: "Statement 'enabled: true/false' is replaced with 'disable: false/true'"; %help: short "Enable the shortest-path switching"; %set:; } interval { %help: short "The frequency of measuring the bandwidth threshold (sec)"; %allow-range: $(@) "3" "2147483647" %help: "The frequency of measuring the bandwidth threshold (sec)"; %set:; } bytes { %help: short "The bandwidth threshold (in bytes) per interval"; %set:; } } traceoptions { %help: short "Configure the tracing options"; flag { %help: short "Configure the tracing operation to perform"; all { %help: short "Configure all tracing operations"; disable { %help: short "Disable all tracing operations"; %set: xrl "$(pimsm4.targetname)/pim/0.1/log_trace_all?enable:bool=`~$(@)`"; %delete: xrl "$(pimsm4.targetname)/pim/0.1/log_trace_all?enable:bool=$(DEFAULT)"; } enabled { %deprecated: "Statement 'enabled: true/false' is replaced with 'disable: false/true'"; %help: short "Enable all tracing operations"; %set: xrl "$(pimsm4.targetname)/pim/0.1/log_trace_all?enable:bool=$(@)"; } } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -