summaryrefslogtreecommitdiff
path: root/templates/protocols/static
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2008-07-28 12:47:47 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2008-07-28 12:47:47 -0700
commite0471ad3e2144d3f99437a624344f2760195d89c (patch)
tree3f4c2b0cc5f761056a9a5bc1a9a99b150df2bb4a /templates/protocols/static
parent55c8a5e54d3a758b2aa64f52ec3a5549ad4d5c7c (diff)
downloadvyatta-cfg-quagga-e0471ad3e2144d3f99437a624344f2760195d89c.tar.gz
vyatta-cfg-quagga-e0471ad3e2144d3f99437a624344f2760195d89c.zip
Add new program to check prefix boundary
Using perl to check prefix boundary, is slow because of the overhead of compiling the same script many times. So convert this simple task to a C program.
Diffstat (limited to 'templates/protocols/static')
-rw-r--r--templates/protocols/static/interface-route/node.def2
-rw-r--r--templates/protocols/static/interface-route6/node.def2
-rw-r--r--templates/protocols/static/route/node.def2
-rw-r--r--templates/protocols/static/route/node.tag/next-hop/node.def28
-rw-r--r--templates/protocols/static/route6/node.def2
5 files changed, 20 insertions, 16 deletions
diff --git a/templates/protocols/static/interface-route/node.def b/templates/protocols/static/interface-route/node.def
index 0e732ea9..5317a93c 100644
--- a/templates/protocols/static/interface-route/node.def
+++ b/templates/protocols/static/interface-route/node.def
@@ -1,4 +1,4 @@
tag:
type: ipv4net
help: Set an interface-based static route
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $VAR(@)"
+syntax:expression: exec "${sbin_dir}/check_prefix_boundary $VAR(@)"
diff --git a/templates/protocols/static/interface-route6/node.def b/templates/protocols/static/interface-route6/node.def
index 04624589..1f2f561a 100644
--- a/templates/protocols/static/interface-route6/node.def
+++ b/templates/protocols/static/interface-route6/node.def
@@ -1,4 +1,4 @@
tag:
type: ipv6net
help: Set an interface-based IPv6 static route
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $VAR(@)"
+syntax:expression: exec "${sbin_dir}/check_prefix_boundary $VAR(@)"
diff --git a/templates/protocols/static/route/node.def b/templates/protocols/static/route/node.def
index 78ead81d..9f5eb0db 100644
--- a/templates/protocols/static/route/node.def
+++ b/templates/protocols/static/route/node.def
@@ -1,4 +1,4 @@
tag:
type: ipv4net
help: Set a static route
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $VAR(@)"
+syntax:expression: exec "${sbin_dir}/check_prefix_boundary $VAR(@)"
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 1bb4b579..f93b1270 100644
--- a/templates/protocols/static/route/node.tag/next-hop/node.def
+++ b/templates/protocols/static/route/node.tag/next-hop/node.def
@@ -1,15 +1,19 @@
tag:
type: ipv4
help: Set the next-hop router
-delete:expression: "touch /tmp/static.$PPID"
-end:expression: "if [ -f \"/tmp/static.$PPID\" ]; then \
- 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 \
- DIST=\"$VAR(./distance/@)\"; \
- fi; \
- ${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" -c \"ip route $VAR(../@) $VAR(@) $DIST \" ; \
- fi; "
+delete: touch /tmp/static.$PPID
+end: if [[ -f /tmp/static.$PPID ]]
+ then
+ if ${vyatta_sbindir}/vyatta-gateway-static_route-check.pl \
+ "$VAR(../@)" "$VAR(@)"
+ then
+ vyatta-vtysh -c "configure terminal" -c "no ip route $VAR(../@) $VAR(@)"
+ fi
+ rm -f /tmp/static.$PPID
+ else
+ if [[ -n "$VAR(./distance/@)" ]]
+ then
+ DIST="$VAR(./distance/@)"
+ fi
+ vyatta-vtysh -c "configure terminal" -c "ip route $VAR(../@) $VAR(@) $DIST" ; \
+ fi
diff --git a/templates/protocols/static/route6/node.def b/templates/protocols/static/route6/node.def
index 7f95d0be..86ca5826 100644
--- a/templates/protocols/static/route6/node.def
+++ b/templates/protocols/static/route6/node.def
@@ -1,4 +1,4 @@
tag:
type: ipv6net
help: Set a static IPv6 route
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $VAR(@)"
+syntax:expression: exec "${sbin_dir}/check_prefix_boundary $VAR(@)"