summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStig Thormodsrud <stig@uffda.(none)>2007-10-18 18:49:14 -0700
committerStig Thormodsrud <stig@uffda.(none)>2007-10-18 18:49:14 -0700
commiteb27e2fffae49b0d8fa636bee611d9ad3c1e0999 (patch)
tree9c5ab6ea0511bc9ff98dc0480a583c530a639624
parent70ad82f7cd762ddfd34534197ca1a4c1d7ee5b6c (diff)
downloadvyatta-cfg-quagga-eb27e2fffae49b0d8fa636bee611d9ad3c1e0999.tar.gz
vyatta-cfg-quagga-eb27e2fffae49b0d8fa636bee611d9ad3c1e0999.zip
Add minimal ospf config.
- still need to add validation and rest of functionality.
-rw-r--r--templates/protocols/ospf/area/node.def4
-rw-r--r--templates/protocols/ospf/area/node.tag/network/node.def7
-rw-r--r--templates/protocols/ospf/area/node.tag/node.def3
-rw-r--r--templates/protocols/ospf/node.def1
-rw-r--r--templates/protocols/ospf/redistribute/bgp/metric/node.def3
-rw-r--r--templates/protocols/ospf/redistribute/bgp/node.def16
-rw-r--r--templates/protocols/ospf/redistribute/bgp/route-map/node.def4
-rw-r--r--templates/protocols/ospf/redistribute/connected/metric/node.def6
-rw-r--r--templates/protocols/ospf/redistribute/connected/node.def16
-rw-r--r--templates/protocols/ospf/redistribute/connected/route-map/node.def3
-rw-r--r--templates/protocols/ospf/redistribute/kernel/metric/node.def3
-rw-r--r--templates/protocols/ospf/redistribute/kernel/node.def16
-rw-r--r--templates/protocols/ospf/redistribute/kernel/route-map/node.def3
-rw-r--r--templates/protocols/ospf/redistribute/node.def1
-rw-r--r--templates/protocols/ospf/redistribute/rip/metric/node.def4
-rw-r--r--templates/protocols/ospf/redistribute/rip/node.def17
-rw-r--r--templates/protocols/ospf/redistribute/rip/route-map/node.def3
-rw-r--r--templates/protocols/ospf/redistribute/static/metric/node.def3
-rw-r--r--templates/protocols/ospf/redistribute/static/node.def16
-rw-r--r--templates/protocols/ospf/redistribute/static/route-map/node.def3
-rw-r--r--templates/protocols/ospf/router-id/node.def6
21 files changed, 138 insertions, 0 deletions
diff --git a/templates/protocols/ospf/area/node.def b/templates/protocols/ospf/area/node.def
new file mode 100644
index 00000000..d06ef605
--- /dev/null
+++ b/templates/protocols/ospf/area/node.def
@@ -0,0 +1,4 @@
+tag:
+type: txt
+help: "Area"
+
diff --git a/templates/protocols/ospf/area/node.tag/network/node.def b/templates/protocols/ospf/area/node.tag/network/node.def
new file mode 100644
index 00000000..b6480f54
--- /dev/null
+++ b/templates/protocols/ospf/area/node.tag/network/node.def
@@ -0,0 +1,7 @@
+type: ipv4net
+help: "OSPF network"
+syntax: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $(@)"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"network $(@) area $(../@)\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no network $(@) area $(../@)\"; "
diff --git a/templates/protocols/ospf/area/node.tag/node.def b/templates/protocols/ospf/area/node.tag/node.def
new file mode 100644
index 00000000..391ddf6b
--- /dev/null
+++ b/templates/protocols/ospf/area/node.tag/node.def
@@ -0,0 +1,3 @@
+help: "IPv4 network"
+
+
diff --git a/templates/protocols/ospf/node.def b/templates/protocols/ospf/node.def
new file mode 100644
index 00000000..8a8e4f23
--- /dev/null
+++ b/templates/protocols/ospf/node.def
@@ -0,0 +1 @@
+help: "Configure OSPF for IPv4"
diff --git a/templates/protocols/ospf/redistribute/bgp/metric/node.def b/templates/protocols/ospf/redistribute/bgp/metric/node.def
new file mode 100644
index 00000000..270a810e
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/bgp/metric/node.def
@@ -0,0 +1,3 @@
+type: u32
+help: "Metric for redistributed routes"
+syntax: $(@) >= 1 && $(@) <= 16; "metric must be between 1 and 16"
diff --git a/templates/protocols/ospf/redistribute/bgp/node.def b/templates/protocols/ospf/redistribute/bgp/node.def
new file mode 100644
index 00000000..a4856c55
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/bgp/node.def
@@ -0,0 +1,16 @@
+help: "Redistribute BGP routes"
+delete: "touch /tmp/ospf-redist-bgp.\\$PPID"
+end: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no redistribute bgp \"; \
+ if [ -f \"/tmp/ospf-redist-bgp.\\$PPID\" ]; then \
+ rm -rf /tmp/ospf-redist-bgp.\\$PPID; \
+ else \
+ if [ -n \"$(./metric/@)\" ]; then \
+ COND=\"metric $(./metric/@)\";
+ fi; \
+ if [ -n \"$(./route-map/@)\" ]; then \
+ COND=\"\\$COND route-map $(./route-map/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"redistribute bgp \\$COND\"; \
+ fi; "
diff --git a/templates/protocols/ospf/redistribute/bgp/route-map/node.def b/templates/protocols/ospf/redistribute/bgp/route-map/node.def
new file mode 100644
index 00000000..f6e81288
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/bgp/route-map/node.def
@@ -0,0 +1,4 @@
+type: txt
+help: "Route map reference"
+commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $(@)\" ";"route-map $(@) doesn't exist"
+
diff --git a/templates/protocols/ospf/redistribute/connected/metric/node.def b/templates/protocols/ospf/redistribute/connected/metric/node.def
new file mode 100644
index 00000000..d7ca3c34
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/connected/metric/node.def
@@ -0,0 +1,6 @@
+type: u32
+help: "Metric for redistributed routes"
+syntax: $(@) >= 1 && $(@) <= 16; "metric must be between 1 and 16"
+
+
+
diff --git a/templates/protocols/ospf/redistribute/connected/node.def b/templates/protocols/ospf/redistribute/connected/node.def
new file mode 100644
index 00000000..464bd1c8
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/connected/node.def
@@ -0,0 +1,16 @@
+help: "Redistribute connected routes"
+delete: "touch /tmp/ospf-redist-connected.\\$PPID"
+end: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no redistribute connected \"; \
+ if [ -f \"/tmp/ospf-redist-connected.\\$PPID\" ]; then \
+ rm -rf /tmp/ospf-redist-connected.\\$PPID; \
+ else \
+ if [ -n \"$(./metric/@)\" ]; then \
+ COND=\"metric $(./metric/@)\";
+ fi; \
+ if [ -n \"$(./route-map/@)\" ]; then \
+ COND=\"\\$COND route-map $(./route-map/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"redistribute connected \\$COND\"; \
+ fi; "
diff --git a/templates/protocols/ospf/redistribute/connected/route-map/node.def b/templates/protocols/ospf/redistribute/connected/route-map/node.def
new file mode 100644
index 00000000..5ce5f0ab
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/connected/route-map/node.def
@@ -0,0 +1,3 @@
+type: txt
+help: "Route map reference"
+commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $(@)\" ";"route-map $(@) doesn't exist"
diff --git a/templates/protocols/ospf/redistribute/kernel/metric/node.def b/templates/protocols/ospf/redistribute/kernel/metric/node.def
new file mode 100644
index 00000000..270a810e
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/kernel/metric/node.def
@@ -0,0 +1,3 @@
+type: u32
+help: "Metric for redistributed routes"
+syntax: $(@) >= 1 && $(@) <= 16; "metric must be between 1 and 16"
diff --git a/templates/protocols/ospf/redistribute/kernel/node.def b/templates/protocols/ospf/redistribute/kernel/node.def
new file mode 100644
index 00000000..e1f07f49
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/kernel/node.def
@@ -0,0 +1,16 @@
+help: "Redistribute kernel routes"
+delete: "touch /tmp/ospf-redist-kernel.\\$PPID"
+end: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no redistribute kernel \"; \
+ if [ -f \"/tmp/ospf-redist-kernel.\\$PPID\" ]; then \
+ rm -rf /tmp/ospf-redist-kernel.\\$PPID; \
+ else \
+ if [ -n \"$(./metric/@)\" ]; then \
+ COND=\"metric $(./metric/@)\";
+ fi; \
+ if [ -n \"$(./route-map/@)\" ]; then \
+ COND=\"\\$COND route-map $(./route-map/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"redistribute kernel \\$COND\"; \
+ fi; "
diff --git a/templates/protocols/ospf/redistribute/kernel/route-map/node.def b/templates/protocols/ospf/redistribute/kernel/route-map/node.def
new file mode 100644
index 00000000..5ce5f0ab
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/kernel/route-map/node.def
@@ -0,0 +1,3 @@
+type: txt
+help: "Route map reference"
+commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $(@)\" ";"route-map $(@) doesn't exist"
diff --git a/templates/protocols/ospf/redistribute/node.def b/templates/protocols/ospf/redistribute/node.def
new file mode 100644
index 00000000..e46c9122
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/node.def
@@ -0,0 +1 @@
+help: "Redistribute information from another routing protocol"
diff --git a/templates/protocols/ospf/redistribute/rip/metric/node.def b/templates/protocols/ospf/redistribute/rip/metric/node.def
new file mode 100644
index 00000000..01a2dda7
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/rip/metric/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Metric for redistributed routes"
+syntax: $(@) >= 1 && $(@) <= 16; "metric must be between 1 and 16"
+
diff --git a/templates/protocols/ospf/redistribute/rip/node.def b/templates/protocols/ospf/redistribute/rip/node.def
new file mode 100644
index 00000000..8db5ad72
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/rip/node.def
@@ -0,0 +1,17 @@
+help: "Redistribute RIP routes"
+delete: "touch /tmp/ospf-redist-rip.\\$PPID"
+end: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no redistribute rip \"; \
+ if [ -f \"/tmp/ospf-redist-rip.\\$PPID\" ]; then \
+ rm -rf /tmp/ospf-redist-rip.\\$PPID; \
+ else \
+ if [ -n \"$(./metric/@)\" ]; then \
+ COND=\"metric $(./metric/@)\";
+ fi; \
+ if [ -n \"$(./route-map/@)\" ]; then \
+ COND=\"\\$COND route-map $(./route-map/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"redistribute rip \\$COND\"; \
+ fi; "
+
diff --git a/templates/protocols/ospf/redistribute/rip/route-map/node.def b/templates/protocols/ospf/redistribute/rip/route-map/node.def
new file mode 100644
index 00000000..5ce5f0ab
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/rip/route-map/node.def
@@ -0,0 +1,3 @@
+type: txt
+help: "Route map reference"
+commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $(@)\" ";"route-map $(@) doesn't exist"
diff --git a/templates/protocols/ospf/redistribute/static/metric/node.def b/templates/protocols/ospf/redistribute/static/metric/node.def
new file mode 100644
index 00000000..270a810e
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/static/metric/node.def
@@ -0,0 +1,3 @@
+type: u32
+help: "Metric for redistributed routes"
+syntax: $(@) >= 1 && $(@) <= 16; "metric must be between 1 and 16"
diff --git a/templates/protocols/ospf/redistribute/static/node.def b/templates/protocols/ospf/redistribute/static/node.def
new file mode 100644
index 00000000..32c7bf83
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/static/node.def
@@ -0,0 +1,16 @@
+help: "Redistribute static routes"
+delete: "touch /tmp/ospf-redist-static.\\$PPID"
+end: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no redistribute static \"; \
+ if [ -f \"/tmp/ospf-redist-static.\\$PPID\" ]; then \
+ rm -rf /tmp/ospf-redist-static.\\$PPID; \
+ else \
+ if [ -n \"$(./metric/@)\" ]; then \
+ COND=\"metric $(./metric/@)\";
+ fi; \
+ if [ -n \"$(./route-map/@)\" ]; then \
+ COND=\"\\$COND route-map $(./route-map/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"redistribute static \\$COND\"; \
+ fi; "
diff --git a/templates/protocols/ospf/redistribute/static/route-map/node.def b/templates/protocols/ospf/redistribute/static/route-map/node.def
new file mode 100644
index 00000000..5ce5f0ab
--- /dev/null
+++ b/templates/protocols/ospf/redistribute/static/route-map/node.def
@@ -0,0 +1,3 @@
+type: txt
+help: "Route map reference"
+commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $(@)\" ";"route-map $(@) doesn't exist"
diff --git a/templates/protocols/ospf/router-id/node.def b/templates/protocols/ospf/router-id/node.def
new file mode 100644
index 00000000..b5072ccd
--- /dev/null
+++ b/templates/protocols/ospf/router-id/node.def
@@ -0,0 +1,6 @@
+type: ipv4; "router-id must be a IPv4 address"
+help: "Override the default router identifier"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"ospf router-id $(@)\" "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no ospf router-id \" "