📄 rip.tp
字号:
triggered-jitter { %allow-range: $(@) "0" "100" %help: "Jitter as percents of 'triggered-delay'"; %set: xrl "$(rip.targetname)/rip/0.1/set_triggered_update_jitter?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_jitter:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/triggered_update_jitter?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_jitter:u32"; %help: short "Jitter of repeated triggered update delay (percents)"; } update-interval { %set: xrl "$(rip.targetname)/rip/0.1/set_update_interval?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_secs:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/update_interval?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_secs:u32"; %help: short "Interval between regular route updates (sec)"; } update-jitter { %allow-range: $(@) "0" "100" %help: "Jitter as percents of 'update-interval'"; %set: xrl "$(rip.targetname)/rip/0.1/set_update_jitter?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_jitter:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/update_jitter?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_jitter:u32"; %help: short "Jitter of regular route update interval (percents)"; } request-interval { %allow-range: $(@) "1" "10000" %help: "RIP request interval when no known neighbors (sec)"; %allow-range: $(@) "0" "0" %help: "Disable periodic RIP requests"; %set: xrl "$(rip.targetname)/rip/0.1/set_request_interval?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_secs:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/request_interval?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_secs:u32"; %help: short "RIP request interval when no known neighbors (sec)"; } table-request-secs { %deprecated: "Statement 'table-request-secs' is replaced with 'request-interval'"; %allow-range: $(@) "1" "10000" %help: "RIP request interval when no known neighbors"; %allow-range: $(@) "0" "0" %help: "Disable periodic RIP request packets when no known neighbors"; %set: xrl "$(rip.targetname)/rip/0.1/set_request_interval?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_secs:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/request_interval?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_secs:u32"; %help: short "RIP request interval when no known neighbors"; } interpacket-delay { %set: xrl "$(rip.targetname)/rip/0.1/set_interpacket_delay?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_msecs:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/interpacket_delay?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_msecs:u32"; %help: short "Minimum delay between outbound RIP packets (msec)"; } interpacket-delay-msecs { %deprecated: "Statement 'interpacket-delay-msecs' is replaced with 'interpacket-delay'"; %set: xrl "$(rip.targetname)/rip/0.1/set_interpacket_delay?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&t_msecs:u32=$(@)"; %get: xrl "$(rip.targetname)/rip/0.1/interpacket_delay?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)->t_msecs:u32"; %help: short "Minimum delay between outbound RIP packets"; } authentication { %help: short "RIP packet authentication"; type { %deprecated: "Statement 'type' is obsoleted by 'simple-password' and 'md5'"; %help: short "Authentication type"; %allow: $(@) "none" %help: "No authentication"; %allow: $(@) "simple" %help: "Simple password authentication"; %allow: $(@) "md5" %help: "MD5 authentication"; } password { %deprecated: "Statement 'password' is replaced with 'simple-password'"; %help: short "Authentication password"; } simple-password { %help: short "Simple password authentication key"; %create: xrl "$(rip.targetname)/rip/0.1/set_simple_authentication_key?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&password:txt=$(@)"; %set: xrl "$(rip.targetname)/rip/0.1/set_simple_authentication_key?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&password:txt=$(@)"; %delete: xrl "$(rip.targetname)/rip/0.1/delete_simple_authentication_key?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)"; } md5 @ { %help: short "MD5 authentication key"; %allow-range: $(@) "0" "255" %help: "MD5 authentication key ID"; %activate: xrl "$(rip.targetname)/rip/0.1/set_md5_authentication_key?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&key_id:u32=$(@)&password:txt=$(@.password)&start_time:txt=$(@.start-time)&end_time:txt=$(@.end-time)"; %update: xrl "$(rip.targetname)/rip/0.1/set_md5_authentication_key?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&key_id:u32=$(@)&password:txt=$(@.password)&start_time:txt=$(@.start-time)&end_time:txt=$(@.end-time)"; %delete: xrl "$(rip.targetname)/rip/0.1/delete_md5_authentication_key?ifname:txt=$(interface.@)&vifname:txt=$(vif.@)&addr:ipv4=$(address.@)&key_id:u32=$(@)"; password { %help: short "Authentication password"; } start-time { %help: short "Authentication start time (YYYY-MM-DD.HH:MM)"; } end-time { %help: short "Authentication end time (YYYY-MM-DD.HH:MM)"; } } } } } }/* * TODO: the old import/export mechanism is deprecated in favor of the * standard policy-based config. This commented-out section should be * removed as soon as policy-based redistribution config is stabilized. *//* export @: txt { %activate: xrl "$(rip.targetname)/rip/0.1/redist_protocol_routes?protocol_name:txt=$(@)&cost:u32=$(@.metric)&tag:u32=$(@.tag)"; %delete: xrl "$(rip.targetname)/rip/0.1/no_redist_protocol_routes?protocol_name:txt=$(@)"; %help: short "Export routes from another routing protocol"; } */ import { %help: short "Import policy name(s)"; %delete: xrl "policy/policy/0.1/import?protocol:txt=$(rip.targetname)&policies:txt="; %set: xrl "policy/policy/0.1/import?protocol:txt=$(rip.targetname)&policies:txt=$(@)"; } export { %help: short "Export policy name(s)"; %delete: xrl "policy/policy/0.1/export?protocol:txt=$(rip.targetname)&policies:txt="; %set: xrl "policy/policy/0.1/export?protocol:txt=$(rip.targetname)&policies:txt=$(@)"; } }}policy { %create: xrl "$(policy.targetname)/policy/0.1/add_varmap?protocol:txt=rip&variable:txt=network4&type:txt=ipv4net&access:txt=r&id:u32=10"; %create: xrl "$(policy.targetname)/policy/0.1/add_varmap?protocol:txt=rip&variable:txt=nexthop4&type:txt=ipv4&access:txt=rw&id:u32=11"; %create: xrl "$(policy.targetname)/policy/0.1/add_varmap?protocol:txt=rip&variable:txt=metric&type:txt=u32&access:txt=rw&id:u32=14"; %create: xrl "$(policy.targetname)/policy/0.1/add_varmap?protocol:txt=rip&variable:txt=tag&type:txt=u32&access:txt=rw&id:u32=15"; policy-statement @: txt { term @: txt { from { nexthop4 { %help: short "IPv4 nexthop"; %allow-operator: ":" "==" "!=" "<" ">" "<=" ">="; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=nexthop4 $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt="; } metric { %help: short "Metric value"; %allow-operator: ":" "==" "!=" "<" ">" "<=" ">="; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=metric $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt="; } tag { %help: short "Route tag"; %allow-operator: ":" "==" "!=" "<" ">" "<=" ">="; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=tag $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt="; } } to { nexthop4 { %help: short "IPv4 nexthop"; %allow-operator: ":" "==" "!=" "<" ">" "<=" ">="; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=nexthop4 $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt="; } metric { %help: short "Metric value"; %allow-operator: ":" "==" "!=" "<" ">" "<=" ">="; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=metric $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt="; } tag { %help: short "Route tag"; %allow-operator: ":" "==" "!=" "<" ">" "<=" ">="; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=tag $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt="; } } then { nexthop4 { %help: short "Set the IPv4 nexthop"; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=nexthop4 $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt="; } metric { %help: short "Set the metric value"; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=metric $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt="; } tag { %help: short "Set the route tag"; %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=tag $(<>) $(@);"; %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt="; } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -