diff options
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" |