summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2010-03-17 11:35:32 -0700
committerBob Gilligan <gilligan@vyatta.com>2010-03-17 11:35:32 -0700
commit2c4fd5c7b6c1b29d832689035fc4cca43a9bbe97 (patch)
tree611dd93cc7e2782d6863b20c92885af855fe6228
parent1059a7e48279f5334a7554dfd84ffe2415599af7 (diff)
downloadvyatta-cfg-quagga-2c4fd5c7b6c1b29d832689035fc4cca43a9bbe97.tar.gz
vyatta-cfg-quagga-2c4fd5c7b6c1b29d832689035fc4cca43a9bbe97.zip
Bugfix 5458: Include interface name, if present, when deleting IPv6 routes.
When deleting an IPv6 static route from Quagga, we have to specify the route precisely the same way it was originally configured. If the route includes an outgoing interface, it must be specified. If the route does not include an outgoing interface, one must not be specified.
-rw-r--r--templates/protocols/static/route6/node.tag/next-hop/node.def9
1 files changed, 8 insertions, 1 deletions
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 3f90e757..4ed9d60f 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=`vyatta-vtysh -c "show running-config" | \
+ grep "^ipv6 route $VAR(../@) $VAR(@)"`
+ ifname=`echo $quagga_conf | awk '{print $5}'`
+
vyatta-vtysh -c "configure terminal" \
- -c "no ipv6 route $VAR(../@) $VAR(@)"
+ -c "no ipv6 route $VAR(../@) $VAR(@) $ifname"
fi
else
if [[ -n "$VAR(./distance/@)" ]]