diff options
Diffstat (limited to 'templates')
3 files changed, 25 insertions, 18 deletions
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-reflector-client/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-reflector-client/node.def index 1ea47938..167d7718 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-reflector-client/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-reflector-client/node.def @@ -6,13 +6,13 @@ commit:expression: $VAR(../peer-group/) == ""; "protocols bgp $VAR(../../@) neig commit:expression: $VAR(../../@) == $VAR(../remote-as/@); "protocols bgp $VAR(../../@) neighbor $VAR(../@) route-reflector-client: remote-as must equal local-as" -update: if [ -n "$VAR(../remote-as/@)" ]; then - peer="remote-as $VAR(../remote-as/@)"; - else - peer="peer-group $VAR(../peer-group/@)"; - fi; +update: if [ -n "$VAR(../remote-as/@)" ]; then + peer="remote-as $VAR(../remote-as/@)"; + else + peer="peer-group $VAR(../peer-group/@)"; + fi; - if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); + if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); then vtysh -c "configure terminal" \ -c "router bgp $VAR(../../@)" \ @@ -26,16 +26,16 @@ update: if [ -n "$VAR(../remote-as/@)" ]; then -c "neighbor $VAR(../@) route-reflector-client" fi -delete: if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); +delete: if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); then vtysh --noerror \ - -c "configure terminal" \ + -c "configure terminal" \ -c "router bgp $VAR(../../@)" \ -c "address-family ipv6" \ -c "no neighbor $VAR(../@) route-reflector-client" else vtysh --noerror \ - -c "configure terminal" \ + -c "configure terminal" \ -c "router bgp $VAR(../../@)" \ -c "no neighbor $VAR(../@) route-reflector-client" fi diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-server-client/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-server-client/node.def index 913fe3b1..a82b7247 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/route-server-client/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/route-server-client/node.def @@ -4,13 +4,13 @@ commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $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" -update: if [ -n "$VAR(../remote-as/@)" ]; then - peer="remote-as $VAR(../remote-as/@)"; - else - peer="peer-group $VAR(../peer-group/@)"; - fi; +update: if [ -n "$VAR(../remote-as/@)" ]; then + peer="remote-as $VAR(../remote-as/@)"; + else + peer="peer-group $VAR(../peer-group/@)"; + fi; - if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); + if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); then vtysh -c "configure terminal" \ -c "router bgp $VAR(../../@)" \ @@ -24,12 +24,12 @@ update: if [ -n "$VAR(../remote-as/@)" ]; then -c "neighbor $VAR(../@) route-server-client" fi -delete: if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); +delete: if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@); then vtysh --noerror \ -c "configure terminal" \ -c "router bgp $VAR(../../@)" \ - -c "address-family ipv6" \ + -c "address-family ipv6" \ -c "no neighbor $VAR(../@) route-server-client" else vtysh --noerror \ diff --git a/templates/protocols/static/route6/node.tag/next-hop/node.def b/templates/protocols/static/route6/node.tag/next-hop/node.def index 4d123637..31e75a92 100644 --- a/templates/protocols/static/route6/node.tag/next-hop/node.def +++ b/templates/protocols/static/route6/node.tag/next-hop/node.def @@ -1,6 +1,9 @@ tag: + type: ipv6 + help: Set the next-hop IPv6 router [REQUIRED] + end: if [[ -z "$VAR(./disable)" ]] then @@ -9,8 +12,12 @@ end: if ${vyatta_sbindir}/vyatta-gateway-static_route-check.pl \ "$VAR(../@)" "$VAR(@)" then + quagga_conf=`vtysh -c "show running-config" | \ + grep "^ipv6 route $VAR(../@) $VAR(@)"` + ifname=`echo $quagga_conf | awk '{print $5}'` + vtysh -c "configure terminal" \ - -c "no ipv6 route $VAR(../@) $VAR(@)" + -c "no ipv6 route $VAR(../@) $VAR(@) $ifname" fi else if [[ -n "$VAR(./distance/@)" ]] |