summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2010-03-17 10:53:25 -0700
committerBob Gilligan <gilligan@vyatta.com>2010-03-17 10:53:25 -0700
commitbe4c5b90796a8c700d4b4f4133302e776374d5a5 (patch)
treea44f70eb1d847e4b997aced8c1fe9d444a1e219c
parent0e00599791bab7907aff3178b8fdcd72ff4dbc5b (diff)
downloadvyatta-cfg-quagga-be4c5b90796a8c700d4b4f4133302e776374d5a5.tar.gz
vyatta-cfg-quagga-be4c5b90796a8c700d4b4f4133302e776374d5a5.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 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/@)" ]]