diff options
Diffstat (limited to 'templates')
150 files changed, 556 insertions, 5 deletions
diff --git a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def index 594d8782..594d8782 100644 --- a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.tag/summary-only/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.tag/summary-only/node.def index 7aaf0620..7aaf0620 100644 --- a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.tag/summary-only/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.tag/summary-only/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/network/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def index 14034a79..14034a79 100644 --- a/templates/protocols/bgp/node.tag/ipv6/network/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/node.def index 1a8f732e..1a8f732e 100644 --- a/templates/protocols/bgp/node.tag/ipv6/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def index 8ac30200..8ac30200 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/node.def index acdef3a3..acdef3a3 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def index 828652aa..94f0b513 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def @@ -1,4 +1,4 @@ type: txt help: Set a route map to filter redistributed routes comp_help: \1 <txt>\t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute ripng: route-map $VAR(@) doesn't exist" +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/ipv6/redistribute/kernel/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def index 8ac30200..8ac30200 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/node.def index 5f0bfb51..5f0bfb51 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def index b636e5f7..9e8181d8 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def @@ -1,4 +1,4 @@ type: txt help: Set a route map to filter redistributed routes comp_help: \1 <txt>\t\troute-map name -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" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute kernel: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/node.def index 105e22db..105e22db 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def index 8ac30200..8ac30200 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/node.def index 76cf1808..76cf1808 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def index 202a548e..a2cd8040 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def @@ -1,4 +1,4 @@ type: txt help: Set a route map to filter redistributed routes comp_help: \1 <txt>\t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute kernel: route-map $VAR(@) doesn't exist" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute ospfv3: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def index 8ac30200..8ac30200 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/node.def index 55ac8b58..55ac8b58 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def index 90e59e5a..97a43975 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def @@ -1,4 +1,4 @@ type: txt help: Set a route map to filter redistributed routes comp_help: \1 <txt>\t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute static: route-map $VAR(@) doesn't exist" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute ripng: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def index 8ac30200..8ac30200 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/metric/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/node.def index c196a54b..c196a54b 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/node.def diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def index abb61fa7..67b64a9b 100644 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/route-map/node.def +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def @@ -1,4 +1,4 @@ type: txt help: Set a route map to filter redistributed routes comp_help: \1 <txt>\t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute ospfv3: route-map $VAR(@) doesn't exist" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute static: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/node.def new file mode 100644 index 00000000..1d8c1946 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/node.def @@ -0,0 +1,2 @@ +help: Set to accept a route that contains the local-AS in the as-path +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --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 new file mode 100644 index 00000000..5775dd0a --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set number of occurrences of AS number +comp_help: \1 <1-10>\tnumber of times AS is allowed in path +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/as-path/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/as-path/node.def new file mode 100644 index 00000000..02bc0751 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/as-path/node.def @@ -0,0 +1 @@ +help: Set to send AS path unchanged diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/med/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/med/node.def new file mode 100644 index 00000000..93154a64 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/med/node.def @@ -0,0 +1 @@ +help: Set to send multi-exit discriminator unchanged diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/next-hop/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/next-hop/node.def new file mode 100644 index 00000000..f8b1ca86 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/next-hop/node.def @@ -0,0 +1 @@ +help: Set to send nexthop unchanged diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/node.def new file mode 100644 index 00000000..64e7aa55 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/attribute-unchanged/node.def @@ -0,0 +1,3 @@ +help: Set whether BGP attributes are sent unchanged +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@): you can't set attribute-unchanged for a neighbor in a peer-group" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/dynamic/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/dynamic/node.def new file mode 100644 index 00000000..c05adfbe --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/dynamic/node.def @@ -0,0 +1,2 @@ +help: Set to advertise dynamic capability to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/node.def new file mode 100644 index 00000000..f83cac18 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/node.def @@ -0,0 +1 @@ +help: Set to advertise capabilities to this neighbor diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/node.def new file mode 100644 index 00000000..a0058566 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/node.def @@ -0,0 +1 @@ +help: Set to advertise ORF capability to this neighbor diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/node.def new file mode 100644 index 00000000..cb911c75 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/node.def @@ -0,0 +1 @@ +help: Set to advertise prefix-list ORF capability to this neighbor diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/receive/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/receive/node.def new file mode 100644 index 00000000..05347f41 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/receive/node.def @@ -0,0 +1,2 @@ +help: Set capability to receive the ORF +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../../../@) --neighbor $VAR(../../../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/send/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/send/node.def new file mode 100644 index 00000000..69696ee2 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/send/node.def @@ -0,0 +1,2 @@ +help: Set capability to send the ORF +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../../../@) --neighbor $VAR(../../../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/node.def new file mode 100644 index 00000000..29e0708c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/node.def @@ -0,0 +1,2 @@ +help: Set to send default route to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..114c2142 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def @@ -0,0 +1,6 @@ +type: txt +help: Set the route-map to specify criteria of the default +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" " ; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) default-originate: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/extended/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/extended/node.def new file mode 100644 index 00000000..6423d08f --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/extended/node.def @@ -0,0 +1,2 @@ +help: Set to not send extended community attributes to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/node.def new file mode 100644 index 00000000..c77a13c4 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/node.def @@ -0,0 +1,2 @@ +help: Set to not send community attributes to this neighbor +commit:expression: ($VAR(./extended/) != "") || ($VAR(./standard/) != ""); "protocols bgp $(../../../../@) neighbor $(../../../@): you must specify the type of community" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/standard/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/standard/node.def new file mode 100644 index 00000000..aa5a1004 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/disable-send-community/standard/node.def @@ -0,0 +1,2 @@ +help: Set to not send standard community attributes to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" 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 new file mode 100644 index 00000000..c00efb6c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def @@ -0,0 +1,13 @@ +type: txt +help: Set an access-list to filter outgoing route updates to this neighbor +comp_help: possible completions: + <1-65535> access-list number + <txt> access-list6 name +allowed: local -a params + params=( /opt/vyatta/config/active/policy/access-list/* + /opt/vyatta/config/active/policy/access-list6/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) export: access-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../prefix-list/export/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) distribute-list 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/distribute-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def new file mode 100644 index 00000000..e7cac4a7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set an access-list to filter incoming route updates from this neighbor +comp_help: possible completions: + <1-65535> access-list number + <txt> access-list6 name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";\ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) import: access-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../prefix-list/import/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) distribute-list 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/distribute-list/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/node.def new file mode 100644 index 00000000..4013725c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/distribute-list/node.def @@ -0,0 +1 @@ +help: Set an access-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..dd460e51 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/export/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set an as-path-list to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/as-path-list/* ) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> as-path-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) filter-list export: as-path-list $VAR(@) doesn't exist" 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 new file mode 100644 index 00000000..0d6ff748 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/import/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set an as-path-list to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/as-path-list/* ) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> as-path-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) filter-list import: as-path-list $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/node.def new file mode 100644 index 00000000..191c561b --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/filter-list/node.def @@ -0,0 +1 @@ +help: Set an as-path-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..baff6c76 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set the maximum number of prefixes to accept from this neighbor +comp_help: possible completions: + <1-4294967295> prefix limit +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-local/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-local/node.def new file mode 100644 index 00000000..6292882b --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-local/node.def @@ -0,0 +1 @@ +help: Configure nexthop attributes diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-local/unchanged/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-local/unchanged/node.def new file mode 100644 index 00000000..33ca0243 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-local/unchanged/node.def @@ -0,0 +1,2 @@ +help: Leave link-local nexthop unchanged for this peer +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-self/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-self/node.def new file mode 100644 index 00000000..cb1eaa6c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/nexthop-self/node.def @@ -0,0 +1,2 @@ +help: Set nexthop for routes sent to this neighbor to be the local router +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..905910f6 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def @@ -0,0 +1,12 @@ +type: txt +help: Set a prefix-list to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> prefix-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../distribute-list/export/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list 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 new file mode 100644 index 00000000..ddb5f5d4 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def @@ -0,0 +1,13 @@ +type: txt +help: Set a prefix-list to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> prefix-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../distribute-list/import/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list 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/prefix-list/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/node.def new file mode 100644 index 00000000..1a6187c9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/prefix-list/node.def @@ -0,0 +1 @@ +help: Set a prefix-list to filter route updates to/from this neighbor diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/remove-private-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/remove-private-as/node.def new file mode 100644 index 00000000..d44bf2e1 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/remove-private-as/node.def @@ -0,0 +1,2 @@ +help: Set to remove private AS numbers from AS path in outbound route updates +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..0a366a1b --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/export/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set a route-map to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) export: route-map $VAR(@) doesn't exist" +comp_help: possible completions: + <txt> route-map name 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 new file mode 100644 index 00000000..3e5920c7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/import/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set a route-map to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) import: route-map $VAR(@) doesn't exist" +comp_help: possible completions: + <txt> route-map name diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/node.def new file mode 100644 index 00000000..7d581eb7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-map/node.def @@ -0,0 +1 @@ +help: Set a route-map to filter route updates to/from this neighbor diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-reflector-client/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-reflector-client/node.def new file mode 100644 index 00000000..bea3ac85 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-reflector-client/node.def @@ -0,0 +1,3 @@ +help: Set neighbor as a route reflector client +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" +commit:expression: $VAR(../../@) == $VAR(../remote-as/@); "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) route-reflector-client: remote-as must equal local-as" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-server-client/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-server-client/node.def new file mode 100644 index 00000000..f3cca5b8 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/route-server-client/node.def @@ -0,0 +1,2 @@ +help: Set neighbor as route server client +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/soft-reconfiguration/inbound/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/soft-reconfiguration/inbound/node.def new file mode 100644 index 00000000..b8bd724c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/soft-reconfiguration/inbound/node.def @@ -0,0 +1,3 @@ +help: Set inbound soft reconfiguration for this neighbor [REQUIRED] +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as \ + --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/soft-reconfiguration/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/soft-reconfiguration/node.def new file mode 100644 index 00000000..c17d82f9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/soft-reconfiguration/node.def @@ -0,0 +1,2 @@ +help: Set soft reconfiguration for neighbor +commit:expression: $VAR(./inbound/) != ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) soft-reconfiguration: you must specify the type of soft-reconfiguration" 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 new file mode 100644 index 00000000..95af274c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def @@ -0,0 +1,9 @@ +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/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@): route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.def b/templates/protocols/bgp/node.tag/peer-group/node.def new file mode 100644 index 00000000..af7f1b5c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.def @@ -0,0 +1,9 @@ +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 + +syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ + --check-peer-name $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/node.def new file mode 100644 index 00000000..1d8c1946 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/node.def @@ -0,0 +1,2 @@ +help: Set to accept a route that contains the local-AS in the as-path +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..5775dd0a --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/allowas-in/number/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set number of occurrences of AS number +comp_help: \1 <1-10>\tnumber of times AS is allowed in path +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/as-path/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/as-path/node.def new file mode 100644 index 00000000..02bc0751 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/as-path/node.def @@ -0,0 +1 @@ +help: Set to send AS path unchanged diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/med/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/med/node.def new file mode 100644 index 00000000..93154a64 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/med/node.def @@ -0,0 +1 @@ +help: Set to send multi-exit discriminator unchanged diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/next-hop/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/next-hop/node.def new file mode 100644 index 00000000..f8b1ca86 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/next-hop/node.def @@ -0,0 +1 @@ +help: Set to send nexthop unchanged diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/node.def new file mode 100644 index 00000000..64e7aa55 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/attribute-unchanged/node.def @@ -0,0 +1,3 @@ +help: Set whether BGP attributes are sent unchanged +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@): you can't set attribute-unchanged for a neighbor in a peer-group" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/dynamic/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/dynamic/node.def new file mode 100644 index 00000000..c05adfbe --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/dynamic/node.def @@ -0,0 +1,2 @@ +help: Set to advertise dynamic capability to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/node.def new file mode 100644 index 00000000..f83cac18 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/node.def @@ -0,0 +1 @@ +help: Set to advertise capabilities to this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/node.def new file mode 100644 index 00000000..a0058566 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/node.def @@ -0,0 +1 @@ +help: Set to advertise ORF capability to this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/node.def new file mode 100644 index 00000000..cb911c75 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/node.def @@ -0,0 +1 @@ +help: Set to advertise prefix-list ORF capability to this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/receive/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/receive/node.def new file mode 100644 index 00000000..05347f41 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/receive/node.def @@ -0,0 +1,2 @@ +help: Set capability to receive the ORF +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../../../@) --neighbor $VAR(../../../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/send/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/send/node.def new file mode 100644 index 00000000..69696ee2 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/capability/orf/prefix-list/send/node.def @@ -0,0 +1,2 @@ +help: Set capability to send the ORF +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../../../@) --neighbor $VAR(../../../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/node.def new file mode 100644 index 00000000..29e0708c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/node.def @@ -0,0 +1,2 @@ +help: Set to send default route to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..114c2142 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/default-originate/route-map/node.def @@ -0,0 +1,6 @@ +type: txt +help: Set the route-map to specify criteria of the default +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" " ; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) default-originate: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/extended/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/extended/node.def new file mode 100644 index 00000000..6423d08f --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/extended/node.def @@ -0,0 +1,2 @@ +help: Set to not send extended community attributes to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/node.def new file mode 100644 index 00000000..c77a13c4 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/node.def @@ -0,0 +1,2 @@ +help: Set to not send community attributes to this neighbor +commit:expression: ($VAR(./extended/) != "") || ($VAR(./standard/) != ""); "protocols bgp $(../../../../@) neighbor $(../../../@): you must specify the type of community" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/standard/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/standard/node.def new file mode 100644 index 00000000..aa5a1004 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/disable-send-community/standard/node.def @@ -0,0 +1,2 @@ +help: Set to not send standard community attributes to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" 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 new file mode 100644 index 00000000..c00efb6c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/export/node.def @@ -0,0 +1,13 @@ +type: txt +help: Set an access-list to filter outgoing route updates to this neighbor +comp_help: possible completions: + <1-65535> access-list number + <txt> access-list6 name +allowed: local -a params + params=( /opt/vyatta/config/active/policy/access-list/* + /opt/vyatta/config/active/policy/access-list6/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) export: access-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../prefix-list/export/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) distribute-list export: you can't set both a prefix-list and a distribute list" 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 new file mode 100644 index 00000000..e7cac4a7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/import/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set an access-list to filter incoming route updates from this neighbor +comp_help: possible completions: + <1-65535> access-list number + <txt> access-list6 name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";\ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) import: access-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../prefix-list/import/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) distribute-list import: you can't set both a prefix-list and a distribute list" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/node.def new file mode 100644 index 00000000..4013725c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/distribute-list/node.def @@ -0,0 +1 @@ +help: Set an access-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..dd460e51 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/export/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set an as-path-list to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/as-path-list/* ) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> as-path-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) filter-list export: as-path-list $VAR(@) doesn't exist" 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 new file mode 100644 index 00000000..0d6ff748 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/import/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set an as-path-list to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/as-path-list/* ) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> as-path-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) filter-list import: as-path-list $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/node.def new file mode 100644 index 00000000..191c561b --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/filter-list/node.def @@ -0,0 +1 @@ +help: Set an as-path-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..baff6c76 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/maximum-prefix/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set the maximum number of prefixes to accept from this neighbor +comp_help: possible completions: + <1-4294967295> prefix limit +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-local/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-local/node.def new file mode 100644 index 00000000..6292882b --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-local/node.def @@ -0,0 +1 @@ +help: Configure nexthop attributes diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-local/unchanged/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-local/unchanged/node.def new file mode 100644 index 00000000..33ca0243 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-local/unchanged/node.def @@ -0,0 +1,2 @@ +help: Leave link-local nexthop unchanged for this peer +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-self/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-self/node.def new file mode 100644 index 00000000..cb1eaa6c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/nexthop-self/node.def @@ -0,0 +1,2 @@ +help: Set nexthop for routes sent to this neighbor to be the local router +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..905910f6 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/export/node.def @@ -0,0 +1,12 @@ +type: txt +help: Set a prefix-list to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> prefix-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../distribute-list/export/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list export: you can't set both a prefix-list and a distribute list" 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 new file mode 100644 index 00000000..ddb5f5d4 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/import/node.def @@ -0,0 +1,13 @@ +type: txt +help: Set a prefix-list to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> prefix-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../distribute-list/import/) == ""; "protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) prefix-list import: you can't set both a prefix-list and a distribute list" + diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/node.def new file mode 100644 index 00000000..1a6187c9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/prefix-list/node.def @@ -0,0 +1 @@ +help: Set a prefix-list to filter route updates to/from this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/remove-private-as/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/remove-private-as/node.def new file mode 100644 index 00000000..d44bf2e1 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/remove-private-as/node.def @@ -0,0 +1,2 @@ +help: Set to remove private AS numbers from AS path in outbound route updates +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" 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 new file mode 100644 index 00000000..0a366a1b --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/export/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set a route-map to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) export: route-map $VAR(@) doesn't exist" +comp_help: possible completions: + <txt> route-map name 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 new file mode 100644 index 00000000..3e5920c7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/import/node.def @@ -0,0 +1,9 @@ +type: txt +help: Set a route-map to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) neighbor $VAR(../../../../@) import: route-map $VAR(@) doesn't exist" +comp_help: possible completions: + <txt> route-map name diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/node.def new file mode 100644 index 00000000..7d581eb7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-map/node.def @@ -0,0 +1 @@ +help: Set a route-map to filter route updates to/from this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-reflector-client/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-reflector-client/node.def new file mode 100644 index 00000000..bea3ac85 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-reflector-client/node.def @@ -0,0 +1,3 @@ +help: Set neighbor as a route reflector client +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" +commit:expression: $VAR(../../@) == $VAR(../remote-as/@); "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) route-reflector-client: remote-as must equal local-as" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-server-client/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-server-client/node.def new file mode 100644 index 00000000..f3cca5b8 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/route-server-client/node.def @@ -0,0 +1,2 @@ +help: Set neighbor as route server client +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/soft-reconfiguration/inbound/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/soft-reconfiguration/inbound/node.def new file mode 100644 index 00000000..b8bd724c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/soft-reconfiguration/inbound/node.def @@ -0,0 +1,3 @@ +help: Set inbound soft reconfiguration for this neighbor [REQUIRED] +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as \ + --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/soft-reconfiguration/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/soft-reconfiguration/node.def new file mode 100644 index 00000000..c17d82f9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/soft-reconfiguration/node.def @@ -0,0 +1,2 @@ +help: Set soft reconfiguration for neighbor +commit:expression: $VAR(./inbound/) != ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) soft-reconfiguration: you must specify the type of soft-reconfiguration" 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 new file mode 100644 index 00000000..95af274c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/address-family/ipv6-unicast/unsuppress-map/node.def @@ -0,0 +1,9 @@ +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/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@): route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/node.def new file mode 100644 index 00000000..67b47667 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/node.def @@ -0,0 +1,2 @@ +help: Set to accept a route that contains the local-AS in the as-path +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" 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 new file mode 100644 index 00000000..59bbf053 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/allowas-in/number/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set number of occurrences of AS number +comp_help: \1 <1-10>\tnumber of times AS is allowed in path +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 10; "allowas-in number must be between 1 and 10" +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/as-path/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/as-path/node.def new file mode 100644 index 00000000..02bc0751 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/as-path/node.def @@ -0,0 +1 @@ +help: Set to send AS path unchanged diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/med/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/med/node.def new file mode 100644 index 00000000..93154a64 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/med/node.def @@ -0,0 +1 @@ +help: Set to send multi-exit discriminator unchanged diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/next-hop/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/next-hop/node.def new file mode 100644 index 00000000..f8b1ca86 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/next-hop/node.def @@ -0,0 +1 @@ +help: Set to send nexthop unchanged diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/node.def new file mode 100644 index 00000000..a23f4502 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/attribute-unchanged/node.def @@ -0,0 +1,3 @@ +help: Set whether BGP attributes are sent unchanged +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@): you can't set attribute-unchanged for a neighbor in a peer-group" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/dynamic/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/dynamic/node.def new file mode 100644 index 00000000..1ad03793 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/dynamic/node.def @@ -0,0 +1,2 @@ +help: Set to advertise dynamic capability to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/node.def new file mode 100644 index 00000000..f83cac18 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/node.def @@ -0,0 +1 @@ +help: Set to advertise capabilities to this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/node.def new file mode 100644 index 00000000..a0058566 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/node.def @@ -0,0 +1 @@ +help: Set to advertise ORF capability to this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/node.def new file mode 100644 index 00000000..cb911c75 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/node.def @@ -0,0 +1 @@ +help: Set to advertise prefix-list ORF capability to this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/receive/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/receive/node.def new file mode 100644 index 00000000..f228a5c3 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/receive/node.def @@ -0,0 +1,3 @@ +help: Set capability to receive the ORF +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: $VAR(../../../../peer-group/) == ""; "You can't set orf capability receive for neighbor $VAR(../../../../@) in peer-group $VAR(../../../../peer-group/@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/send/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/send/node.def new file mode 100644 index 00000000..aff136ca --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/capability/orf/prefix-list/send/node.def @@ -0,0 +1,3 @@ +help: Set capability to send the ORF +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" +commit:expression: $VAR(../../../../peer-group/) == ""; "You can't set capability orf send for neighbor $VAR(../../../../@) in peer-group $VAR(../../../../peer-group/@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/node.def new file mode 100644 index 00000000..675adffd --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/node.def @@ -0,0 +1,3 @@ +help: Set to send default route to this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocold bgp $VAR(../../@) neighbor $VAR(../@): you can't set default-originate for a neighbor in a peer-group" 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 new file mode 100644 index 00000000..f2209d3f --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/default-originate/route-map/node.def @@ -0,0 +1,7 @@ +type: txt +help: Set the route-map to specify criteria of the default +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" " ; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@) default-originate: route-map $VAR(@) doesn't exist" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set default-originate for a neighbor in a peer-group" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/description/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/description/node.def new file mode 100644 index 00000000..9b8fe210 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/description/node.def @@ -0,0 +1,2 @@ +type: txt +help: Set a description for this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/disable-capability-negotiation/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/disable-capability-negotiation/node.def new file mode 100644 index 00000000..f476e35e --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/disable-capability-negotiation/node.def @@ -0,0 +1,2 @@ +help: Set to not perform capability negotiation with this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/disable-connected-check/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/disable-connected-check/node.def new file mode 100644 index 00000000..98e3fb46 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/disable-connected-check/node.def @@ -0,0 +1,2 @@ +help: Disable check to see if EBGP peer's address is a connected route +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" 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 new file mode 100644 index 00000000..9d6f2f12 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/export/node.def @@ -0,0 +1,14 @@ +type: txt +help: Set an access-list to filter outgoing route updates to this neighbor +comp_help: possible completions: + <1-65535> access-list number + <txt> access-list6 name +allowed: local -a params + params=( /opt/vyatta/config/active/policy/access-list/* + /opt/vyatta/config/active/policy/access-list6/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a distribute-list for a neighbor in a peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) export: access-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../prefix-list/export/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@) distribute-list export: you can't set both a prefix-list and a distribute list" 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 new file mode 100644 index 00000000..76d48c47 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/import/node.def @@ -0,0 +1,10 @@ +type: txt +help: Set an access-list to filter incoming route updates from this neighbor +comp_help: possible completions: + <1-65535> access-list number + <txt> access-list6 name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a distribute-list for a neighbor in a peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";\ +"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) import: access-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../prefix-list/import/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@) distribute-list import: you can't set both a prefix-list and a distribute list" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/node.def new file mode 100644 index 00000000..4013725c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/distribute-list/node.def @@ -0,0 +1 @@ +help: Set an access-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..d35d050e --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/ebgp-multihop/node.def @@ -0,0 +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 +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +syntax:expression: $VAR(@) >=1 && $VAR(@) <= 255; "ebgp-multihop must be between 1 and 255" 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 new file mode 100644 index 00000000..f510d1b7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/export/node.def @@ -0,0 +1,10 @@ +type: txt +help: Set an as-path-list to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/as-path-list/* ) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> as-path-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a filter-list for a neighbor in peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" ";"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) filter-list export: as-path-list $VAR(@) doesn't exist" 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 new file mode 100644 index 00000000..573ae57f --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/import/node.def @@ -0,0 +1,10 @@ +type: txt +help: Set an as-path-list to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/as-path-list/* ) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> as-path-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a filter-list for a neighbor in peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy as-path-list $VAR(@)\" ";"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) filter-list import: as-path-list $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/node.def new file mode 100644 index 00000000..191c561b --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/filter-list/node.def @@ -0,0 +1 @@ +help: Set an as-path-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..a7de0ea8 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.def @@ -0,0 +1,8 @@ +tag: +type: u32 +help: Set the local AS number [REQUIRED] +comp_help: possible completions: + <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: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.tag/no-prepend/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.tag/no-prepend/node.def new file mode 100644 index 00000000..299e92e9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/local-as/node.tag/no-prepend/node.def @@ -0,0 +1 @@ +help: Set to not prepend local-as to updates from EBGP peers 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 new file mode 100644 index 00000000..98a1129f --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/maximum-prefix/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set the maximum number of prefixes to accept from this neighbor +comp_help: possible completions: + <1-4294967295> prefix limit +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/nexthop-self/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/nexthop-self/node.def new file mode 100644 index 00000000..ccbc5471 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/nexthop-self/node.def @@ -0,0 +1,3 @@ +help: Set nexthop for routes sent to this neighbor to be the local router +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@) next-hop-self: you can't set next-hop-self for a neighbor in a peer-group" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/override-capability/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/override-capability/node.def new file mode 100644 index 00000000..5eec1b35 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/override-capability/node.def @@ -0,0 +1,3 @@ +help: Set to ignore capability negotiation with specified neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../strict-capability/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@) override-capability: you can't set both strict-capability and override-capability" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/passive/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/passive/node.def new file mode 100644 index 00000000..46e8fc40 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/passive/node.def @@ -0,0 +1,2 @@ +help: Set to not try initiating a session with this neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/password/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/password/node.def new file mode 100644 index 00000000..3a2f318d --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/password/node.def @@ -0,0 +1,7 @@ +type: txt +help: Set BGP MD5 password +syntax:expression: exec " \ + if [ `echo -n '$VAR(@)' | wc -c` -gt 80 ]; then \ + echo Password must be 80 characters or less;\ + exit 1 ; \ + fi ; " 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 new file mode 100644 index 00000000..6341cde4 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/export/node.def @@ -0,0 +1,13 @@ +type: txt +help: Set a prefix-list to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> prefix-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a prefix-list for a neighbor in a peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../distribute-list/export/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@) prefix-list export: you can't set both a prefix-list and a distribute list" 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 new file mode 100644 index 00000000..8c7e99a7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/import/node.def @@ -0,0 +1,14 @@ +type: txt +help: Set a prefix-list to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} +comp_help: possible completions: + <txt> prefix-list name +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a prefix-list for a neighbor in a peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" "; \ +"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" +commit:expression: $VAR(../../distribute-list/import/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@) prefix-list import: you can't set both a prefix-list and a distribute list" + diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/node.def new file mode 100644 index 00000000..1a6187c9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/prefix-list/node.def @@ -0,0 +1 @@ +help: Set a prefix-list to filter route updates to/from this neighbor 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 new file mode 100644 index 00000000..a91de5a7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def @@ -0,0 +1,6 @@ +type: u32 +help: Set neighbor BGP AS number [REQUIRED] +comp_help: possible completions: + <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/remove-private-as/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/remove-private-as/node.def new file mode 100644 index 00000000..c234d2fc --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/remove-private-as/node.def @@ -0,0 +1,3 @@ +help: Set to remove private AS numbers from AS path in outbound route updates +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../../@): you can't set remove-private-as for a neighbor in a peer-group" 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 new file mode 100644 index 00000000..66e09b24 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/export/node.def @@ -0,0 +1,10 @@ +type: txt +help: Set a route-map to filter outgoing route updates to this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a route-map for a neighbor in a peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) export: route-map $VAR(@) doesn't exist" +comp_help: possible completions: + <txt> route-map name 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 new file mode 100644 index 00000000..3163940a --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/import/node.def @@ -0,0 +1,10 @@ +type: txt +help: Set a route-map to filter incoming route updates from this neighbor +allowed: local -a params + params=( /opt/vyatta/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../@) --neighbor $VAR(../../@)" +commit:expression: $VAR(../../peer-group/) == ""; "protocols bgp $VAR(../../../@) neighbor $VAR(../../@): you can't set a route-map for a neighbor in a peer-group" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../@) neighbor $VAR(../../@) import: route-map $VAR(@) doesn't exist" +comp_help: possible completions: + <txt> route-map name diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/node.def new file mode 100644 index 00000000..7d581eb7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-map/node.def @@ -0,0 +1 @@ +help: Set a route-map to filter route updates to/from this neighbor diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-reflector-client/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-reflector-client/node.def new file mode 100644 index 00000000..2fce607f --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-reflector-client/node.def @@ -0,0 +1,4 @@ +help: Set neighbor as a route reflector client +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@): you can't set route-reflector-client for a neighbor in a peer-group" +commit:expression: $VAR(../../@) == $VAR(../remote-as/@); "protocols bgp $VAR(../../@) neighbor $VAR(../@) route-reflector-client: remote-as must equal local-as" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/route-server-client/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-server-client/node.def new file mode 100644 index 00000000..b1cb9e39 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/route-server-client/node.def @@ -0,0 +1,3 @@ +help: Set neighbor as route server client +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@): you can't set route-server-client for a neighbor in a peer-group" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/shutdown/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/shutdown/node.def new file mode 100644 index 00000000..21863355 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/shutdown/node.def @@ -0,0 +1,2 @@ +help: Set to administratively shut down neighbor +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/soft-reconfiguration/inbound/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/soft-reconfiguration/inbound/node.def new file mode 100644 index 00000000..b52799a6 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/soft-reconfiguration/inbound/node.def @@ -0,0 +1,3 @@ +help: Set inbound soft reconfiguration for this neighbor [REQUIRED] +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as \ + --as $VAR(../../../@) --neighbor $VAR(../../@)" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/soft-reconfiguration/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/soft-reconfiguration/node.def new file mode 100644 index 00000000..4c7f5706 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/soft-reconfiguration/node.def @@ -0,0 +1,2 @@ +help: Set soft reconfiguration for neighbor +commit:expression: $VAR(./inbound/) != ""; "protocols bgp $VAR(../../@) neighbor $VAR(../@) soft-reconfiguration: you must specify the type of soft-reconfiguration" diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/connect/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/connect/node.def new file mode 100644 index 00000000..3e00ec99 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/connect/node.def @@ -0,0 +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 +syntax:expression: $VAR(@) >=0 && $VAR(@) <= 65535; "BGP connect timer must be between 0 and 65535" 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 new file mode 100644 index 00000000..3fcce7e2 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/holdtime/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set the BGP hold timer for this neighbor +comp_help: \1 <1-65535>\thold timer in seconds + 0\t\tdisable 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 new file mode 100644 index 00000000..cb47e1ce --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/keepalive/node.def @@ -0,0 +1,4 @@ +type: u32 +help: Set the BGP keepalive interval for this neighbor +comp_help: \1 <1-65535>\tkeepalive 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/timers/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/node.def new file mode 100644 index 00000000..6fde9bd3 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/timers/node.def @@ -0,0 +1,6 @@ +help: Set neighbor timers +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +# TODO: fix this. Can set connect &&|| (keepalive && holdtime) +commit:expression: $VAR(./keepalive/) != ""; "protocols bgp $VAR(../../@) timers: you must set a keepalive interval" +commit:expression: $VAR(./holdtime/) != ""; "protocols bgp $VAR(../../@) timers: you must set a holdtime interval" + 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 new file mode 100644 index 00000000..ae2478a5 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/unsuppress-map/node.def @@ -0,0 +1,9 @@ +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/config/active/policy/route-map/* ) + echo -n ${params[@]##*/} +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../@) neighbor $VAR(../@): route-map $VAR(@) doesn't exist" 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 new file mode 100644 index 00000000..63fc633c --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/update-source/node.def @@ -0,0 +1,7 @@ +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 +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-source $VAR(@)" +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $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 new file mode 100644 index 00000000..e5da2d21 --- /dev/null +++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/weight/node.def @@ -0,0 +1,5 @@ +type: u32 +help: Set default weight for routes from this neighbor +comp_help: \1 <1-65535>\tweight for routes from this neighbor +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 65535; "weight must be between 1 and 65535" +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../@) --neighbor $VAR(../@)" |