diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-07-21 12:07:29 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-07-21 12:07:29 -0700 |
commit | baa0d50c299c06ad5027f730d7a63e8eec6bef43 (patch) | |
tree | 4cd709395e5e23d69990f93ac27b5095e0d509a5 /templates | |
parent | 69c3c53afee2f975b5c631d19dfd150caaf4b861 (diff) | |
download | vyatta-cfg-quagga-baa0d50c299c06ad5027f730d7a63e8eec6bef43.tar.gz vyatta-cfg-quagga-baa0d50c299c06ad5027f730d7a63e8eec6bef43.zip |
Convert Quagga templates to use val_help:
Diffstat (limited to 'templates')
258 files changed, 444 insertions, 514 deletions
diff --git a/templates/policy/access-list/node.def b/templates/policy/access-list/node.def index 83216365..4a3ee522 100644 --- a/templates/policy/access-list/node.def +++ b/templates/policy/access-list/node.def @@ -7,8 +7,10 @@ syntax:expression: ($VAR(@) >= 1 && $VAR(@) <= 199) || ($VAR(@) >= 1300 && $VAR( <100-199>\tIP extended access list <1300-1999>\tIP standard access list (expanded range) <2000-2699>\tIP extended access list (expanded range)" -comp_help: \1 <1-99>\tIP standard access list - <100-199>\tIP extended access list - <1300-1999>\tIP standard access list (expanded range) - <2000-2699>\tIP extended access list (expanded range) + +val_help: u32:1-99; IP standard access list +val_help: u32:100-199; IP extended access list +val_help: u32:1300-1999; IP standard access list (expanded range) +val_help: u32:2000-2699; IP extended access list (expanded range) + end: /opt/vyatta/sbin/vyatta-policy.pl --update-access-list $VAR(@) diff --git a/templates/policy/access-list/node.tag/rule/node.def b/templates/policy/access-list/node.tag/rule/node.def index 747614b7..77233931 100644 --- a/templates/policy/access-list/node.tag/rule/node.def +++ b/templates/policy/access-list/node.tag/rule/node.def @@ -1,5 +1,5 @@ tag: type: u32 help: Set a rule for this access-list -comp_help: \1 <1-65535>\taccess-list rule number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "rule number must be between 1 and 65535" +val_help: u32:1-65535>; Access-list rule number diff --git a/templates/policy/access-list/node.tag/rule/node.tag/action/node.def b/templates/policy/access-list/node.tag/rule/node.tag/action/node.def index 9861a18c..9567d02d 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/action/node.def @@ -1,5 +1,5 @@ type: txt help: Set action to take on networks matching this rule [REQUIRED] -comp_help: \1 permit\tpermit matching networks - deny\t\tdeny matching networks syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" +val_help: permit; Permit matching networks +val_help: deny; Deny matching networks diff --git a/templates/policy/access-list/node.tag/rule/node.tag/destination/host/node.def b/templates/policy/access-list/node.tag/rule/node.tag/destination/host/node.def index ab9bc4da..814e64c2 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/destination/host/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/destination/host/node.def @@ -1,6 +1,6 @@ type: ipv4 help: Set a single host IP address to match -comp_help: \1 <x.x.x.x>\thost address to match +val_help: Host address to match commit:expression: ($VAR(../../../@) >= 100 && $VAR(../../../@) <= 199) || ($VAR(../../../@) >= 2000 && $VAR(../../../@) <= 2699); "\ policy access-list $VAR(../../../@) rule $VAR(../../@) destination: access-list number must be <100-199> or <2000-2699> to set destination matches" commit:expression: ($VAR(../any/) == "") && ($VAR(../network/) == ""); "\ diff --git a/templates/policy/access-list/node.tag/rule/node.tag/destination/inverse-mask/node.def b/templates/policy/access-list/node.tag/rule/node.tag/destination/inverse-mask/node.def index 6966a613..25e9fb9b 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/destination/inverse-mask/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/destination/inverse-mask/node.def @@ -1,6 +1,6 @@ type: ipv4 help: Set a network/netmask to match (requires network be defined) -comp_help: \1 <x.x.x.x>\tinverse-mask to match +val_help: Inverse-mask to match commit:expression: ($VAR(../../../@) >= 100 && $VAR(../../../@) <= 199) || ($VAR(../../../@) >= 2000 && $VAR(../../../@) <= 2699); "\ policy access-list $VAR(../../../@) rule $VAR(../../@) destination: access-list number must be <100-199> or <2000-2699> to set destination matches" commit:expression: ($VAR(../any/) == "") && ($VAR(../host/) == ""); "policy access-list $VAR(../../../@) rule $VAR(../../@) destination: you may only define one filter type. (host|network|any)" diff --git a/templates/policy/access-list/node.tag/rule/node.tag/destination/network/node.def b/templates/policy/access-list/node.tag/rule/node.tag/destination/network/node.def index 4df7afa6..5cb86d84 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/destination/network/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/destination/network/node.def @@ -1,6 +1,6 @@ type: ipv4 help: Set a network/netmask to match (requires inverse-mask be defined) -comp_help: \1 <x.x.x.x>\tnetwork to match +val_help: Network to match commit:expression: ($VAR(../../../@) >= 100 && $VAR(../../../@) <= 199) || ($VAR(../../../@) >= 2000 && $VAR(../../../@) <= 2699); "\ policy access-list $VAR(../../../@) rule $VAR(../../@) destination: access-list number must be <100-199> or <2000-2699> to set destination matches" commit:expression: ($VAR(../host/) == "") && ($VAR(../any/) == ""); "policy access-list $VAR(../../../@) rule $VAR(../../@) destination: you may only define one filter type. (host|network|any)" diff --git a/templates/policy/access-list/node.tag/rule/node.tag/source/host/node.def b/templates/policy/access-list/node.tag/rule/node.tag/source/host/node.def index 47177ac8..25e8bb80 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/source/host/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/source/host/node.def @@ -1,5 +1,5 @@ type: ipv4 help: Set a single host IP address to match -comp_help: \1 <x.x.x.x>\thost address to match +val_help: Host address to match commit:expression: ($VAR(../any/) == "") && ($VAR(../network/) == ""); "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you may only define one filter type. (host|network|any)" commit:expression: $VAR(../../action/) != ""; "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you must specify an action" diff --git a/templates/policy/access-list/node.tag/rule/node.tag/source/inverse-mask/node.def b/templates/policy/access-list/node.tag/rule/node.tag/source/inverse-mask/node.def index 64c0fb44..0f5c235b 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/source/inverse-mask/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/source/inverse-mask/node.def @@ -1,6 +1,7 @@ type: ipv4 help: Set a network/netmask to match (requires network be defined) -comp_help: \1 <x.x.x.x>\tinverse-mask to match +val_help: Inverse-mast to match + commit:expression: ($VAR(../any/) == "") && ($VAR(../host/) == ""); "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you may only define one filter type. (host|network|any)" commit:expression: $VAR(../network/) != ""; "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you must specify a network if you configure an inverse-mask" commit:expression: $VAR(../../action/) != ""; "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you must specify an action" diff --git a/templates/policy/access-list/node.tag/rule/node.tag/source/network/node.def b/templates/policy/access-list/node.tag/rule/node.tag/source/network/node.def index c58b4a2c..c2ad6458 100644 --- a/templates/policy/access-list/node.tag/rule/node.tag/source/network/node.def +++ b/templates/policy/access-list/node.tag/rule/node.tag/source/network/node.def @@ -1,6 +1,7 @@ type: ipv4 help: Set a network/netmask to match (requires inverse-mask be defined) -comp_help: \1 <x.x.x.x>\tnetwork to match +val_help: Network to match + commit:expression: ($VAR(../host/) == "") && ($VAR(../any/) == ""); "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you may only define one filter type. (host|network|any)" commit:expression: $VAR(../inverse-mask/) != ""; "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you must specify an inverse-mask if you configure a network" commit:expression: $VAR(../../action/) != ""; "policy access-list $VAR(../../../@) rule $VAR(../../@) source: you must specify an action" diff --git a/templates/policy/access-list6/node.def b/templates/policy/access-list6/node.def index 01a5f90f..72f7f9e5 100644 --- a/templates/policy/access-list6/node.def +++ b/templates/policy/access-list6/node.def @@ -1,8 +1,7 @@ tag: - type: txt - help: Set IPv6 access-list filter +val_help: Name of IPv6 access-list syntax:expression: pattern $VAR(@) "^[[:graph:]]{1,64}$" ; \ "access-list name must be 64 characters or less" @@ -13,5 +12,3 @@ syntax:expression: pattern $VAR(@) "^[^|;&$<>]*$" ; \ end: /opt/vyatta/sbin/vyatta-policy.pl --update-access-list6 "$VAR(@)" -comp_help: possible completions: - <txt> Set name of ipv6 access-list diff --git a/templates/policy/access-list6/node.tag/rule/node.def b/templates/policy/access-list6/node.tag/rule/node.def index 68666a4e..736e1e49 100644 --- a/templates/policy/access-list6/node.tag/rule/node.def +++ b/templates/policy/access-list6/node.tag/rule/node.def @@ -1,11 +1,7 @@ tag: - type: u32 - help: Set a rule for this access-list6 +val_help: u32:1-65535; Access-list6 rule number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; \ "rule number must be between 1 and 65535" - -comp_help: possible completions: - <1-65535> Set access-list6 rule number diff --git a/templates/policy/access-list6/node.tag/rule/node.tag/action/node.def b/templates/policy/access-list6/node.tag/rule/node.tag/action/node.def index 00d8d511..c6b30231 100644 --- a/templates/policy/access-list6/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/access-list6/node.tag/rule/node.tag/action/node.def @@ -1,9 +1,6 @@ type: txt - help: Set action to take on networks matching this rule [REQUIRED] +val_help: permit; Permit matching networks +val_help: deny; Deny matching networks syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" - -comp_help: possible completions - permit permit matching networks - deny deny matching networks diff --git a/templates/policy/access-list6/node.tag/rule/node.tag/source/network/node.def b/templates/policy/access-list6/node.tag/rule/node.tag/source/network/node.def index 085a59ec..b6758c87 100644 --- a/templates/policy/access-list6/node.tag/rule/node.tag/source/network/node.def +++ b/templates/policy/access-list6/node.tag/rule/node.tag/source/network/node.def @@ -1,9 +1,6 @@ type: ipv6net - help: Set a network/netmask to match (requires inverse-mask be defined) - -comp_help: possible completions: - <h:h:h:h:h:h:h:h/x> Set the IPv6 address and prefix length +val_help: IPv6 address and prefix length commit:expression: ($VAR(../any/) == ""); "policy access-list6 $VAR(../../../@) rule $VAR(../../@) source: you may only define one filter type. (network|any)" diff --git a/templates/policy/as-path-list/node.def b/templates/policy/as-path-list/node.def index 3beb59ea..a2713bf1 100644 --- a/templates/policy/as-path-list/node.def +++ b/templates/policy/as-path-list/node.def @@ -1,6 +1,9 @@ tag: type: txt help: Set Border Gateway Protocol (BGP) autonomous system path filter +val_help: AS path list name + syntax:expression: pattern $VAR(@) "^[-a-zA-Z0-9.]+$" ; "as-path-list name must be alpha-numeric" + end: /opt/vyatta/sbin/vyatta-policy.pl --update-aspath-list $VAR(@) -comp_help: \1 <txt>\t\tas-path-list name + diff --git a/templates/policy/as-path-list/node.tag/rule/node.def b/templates/policy/as-path-list/node.tag/rule/node.def index fed3dd56..afd67fe4 100644 --- a/templates/policy/as-path-list/node.tag/rule/node.def +++ b/templates/policy/as-path-list/node.tag/rule/node.def @@ -1,6 +1,7 @@ tag: type: u32 help: Set a rule for this as-path-list -comp_help: \1 <1-65535>\tas-path-list rule number +val_help: u32:1-65535; AS path list rule number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "rule number must be between 1 and 65535" diff --git a/templates/policy/as-path-list/node.tag/rule/node.tag/action/node.def b/templates/policy/as-path-list/node.tag/rule/node.tag/action/node.def index c7bd4189..ed0a4329 100644 --- a/templates/policy/as-path-list/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/as-path-list/node.tag/rule/node.tag/action/node.def @@ -1,5 +1,6 @@ type: txt help: Set action to take on AS paths matching this rule [REQUIRED] -comp_help: \1 permit\tpermit matching as-paths - deny\t\tdeny matching as-paths +val_help: permit; Permit matching as-paths +val_help: deny; Deny matching as-paths + syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" diff --git a/templates/policy/as-path-list/node.tag/rule/node.tag/regex/node.def b/templates/policy/as-path-list/node.tag/rule/node.tag/regex/node.def index ff44785c..372c6b9b 100644 --- a/templates/policy/as-path-list/node.tag/rule/node.tag/regex/node.def +++ b/templates/policy/as-path-list/node.tag/rule/node.tag/regex/node.def @@ -1,6 +1,7 @@ type: txt help: Set regular expression to match against an AS path -comp_help: \1 <aa:nn>\tas-path regular expression (ex: "50:1 6553:1201") +val_help: <aa:nn>; AS path regular expression (ex: "50:1 6553:1201") # TODO: check regex syntax; \ # "invalid chars in regex syntax" + commit:expression: $VAR(../action/@) != ""; "policy as-path-list $VAR(../../@) rule $VAR(../@): You must specify an action" diff --git a/templates/policy/community-list/node.def b/templates/policy/community-list/node.def index e6f9c91e..df10f694 100644 --- a/templates/policy/community-list/node.def +++ b/templates/policy/community-list/node.def @@ -1,10 +1,13 @@ tag: type: u32 help: Set Border Gateway Protocol (BGP) community-list filter + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 500; " community-list must be <1-99>\tBGP community list (standard) <100-500>\tBGP community list (expanded) " -comp_help: \1 <1-99>\tBGP community list (standard) - <100-500>\tBGP community list (expanded) + +val_help: u32:1-99; BGP community list (standard) +val_help: u32:100-500; BGP community list (expanded) + end: /opt/vyatta/sbin/vyatta-policy.pl --update-community-list $VAR(@) diff --git a/templates/policy/community-list/node.tag/rule/node.def b/templates/policy/community-list/node.tag/rule/node.def index 94bb576e..9f2cbb18 100644 --- a/templates/policy/community-list/node.tag/rule/node.def +++ b/templates/policy/community-list/node.tag/rule/node.def @@ -1,5 +1,6 @@ tag: type: u32 help: create a rule for this BGP community list -comp_help: \1 <1-65535>\tcommunity-list rule number +val_help: u32:1-65535; Community-list rule number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "rule number must be between 1 and 65535" diff --git a/templates/policy/community-list/node.tag/rule/node.tag/action/node.def b/templates/policy/community-list/node.tag/rule/node.tag/action/node.def index b8145b68..3fd50c8b 100644 --- a/templates/policy/community-list/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/community-list/node.tag/rule/node.tag/action/node.def @@ -1,5 +1,6 @@ type: txt help: Set action to take on communities matching this rule [REQUIRED] -comp_help: \1 permit\tpermit matching communities - deny\t\tdeny matching communities +val_help: permit; Permit matching communities +val_help: deny; Deny matching communities + syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" diff --git a/templates/policy/community-list/node.tag/rule/node.tag/regex/node.def b/templates/policy/community-list/node.tag/rule/node.tag/regex/node.def index bee966ff..e8406d6e 100644 --- a/templates/policy/community-list/node.tag/rule/node.tag/regex/node.def +++ b/templates/policy/community-list/node.tag/rule/node.tag/regex/node.def @@ -1,6 +1,7 @@ type: txt help: Set regular expression to match against a community list -comp_help: \1 <txt>\t\tcommunity-list regular expression +val_help: Community list regular expression + syntax:expression: exec " \ if [ $VAR(../../@) -ge 1 ] && [ $VAR(../../@) -le 99 ]; then \ if [ -n \"`echo $VAR(@) | sed 's/[0-9]*:[0-9]*//g' | sed -e 's/internet//g' -e 's/local-AS//g' -e 's/no-advertise//g' -e 's/no-export//g'`\" ]; then \ @@ -8,4 +9,5 @@ if [ $VAR(../../@) -ge 1 ] && [ $VAR(../../@) -le 99 ]; then \ exit 1 ; \ fi ; \ fi ; " + commit:expression: $VAR(../action/@) != ""; "policy community-list $VAR(../../@) rule $VAR(../@): You must specify an action" diff --git a/templates/policy/prefix-list/node.def b/templates/policy/prefix-list/node.def index 64bee643..cb741618 100644 --- a/templates/policy/prefix-list/node.def +++ b/templates/policy/prefix-list/node.def @@ -1,5 +1,6 @@ tag: type: txt help: Set IP prefix-list filter -comp_help: \1 <txt>\tprefix-list list name +val_help: Prefix list name + syntax:expression: pattern $VAR(@) "^[-a-zA-Z0-9.]+$" ; "prefix-list name must be alpha-numeric" diff --git a/templates/policy/prefix-list/node.tag/rule/node.def b/templates/policy/prefix-list/node.tag/rule/node.def index 5b97a5f0..e0d8e866 100644 --- a/templates/policy/prefix-list/node.tag/rule/node.def +++ b/templates/policy/prefix-list/node.tag/rule/node.def @@ -1,10 +1,13 @@ tag: type: u32 help: Set a rule for this prefix-list -comp_help: \1 <1-65535>\tprefix-list rule number +val_help: u32:1-65535; Prefix-list rule number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "rule number must be between 1 and 65535" + commit:expression: $VAR(./prefix/) != ""; "policy prefix-list $VAR(../@) rule $VAR(@): You must specify a prefix" commit:expression: $VAR(./action/) != ""; "policy prefix-list $VAR(../@) rule $VAR(@): You must specify an action" + delete: touch /tmp/protocols-$VAR(../@)-$VAR(@).$PPID ; len=`echo $VAR(@) | awk -F/ '{ print $2 }'` ; if [ -n "$VAR(./ge/@)" ]; then @@ -15,6 +18,7 @@ delete: touch /tmp/protocols-$VAR(../@)-$VAR(@).$PPID ; fi; vtysh -c "configure terminal" \ -c "no ip prefix-list $VAR(../@) seq $VAR(@) $VAR(./action/@) $VAR(./prefix/@) $cond " + end: len=`echo $VAR(./prefix/@) | awk -F/ '{ print $2 }'` ; if [ -n "$VAR(./ge/@)" ]; then if [ $len -ge $VAR(./ge/@) ]; then diff --git a/templates/policy/prefix-list/node.tag/rule/node.tag/action/node.def b/templates/policy/prefix-list/node.tag/rule/node.tag/action/node.def index 00612d90..1d5d05dc 100644 --- a/templates/policy/prefix-list/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/prefix-list/node.tag/rule/node.tag/action/node.def @@ -1,5 +1,6 @@ type: txt help: Set action to take on prefixes matching this rule [REQUIRED] -comp_help: \1 permit\tpermit matching prefixes - deny\t\tdeny matching prefixes +val_help: permit; Permit matching prefixes +val_help: deny; Deny matching prefixes + syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" diff --git a/templates/policy/prefix-list/node.tag/rule/node.tag/ge/node.def b/templates/policy/prefix-list/node.tag/rule/node.tag/ge/node.def index 8e102057..a89204f8 100644 --- a/templates/policy/prefix-list/node.tag/rule/node.tag/ge/node.def +++ b/templates/policy/prefix-list/node.tag/rule/node.tag/ge/node.def @@ -1,4 +1,5 @@ type: u32 help: Set prefix length to match a netmask greater than or equal to it -comp_help: \1 <0-32>\tnetmask greater than length +val_help: u32:0-32; Netmask greater than length + syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 32; "ge must be between 0 and 32" diff --git a/templates/policy/prefix-list/node.tag/rule/node.tag/le/node.def b/templates/policy/prefix-list/node.tag/rule/node.tag/le/node.def index 56296cf4..5a91bc53 100644 --- a/templates/policy/prefix-list/node.tag/rule/node.tag/le/node.def +++ b/templates/policy/prefix-list/node.tag/rule/node.tag/le/node.def @@ -1,4 +1,5 @@ type: u32 help: Set prefix length to match a netmask less than or equal to it -comp_help: \1 <0-32>\tnetmask less than length +val_help: u32:0-32; Netmask less than length + syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 32; "le must be between 0 and 32" diff --git a/templates/policy/prefix-list/node.tag/rule/node.tag/prefix/node.def b/templates/policy/prefix-list/node.tag/rule/node.tag/prefix/node.def index 1581769a..f7e7ef39 100644 --- a/templates/policy/prefix-list/node.tag/rule/node.tag/prefix/node.def +++ b/templates/policy/prefix-list/node.tag/rule/node.tag/prefix/node.def @@ -1,3 +1,3 @@ type: ipv4net help: Set a prefix to match -comp_help: \1 <x.x.x.x/x>\tprefix to match against +val_help: Prefix to match against diff --git a/templates/policy/prefix-list6/node.def b/templates/policy/prefix-list6/node.def index 07796eae..728107a8 100644 --- a/templates/policy/prefix-list6/node.def +++ b/templates/policy/prefix-list6/node.def @@ -1,8 +1,6 @@ tag: type: txt help: Set IPv6 prefix-list filter +val_help: Prefix list name syntax:expression: pattern $VAR(@) "^[-a-zA-Z0-9.]+$" ; "prefix-list6 name must be alpha-numeric" - -comp_help: possible completions: - <txt> prefix-list list name diff --git a/templates/policy/prefix-list6/node.tag/rule/node.def b/templates/policy/prefix-list6/node.tag/rule/node.def index bee35245..e5ea49a3 100644 --- a/templates/policy/prefix-list6/node.tag/rule/node.def +++ b/templates/policy/prefix-list6/node.tag/rule/node.def @@ -1,6 +1,7 @@ tag: type: u32 help: Set a rule for this prefix-list6 +val_help: u32:1-65535; Prefix list rule number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "rule number must be between 1 and 65535" @@ -39,6 +40,3 @@ end: len=`echo $VAR(./prefix/@) | awk -F/ '{ print $2 }'` ; -c "ipv6 prefix-list $VAR(../@) seq $VAR(@) $VAR(./action/@) $VAR(./prefix/@) $cond " ; fi; exit 0 ; - -comp_help: possible completions: - <1-65535> prefix-list rule number
\ No newline at end of file diff --git a/templates/policy/prefix-list6/node.tag/rule/node.tag/action/node.def b/templates/policy/prefix-list6/node.tag/rule/node.tag/action/node.def index 479c8100..1da5e2d4 100644 --- a/templates/policy/prefix-list6/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/prefix-list6/node.tag/rule/node.tag/action/node.def @@ -1,8 +1,6 @@ type: txt help: Set action to take on prefixes matching this rule +val_help: permit; Permit matching prefixes +val_help: deny; Deny matching prefixes syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" - -comp_help: possible completions: - permit permit matching prefixes - deny deny matching prefixes diff --git a/templates/policy/prefix-list6/node.tag/rule/node.tag/ge/node.def b/templates/policy/prefix-list6/node.tag/rule/node.tag/ge/node.def index 729089a3..135e1da9 100644 --- a/templates/policy/prefix-list6/node.tag/rule/node.tag/ge/node.def +++ b/templates/policy/prefix-list6/node.tag/rule/node.tag/ge/node.def @@ -1,7 +1,5 @@ type: u32 help: Set prefix length to match a netmask greater than or equal to it +val_help: u32:0-128; Netmask greater than length syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 128; "ge must be between 0 and 128" - -comp_help: possible completions: - <0-128> netmask greater than length diff --git a/templates/policy/prefix-list6/node.tag/rule/node.tag/le/node.def b/templates/policy/prefix-list6/node.tag/rule/node.tag/le/node.def index 1bb344b9..15c674d3 100644 --- a/templates/policy/prefix-list6/node.tag/rule/node.tag/le/node.def +++ b/templates/policy/prefix-list6/node.tag/rule/node.tag/le/node.def @@ -1,7 +1,5 @@ type: u32 help: Set prefix length to match a netmask less than or equal to it +val_help: u32:0-128; Netmask less than length syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 128; "le must be between 0 and 128" - -comp_help: possible completions: - <0-128> netmask less than length diff --git a/templates/policy/prefix-list6/node.tag/rule/node.tag/prefix/node.def b/templates/policy/prefix-list6/node.tag/rule/node.tag/prefix/node.def index ff9875dc..a478035d 100644 --- a/templates/policy/prefix-list6/node.tag/rule/node.tag/prefix/node.def +++ b/templates/policy/prefix-list6/node.tag/rule/node.tag/prefix/node.def @@ -1,5 +1,3 @@ type: ipv6net help: Set a prefix to match - -comp_help: possible completions: - <h:h:h:h:h:h:h:h/x> Set the IPv6 prefix +val_help: IPv5 prefix diff --git a/templates/policy/route-map/node.def b/templates/policy/route-map/node.def index f90f9006..7d712c1f 100644 --- a/templates/policy/route-map/node.def +++ b/templates/policy/route-map/node.def @@ -1,5 +1,6 @@ tag: type: txt help: Set IP route-map -comp_help: \1 <txt>\t\troute-map name +val_help: Route map name + syntax:expression: pattern $VAR(@) "^[-a-zA-Z0-9.]+$" ; "route-map $VAR(@): name must be alpha-numeric" diff --git a/templates/policy/route-map/node.tag/rule/node.def b/templates/policy/route-map/node.tag/rule/node.def index 2322ebe9..35c7be15 100644 --- a/templates/policy/route-map/node.tag/rule/node.def +++ b/templates/policy/route-map/node.tag/rule/node.def @@ -1,8 +1,10 @@ tag: type: u32 help: Set a rule for this route-map -comp_help: \1 <1-65535>\troute-map rule number +val_help: u32:1-65535; Route-map rule number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "rule number must be between 1 and 65535" + delete: if [ -f /tmp/route-map-$VAR(../@)-rule-$VAR(@)-action.$PPID ]; then vtysh -c "configure terminal" -c "no route-map $VAR(../@) $VAR(./@/action/@) $VAR(@)"; rm -f /tmp/route-map-$VAR(../@)-rule-$VAR(@)-action.$PPID; diff --git a/templates/policy/route-map/node.tag/rule/node.tag/action/node.def b/templates/policy/route-map/node.tag/rule/node.tag/action/node.def index 065b2637..64f5b852 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/action/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/action/node.def @@ -1,8 +1,10 @@ type: txt help: Set action to take on prefixes matching this rule [REQUIRED] -comp_help: \1 permit\tpermit matching prefixes - deny\t\tdeny matching prefixes +val_help: permit; Permit matching prefixes +val_help: deny; Deny matching prefixes + syntax:expression: $VAR(@) in "permit", "deny"; "action must be permit or deny" + update: /opt/vyatta/sbin/vyatta-policy.pl --check-routemap-action "policy route-map $VAR(../../@) rule $VAR(../@) action"; if [ $? -eq 0 ]; then vtysh -c "configure terminal" -c "route-map $VAR(../../@) $VAR(@) $VAR(../@)"; @@ -12,6 +14,7 @@ update: /opt/vyatta/sbin/vyatta-policy.pl --check-routemap-action "policy route- echo -e " \"delete route-map $VAR(../../@) rule $VAR(../@)\" and commit it. \\n"; exit 1; fi; + delete: /opt/vyatta/sbin/vyatta-policy.pl --check-delete-routemap-action "policy route-map $VAR(../../@) rule $VAR(../@)"; if [ $? -eq 0 ]; then touch /tmp/route-map-$VAR(../../@)-rule-$VAR(../@)-action.$PPID ; diff --git a/templates/policy/route-map/node.tag/rule/node.tag/call/node.def b/templates/policy/route-map/node.tag/rule/node.tag/call/node.def index 903f393f..46a41c0f 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/call/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/call/node.def @@ -1,9 +1,12 @@ type: txt help: Set to call another route-map on match -comp_help: \1 <txt>\t\troute-map name +val_help: Route map name + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" "; "policy route-map $VAR(../../@) rule $VAR(../@) call: called route-map $VAR(@) doesn't exist" commit:expression: $VAR(../action/) != ""; "policy route-map $VAR(../../@) rule $VAR(../@): you must define an action" + update: vtysh -c "configure terminal" -c "route-map $VAR(../../@) $VAR(../action/@) $VAR(../@)" \ -c "call $VAR(@)" + delete: vtysh -c "configure terminal" -c "route-map $VAR(../../@) $VAR(../action/@) $VAR(../@)" \ -c "no call " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/continue/node.def b/templates/policy/route-map/node.tag/rule/node.tag/continue/node.def index 2e53e0e0..2e34ed6c 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/continue/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/continue/node.def @@ -1,12 +1,16 @@ type: u32 help: Set to jump to a different rule in this route-map on a match -comp_help: \1 <1-65535>\trule number +val_help: u32:1-65535; Rule number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "continue must be between 1 and 65535" + commit:expression: $VAR(@) > $VAR(../@); "you may only continue forward in the route-map" commit:expression: $VAR(../action/) != ""; "policy route-map $VAR(../../@) rule $VAR(../@): you must define an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../@) $VAR(../action/@) $VAR(../@)" \ -c "continue $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../@) $VAR(../action/@) $VAR(../@)" \ -c "no continue " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/as-path/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/as-path/node.def index 8fcf6329..fe249ff1 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/as-path/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/as-path/node.def @@ -1,11 +1,14 @@ type: txt help: Set a BGP as-path-list to match -comp_help: \1 <txt>\t\tas-path-list name +val_help: AS path list name + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): You must specify an action" commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" "; "policy route-map $VAR(../../../@) rule $VAR(../../@) match as-path: AS path list $VAR(@) doesn't exist" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "match as-path $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no match as-path $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/community/community-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/community/community-list/node.def index 4906d07e..bf58724a 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/community/community-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/community/community-list/node.def @@ -1,5 +1,6 @@ type: u32 help: Set a BGP community-list to match -comp_help: \1 <1-99>\tBGP community list (standard) - <100-500>\tBGP community list (expanded) +val_help: u32:1-99; BGP community list (standard) +val_help: u32:100-500; BGP community list (expanded) + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy community-list $VAR(@)\" "; "policy route-map $VAR(../../../../@) rule $VAR(../../../@) match community: community-list $VAR(@) doesn't exist" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/interface/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/interface/node.def index 794f2d4d..4e322633 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/interface/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/interface/node.def @@ -1,15 +1,18 @@ type: txt help: Set the first hop interface of a route to match -comp_help: \1 <txt>\t\tinterface name +val_help: Interface name + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): You must specify an action" commit:expression: exec " \ if [ -z \"`ip addr | grep $VAR(@) `\" ]; then \ echo policy route-map $VAR(../../../@) rule $VAR(../../@) match interface: interface $VAR(@) doesn\\'t exist on this system ; \ exit 1 ; \ fi ; " + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "match interface $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no match interface $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/access-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/access-list/node.def index 6347b93d..7d15a49f 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/access-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/access-list/node.def @@ -1,11 +1,9 @@ type: u32 help: Set an IP access-list to match - -comp_help: possible completions: - <1-99> IP standard access list number - <100-199> IP extended access list number - <1300-1999> IP standard access list number (expanded range) - <2000-2699> IP extended access list number (expanded range) +val_help: u32:1-99; IP standard access list number +val_help: u32:100-199; IP extended access list number +val_help: u32:1300-1999; IP standard access list number (expanded range) +val_help: u32:2000-2699; IP extended access list number (expanded range) allowed: local -a params params=( /opt/vyatta/config/active/policy/access-list/* ) diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/prefix-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/prefix-list/node.def index 9fc64b12..6f143bec 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/prefix-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/address/prefix-list/node.def @@ -1,8 +1,6 @@ type: txt help: Set an IP prefix-list to match - -comp_help: possible completions: - <txt> prefix-list name +val_help: Prefix list name allowed: local -a params params=( /opt/vyatta/config/active/policy/prefix-list/* ) diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/access-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/access-list/node.def index caa58290..568d5ca3 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/access-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/access-list/node.def @@ -1,15 +1,18 @@ type: u32 help: Set an IP access-list to match -comp_help: \1 <1-99>\tIP standard access list number - <100-199>\tIP extended access list number - <1300-1999>\tIP standard access list number (expanded range) - <2000-2699>\tIP extended access list number (expanded range) +val_help: u32:1-99; IP standard access list number +val_help: u32:100-199; IP extended access list number +val_help: u32:1300-1999; IP standard access list number (expanded range) +val_help: u32:2000-2699; IP extended access list number (expanded range) + commit:expression: $VAR(../prefix-list/) == ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip nexthop access-list: you may only specify a prefix-list or access-list" commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" "; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip nexthop access-list: access-list $VAR(@) does not exist" commit:expression: $VAR(../../../../action/) != ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "match ip next-hop $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ip next-hop $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/prefix-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/prefix-list/node.def index 5e13d9a5..832ab55f 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/prefix-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/nexthop/prefix-list/node.def @@ -1,12 +1,15 @@ type: txt help: Set an IP prefix-list to match -comp_help: \1 <txt>\t\tprefix-list name +val_help: Prefix list name + commit:expression: $VAR(../access-list/) == ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip nexthop prefix-list: you can only specify a prefix-list or access-list" commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip nexthop prefix-list: prefix-list $VAR(@) does not exist" commit:expression: $VAR(../../../../action/) != ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "match ip next-hop prefix-list $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ip next-hop prefix-list $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/access-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/access-list/node.def index c77f2bb2..c353c0db 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/access-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/access-list/node.def @@ -1,15 +1,18 @@ type: u32 help: Set an IP access-list to match -comp_help: \1 <1-99>\tIP standard access list number - <100-199>\tIP extended access list number - <1300-1999>\tIP standard access list number (expanded range) - <2000-2699>\tIP extended access list number (expanded range) +val_help: u32:1-99; IP standard access list number +val_help: u32:100-199; IP extended access list number +val_help: u32:1300-1999; IP standard access list number (expanded range) +val_help: u32:2000-2699; IP extended access list number (expanded range) + commit:expression: $VAR(../prefix-list/) == ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip route-source access-list: you may only specify a prefix-list or access-list" commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" "; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip route-source access-list: access-list $VAR(@) does not exist" commit:expression: $VAR(../../../../action/) != ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "match ip route-source $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ip route-source $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/prefix-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/prefix-list/node.def index 9d0b9092..adc64356 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/prefix-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ip/route-source/prefix-list/node.def @@ -1,6 +1,6 @@ type: txt help: Set an IP prefix-list to match -comp_help: \1 <txt>\t\tprefix-list name +val_help: Prefix list name commit:expression: $VAR(../access-list/) == ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ip route-source prefix-list: you can only specify a prefix-list or access-list" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/access-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/access-list/node.def index 0a51fc26..18157e09 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/access-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/access-list/node.def @@ -1,5 +1,6 @@ type: txt help: Set an IPv6 access-list6 to match +val_help: IPV6 access list name allowed: local -a params params=( /opt/vyatta/config/active/policy/access-list6/* ) @@ -18,6 +19,3 @@ update: vtysh -c "configure terminal" \ delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ipv6 address $VAR(@) " - -comp_help: possible completions: - <txt> name of an IPv6 access-list6 diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/prefix-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/prefix-list/node.def index b8537f61..a3aee610 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/prefix-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/address/prefix-list/node.def @@ -1,5 +1,6 @@ type: txt help: Set an IPv6 prefix-list to match +val_help: IPv6 prefix list name allowed: local -a params params=( /opt/vyatta/config/active/policy/prefix-list6/* ) @@ -18,6 +19,3 @@ update: vtysh -c "configure terminal" \ delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ipv6 address prefix-list $VAR(@)" - -comp_help: possible completions: - <txt> prefix-list6 name diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/access-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/access-list/node.def index 98410f1c..f24a8fa7 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/access-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/access-list/node.def @@ -1,5 +1,6 @@ type: txt help: Set an IPv6 access-list6 to match +val_help: IPv6 access list commit:expression: $VAR(../prefix-list/) == ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ipv6 nexthop access-list: you may only specify a prefix-list or access-list" @@ -14,6 +15,3 @@ update: vtysh -c "configure terminal" \ delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ipv6 next-hop $VAR(@)" - -comp_help: possible completions: - <txt> name of IPv6 access-list6 diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/prefix-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/prefix-list/node.def index aab547ed..189cd3cd 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/prefix-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/ipv6/nexthop/prefix-list/node.def @@ -1,5 +1,6 @@ type: txt help: Set an IPv6 prefix-list to match +val_help: IPv6 prefix list name commit:expression: $VAR(../access-list/) == ""; "policy route-map $VAR(../../../../../@) rule $VAR(../../../../@) match ipv6 nexthop prefix-list: you can only specify a prefix-list or access-list" @@ -14,6 +15,3 @@ update: vtysh -c "configure terminal" \ delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../../../@) $VAR(../../../../action/@) $VAR(../../../../@)" \ -c "no match ipv6 next-hop prefix-list $VAR(@)" - -comp_help: possible completions: - <txt> prefix-list6 name diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/metric/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/metric/node.def index cf7edf51..799e3876 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/metric/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/metric/node.def @@ -1,11 +1,15 @@ type: u32 help: Set metric of route to match -comp_help: \1 <1-65535>\troute metric +val_help: u32:1-65535; Rrute metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "metric must be between 1 and 65535" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "match metric $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no match metric $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/origin/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/origin/node.def index a43d7fb2..66c5762e 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/origin/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/origin/node.def @@ -1,13 +1,17 @@ type: txt help: Set Border Gateway Protocol (BGP) origin code to match -comp_help: \1 egp\t\texterior gateway protocol origin - igp\t\tinterior gateway protocol origin - incomplete\tincomplete origin +val_help: egp; Exterior gateway protocol origin +val_help: igp; Interior gateway protocol origin +val_help: incomplete; Incomplete origin + syntax:expression: $VAR(@) in "egp", "igp", "incomplete"; "origin must be egp, igp, or incomplete" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "match origin $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no match origin $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/peer/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/peer/node.def index da94b0f9..178085fc 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/peer/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/peer/node.def @@ -1,13 +1,16 @@ type: txt help: Set peer address to match -comp_help: \1 <x.x.x.x>\tpeer IP address - local\t\tstatic or redistributed routes +val_help: ipv4; Peer IP address +val_help: local: Static or redistributed routes + syntax:expression: exec "/opt/vyatta/sbin/vyatta-policy.pl --check-peer-syntax $VAR(@)"; "peer must be either an IP or local" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "match peer $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no match peer " - diff --git a/templates/policy/route-map/node.tag/rule/node.tag/match/tag/node.def b/templates/policy/route-map/node.tag/rule/node.tag/match/tag/node.def index 29b87acb..21a2c802 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/match/tag/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/match/tag/node.def @@ -1,11 +1,15 @@ type: u32 help: Set route tag to match -comp_help: \1 <1-65535>\troute tag +val_help: u32:1-65535; Route tag + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "tag must be between 1 and 65535" + commit:expression: $VAR(../../action) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "match tag $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no match tag $VAR(@)" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/on-match/goto/node.def b/templates/policy/route-map/node.tag/rule/node.tag/on-match/goto/node.def index 63164f95..eaef24fb 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/on-match/goto/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/on-match/goto/node.def @@ -1,13 +1,17 @@ type: u32 help: Set rule number to goto on match -comp_help: \1 <1-65535>\trule number +val_help: u32:1-65535; Rule number + syntax:expression: $VAR(../next/) == ""; "you may set only goto or next" syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "goto must be a rule number between 1 and 65535" + commit:expression: $VAR(@) > $VAR(../../@); "policy route-map $VAR(../../../@) rule $VAR(../../@): you may only go forward in the route-map" commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "on-match goto $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no on-match goto " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/as/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/as/node.def index 58d82457..9f63f0d3 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/as/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/as/node.def @@ -1,4 +1,5 @@ type: u32 help: Set the AS number of an aggregation -comp_help: \1 <1-65535>\tBGP AS number +val_help: u32:1-65535; BGP AS number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; "BGP AS number must be between 1 and 4294967294" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/ip/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/ip/node.def index 4edc633e..bfae6d5e 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/ip/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/aggregator/ip/node.def @@ -1,3 +1,3 @@ type: ipv4 help: Set the IP address of an aggregation -comp_help: \1 <x.x.x.x>\tIP address +val_help: IP address diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/as-path-prepend/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/as-path-prepend/node.def index 2b41c884..39da12bf 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/as-path-prepend/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/as-path-prepend/node.def @@ -1,11 +1,15 @@ type: txt help: Set prepend string for a Border Gateway Protocol (BGP) AS-path attribute -comp_help: \1 <txt>\t\tBGP AS path prepend string (ex: "456 64500 45001") +val_help: BGP AS path prepend string (ex: "456 64500 45001") + syntax:expression: exec "/opt/vyatta/sbin/vyatta-check-as-prepend.pl \"$VAR(@)\" "; "invalid AS path string" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set as-path prepend $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set as-path prepend " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/comm-list/comm-list/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/comm-list/comm-list/node.def index 43476a24..5a969077 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/comm-list/comm-list/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/comm-list/comm-list/node.def @@ -1,5 +1,6 @@ type: u32 help: Set BGP communities with a community-list -comp_help: \1 <1-99>\t\tBGP community list (standard) - <100-500>\t\tBGP community list (expanded) +val_help: u32:1-99; BGP community list (standard) +val_help: u32:100-500; BGP community list (expanded) + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy community-list $VAR(@)\""; "policy route-map $VAR(../../../@) rule $VAR(../../@) set comm-list: community list $VAR(@) does not exist" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def index 8ac47b4b..685b23d8 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def @@ -1,11 +1,10 @@ type: txt help: Set the Border Gateway Protocl (BGP) community attribute -comp_help: \1 <AA:NN>\tcommunity in 4 octet AS:value format - local-AS\t\tadvertise communities in local AS only (NO_EXPORT_SUBCONFED) - no-advertise\tdon't advertise this route to any peer (NO_ADVERTISE) - no-export\t\tdon't advertise outside of this AS of confederation boundry (NO_EXPORT) - internet\t\tsymbolic Internet community 0 - The above maybe prefixed by "additive " +val_help: <AA:NN>; Community in 4 octet AS:value format +val_help: local-AS; Advertise communities in local AS only (NO_EXPORT_SUBCONFED) +val_help: no-advertise; Don't advertise this route to any peer (NO_ADVERTISE) +val_help: no-export; Don't advertise outside of this AS of confederation boundry (NO_EXPORT) +val_help: internet; Symbolic Internet community 0 allowed:echo "none local-AS no-advertise no-export internet" diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/ip-next-hop/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/ip-next-hop/node.def index e39866d0..1f2b8fcb 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/ip-next-hop/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/ip-next-hop/node.def @@ -1,11 +1,14 @@ type: ipv4 help: Set nexthop IP address -comp_help: \1 <x.x.x.x>\tIP address +val_help: IP address + # TODO: can also set to peer for BGP commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set ip next-hop $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set ip next-hop " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/local-preference/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/local-preference/node.def index b643391e..3a9bee60 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/local-preference/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/local-preference/node.def @@ -1,10 +1,13 @@ type: u32 help: Set Border Gateway Protocol (BGP) local preference attribute -comp_help: \1 <0-4294967295>\tlocal preference value +val_help: Local preference value + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set local-preference $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set local-preference " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/metric-type/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/metric-type/node.def index 633ea289..ffade540 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/metric-type/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/metric-type/node.def @@ -1,12 +1,16 @@ type: txt help: Set Open Shortest Path First (OSPF) external metric-type -comp_help: \1 type-1\tOSPF external type 1 metric - type-2\tOSPF external type 2 metric +val_help: type-1; OSPF external type 1 metric +val_help: type-2; OSPF external type 2 metric + syntax:expression: $VAR(@) in "type-1", "type-2"; "Must be (type-1, type-2)" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set metric-type $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set metric-type " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/metric/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/metric/node.def index be83a312..bd5e0d3c 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/metric/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/metric/node.def @@ -1,12 +1,16 @@ type: txt help: Set destination routing protocol metric -comp_help: \1 <+/-metric>\tadd or subtract metric - <0-4294967295>\tmetric value +val_help: <+/-metric>; Add or subtract metric +val_help: u32:0-4294967295; Metric value + syntax:expression: exec "if [ -n \"$(echo $VAR(@) | sed 's/^[+-]*[0123456789]*//')\" ]; then exit 1; fi; "; "metric must be an integer with an optional +/- prepend" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set metric $VAR(@)" + delete: vtysh --noerror -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set metric " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/origin/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/origin/node.def index d84c002c..aa5c0e5c 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/origin/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/origin/node.def @@ -1,13 +1,18 @@ type: txt help: Set Border Gateway Protocl (BGP) origin code -comp_help: \1 igp\t\tinterior gateway protocol origin - egp\t\texterior gateway protocol origin - incomplete\tincomplete origin +val_help: igp; Interior gateway protocol origin +val_help: egp; Exterior gateway protocol origin +val_help: incomplete; Incomplete origin +allowed: echo "igp egp incomplete" + syntax:expression: $VAR(@) in "igp", "egp", "incomplete"; "origin must be one of igp, egp, or incomplete" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set origin $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set origin " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/originator-id/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/originator-id/node.def index 1f54bb5e..c1807d16 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/originator-id/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/originator-id/node.def @@ -1,10 +1,13 @@ type: ipv4 help: Set Border Gateway Protocol (BGP) originator ID attribute -comp_help: \1 <x.x.x.x>\toriginator IP address +val_help: Orignator IP address + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set originator-id $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set originator-id " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/tag/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/tag/node.def index 3a30051d..f6e5ad5d 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/tag/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/tag/node.def @@ -1,11 +1,15 @@ type: u32 help: Set tag value for routing protocol -comp_help: \1 <1-65535>\t\ttag value +val_help: u32:1-65535; Tag value + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "tag must be between 1 and 65535" + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set tag $VAR(@)" + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set tag " diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/weight/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/weight/node.def index 7f831ca7..3fe1fe56 100644 --- a/templates/policy/route-map/node.tag/rule/node.tag/set/weight/node.def +++ b/templates/policy/route-map/node.tag/rule/node.tag/set/weight/node.def @@ -1,10 +1,13 @@ type: u32 help: Set Border Gateway Protocol (BGP) weight attribute -comp_help: \1 <0-4294967295>\tBGP weight +val_help: BGP weight + commit:expression: $VAR(../../action/) != ""; "policy route-map $VAR(../../../@) rule $VAR(../../@): you must specify an action" + update: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "set weight $VAR(@) " + delete: vtysh -c "configure terminal" \ -c "route-map $VAR(../../../@) $VAR(../../action/@) $VAR(../../@)" \ -c "no set weight " diff --git a/templates/protocols/bgp/node.def b/templates/protocols/bgp/node.def index 4047936e..e6d3a49b 100644 --- a/templates/protocols/bgp/node.def +++ b/templates/protocols/bgp/node.def @@ -2,7 +2,9 @@ tag:1 priority: 730 type: u32 help: Configure Border Gateway Protocol (BGP) parameters -comp_help: \1 <1-4294967294>\tAS number +val_help: u32:1-4294967294; AS number + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294 ; \ "AS number must be between 1 and 4294967294" + end: /opt/vyatta/sbin/vyatta-bgp.pl --main diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def index cac0be3e..8210b9fd 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def @@ -1,6 +1,5 @@ tag: type: ipv6net help: Set a BGP IPv6 aggregate network -comp_help: - <h:h:h:h:h:h:h:h/x> IPv6 aggregate network +val_help: IPv6 aggregate network syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def index fa519cc3..7da29853 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def @@ -1,6 +1,5 @@ tag: type: ipv6net help: Set a BGP IPv6 network -comp_help: - <h:h:h:h:h:h:h:h/x> IPv6 network +val_help: IPv6 network syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def index 8a0ce42c..0d475547 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def @@ -1,6 +1,6 @@ type: u32 help: Set an AS-path hopcount limit -comp_help: possible completions: - <0-255> AS path hop count limit +val_help: u32:0-255; AS path hop count limit + commit:expression: $VAR(@) >= 0 && $VAR(@) <= 255; "protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) path-limit: path-limit must be between 0-255." commit:expression: $VAR(../route-map/) == ""; "protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) path-limit: you can't set path-limit and route-map for network" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def index 31f79c75..d6f0a064 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def @@ -1,9 +1,10 @@ type: txt help: Set a route-map to modify route attributes -comp_help: possible completions: - <txt> route-map name +val_help: Route map name + allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) route-map: route-map $VAR(@) doesn't exist" commit:expression: $VAR(../path-limit/) == ""; "protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) route-map: you can't set route-map and path-limit for network" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def index 8ac30200..53b9a18e 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def @@ -1,3 +1,3 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric +val_help: Metric for redistributed routes diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def index f122376d..7c951191 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def @@ -1,8 +1,9 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name +val_help: Route map name + allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute connected: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def index e9099fe7..8a83768d 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def index c822e491..a9a27a92 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def index 40876949..1efdad87 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def index 6af666d7..ced83747 100644 --- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/aggregate-address/node.def b/templates/protocols/bgp/node.tag/aggregate-address/node.def index 70a6c6b9..2a250e54 100644 --- a/templates/protocols/bgp/node.tag/aggregate-address/node.def +++ b/templates/protocols/bgp/node.tag/aggregate-address/node.def @@ -1,5 +1,4 @@ tag: type: ipv4net help: Set a BGP aggregate network -comp_help: \1 <x.x.x.x/x>\taggregate network syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.def b/templates/protocols/bgp/node.tag/neighbor/node.def index 76a4c836..0433acdc 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.def @@ -1,9 +1,8 @@ tag: type: txt help: Set a BGP neighbor -comp_help: - <x.x.x.x> BGP neighbor IP address - <h:h:h:h:h:h:h:h> BGP neighbor IPv6 address +val_help: ipv4; BGP neighbor IP address +val_help: ipv6; BGP neighbor IPv6 address syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ --check-neighbor-ip --neighbor $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def index 2450edd5..74e16e3c 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def @@ -1,4 +1,4 @@ type: u32 help: Set number of occurrences of AS number -comp_help: \1 <1-10>\tnumber of times AS is allowed in path +val_help: u32:1-10; Number of times AS is allowed in path syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def index bd0e0235..51f71b1a 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set the route-map to specify criteria of the default -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$(/opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def index 9dc786eb..d4904340 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set an access-list to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> access-list6 name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list6 ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def index 11db6cfa..0ffe5986 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set an access-list to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> access-list6 name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list6 ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/export/node.def index 523a6153..9d9df1c1 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/import/node.def index b2b88266..576b38ee 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def index f517821d..6b4d7ba8 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def @@ -1,5 +1,4 @@ type: u32 help: Set the maximum number of prefixes to accept from this neighbor -comp_help: possible completions: - <1-4294967295> prefix limit +val_help: u32:1-4294967295; Prefix limit syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967295; "maximum-prefix must be between 1 and 4294967295" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def index 4f895803..17c3bb4a 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def @@ -1,10 +1,10 @@ type: txt help: Set a prefix-list to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> prefix-list name + allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list6 ) echo -n ${params[@]##*/} + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list6 $VAR(@)\" "; \ "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) address-family ipv6-unicast prefix-list export: prefix-list6 $VAR(@) doesn't exist" commit:expression: $VAR(../../distribute-list/export/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list6 export: you can't set both a prefix-list and a distribute list" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def index 95d5fb4d..e8db34e8 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def @@ -1,10 +1,10 @@ type: txt help: Set a prefix-list to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> prefix-list name + allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list6 ) echo -n ${params[@]##*/} + commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list6 $VAR(@)\" "; \ "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) address-family ipv6-unicast prefix-list import: prefix-list6 $VAR(@) doesn't exist" commit:expression: $VAR(../../distribute-list/import/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) address-family ipv6-unicast prefix-list6 import: you can't set both a prefix-list and a distribute list" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/export/node.def index cd6423b1..4116f57f 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/import/node.def index 02c348e2..87d1e158 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def index aea9c773..27c455f9 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to selectively unsuppress suppressed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/advertisement-interval/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/advertisement-interval/node.def index 0e6fb907..646274c6 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/advertisement-interval/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/advertisement-interval/node.def @@ -1,5 +1,4 @@ type: u32 help: Set the minimum interval for sending routing updates -comp_help: possible completions: - <0-600> advertisement interval in seconds +val_help: u32:0-600; Advertisement interval in seconds syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 600; "must be between 0 and 600" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/allowas-in/number/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/allowas-in/number/node.def index 2450edd5..74e16e3c 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/allowas-in/number/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/allowas-in/number/node.def @@ -1,4 +1,4 @@ type: u32 help: Set number of occurrences of AS number -comp_help: \1 <1-10>\tnumber of times AS is allowed in path +val_help: u32:1-10; Number of times AS is allowed in path syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/default-originate/route-map/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/default-originate/route-map/node.def index 09d7a25c..f9a7367e 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/default-originate/route-map/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/default-originate/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set the route-map to specify criteria of the default -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$(/opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/export/node.def index 2867afbb..bf26bd0c 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/export/node.def @@ -1,7 +1,7 @@ type: txt help: Set an access-list to filter outgoing route updates to this neighbor -comp_help: possible completions: - <1-65535> access-list number +val_help: u32:1-65535; Access list number + allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/import/node.def index 9841ca6c..e16c4bdf 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/distribute-list/import/node.def @@ -1,7 +1,6 @@ type: txt help: Set an access-list to filter incoming route updates from this neighbor -comp_help: possible completions: - <1-65535> access-list number +val_help: u32:1-65535; Access-list number allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/ebgp-multihop/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/ebgp-multihop/node.def index 14878cb4..96a89436 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/ebgp-multihop/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/ebgp-multihop/node.def @@ -1,6 +1,6 @@ type: u32 help: Allow this EBGP neighbor to not be on a directly connected network -comp_help: possible completions: - <1-255> number of hops +val_help: u32:1-255; Number of hops + syntax:expression: $VAR(@) >=1 && $VAR(@) <= 255; "ebgp-multihop must be between 1 and 255" commit:expression: $VAR(../ttl-security/hops/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@) ebgp-multihop: you can't set both ebgp-multihop and ttl-security hops" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/export/node.def index c482a8a0..dd8ccadf 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/import/node.def index 270cbc83..3c259a75 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/filter-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.def index bf0b1361..c2948704 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.def @@ -1,8 +1,7 @@ tag:1 type: u32 help: Set the local AS number [REQUIRED] -comp_help: possible completions: - <1-4294967294> local AS number +val_help: u32:1-4294967294; Local AS number syntax:expression: $VAR(@) >=1 && $VAR(@) <= 4294967294; "local-as must be between 1 and 4294967294" commit:expression: $VAR(@) != $VAR(../../@); "protocols bgp $VAR(../../@) neighbor $VAR(../@): you can't set local-as the same as the router AS" commit:expression: $VAR(../remote-as/@) != $VAR(../../@); "protocols bgp $VAR(../../@) neighbor $VAR(../@): local-as can't be set on iBGP peers" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/maximum-prefix/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/maximum-prefix/node.def index f517821d..6b4d7ba8 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/maximum-prefix/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/maximum-prefix/node.def @@ -1,5 +1,4 @@ type: u32 help: Set the maximum number of prefixes to accept from this neighbor -comp_help: possible completions: - <1-4294967295> prefix limit +val_help: u32:1-4294967295; Prefix limit syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967295; "maximum-prefix must be between 1 and 4294967295" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/port/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/port/node.def index 2f29d67d..f2bf5a56 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/port/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/port/node.def @@ -1,5 +1,5 @@ type: u32 help: Set the neighbor's BGP port -comp_help: \1 <1-65535>\tport number +val_help: u32: 1-65535; Neighbor BGP port number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; \ "port must be between 1 and 65535" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/export/node.def index be2e5b69..440d0038 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a prefix-list to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> prefix-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/import/node.def index 12e0eb8e..77062fa0 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/prefix-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a prefix-list to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> prefix-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def index a91de5a7..dd13308f 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def @@ -1,6 +1,5 @@ type: u32 help: Set neighbor BGP AS number [REQUIRED] -comp_help: possible completions: - <1-4294967294> AS number +val_help: u32: 1-4294967294; Neighbor AS number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; \ "remote-as must be between 1 and 4294967294" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/export/node.def index 5e99b260..8e0b2920 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/export/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter outgoing route updates to this neighbor -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/import/node.def index ac3bc025..59812584 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/import/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-map/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter incoming route updates from this neighbor -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/connect/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/connect/node.def index 3e00ec99..c391cabc 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/connect/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/connect/node.def @@ -1,5 +1,5 @@ type: u32 help: Set the BGP connect timer for this neighbor -comp_help: \1 <1-65535>\tconnect timer in seconds - 0\t\tdisable connect timer +val_help: u32:1-65535; Connect timer in seconds +val_help: 0; Disable connect timer syntax:expression: $VAR(@) >=0 && $VAR(@) <= 65535; "BGP connect timer must be between 0 and 65535" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/holdtime/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/holdtime/node.def index 4ffcdcc8..e86ef075 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/holdtime/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/holdtime/node.def @@ -1,6 +1,6 @@ type: u32 default: 180 help: Set the BGP hold timer for this neighbor -comp_help: \1 <1-65535>\thold timer in seconds - 0\t\tdisable hold timer +val_help: u32:1-65535; Hold timer in seconds +val_help: 0; Disable hold timer syntax:expression: $VAR(@) == 0 || ($VAR(@) >= 4 && $VAR(@) <= 65535); "Holdtime interval must be 0 or between 4 and 65535" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/keepalive/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/keepalive/node.def index fbcd737c..41425866 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/keepalive/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/timers/keepalive/node.def @@ -1,5 +1,5 @@ type: u32 default: 60 help: Set the BGP keepalive interval for this neighbor -comp_help: \1 <1-65535>\tkeepalive interval in seconds (default 60) +val_help: u32:1-65535; Keepalive interval in seconds (default 60) syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Keepalive interval must be between 1 and 65535" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/ttl-security/hops/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/ttl-security/hops/node.def index cd69bde9..4e23d108 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/ttl-security/hops/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/ttl-security/hops/node.def @@ -1,6 +1,6 @@ type: u32 help: Set number of the maximum number of hops to the BGP peer -comp_help: possible completions: - <1-254> number of hops +val_help: u32:1-254; Number of hops + syntax:expression: $VAR(@) >=1 && $VAR(@) <= 254; "ttl-security hops must be between 1 and 254" commit:expression: $VAR(../../ebgp-multihop/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@) ttl-security hops: you can't set both ebgp-multihop and ttl-security hops" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/unsuppress-map/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/unsuppress-map/node.def index 65e37dd5..0338f617 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/unsuppress-map/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/unsuppress-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to selectively unsuppress suppressed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/update-source/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/update-source/node.def index ebfe8ee9..fe7993f1 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/update-source/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/update-source/node.def @@ -1,6 +1,5 @@ type: txt help: Set the source IP of routing updates -comp_help: - <x.x.x.x> Set IP address of route source - <interface> Set interface as route source +val_help: ipv4; IP address of route source +val_help: <interface>; Interface as route source commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-source $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/weight/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/weight/node.def index b758c97d..2cc0406f 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/weight/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/weight/node.def @@ -1,4 +1,4 @@ type: u32 help: Set default weight for routes from this neighbor -comp_help: \1 <1-65535>\tweight for routes from this neighbor +val_help: u32: 1-65535; Weight for routes from this neighbor syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "weight must be between 1 and 65535" diff --git a/templates/protocols/bgp/node.tag/network/node.def b/templates/protocols/bgp/node.tag/network/node.def index 109312ae..cf79332f 100644 --- a/templates/protocols/bgp/node.tag/network/node.def +++ b/templates/protocols/bgp/node.tag/network/node.def @@ -1,7 +1,6 @@ tag: type: ipv4net help: Set a BGP network -comp_help: \1 <x.x.x.x/x>\tnetwork syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" commit:expression: !($VAR(./backdoor/) != "" && $VAR(./route-map/) != ""); "protocols bgp $VAR(../@) network $VAR(@): May specify route-map or backdoor but not both" diff --git a/templates/protocols/bgp/node.tag/network/node.tag/route-map/node.def b/templates/protocols/bgp/node.tag/network/node.tag/route-map/node.def index 740bf97b..b8e0897c 100644 --- a/templates/protocols/bgp/node.tag/network/node.tag/route-map/node.def +++ b/templates/protocols/bgp/node.tag/network/node.tag/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to modify route attributes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/parameters/cluster-id/node.def b/templates/protocols/bgp/node.tag/parameters/cluster-id/node.def index a855eb00..d1136f82 100644 --- a/templates/protocols/bgp/node.tag/parameters/cluster-id/node.def +++ b/templates/protocols/bgp/node.tag/parameters/cluster-id/node.def @@ -1,3 +1,2 @@ type: ipv4 help: Set the route-reflector cluster-id -comp_help: \1 <x.x.x.x>\tcluster-id IP diff --git a/templates/protocols/bgp/node.tag/parameters/confederation/identifier/node.def b/templates/protocols/bgp/node.tag/parameters/confederation/identifier/node.def index 2678b08c..8ad06ae5 100644 --- a/templates/protocols/bgp/node.tag/parameters/confederation/identifier/node.def +++ b/templates/protocols/bgp/node.tag/parameters/confederation/identifier/node.def @@ -1,4 +1,4 @@ type: u32 help: Set confederation AS identifier [REQUIRED] -comp_help: \1 <1-4294967294>\tconfederation AS id +val_help: u32:1-4294967294; Confederation AS id syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; "confederation AS id must be between 1 and 4294967294" diff --git a/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def b/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def index 184e1584..dd81f9c2 100644 --- a/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def +++ b/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def @@ -1,5 +1,5 @@ multi: type: u32 help: Set the peer ASs in the BGP confederation -comp_help: \1 <1-4294967294>\tpeer AS number numbers (ex: "435 234") +val_help: u32:1-4294967294; Peer AS number numbers (ex: "435 234") syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; "confederation AS id must be between 1 and 4294967294" diff --git a/templates/protocols/bgp/node.tag/parameters/dampening/half-life/node.def b/templates/protocols/bgp/node.tag/parameters/dampening/half-life/node.def index 1cc94f6a..8b33513b 100644 --- a/templates/protocols/bgp/node.tag/parameters/dampening/half-life/node.def +++ b/templates/protocols/bgp/node.tag/parameters/dampening/half-life/node.def @@ -1,4 +1,4 @@ type: u32 help: Set half-life time for dampening [REQUIRED] -comp_help: \1 <1-45>\thalf-life penalty in seconds +val_help: u32:1-45; Half-life penalty in seconds syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 45; "Half-life penalty must be between 1 and 45" diff --git a/templates/protocols/bgp/node.tag/parameters/dampening/max-suppress-time/node.def b/templates/protocols/bgp/node.tag/parameters/dampening/max-suppress-time/node.def index 74d91714..89d4d59d 100644 --- a/templates/protocols/bgp/node.tag/parameters/dampening/max-suppress-time/node.def +++ b/templates/protocols/bgp/node.tag/parameters/dampening/max-suppress-time/node.def @@ -1,6 +1,7 @@ type: u32 help: Set the maximum duration to suppress a stable route [REQUIRED] -comp_help: \1 <1-255>\tmaximum suppress duration in seconds +val_help: u32:1-255; Maximum suppress duration in seconds + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Max-suppress-time must be between 1 and 255" commit:expression: $VAR(../re-use/) != ""; "protocols bgp $VAR(../../../@) parameters dampening max-suppress-time: you must set a re-use time" commit:expression: $VAR(../start-suppress-time/) != ""; "protocols bgp $VAR(../../../@) parameters dampening max-suppress-time: you must set a start-suppress-time" diff --git a/templates/protocols/bgp/node.tag/parameters/dampening/re-use/node.def b/templates/protocols/bgp/node.tag/parameters/dampening/re-use/node.def index a6787843..792a805f 100644 --- a/templates/protocols/bgp/node.tag/parameters/dampening/re-use/node.def +++ b/templates/protocols/bgp/node.tag/parameters/dampening/re-use/node.def @@ -1,6 +1,7 @@ type: u32 help: Set time to start reusing a route [REQUIRED] -comp_help: \1 <1-20000>\tre-use time in seconds +val_help: u32:1-20000; Re-use time in seconds + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 20000; "Re-use value must be between 1 and 20000" commit:expression: $VAR(../start-suppress-time/) != ""; "protocols bgp $VAR(../../../@) parameters dampening re-use: you must set start-suppress-time" commit:expression: $VAR(../max-suppress-time/) != ""; "protocols bgp $VAR(../../../@) parameters dampening re-use: you must set max-suppress-time" diff --git a/templates/protocols/bgp/node.tag/parameters/dampening/start-suppress-time/node.def b/templates/protocols/bgp/node.tag/parameters/dampening/start-suppress-time/node.def index 901c94e3..efb54286 100644 --- a/templates/protocols/bgp/node.tag/parameters/dampening/start-suppress-time/node.def +++ b/templates/protocols/bgp/node.tag/parameters/dampening/start-suppress-time/node.def @@ -1,6 +1,6 @@ type: u32 help: Set when to start suppressing a route [REQUIRED] -comp_help: \1 <1-20000>\t\tstart-suppress-time +val_help: u32:1-20000; Start-suppress-time syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 20000; "Start-suppress-time must be between 1 and 20000" commit:expression: $VAR(../re-use/) != ""; "protocols bgp $VAR(../../../@) parameters dampening max-suppress-time: you must set re-use" commit:expression: $VAR(../max-suppress-time/) != ""; "protocols bgp $VAR(../../../@) parameters dampening max-suppress-time: you must set max-suppress-time" diff --git a/templates/protocols/bgp/node.tag/parameters/default/local-pref/node.def b/templates/protocols/bgp/node.tag/parameters/default/local-pref/node.def index 2435e3c2..97b86553 100644 --- a/templates/protocols/bgp/node.tag/parameters/default/local-pref/node.def +++ b/templates/protocols/bgp/node.tag/parameters/default/local-pref/node.def @@ -1,3 +1,3 @@ type: u32 help: Set the default local preference (higher=more preferred) -comp_help: \1 <0-4294967295>\tlocal preference +val_help: u32:0-4294967295; Local preference diff --git a/templates/protocols/bgp/node.tag/parameters/distance/global/external/node.def b/templates/protocols/bgp/node.tag/parameters/distance/global/external/node.def index 49039a49..91ef1d22 100644 --- a/templates/protocols/bgp/node.tag/parameters/distance/global/external/node.def +++ b/templates/protocols/bgp/node.tag/parameters/distance/global/external/node.def @@ -1,5 +1,4 @@ type: u32 help: Set an administrative distance for external BGP routes +val_help: u32:1-255; Administrative distance for external BGP routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set administrative distance for external BGP routes diff --git a/templates/protocols/bgp/node.tag/parameters/distance/global/internal/node.def b/templates/protocols/bgp/node.tag/parameters/distance/global/internal/node.def index a7d68e2b..5ea5ab2d 100644 --- a/templates/protocols/bgp/node.tag/parameters/distance/global/internal/node.def +++ b/templates/protocols/bgp/node.tag/parameters/distance/global/internal/node.def @@ -1,5 +1,4 @@ type: u32 help: Set an administrative distance for internal BGP routes +val_help: u32:1-255; Administrative distance for internal BGP routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set administrative distance for internal BGP routes diff --git a/templates/protocols/bgp/node.tag/parameters/distance/global/local/node.def b/templates/protocols/bgp/node.tag/parameters/distance/global/local/node.def index ab98b327..fd548d62 100644 --- a/templates/protocols/bgp/node.tag/parameters/distance/global/local/node.def +++ b/templates/protocols/bgp/node.tag/parameters/distance/global/local/node.def @@ -1,5 +1,4 @@ type: u32 help: Set an administrative distance for local BGP routes +val_help: u32:1-255; Administrative distance for local BGP routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set administrative distance for local BGP routes diff --git a/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.def b/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.def index a8b0823c..a7627f69 100644 --- a/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.def +++ b/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.def @@ -1,6 +1,5 @@ tag: type: ipv4net help: Set an administrative distance for a specific BGP prefix -comp_help: \1 <x.x.x.x/x>\tprefix syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" commit:expression: $VAR(./distance/) != ""; "protocols bgp $VAR(../../../@) parameters distance prefix $VAR(@): you must set a route distance for this prefix" diff --git a/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.tag/distance/node.def b/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.tag/distance/node.def index 37f9f625..b104035e 100644 --- a/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.tag/distance/node.def +++ b/templates/protocols/bgp/node.tag/parameters/distance/prefix/node.tag/distance/node.def @@ -1,5 +1,4 @@ type: u32 help: Set an administrative distance for prefix +val_help: u32:1-255; Administrative distance for external BGP routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set administrative distance for external BGP routes diff --git a/templates/protocols/bgp/node.tag/parameters/graceful-restart/stalepath-time/node.def b/templates/protocols/bgp/node.tag/parameters/graceful-restart/stalepath-time/node.def index df75d416..36a37d49 100644 --- a/templates/protocols/bgp/node.tag/parameters/graceful-restart/stalepath-time/node.def +++ b/templates/protocols/bgp/node.tag/parameters/graceful-restart/stalepath-time/node.def @@ -1,4 +1,4 @@ type: u32 help: Set the maximum time to hold onto restarting peer's stale paths -comp_help: \1 <1-3600>\thold time in seconds +val_help: u32:1-3600; Hold time in seconds syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 3600; "stalepath-time must be between 1 and 3600" diff --git a/templates/protocols/bgp/node.tag/parameters/router-id/node.def b/templates/protocols/bgp/node.tag/parameters/router-id/node.def index 05beb6cc..9b4417c8 100644 --- a/templates/protocols/bgp/node.tag/parameters/router-id/node.def +++ b/templates/protocols/bgp/node.tag/parameters/router-id/node.def @@ -1,3 +1,2 @@ type: ipv4 help: Set BGP router id -comp_help: \1 <x.x.x.x>\tBGP router-id IP diff --git a/templates/protocols/bgp/node.tag/parameters/scan-time/node.def b/templates/protocols/bgp/node.tag/parameters/scan-time/node.def index 9e19626a..08602afc 100644 --- a/templates/protocols/bgp/node.tag/parameters/scan-time/node.def +++ b/templates/protocols/bgp/node.tag/parameters/scan-time/node.def @@ -1,4 +1,4 @@ type: u32 help: Set BGP route scanner interval -comp_help: \1 <5-60>\tscan interval in seconds +val_help: u32:5-60; Scan interval in seconds syntax:expression: $VAR(@) >= 5 && $VAR(@) <= 60; "scan-time must be between 5 and 60 seconds" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.def b/templates/protocols/bgp/node.tag/peer-group/node.def index 74a0e5eb..9a54b6db 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.def @@ -1,8 +1,6 @@ tag: type: txt help: Set a BGP peer-group -comp_help: - <name> BGP peer-group name syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ --check-peergroup-name $VAR(@)" delete:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def index 2450edd5..74e16e3c 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def @@ -1,4 +1,4 @@ type: u32 help: Set number of occurrences of AS number -comp_help: \1 <1-10>\tnumber of times AS is allowed in path +val_help: u32:1-10; Number of times AS is allowed in path syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def index 5dd8e8dc..aa81625d 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set the route-map to specify criteria of the default -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$(/opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def index 0e127e40..cdeb8b29 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set an access-list to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> access-list6 name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list6 ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def index fa476c1b..b0b633c8 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set an access-list to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> access-list6 name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list6 ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/export/node.def index f98bb5b9..d896b1bd 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/import/node.def index f74b3d40..328a1133 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def index 597e9a3b..a722d49c 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def @@ -1,4 +1,2 @@ type: u32 help: Set the maximum number of prefixes to accept from this peer-group -comp_help: possible completions: - <1-4294967295> prefix limit diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def index a9c95a6a..d66872ce 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a prefix-list to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> prefix-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list6 ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def index 0fff30de..d8c7dcb6 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a prefix-list to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> prefix-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list6 ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/export/node.def index 6e7a49db..7bc923f5 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/import/node.def index 0646123f..ffd401f4 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def index a57c9e07..75514699 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to selectively unsuppress suppressed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/number/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/number/node.def index 2450edd5..74e16e3c 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/number/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/number/node.def @@ -1,4 +1,4 @@ type: u32 help: Set number of occurrences of AS number -comp_help: \1 <1-10>\tnumber of times AS is allowed in path +val_help: u32:1-10; Number of times AS is allowed in path syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/route-map/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/route-map/node.def index e1825d4d..403a0944 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/route-map/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set the route-map to specify criteria of the default -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$(/opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/export/node.def index 04e1bd85..1ca1c6da 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/export/node.def @@ -1,7 +1,6 @@ type: txt help: Set an access-list to filter outgoing route updates to this peer-group -comp_help: possible completions: - <1-65535> access-list number +val_help: u32:1-65535; Access list number allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/import/node.def index 946a0517..fc719e6a 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/import/node.def @@ -1,7 +1,7 @@ type: txt help: Set an access-list to filter incoming route updates from this peer-group -comp_help: possible completions: - <1-65535> access-list number +val_help: u32:1-65535; Access list number + allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy access-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/ebgp-multihop/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/ebgp-multihop/node.def index b4432261..88cabc4c 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/ebgp-multihop/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/ebgp-multihop/node.def @@ -1,6 +1,6 @@ type: u32 help: Allow this EBGP peer-group to not be on a directly connected network -comp_help: possible completions: - <1-255> number of hops +val_help: u32:1-255; Number of hops + syntax:expression: $VAR(@) >=1 && $VAR(@) <= 255; "ebgp-multihop must be between 1 and 255" commit:expression: $VAR(../ttl-security/hops/) == ""; "protocols bgp $VAR(../../@) peer-group $VAR(../@) ebgp-multihop: you can't set both ebgp-multihop and ttl-security hops" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/export/node.def index 7463045d..568716ee 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/import/node.def index 940d10c9..c4df16dd 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set an as-path-list to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> as-path-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy as-path-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.def index f0324871..9dae8b74 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.def @@ -1,7 +1,6 @@ tag: type: u32 help: Set the local AS number [REQUIRED] -comp_help: possible completions: - <1-4294967294> local AS number +val_help: u32: 1-4294967294; Local AS number syntax:expression: $VAR(@) >=1 && $VAR(@) <= 4294967294; "local-as must be between 1 and 4294967294" commit:expression: $VAR(@) != $VAR(../../@); "protocols bgp $VAR(../../@) peer-group $VAR(../@): you can't set local-as the same as the router AS" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/maximum-prefix/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/maximum-prefix/node.def index f8982c0f..bed266bf 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/maximum-prefix/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/maximum-prefix/node.def @@ -1,5 +1,4 @@ type: u32 help: Set the maximum number of prefixes to accept from this peer-group -comp_help: possible completions: - <1-4294967295> prefix limit +val_help: 1-4294967295; Prefix limit syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967295; "maximum-prefix must be between 1 and 4294967295" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/export/node.def index 7b525a6f..184eef5d 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a prefix-list to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> prefix-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/import/node.def index 4cc48f27..d8997dd3 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a prefix-list to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> prefix-list name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy prefix-list ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def index ea0d414f..87315835 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def @@ -1,6 +1,5 @@ type: u32 help: Set peer-group BGP AS number [REQUIRED] -comp_help: possible completions: - <1-4294967294> AS number +val_help: u32:1-4294967294; AS number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; \ "remote-as must be between 1 and 4294967294" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/export/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/export/node.def index 919fd488..ce692921 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/export/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/export/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter outgoing route updates to this peer-group -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/import/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/import/node.def index e9557c5b..0d538a87 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/import/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/import/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to filter incoming route updates from this peer-group -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/holdtime/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/holdtime/node.def index c852ffad..745af90c 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/holdtime/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/holdtime/node.def @@ -1,6 +1,7 @@ type: u32 default: 180 help: Set the BGP hold timer for this peer-group -comp_help: \1 <1-65535>\thold timer in seconds - 0\t\tdisable hold timer +val_help: u32:1-65535; Hold timer in seconds +val_help: 0; Disable hold timer + syntax:expression: $VAR(@) == 0 || ($VAR(@) >= 4 && $VAR(@) <= 65535); "Holdtime interval must be 0 or between 4 and 65535" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/keepalive/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/keepalive/node.def index 115881fd..72076ca2 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/keepalive/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/keepalive/node.def @@ -1,5 +1,5 @@ type: u32 default: 60 help: Set the BGP keepalive interval for this peer-group -comp_help: \1 <1-65535>\tkeepalive interval in seconds +val_help: u32:1-65535; Keepalive interval in seconds syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Keepalive interval must be between 1 and 65535" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/ttl-security/hops/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/ttl-security/hops/node.def index 76d801a0..a172a49d 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/ttl-security/hops/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/ttl-security/hops/node.def @@ -1,6 +1,6 @@ type: u32 help: Set number of the maximum number of hops to the BGP peer -comp_help: possible completions: - <1-254> number of hops +val_help: u32:1-254; Number of hops + syntax:expression: $VAR(@) >=1 && $VAR(@) <= 254; "ttl-security hops must be between 1 and 254" commit:expression: $VAR(../../ebgp-multihop/) == ""; "protocols bgp $VAR(../../../@) peer-group $VAR(../../@) ttl-security hops: you can't set both ebgp-multihop and ttl-security hops" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/unsuppress-map/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/unsuppress-map/node.def index 07c76466..4d8cfd91 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/unsuppress-map/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/unsuppress-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route-map to selectively unsuppress suppressed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/update-source/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/update-source/node.def index ebfe8ee9..bbb863d0 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/update-source/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/update-source/node.def @@ -1,6 +1,6 @@ type: txt help: Set the source IP of routing updates -comp_help: - <x.x.x.x> Set IP address of route source - <interface> Set interface as route source +val_help: ipv4;IP address of route source +val_help: <interface>; Interface as route source + commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-source $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/weight/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/weight/node.def index 61e18254..62204a24 100644 --- a/templates/protocols/bgp/node.tag/peer-group/node.tag/weight/node.def +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/weight/node.def @@ -1,4 +1,4 @@ type: u32 help: Set default weight for routes from this peer-group -comp_help: \1 <1-65535>\tweight for routes from this peer-group +val_help: u32:1-65535; Weight for routes from this peer-group syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "weight must be between 1 and 65535" diff --git a/templates/protocols/bgp/node.tag/redistribute/connected/metric/node.def b/templates/protocols/bgp/node.tag/redistribute/connected/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/redistribute/connected/metric/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/connected/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/redistribute/connected/route-map/node.def b/templates/protocols/bgp/node.tag/redistribute/connected/route-map/node.def index b0da440f..dbb12eca 100644 --- a/templates/protocols/bgp/node.tag/redistribute/connected/route-map/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/connected/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/redistribute/kernel/metric/node.def b/templates/protocols/bgp/node.tag/redistribute/kernel/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/redistribute/kernel/metric/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/kernel/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/redistribute/kernel/route-map/node.def b/templates/protocols/bgp/node.tag/redistribute/kernel/route-map/node.def index ba345828..5793a945 100644 --- a/templates/protocols/bgp/node.tag/redistribute/kernel/route-map/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/kernel/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/redistribute/ospf/metric/node.def b/templates/protocols/bgp/node.tag/redistribute/ospf/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/redistribute/ospf/metric/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/ospf/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/redistribute/ospf/route-map/node.def b/templates/protocols/bgp/node.tag/redistribute/ospf/route-map/node.def index 82d9992b..7ad5b916 100644 --- a/templates/protocols/bgp/node.tag/redistribute/ospf/route-map/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/ospf/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/redistribute/rip/metric/node.def b/templates/protocols/bgp/node.tag/redistribute/rip/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/redistribute/rip/metric/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/rip/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/redistribute/rip/route-map/node.def b/templates/protocols/bgp/node.tag/redistribute/rip/route-map/node.def index 09dd58af..c80dbf27 100644 --- a/templates/protocols/bgp/node.tag/redistribute/rip/route-map/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/rip/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/redistribute/static/metric/node.def b/templates/protocols/bgp/node.tag/redistribute/static/metric/node.def index 8ac30200..797801ed 100644 --- a/templates/protocols/bgp/node.tag/redistribute/static/metric/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/static/metric/node.def @@ -1,3 +1,2 @@ type: u32 help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/redistribute/static/route-map/node.def b/templates/protocols/bgp/node.tag/redistribute/static/route-map/node.def index c1deb5a3..6421a90e 100644 --- a/templates/protocols/bgp/node.tag/redistribute/static/route-map/node.def +++ b/templates/protocols/bgp/node.tag/redistribute/static/route-map/node.def @@ -1,7 +1,5 @@ type: txt help: Set a route map to filter redistributed routes -comp_help: possible completions: - <txt> route-map name allowed: local -a params params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map ) echo -n ${params[@]##*/} diff --git a/templates/protocols/bgp/node.tag/timers/holdtime/node.def b/templates/protocols/bgp/node.tag/timers/holdtime/node.def index 6c07dd55..19efe213 100644 --- a/templates/protocols/bgp/node.tag/timers/holdtime/node.def +++ b/templates/protocols/bgp/node.tag/timers/holdtime/node.def @@ -1,7 +1,8 @@ type: u32 help: Set the BGP holdtime interval -comp_help: \1 <4-65535>\thold-time in seconds (default 180) - 0\t\tdon't hold routes +val_help: u32:4-65535; Hold-time in seconds (default 180) +val_help: 0; Don't hold routes + default: 180 syntax:expression: $VAR(@) == 0 || ($VAR(@) >= 4 && $VAR(@) <= 65535); \ "hold-time interval must be 0 or between 4 and 65535" diff --git a/templates/protocols/bgp/node.tag/timers/keepalive/node.def b/templates/protocols/bgp/node.tag/timers/keepalive/node.def index ad158910..56dbda28 100644 --- a/templates/protocols/bgp/node.tag/timers/keepalive/node.def +++ b/templates/protocols/bgp/node.tag/timers/keepalive/node.def @@ -1,6 +1,6 @@ type: u32 -help: Set keepalive interval -comp_help: \1 <1-65535>\tkeep-alive time in seconds (default 60) default: 60 +help: Set keepalive interval +val_help: u32:1-65535; Keep-alive time in seconds (default 60) syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; \ "Keepalive interval must be between 1 and 65535" diff --git a/templates/protocols/ospf/access-list/node.tag/export/node.def b/templates/protocols/ospf/access-list/node.tag/export/node.def index ef7c6027..2cd5b177 100644 --- a/templates/protocols/ospf/access-list/node.tag/export/node.def +++ b/templates/protocols/ospf/access-list/node.tag/export/node.def @@ -2,15 +2,18 @@ multi: type: txt help: Set filter for outgoing routing updates [REQUIRED] syntax:expression: $VAR(@) in "bgp", "connected", "kernel", "rip", "static"; "Must be (bgp, connected, kernel, rip, or static)" + +val_help: bgp Filter bgp routes; +val_help: connected Filter connected routes; +val_help: kernel Filter kernel routes; +val_help: rip Filter rip routes; +val_help: static Filter static routes; + create: vtysh -c "configure terminal" \ -c "router ospf" \ -c "distribute-list $VAR(../@) out $VAR(@)"; + delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "no distribute-list $VAR(../@) out $VAR(@)"; -comp_help: possible completions: - bgp Filter bgp routes - connected Filter connected routes - kernel Filter kernel routes - rip Filter rip routes - static Filter static routes + diff --git a/templates/protocols/ospf/area/node.def b/templates/protocols/ospf/area/node.def index ef26aafb..0aaa7524 100644 --- a/templates/protocols/ospf/area/node.def +++ b/templates/protocols/ospf/area/node.def @@ -2,6 +2,5 @@ tag: type: txt help: Set OSPF Area syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-ospf-area $VAR(@)" -comp_help: possible completions: - <0-4294967295> Set OSPF area in decimal notation - <x.x.x.x> Set OSPF area in dotted decimal notation +val_help: u32; OSPF area in decimal notation +val_help: ipv4; OSPF area in dotted decimal notation diff --git a/templates/protocols/ospf/area/node.tag/area-type/node.def b/templates/protocols/ospf/area/node.tag/area-type/node.def index 76724122..5f90efcc 100644 --- a/templates/protocols/ospf/area/node.tag/area-type/node.def +++ b/templates/protocols/ospf/area/node.tag/area-type/node.def @@ -1,5 +1,4 @@ help: Set area type -comp_help: possible completions: - normal Set normal area type - nssa Set not so stubby area type - stub Set stub Area type +val_help: normal; Normal area type +val_help: nssa; Not so stubby area type +val_help: stub; Stub Area type diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def index ea03efdb..f6b5c409 100644 --- a/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def +++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def @@ -1,6 +1,7 @@ type: u32 help: Set the summary-default cost of nssa area syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 16777215; "Cost must be between 0-16777215" +val_help: u32:0-16777215; Summary default cost create: vtysh -c "configure terminal" \ -c "router ospf" \ @@ -14,6 +15,3 @@ update: vtysh -c "configure terminal" \ delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "no area $VAR(../../../@) default-cost $VAR(@)"; - -comp_help: possible completions: - <0-16777215> Set summary default cost diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def index bb1269df..07d0607b 100644 --- a/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def +++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def @@ -3,7 +3,6 @@ help: Set nssa-abr default: "candidate" syntax:expression: $VAR(@) in "always", "candidate", "never"; "Must be (always, candidate, or never)" -comp_help: possible completions: - always Configure NSSA-ABR to always translate - candidate Configure NSSA-ABR for translate election (default) - never Configure NSSA-ABR to never translate +val_help: always; NSSA-ABR to always translate +val_help: candidate; NSSA-ABR for translate election (default) +val_help: never; NSSA-ABR to never translate diff --git a/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def b/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def index 52b73d05..25320ad5 100644 --- a/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def +++ b/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def @@ -1,6 +1,7 @@ type: u32 help: Set the summary-default cost of stub area syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 16777215; "Cost must be between 0-16777215" +val_help: u32:0-16777215; Summary default cost of stub area create: vtysh -c "configure terminal" \ -c "router ospf" \ @@ -14,6 +15,3 @@ update: vtysh -c "configure terminal" \ delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "no area $VAR(../../../@) default-cost $VAR(@)"; - -comp_help: possible completions: - <0-16777215> Set summary default cost of stub area diff --git a/templates/protocols/ospf/area/node.tag/authentication/node.def b/templates/protocols/ospf/area/node.tag/authentication/node.def index 3c87b9db..9616e27c 100644 --- a/templates/protocols/ospf/area/node.tag/authentication/node.def +++ b/templates/protocols/ospf/area/node.tag/authentication/node.def @@ -1,7 +1,10 @@ type: txt help: Set OSPF area authentication type +allowed: echo "plaintext-password md5" syntax:expression: $VAR(@) in "plaintext-password", "md5"; \ "Must be either plaintext-password or md5" +val_help: plaintext-password; Use plain-text authentication +val_help: md5; Use md5 authentication update:expression: "\ if [ x$VAR(@) == xplaintext-password ]; then \ @@ -21,7 +24,3 @@ update:expression: "\ delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf \" \ -c \"no area $VAR(../@) authentication \" " - -comp_help: possible completions: - plaintex-password Use plain-text authentication - md5 Use md5 authentication diff --git a/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def b/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def index 22665949..cbdd1aa7 100644 --- a/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def +++ b/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def @@ -1,6 +1,4 @@ type: u32 help: Set metric for this range syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 16777215; "Metric must be between 0-16777215" - -comp_help: possible completions: - <0-16777215> Set metric for this range +val_help: u32: 0-16777215; Metric for this range diff --git a/templates/protocols/ospf/area/node.tag/shortcut/node.def b/templates/protocols/ospf/area/node.tag/shortcut/node.def index 85b7df93..6749ac11 100644 --- a/templates/protocols/ospf/area/node.tag/shortcut/node.def +++ b/templates/protocols/ospf/area/node.tag/shortcut/node.def @@ -1,13 +1,15 @@ type: txt help: Set area's shortcut mode +allowed: echo "default disable enable" syntax:expression: $VAR(@) in "default", "disable", "enable"; "Must be (default, disable, enable)" +val_help: default; Set default; +val_help: disable; Disable shortcutting mode; +val_help: enable; Enable shortcutting mode; + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../@) shortcut $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no area $VAR(../@) shortcut $VAR(@)\"; " -comp_help: possible completions: - default Set default - disable Disable shortcutting mode - enable Enable shortcutting mode diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def index f906e58f..da1451a4 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def @@ -2,8 +2,12 @@ tag: type: u32 help: Set MD5 key id syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "ID must be between (1-255)" +val_help: u32:1-255; MD5 key id + commit:expression: $VAR(md5-key/) != ""; "Must add the md5-key for key-id $VAR(@)" + delete:expression: "touch /tmp/ospf-md5.$PPID" + end:expression: "\ if [ -f \"/tmp/ospf-md5.$PPID\" ]; then \ vtysh -c \"configure terminal\" \ @@ -17,5 +21,3 @@ end:expression: "\ -c \"area $VAR(../../../../@) virtual-link $VAR(../../../@) \ message-digest-key $VAR(@) md5 $VAR(md5-key/@)\"; \ fi; " -comp_help: possible completions: - <1-255> Set the key id diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def index c985099d..29200bd1 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def @@ -1,9 +1,9 @@ type: txt help: Set MD5 key +val_help: MD5 Key (16 characters or less) + syntax:expression: exec " \ if [ `echo -n '$VAR(@)' | wc -c` -gt 16 ]; then \ echo MD5 key must be 16 characters or less ; \ exit 1 ; \ fi ; " -comp_help: possible completions: - <text> MD5 Key (16 characters or less) diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/plaintext-password/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/plaintext-password/node.def index 9a7292eb..16d2fde0 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/plaintext-password/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/plaintext-password/node.def @@ -1,5 +1,7 @@ type: txt help: Set plain text password +val_help: Plain text password (8 characters or less) + syntax:expression: exec " \ if [ `echo -n '$VAR(@)' | wc -c` -gt 8 ]; then \ echo Password must be 8 characters or less ; \ @@ -15,6 +17,3 @@ update: vtysh -c "configure terminal" -c "router ospf" \ delete: vtysh -c "configure terminal" -c "router ospf" \ -c "no area $VAR(../../../@) virtual-link $VAR(../../@) \ authentication authentication-key"; - -comp_help: possible completions: - <text> Plain text password (8 characters or less) diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def index 8ce008a3..1b8d0ea1 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def @@ -1,11 +1,13 @@ type: u32 help: Set interval after which a neighbor is declared dead +val_help: u32:1-65535; Neighbor dead interval (seconds) + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Must be between 1-65535" + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../../@) virtual-link $VAR(../@) dead-interval $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no area $VAR(../../@) virtual-link $VAR(../@) dead-interval \"; " -comp_help: possible completions: - <1-65535> Seconds diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def index 2d378bd7..8fed1181 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def @@ -1,11 +1,13 @@ type: u32 help: Set interval between hello packets +val_help: u32:1-65535; Hello interval (seconds) + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Must be between 1-65535" + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../../@) virtual-link $VAR(../@) hello-interval $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no area $VAR(../../@) virtual-link $VAR(../@) hello-interval \"; " -comp_help: possible completions: - <1-65535> Seconds diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def index faa4ba8d..62f02f2c 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def @@ -1,13 +1,15 @@ type: u32 help: Set interval between retransmitting lost link state advertisements +val_help: u32:1-65535; Retransmit interval (seconds) + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Must be between 1-65535" + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../../@) virtual-link $VAR(../@) \ retransmit-interval $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no area $VAR(../../@) virtual-link $VAR(../@) \ retransmit-interval \"; " -comp_help: possible completions: - <1-65535> Seconds diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def index 13a58564..9c2f9e10 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def @@ -1,11 +1,13 @@ type: u32 help: Set link state transmit delay +val_help: u32:1-65535; Link state transmit delay (seconds) + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Must be between 1-65535" + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../../@) virtual-link $VAR(../@) transmit-delay $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no area $VAR(../../@) virtual-link $VAR(../@) transmit-delay \"; " -comp_help: possible completions: - <1-65535> Seconds diff --git a/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def b/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def index 0bcafe6d..b0405e4c 100644 --- a/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def +++ b/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def @@ -3,6 +3,7 @@ help: Set to use reference bandwidth method to assign OSPF cost default: 100 syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967; \ "Must be between 1-4294967" +val_help: u32:1-4294967; Reference bandwidth cost in Mbits/sec (default 100) update:expression: "vtysh --noerror \ -c \"configure terminal\" \ @@ -17,6 +18,3 @@ delete:expression: "vtysh --noerror \ -c \"no auto-cost reference-bandwidth \"; \ echo 'OSPF: Reference bandwidth is changed.'; \ echo ' Please ensure reference bandwidth is consistent across all routers'; " - -comp_help: possible completions: - <1-4294967> Set reference bandwidth cost in Mbits/sec (default 100) diff --git a/templates/protocols/ospf/default-information/originate/metric-type/node.def b/templates/protocols/ospf/default-information/originate/metric-type/node.def index 9878782f..84973f8b 100644 --- a/templates/protocols/ospf/default-information/originate/metric-type/node.def +++ b/templates/protocols/ospf/default-information/originate/metric-type/node.def @@ -2,5 +2,4 @@ type: u32 help: Set OSPF metric type for default routes default: 2 syntax:expression: $VAR(@) in 1, 2 ; "metric must be either 1 or 2" -comp_help: possible completions: - <1-2> Set metric type for default routes (default 2) +val_help: u32:1-2; Metric type for default routes (default 2) diff --git a/templates/protocols/ospf/default-information/originate/metric/node.def b/templates/protocols/ospf/default-information/originate/metric/node.def index 54ee5653..86ecbfa1 100644 --- a/templates/protocols/ospf/default-information/originate/metric/node.def +++ b/templates/protocols/ospf/default-information/originate/metric/node.def @@ -1,5 +1,4 @@ type: u32 help: Set OSPF default metric syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 16777214; "must be between 0-16777214" -comp_help: possible completions: - <0-16777214> Set default metric +val_help: u32:0-16777214; Default metric diff --git a/templates/protocols/ospf/default-metric/node.def b/templates/protocols/ospf/default-metric/node.def index e6f0dd3a..db5c9422 100644 --- a/templates/protocols/ospf/default-metric/node.def +++ b/templates/protocols/ospf/default-metric/node.def @@ -1,11 +1,12 @@ type: u32 help: Set metric of redistributed routes syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 16777214; "Must be between 0-16777214" +val_help: u32:0-16777214; Metric of redistributed routes + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"default-metric $VAR(@) \"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no default-metric $VAR(@) \"; " -comp_help: possible completions: - <0-16777214> Set metric of redistributed routes diff --git a/templates/protocols/ospf/distance/global/node.def b/templates/protocols/ospf/distance/global/node.def index 31025a39..a4c743c0 100644 --- a/templates/protocols/ospf/distance/global/node.def +++ b/templates/protocols/ospf/distance/global/node.def @@ -1,11 +1,13 @@ type: u32 help: Set OSPF administrative distance +val_help: u32:1-255; Administrative distance" + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"distance $VAR(@) \"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no distance $VAR(@) \"; " -comp_help: possible completions: - <1-255> Set administrative distance" diff --git a/templates/protocols/ospf/distance/ospf/external/node.def b/templates/protocols/ospf/distance/ospf/external/node.def index e99bfa07..e9619b1e 100644 --- a/templates/protocols/ospf/distance/ospf/external/node.def +++ b/templates/protocols/ospf/distance/ospf/external/node.def @@ -1,5 +1,4 @@ type: u32 help: Set a distance for external routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set distance for external routes +val_help: u32: 1-255; Distance for external routes diff --git a/templates/protocols/ospf/distance/ospf/inter-area/node.def b/templates/protocols/ospf/distance/ospf/inter-area/node.def index a6bcf23a..dcec0673 100644 --- a/templates/protocols/ospf/distance/ospf/inter-area/node.def +++ b/templates/protocols/ospf/distance/ospf/inter-area/node.def @@ -1,5 +1,4 @@ type: u32 help: Set a distance for inter-area routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set distance for inter-area routes +val_help: u32:1-255; Distance for inter-area routes diff --git a/templates/protocols/ospf/distance/ospf/intra-area/node.def b/templates/protocols/ospf/distance/ospf/intra-area/node.def index b03b0470..964a032d 100644 --- a/templates/protocols/ospf/distance/ospf/intra-area/node.def +++ b/templates/protocols/ospf/distance/ospf/intra-area/node.def @@ -1,5 +1,4 @@ type: u32 help: Set a distance for intra-area routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" -comp_help: possible completions: - <1-255> Set distance for intra-area routes +val_help: u32:1-255; Distance for intra-area routes diff --git a/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def b/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def index 2369b7be..1d51784e 100644 --- a/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def +++ b/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def @@ -1,11 +1,12 @@ type: u32 help: Set to advertise stub-router prior to full shutdown of OSPF syntax:expression: $VAR(@) >= 5 && $VAR(@) <= 86400; "must be between 5-86400 seconds" +val_help: u32:5-86400; Time (seconds) to advertise self as stub-router + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"max-metric router-lsa on-shutdown $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no max-metric router-lsa on-shutdown \"; " -comp_help: possible completions: - <5-86400> Time (seconds) to advertise self as stub-router diff --git a/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def b/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def index e859f0fd..e0045614 100644 --- a/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def +++ b/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def @@ -1,11 +1,12 @@ type: u32 help: Set to automatically advertise stub Router-LSA on startup of OSPF syntax:expression: $VAR(@) >= 5 && $VAR(@) <= 86400; "must be between 5-86400 seconds" +val_help: u32:5-86400; Time (seconds) to advertise self as stub-router + update:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"max-metric router-lsa on-startup $VAR(@)\"; " + delete:expression: "vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"no max-metric router-lsa on-startup \"; " -comp_help: possible completions: - <5-86400> Time (seconds) to advertise self as stub-router diff --git a/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def b/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def index b5e39099..ec0a9a9d 100644 --- a/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def +++ b/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def @@ -1,12 +1,14 @@ type: u32 help: Set dead neighbor polling interval default: 60 +val_help: u32:1-65535; Seconds between dead neighbor polling interval (default 60) + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "Must be between 1-65535 seconds" + update: vtysh -c "configure terminal" \ -c "router ospf" \ -c "neighbor $VAR(../@) poll-interval $VAR(@)"; + delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "neighbor $VAR(../@) poll-interval 60"; -comp_help: possible completions: - <1-65535> Seconds between dead neighbor polling interval (default 60) diff --git a/templates/protocols/ospf/neighbor/node.tag/priority/node.def b/templates/protocols/ospf/neighbor/node.tag/priority/node.def index 6772e988..ab235b5f 100644 --- a/templates/protocols/ospf/neighbor/node.tag/priority/node.def +++ b/templates/protocols/ospf/neighbor/node.tag/priority/node.def @@ -2,11 +2,12 @@ type: u32 help: Set neighbor priority in seconds default: 0 syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 255; "Priority must be between 0-255" +val_help: u32:0-255; Neighbor priority (default 0) + update: vtysh -c "configure terminal" \ -c "router ospf" \ -c "neighbor $VAR(../@) priority $VAR(@)"; + delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "neighbor $VAR(../@) priority 0"; -comp_help: possible completions: - <0-255> Set neighbor priority (default 0) diff --git a/templates/protocols/ospf/parameters/abr-type/node.def b/templates/protocols/ospf/parameters/abr-type/node.def index cb1b588c..1af93c67 100644 --- a/templates/protocols/ospf/parameters/abr-type/node.def +++ b/templates/protocols/ospf/parameters/abr-type/node.def @@ -2,14 +2,16 @@ type: txt help: Set OSPF ABR type default: "cisco" syntax:expression: $VAR(@) in "cisco", "ibm", "shortcut", "standard"; "Must be (cisco, ibm, shortcut, standard)" +val_help: cisco; Cisco ABR type (default) +val_help: ibm; Ibm ABR type +val_help: shortcut; Shortcut ABR type +val_help: standard; Standard ABR type + update: vtysh -c "configure terminal" \ -c "router ospf" \ -c "ospf abr-type $VAR(@)"; + delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "ospf abr-type cisco"; -comp_help: possible completions: - cisco Set cisco ABR type (default) - ibm Set ibm ABR type - shortcut Set shortcut ABR type - standard Set standard ABR type + diff --git a/templates/protocols/ospf/passive-interface-exclude/node.def b/templates/protocols/ospf/passive-interface-exclude/node.def index b69cc8b0..fb1b91ca 100644 --- a/templates/protocols/ospf/passive-interface-exclude/node.def +++ b/templates/protocols/ospf/passive-interface-exclude/node.def @@ -1,6 +1,7 @@ multi: type: txt help: Set interface to exclude when using 'passive-interface default' +val_help:<interface>; Interface to exclude from 'passive-interface default' allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all @@ -19,6 +20,3 @@ create: if [ -z $VAR(@) ] ; then delete: vtysh -c "configure terminal" -c "router ospf" \ -c "passive-interface $VAR(@)"; - -comp_help: possible completions: - <interface> Set an interface to exclude from 'passive-interface default' diff --git a/templates/protocols/ospf/passive-interface/node.def b/templates/protocols/ospf/passive-interface/node.def index bd66993e..95794e51 100644 --- a/templates/protocols/ospf/passive-interface/node.def +++ b/templates/protocols/ospf/passive-interface/node.def @@ -1,10 +1,9 @@ multi: type: txt help: Set to suppress routing updates on an interface - allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all && echo default - - +val_help:<interface>; Interface to be passive (i.e. suppress routing updates) +val_help:default; Default to suppress routing updates on all interfaces create: sudo /opt/vyatta/sbin/vyatta_quagga_utils.pl \ --check-ospf-passive="$VAR(@)" @@ -39,7 +38,3 @@ delete: if [ -z $VAR(@) ] -c "router ospf" \ -c "no passive-interface $VAR(@)" fi - -comp_help: possible completions: - <interface> Set an interface to be passive (i.e. suppress routing updates) - default Set default to suppress routing updates on all interfaces diff --git a/templates/protocols/ospf/redistribute/bgp/metric-type/node.def b/templates/protocols/ospf/redistribute/bgp/metric-type/node.def index 07f1e577..55ed97cc 100644 --- a/templates/protocols/ospf/redistribute/bgp/metric-type/node.def +++ b/templates/protocols/ospf/redistribute/bgp/metric-type/node.def @@ -1,8 +1,5 @@ type: u32 help: Set OSPF metric type default: 2 - syntax:expression: $VAR(@) in 1, 2 ; "metric-type must be either 1 or 2" - -comp_help: possible completions: - <1-2> Set metric type (default 2) +val_help: u32:1-2; Metric type (default 2) diff --git a/templates/protocols/ospf/redistribute/bgp/metric/node.def b/templates/protocols/ospf/redistribute/bgp/metric/node.def index e70579c6..9d71b46a 100644 --- a/templates/protocols/ospf/redistribute/bgp/metric/node.def +++ b/templates/protocols/ospf/redistribute/bgp/metric/node.def @@ -1,5 +1,4 @@ type: u32 help: Set metric for redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" -comp_help: possible completions: - <1-16> Set metric for redistributed routes +val_help: u32:1-16; Metric for redistributed routes diff --git a/templates/protocols/ospf/redistribute/connected/metric-type/node.def b/templates/protocols/ospf/redistribute/connected/metric-type/node.def index 07f1e577..55ed97cc 100644 --- a/templates/protocols/ospf/redistribute/connected/metric-type/node.def +++ b/templates/protocols/ospf/redistribute/connected/metric-type/node.def @@ -1,8 +1,5 @@ type: u32 help: Set OSPF metric type default: 2 - syntax:expression: $VAR(@) in 1, 2 ; "metric-type must be either 1 or 2" - -comp_help: possible completions: - <1-2> Set metric type (default 2) +val_help: u32:1-2; Metric type (default 2) diff --git a/templates/protocols/ospf/redistribute/connected/metric/node.def b/templates/protocols/ospf/redistribute/connected/metric/node.def index e70579c6..9d71b46a 100644 --- a/templates/protocols/ospf/redistribute/connected/metric/node.def +++ b/templates/protocols/ospf/redistribute/connected/metric/node.def @@ -1,5 +1,4 @@ type: u32 help: Set metric for redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" -comp_help: possible completions: - <1-16> Set metric for redistributed routes +val_help: u32:1-16; Metric for redistributed routes diff --git a/templates/protocols/ospf/redistribute/kernel/metric-type/node.def b/templates/protocols/ospf/redistribute/kernel/metric-type/node.def index 07f1e577..55ed97cc 100644 --- a/templates/protocols/ospf/redistribute/kernel/metric-type/node.def +++ b/templates/protocols/ospf/redistribute/kernel/metric-type/node.def @@ -1,8 +1,5 @@ type: u32 help: Set OSPF metric type default: 2 - syntax:expression: $VAR(@) in 1, 2 ; "metric-type must be either 1 or 2" - -comp_help: possible completions: - <1-2> Set metric type (default 2) +val_help: u32:1-2; Metric type (default 2) diff --git a/templates/protocols/ospf/redistribute/kernel/metric/node.def b/templates/protocols/ospf/redistribute/kernel/metric/node.def index e70579c6..9d71b46a 100644 --- a/templates/protocols/ospf/redistribute/kernel/metric/node.def +++ b/templates/protocols/ospf/redistribute/kernel/metric/node.def @@ -1,5 +1,4 @@ type: u32 help: Set metric for redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" -comp_help: possible completions: - <1-16> Set metric for redistributed routes +val_help: u32:1-16; Metric for redistributed routes diff --git a/templates/protocols/ospf/redistribute/rip/metric-type/node.def b/templates/protocols/ospf/redistribute/rip/metric-type/node.def index 07f1e577..55ed97cc 100644 --- a/templates/protocols/ospf/redistribute/rip/metric-type/node.def +++ b/templates/protocols/ospf/redistribute/rip/metric-type/node.def @@ -1,8 +1,5 @@ type: u32 help: Set OSPF metric type default: 2 - syntax:expression: $VAR(@) in 1, 2 ; "metric-type must be either 1 or 2" - -comp_help: possible completions: - <1-2> Set metric type (default 2) +val_help: u32:1-2; Metric type (default 2) diff --git a/templates/protocols/ospf/redistribute/rip/metric/node.def b/templates/protocols/ospf/redistribute/rip/metric/node.def index e70579c6..9d71b46a 100644 --- a/templates/protocols/ospf/redistribute/rip/metric/node.def +++ b/templates/protocols/ospf/redistribute/rip/metric/node.def @@ -1,5 +1,4 @@ type: u32 help: Set metric for redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" -comp_help: possible completions: - <1-16> Set metric for redistributed routes +val_help: u32:1-16; Metric for redistributed routes diff --git a/templates/protocols/ospf/redistribute/static/metric-type/node.def b/templates/protocols/ospf/redistribute/static/metric-type/node.def index 07f1e577..55ed97cc 100644 --- a/templates/protocols/ospf/redistribute/static/metric-type/node.def +++ b/templates/protocols/ospf/redistribute/static/metric-type/node.def @@ -1,8 +1,5 @@ type: u32 help: Set OSPF metric type default: 2 - syntax:expression: $VAR(@) in 1, 2 ; "metric-type must be either 1 or 2" - -comp_help: possible completions: - <1-2> Set metric type (default 2) +val_help: u32:1-2; Metric type (default 2) diff --git a/templates/protocols/ospf/redistribute/static/metric/node.def b/templates/protocols/ospf/redistribute/static/metric/node.def index e70579c6..9d71b46a 100644 --- a/templates/protocols/ospf/redistribute/static/metric/node.def +++ b/templates/protocols/ospf/redistribute/static/metric/node.def @@ -1,5 +1,4 @@ type: u32 help: Set metric for redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" -comp_help: possible completions: - <1-16> Set metric for redistributed routes +val_help: u32:1-16; Metric for redistributed routes diff --git a/templates/protocols/ospf/refresh/timers/node.def b/templates/protocols/ospf/refresh/timers/node.def index 055d9f26..e6002cc0 100644 --- a/templates/protocols/ospf/refresh/timers/node.def +++ b/templates/protocols/ospf/refresh/timers/node.def @@ -1,11 +1,12 @@ type: u32 help: Set refresh timer syntax:expression: $VAR(@) >= 10 && $VAR(@) <= 1800; "must be between 10-1800" +val_help: u32:10-1800; Timer value in seconds + update: vtysh -c "configure terminal" \ -c "router ospf" \ -c "no refresh timer" -c "refresh timer $VAR(@)"; + delete: vtysh -c "configure terminal" \ -c "router ospf" \ -c "no refresh timer $VAR(@)"; -comp_help: possible completions: - <10-1800> Timer value in seconds diff --git a/templates/protocols/ospf/timers/throttle/spf/delay/node.def b/templates/protocols/ospf/timers/throttle/spf/delay/node.def index 85d69c75..cd4c2a25 100644 --- a/templates/protocols/ospf/timers/throttle/spf/delay/node.def +++ b/templates/protocols/ospf/timers/throttle/spf/delay/node.def @@ -2,5 +2,4 @@ type: u32 help: Set delay (msec) from first change received till SPF calculation default: 200 syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 600000; "must be between 0-600000" -comp_help: possible competions: - <0-600000> Set delay in msec (default 200) +val_help: u32:0-600000; Delay in msec (default 200) diff --git a/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def b/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def index ad5a297b..65dfb1a6 100644 --- a/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def +++ b/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def @@ -2,5 +2,4 @@ type: u32 help: Set initial hold time(msec) between consecutive SPF calculations default: 1000 syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 600000; "must be between 0-600000" -comp_help: possible completions: - <0-600000> Initial hold time in msec (default 1000) +val_help: u32:0-600000; Initial hold time in msec (default 1000) diff --git a/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def b/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def index 1cfa29b0..2c188c45 100644 --- a/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def +++ b/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def @@ -2,5 +2,4 @@ type: u32 help: Set maximum hold time (msec) default: 10000 syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 600000; "must be between 0-600000" -comp_help: possible completions: - <0-600000> Max hold time in msec (default 10000) +val_help: u32:0-600000; Max hold time in msec (default 10000) diff --git a/templates/protocols/ospfv3/area/node.def b/templates/protocols/ospfv3/area/node.def index 244756b2..4a93fe93 100644 --- a/templates/protocols/ospfv3/area/node.def +++ b/templates/protocols/ospfv3/area/node.def @@ -2,5 +2,5 @@ tag: type: txt help: Set OSPFv3 Area syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-ospf-area $VAR(@)"; "Invalid OSFPv3 area \"$VAR(@)\" " -comp_help: possible completions: - <x.x.x.x> Set OSPFv3 area in dotted decimal notation +val_help: u32; OSPFv3 area in decimal notation +val_help: ipv4; OSPFv3 area in dotted decimal notation diff --git a/templates/protocols/rip/default-distance/node.def b/templates/protocols/rip/default-distance/node.def index 5b7996e6..75cf3c33 100644 --- a/templates/protocols/rip/default-distance/node.def +++ b/templates/protocols/rip/default-distance/node.def @@ -1,8 +1,10 @@ type: u32 help: Set administrative distance syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "must be between 1 and 255" +val_help: u32:1-255; Administrative distance + update:expression: "vtysh -c \"configure terminal\" -c \"router rip\" \ -c \"distance $VAR(@) \" " + delete:expression: "vtysh -c \"configure terminal\" -c \"router rip\" \ -c \"no distance $VAR(@) \" " -comp_help: Enter a distance valude between 1-255 diff --git a/templates/protocols/rip/default-metric/node.def b/templates/protocols/rip/default-metric/node.def index ea1ceb77..870860eb 100644 --- a/templates/protocols/rip/default-metric/node.def +++ b/templates/protocols/rip/default-metric/node.def @@ -1,8 +1,10 @@ type: u32 help: Set metric of redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "Must be between 1-16" +val_help: u32:1-16; Redistributed routes metric + update:expression: "vtysh -c \"configure terminal\" -c \"router rip\" \ -c \"default-metric $VAR(@) \"; " + delete:expression: "vtysh -c \"configure terminal\" -c \"router rip\" \ -c \"no default-metric $VAR(@) \"; " -#comp_help <1-16> Default metric diff --git a/templates/protocols/rip/network-distance/node.tag/distance/node.def b/templates/protocols/rip/network-distance/node.tag/distance/node.def index 9b05a496..56735bf6 100644 --- a/templates/protocols/rip/network-distance/node.tag/distance/node.def +++ b/templates/protocols/rip/network-distance/node.tag/distance/node.def @@ -1,6 +1,7 @@ type: u32 help: Set administrative distance for network syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "must be between 1 and 255" +val_help: u32:1-255; Administrative distance + delete:expression: "echo $VAR(@) > /tmp/rip-network-distance.$PPID" -comp_help: Enter a distance valude between 1-255 diff --git a/templates/protocols/rip/redistribute/bgp/metric/node.def b/templates/protocols/rip/redistribute/bgp/metric/node.def index ad569327..e2c104a6 100644 --- a/templates/protocols/rip/redistribute/bgp/metric/node.def +++ b/templates/protocols/rip/redistribute/bgp/metric/node.def @@ -1,3 +1,5 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/rip/redistribute/connected/metric/node.def b/templates/protocols/rip/redistribute/connected/metric/node.def index 101e24f9..e2c104a6 100644 --- a/templates/protocols/rip/redistribute/connected/metric/node.def +++ b/templates/protocols/rip/redistribute/connected/metric/node.def @@ -1,6 +1,5 @@ type: u32 help: Set metric for redistributed routes -syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" - - +val_help: u32:1-16; Redistribute route metric +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/rip/redistribute/kernel/metric/node.def b/templates/protocols/rip/redistribute/kernel/metric/node.def index ad569327..e2c104a6 100644 --- a/templates/protocols/rip/redistribute/kernel/metric/node.def +++ b/templates/protocols/rip/redistribute/kernel/metric/node.def @@ -1,3 +1,5 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/rip/redistribute/ospf/metric/node.def b/templates/protocols/rip/redistribute/ospf/metric/node.def index 6ed582ad..8d752e7d 100644 --- a/templates/protocols/rip/redistribute/ospf/metric/node.def +++ b/templates/protocols/rip/redistribute/ospf/metric/node.def @@ -1,4 +1,6 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/rip/redistribute/static/metric/node.def b/templates/protocols/rip/redistribute/static/metric/node.def index ad569327..e2c104a6 100644 --- a/templates/protocols/rip/redistribute/static/metric/node.def +++ b/templates/protocols/rip/redistribute/static/metric/node.def @@ -1,3 +1,5 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/rip/timers/garbage-collection/node.def b/templates/protocols/rip/timers/garbage-collection/node.def index 276efb19..b482ded1 100644 --- a/templates/protocols/rip/timers/garbage-collection/node.def +++ b/templates/protocols/rip/timers/garbage-collection/node.def @@ -3,5 +3,4 @@ default: 120 help: Set garbage collection timer syntax:expression: $VAR(@) >= 5 && $VAR(@) <= 2147483647; \ "Garbage collection timer must be between 5 and 2147483647" -comp_help: possible completions: - <5-2147483647> Garbage colletion time (default 120) +val_help: u32:5-2147483647; Garbage colletion time (default 120) diff --git a/templates/protocols/rip/timers/timeout/node.def b/templates/protocols/rip/timers/timeout/node.def index adc9946a..ce2e172a 100644 --- a/templates/protocols/rip/timers/timeout/node.def +++ b/templates/protocols/rip/timers/timeout/node.def @@ -3,5 +3,4 @@ default: 180 help: Set routing information timeout timer syntax:expression: $VAR(@) >= 5 && $VAR(@) <= 2147483647; \ "Timeout timer must be between 5 and 2147483647" -comp_help: possible completions: - <5-2147483647> Routing information timeout timer (default 180) +val_help: u32:5-2147483647; Routing information timeout timer (default 180) diff --git a/templates/protocols/rip/timers/update/node.def b/templates/protocols/rip/timers/update/node.def index 6c574ede..1b34c5ae 100644 --- a/templates/protocols/rip/timers/update/node.def +++ b/templates/protocols/rip/timers/update/node.def @@ -3,5 +3,4 @@ default: 30 help: Set routing table update timer syntax:expression: $VAR(@) >= 5 && $VAR(@) <= 2147483647; \ "Update timer must be between 5 and 2147483647" -comp_help: possible completions: - <5-2147483647> Routing table update timer in seconds (default 30) +val_help: u32:5-2147483647; Routing table update timer in seconds (default 30) diff --git a/templates/protocols/ripng/default-metric/node.def b/templates/protocols/ripng/default-metric/node.def index fc546c03..380a3a30 100644 --- a/templates/protocols/ripng/default-metric/node.def +++ b/templates/protocols/ripng/default-metric/node.def @@ -1,6 +1,7 @@ type: u32 help: Set metric of redistributed routes syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "Must be between 1-16" +val_help: u32:1-16; Default metric update: vtysh -c "configure terminal" \ -c "router ripng" \ @@ -10,4 +11,3 @@ delete: vtysh -c "configure terminal" \ -c "router ripng" \ -c "no default-metric $VAR(@)" -comp_help <1-16> Default metric diff --git a/templates/protocols/ripng/redistribute/bgp/metric/node.def b/templates/protocols/ripng/redistribute/bgp/metric/node.def index 6c402ef0..4e2fee24 100644 --- a/templates/protocols/ripng/redistribute/bgp/metric/node.def +++ b/templates/protocols/ripng/redistribute/bgp/metric/node.def @@ -1,4 +1,6 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; \ "metric must be between 1 and 16" diff --git a/templates/protocols/ripng/redistribute/connected/metric/node.def b/templates/protocols/ripng/redistribute/connected/metric/node.def index 101e24f9..e2c104a6 100644 --- a/templates/protocols/ripng/redistribute/connected/metric/node.def +++ b/templates/protocols/ripng/redistribute/connected/metric/node.def @@ -1,6 +1,5 @@ type: u32 help: Set metric for redistributed routes -syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" - - +val_help: u32:1-16; Redistribute route metric +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/ripng/redistribute/kernel/metric/node.def b/templates/protocols/ripng/redistribute/kernel/metric/node.def index ad569327..e2c104a6 100644 --- a/templates/protocols/ripng/redistribute/kernel/metric/node.def +++ b/templates/protocols/ripng/redistribute/kernel/metric/node.def @@ -1,3 +1,5 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/ripng/redistribute/ospfv3/metric/node.def b/templates/protocols/ripng/redistribute/ospfv3/metric/node.def index 6ed582ad..8d752e7d 100644 --- a/templates/protocols/ripng/redistribute/ospfv3/metric/node.def +++ b/templates/protocols/ripng/redistribute/ospfv3/metric/node.def @@ -1,4 +1,6 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/ripng/redistribute/static/metric/node.def b/templates/protocols/ripng/redistribute/static/metric/node.def index ad569327..e2c104a6 100644 --- a/templates/protocols/ripng/redistribute/static/metric/node.def +++ b/templates/protocols/ripng/redistribute/static/metric/node.def @@ -1,3 +1,5 @@ type: u32 help: Set metric for redistributed routes +val_help: u32:1-16; Redistribute route metric + syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/ripng/timers/garbage-collection/node.def b/templates/protocols/ripng/timers/garbage-collection/node.def index c7d3f8ed..090ea8f3 100644 --- a/templates/protocols/ripng/timers/garbage-collection/node.def +++ b/templates/protocols/ripng/timers/garbage-collection/node.def @@ -1,9 +1,7 @@ type: u32 default: 120 help: Set garbage collection timer +val_help: u32:0-65535; Garbage colletion time (default 120) syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 65535; \ "Garbage collection timer must be between 0 and 65535" - -comp_help: possible completions: - <0-65535> Garbage colletion time (default 120) diff --git a/templates/protocols/ripng/timers/timeout/node.def b/templates/protocols/ripng/timers/timeout/node.def index 11efdc0b..74b292d2 100644 --- a/templates/protocols/ripng/timers/timeout/node.def +++ b/templates/protocols/ripng/timers/timeout/node.def @@ -1,9 +1,7 @@ type: u32 default: 180 help: Set routing information timeout timer +val_help: u32:0-65535; Routing information timeout timer (default 180) syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 65535; \ "Timeout timer must be between 0 and 65535" - -comp_help: possible completions: - <0-65535> Routing information timeout timer (default 180) diff --git a/templates/protocols/ripng/timers/update/node.def b/templates/protocols/ripng/timers/update/node.def index 1f06eb5b..16a0c62d 100644 --- a/templates/protocols/ripng/timers/update/node.def +++ b/templates/protocols/ripng/timers/update/node.def @@ -1,9 +1,7 @@ type: u32 default: 30 help: Set routing table update timer +val_help: u32:0-65535; Routing table update timer in seconds (default 30) syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 65535; \ "Update timer must be between 0 and 65535" - -comp_help: possible completions: - <0-65535> Routing table update timer in seconds (default 30) diff --git a/templates/protocols/static/arp/node.def b/templates/protocols/static/arp/node.def index a7905c57..69b45a4f 100644 --- a/templates/protocols/static/arp/node.def +++ b/templates/protocols/static/arp/node.def @@ -1,17 +1,7 @@ -# -# Vyatta configuration template for protocols.static.arp -# -# Author: Bob Gilligan (gilligan@vyatta.com) -# - tag: - type: ipv4 - help: Set a static ARP translation - -comp_help: Possible completions: - <ipv4>\tIPv4 destination address +val_help: IPv4 destination address # # All the work is done here in the "end:" tag. There are four possible cases: diff --git a/templates/protocols/static/arp/node.tag/hwaddr/node.def b/templates/protocols/static/arp/node.tag/hwaddr/node.def index a6677795..daa9a6a7 100644 --- a/templates/protocols/static/arp/node.tag/hwaddr/node.def +++ b/templates/protocols/static/arp/node.tag/hwaddr/node.def @@ -1,7 +1,5 @@ type: macaddr - help: Set hardware protocol (e.g. MAC) address to translate to +val_help: Hardware (MAC) address -comp_help: Possible completions: - <macaddr>\tHardware protocol (e.g. MAC) address to translate to diff --git a/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def b/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def index 08a06ad8..9b72a0c7 100644 --- a/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def +++ b/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def @@ -1,4 +1,4 @@ type: u32 help: Set distance value for this route syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)" -comp_help: <1-255> Distance for this route +val_help: u32:1-255; Distance for this route diff --git a/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/distance/node.def b/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/distance/node.def index 08a06ad8..9b72a0c7 100644 --- a/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/distance/node.def +++ b/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/distance/node.def @@ -1,4 +1,4 @@ type: u32 help: Set distance value for this route syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)" -comp_help: <1-255> Distance for this route +val_help: u32:1-255; Distance for this route diff --git a/templates/protocols/static/route/node.tag/blackhole/distance/node.def b/templates/protocols/static/route/node.tag/blackhole/distance/node.def index 08a06ad8..9b72a0c7 100644 --- a/templates/protocols/static/route/node.tag/blackhole/distance/node.def +++ b/templates/protocols/static/route/node.tag/blackhole/distance/node.def @@ -1,4 +1,4 @@ type: u32 help: Set distance value for this route syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)" -comp_help: <1-255> Distance for this route +val_help: u32:1-255; Distance for this route diff --git a/templates/protocols/static/route/node.tag/next-hop/node.tag/distance/node.def b/templates/protocols/static/route/node.tag/next-hop/node.tag/distance/node.def index 08a06ad8..9b72a0c7 100644 --- a/templates/protocols/static/route/node.tag/next-hop/node.tag/distance/node.def +++ b/templates/protocols/static/route/node.tag/next-hop/node.tag/distance/node.def @@ -1,4 +1,4 @@ type: u32 help: Set distance value for this route syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)" -comp_help: <1-255> Distance for this route +val_help: u32:1-255; Distance for this route diff --git a/templates/protocols/static/route6/node.tag/blackhole/distance/node.def b/templates/protocols/static/route6/node.tag/blackhole/distance/node.def index 08a06ad8..9b72a0c7 100644 --- a/templates/protocols/static/route6/node.tag/blackhole/distance/node.def +++ b/templates/protocols/static/route6/node.tag/blackhole/distance/node.def @@ -1,4 +1,4 @@ type: u32 help: Set distance value for this route syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)" -comp_help: <1-255> Distance for this route +val_help: u32:1-255; Distance for this route diff --git a/templates/protocols/static/route6/node.tag/next-hop/node.tag/distance/node.def b/templates/protocols/static/route6/node.tag/next-hop/node.tag/distance/node.def index 08a06ad8..9b72a0c7 100644 --- a/templates/protocols/static/route6/node.tag/next-hop/node.tag/distance/node.def +++ b/templates/protocols/static/route6/node.tag/next-hop/node.tag/distance/node.def @@ -1,4 +1,4 @@ type: u32 help: Set distance value for this route syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)" -comp_help: <1-255> Distance for this route +val_help: u32:1-255; Distance for this route |