diff options
author | Robert Bays <robert@vyatta.com> | 2010-07-14 13:48:54 -0700 |
---|---|---|
committer | Robert Bays <robert@vyatta.com> | 2010-07-14 13:48:54 -0700 |
commit | f16a11dc823d3eae8b6825b296131da03e2259c4 (patch) | |
tree | c5aee310453a3a5053be225a7a674b9821977ae4 | |
parent | 3272a7f045003513172fee0f0490a137ccf69361 (diff) | |
download | vyatta-cfg-quagga-f16a11dc823d3eae8b6825b296131da03e2259c4.tar.gz vyatta-cfg-quagga-f16a11dc823d3eae8b6825b296131da03e2259c4.zip |
fix for bug 5801
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" |