summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Bays <robert@vyatta.com>2010-07-14 13:48:54 -0700
committerRobert Bays <robert@vyatta.com>2010-07-14 13:48:54 -0700
commitf16a11dc823d3eae8b6825b296131da03e2259c4 (patch)
treec5aee310453a3a5053be225a7a674b9821977ae4
parent3272a7f045003513172fee0f0490a137ccf69361 (diff)
downloadvyatta-cfg-quagga-f16a11dc823d3eae8b6825b296131da03e2259c4.tar.gz
vyatta-cfg-quagga-f16a11dc823d3eae8b6825b296131da03e2259c4.zip
fix for bug 5801
-rwxr-xr-xscripts/bgp/vyatta-bgp.pl20
-rw-r--r--templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def2
-rw-r--r--templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def6
-rw-r--r--templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def9
4 files changed, 32 insertions, 5 deletions
diff --git a/scripts/bgp/vyatta-bgp.pl b/scripts/bgp/vyatta-bgp.pl
index 835cbb76..3337d227 100755
--- a/scripts/bgp/vyatta-bgp.pl
+++ b/scripts/bgp/vyatta-bgp.pl
@@ -64,12 +64,24 @@ my %qcom = (
del => undef,
},
'protocols bgp var address-family ipv6-unicast aggregate-address var' => {
- set => 'router bgp #3 ; ipv6 bgp aggregate-address #7 ?summary-only',
- del => 'router bgp #3 ; no ipv6 bgp aggregate-address #7',
+ set => 'router bgp #3 ; address-family ipv6 ; aggregate-address #7 ?summary-only',
+ del => 'router bgp #3 ; address-family ipv6 ; no aggregate-address #7',
},
'protocols bgp var address-family ipv6-unicast network' => {
- set => 'router bgp #3 ; ipv6 bgp network #7',
- del => 'router bgp #3 ; no ipv6 bgp network #7',
+ set => undef,
+ del => undef,
+ },
+ 'protocols bgp var address-family ipv6-unicast network var' => {
+ set => 'router bgp #3 ; address-family ipv6 ; network #7',
+ del => 'router bgp #3 ; address-family ipv6 ; no network #7',
+ },
+ 'protocols bgp var address-family ipv6-unicast network var route-map' => {
+ set => 'router bgp #3 ; address-family ipv6 ; network #7 route-map #9',
+ del => 'router bgp #3 ; address-family ipv6 ; no network #7 route-map #9',
+ },
+ 'protocols bgp var address-family ipv6-unicast network var path-limit' => {
+ set => 'router bgp #3 ; address-family ipv6 ; network #7 pathlimit #9',
+ del => 'router bgp #3 ; address-family ipv6 ; no network #7 pathlimit #9',
},
'protocols bgp var address-family ipv6-unicast redistribute' => {
set => undef,
diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def
index bd7e5909..fa519cc3 100644
--- a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def
+++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def
@@ -1,4 +1,4 @@
-multi:
+tag:
type: ipv6net
help: Set a BGP IPv6 network
comp_help:
diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def
new file mode 100644
index 00000000..8a0ce42c
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/path-limit/node.def
@@ -0,0 +1,6 @@
+type: u32
+help: Set an AS-path hopcount limit
+comp_help: possible completions:
+ <0-255> AS path hop count limit
+commit:expression: $VAR(@) >= 0 && $VAR(@) <= 255; "protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) path-limit: path-limit must be between 0-255."
+commit:expression: $VAR(../route-map/) == ""; "protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) path-limit: you can't set path-limit and route-map for network"
diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def
new file mode 100644
index 00000000..31f79c75
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.tag/route-map/node.def
@@ -0,0 +1,9 @@
+type: txt
+help: Set a route-map to modify route attributes
+comp_help: possible completions:
+ <txt> route-map name
+allowed: local -a params
+ params=$( /opt/vyatta/sbin/vyatta-policy.pl --list-policy route-map )
+ echo -n ${params[@]##*/}
+commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) route-map: route-map $VAR(@) doesn't exist"
+commit:expression: $VAR(../path-limit/) == ""; "protocols bgp $VAR(../../../../@) address-family ipv6-unicast network $VAR(../@) route-map: you can't set route-map and path-limit for network"