summaryrefslogtreecommitdiff
path: root/templates/protocols/rip/network-distance
diff options
context:
space:
mode:
authorStig Thormodsrud <stig@vyatta.com>2007-12-10 18:07:41 -0800
committerStig Thormodsrud <stig@vyatta.com>2007-12-10 18:07:41 -0800
commit6a58c1175a40d3afcb3ca7164852465011cfd544 (patch)
tree67cad89060dcffc699629d3af70f128682656321 /templates/protocols/rip/network-distance
parent8eb36ff99677255cc337c55f2a4ba061d09edf49 (diff)
downloadvyatta-cfg-quagga-6a58c1175a40d3afcb3ca7164852465011cfd544.tar.gz
vyatta-cfg-quagga-6a58c1175a40d3afcb3ca7164852465011cfd544.zip
Redo RIP cli to remove interface/network requirement.
Diffstat (limited to 'templates/protocols/rip/network-distance')
-rw-r--r--templates/protocols/rip/network-distance/node.def18
-rw-r--r--templates/protocols/rip/network-distance/node.tag/access-list/node.def3
-rw-r--r--templates/protocols/rip/network-distance/node.tag/distance/node.def6
-rw-r--r--templates/protocols/rip/network-distance/node.tag/node.def1
4 files changed, 28 insertions, 0 deletions
diff --git a/templates/protocols/rip/network-distance/node.def b/templates/protocols/rip/network-distance/node.def
new file mode 100644
index 00000000..6159b5aa
--- /dev/null
+++ b/templates/protocols/rip/network-distance/node.def
@@ -0,0 +1,18 @@
+tag:
+type: ipv4net
+help: "Source network"
+syntax: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $(@)"
+commit: $(./distance/) != ""; "Must specify distance for network $(@)"
+delete: "touch /tmp/rip-dist.\\$PPID"
+end: "if [ -n \"$(./access-list/@)\" ]; then \
+ ACL=\"$(./access-list/@)\"; \
+ fi; \
+ if [ -f \"/tmp/rip-dist.\\$PPID\" ]; then \
+ dist=\\$(cat /tmp/rip-network-distance.\\$PPID); \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router rip\" \
+ -c \"no distance \\$dist $(@) \\$ACL \" ;
+ rm -f \"/tmp/rip-dist.\\$PPID\";
+ else \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router rip\" \
+ -c \"distance $(./distance/@) $(@) \\$ACL \" ;
+ fi; "
diff --git a/templates/protocols/rip/network-distance/node.tag/access-list/node.def b/templates/protocols/rip/network-distance/node.tag/access-list/node.def
new file mode 100644
index 00000000..ab225ff4
--- /dev/null
+++ b/templates/protocols/rip/network-distance/node.tag/access-list/node.def
@@ -0,0 +1,3 @@
+type: txt
+help: "Access list"
+commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $(@)\" ";"access-list $(@) doesn't exist"
diff --git a/templates/protocols/rip/network-distance/node.tag/distance/node.def b/templates/protocols/rip/network-distance/node.tag/distance/node.def
new file mode 100644
index 00000000..da83eed5
--- /dev/null
+++ b/templates/protocols/rip/network-distance/node.tag/distance/node.def
@@ -0,0 +1,6 @@
+type: u32
+help: "Administrative distance for network"
+syntax: $(@) >= 1 && $(@) <= 255; "must be between 1 and 255"
+delete: "echo $(@) > /tmp/rip-network-distance.\\$PPID"
+#comp_help: Enter a distance valude between 1-255
+
diff --git a/templates/protocols/rip/network-distance/node.tag/node.def b/templates/protocols/rip/network-distance/node.tag/node.def
new file mode 100644
index 00000000..c82cb253
--- /dev/null
+++ b/templates/protocols/rip/network-distance/node.tag/node.def
@@ -0,0 +1 @@
+help: "Set distance for a given network"