diff options
Diffstat (limited to 'templates')
-rw-r--r-- | templates/protocols/static/route/node.tag/next-hop/node.def | 4 | ||||
-rw-r--r-- | templates/system/gateway-address/node.def | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/templates/protocols/static/route/node.tag/next-hop/node.def b/templates/protocols/static/route/node.tag/next-hop/node.def index cfd4b923..1bb4b579 100644 --- a/templates/protocols/static/route/node.tag/next-hop/node.def +++ b/templates/protocols/static/route/node.tag/next-hop/node.def @@ -3,7 +3,9 @@ type: ipv4 help: Set the next-hop router delete:expression: "touch /tmp/static.$PPID" end:expression: "if [ -f \"/tmp/static.$PPID\" ]; then \ - ${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" -c \"no ip route $VAR(../@) $VAR(@)\" ; \ + if ${vyatta_sbindir}/vyatta-gateway-static_route-check.pl \"$VAR(../@)\" \"$VAR(@)\"; then \ + ${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" -c \"no ip route $VAR(../@) $VAR(@)\" ; \ + fi; rm /tmp/static.$PPID; \ else \ if [ -n \"$VAR(./distance/@)\" ]; then \ diff --git a/templates/system/gateway-address/node.def b/templates/system/gateway-address/node.def index 6a77c0a5..87416e8c 100644 --- a/templates/system/gateway-address/node.def +++ b/templates/system/gateway-address/node.def @@ -4,5 +4,6 @@ create:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" update:expression: "oldgw=`/opt/vyatta/sbin/vyatta-cli-expand-var.pl '$(/system/gateway-address/@)' ` && \ ${vyatta_sbindir}/vyatta-vtysh.pl -noerr -c \"configure terminal\" -c \"no ip route 0.0.0.0/0 $oldgw \" && \ ${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" -c \"ip route 0.0.0.0/0 $VAR(@)\" " -delete:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" -c \"no ip route 0.0.0.0/0 $VAR(@)\" " +delete:expression: "if ${vyatta_sbindir}/vyatta-gateway-static_route-check.pl \"$VAR(@)\"; then \ + ${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" -c \"no ip route 0.0.0.0/0 $VAR(@)\"; fi" |