From eb27e2fffae49b0d8fa636bee611d9ad3c1e0999 Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Thu, 18 Oct 2007 18:49:14 -0700 Subject: Add minimal ospf config. - still need to add validation and rest of functionality. --- templates/protocols/ospf/area/node.def | 4 ++++ templates/protocols/ospf/area/node.tag/network/node.def | 7 +++++++ templates/protocols/ospf/area/node.tag/node.def | 3 +++ templates/protocols/ospf/node.def | 1 + .../protocols/ospf/redistribute/bgp/metric/node.def | 3 +++ templates/protocols/ospf/redistribute/bgp/node.def | 16 ++++++++++++++++ .../protocols/ospf/redistribute/bgp/route-map/node.def | 4 ++++ .../ospf/redistribute/connected/metric/node.def | 6 ++++++ .../protocols/ospf/redistribute/connected/node.def | 16 ++++++++++++++++ .../ospf/redistribute/connected/route-map/node.def | 3 +++ .../protocols/ospf/redistribute/kernel/metric/node.def | 3 +++ templates/protocols/ospf/redistribute/kernel/node.def | 16 ++++++++++++++++ .../ospf/redistribute/kernel/route-map/node.def | 3 +++ templates/protocols/ospf/redistribute/node.def | 1 + .../protocols/ospf/redistribute/rip/metric/node.def | 4 ++++ templates/protocols/ospf/redistribute/rip/node.def | 17 +++++++++++++++++ .../protocols/ospf/redistribute/rip/route-map/node.def | 3 +++ .../protocols/ospf/redistribute/static/metric/node.def | 3 +++ templates/protocols/ospf/redistribute/static/node.def | 16 ++++++++++++++++ .../ospf/redistribute/static/route-map/node.def | 3 +++ templates/protocols/ospf/router-id/node.def | 6 ++++++ 21 files changed, 138 insertions(+) create mode 100644 templates/protocols/ospf/area/node.def create mode 100644 templates/protocols/ospf/area/node.tag/network/node.def create mode 100644 templates/protocols/ospf/area/node.tag/node.def create mode 100644 templates/protocols/ospf/node.def create mode 100644 templates/protocols/ospf/redistribute/bgp/metric/node.def create mode 100644 templates/protocols/ospf/redistribute/bgp/node.def create mode 100644 templates/protocols/ospf/redistribute/bgp/route-map/node.def create mode 100644 templates/protocols/ospf/redistribute/connected/metric/node.def create mode 100644 templates/protocols/ospf/redistribute/connected/node.def create mode 100644 templates/protocols/ospf/redistribute/connected/route-map/node.def create mode 100644 templates/protocols/ospf/redistribute/kernel/metric/node.def create mode 100644 templates/protocols/ospf/redistribute/kernel/node.def create mode 100644 templates/protocols/ospf/redistribute/kernel/route-map/node.def create mode 100644 templates/protocols/ospf/redistribute/node.def create mode 100644 templates/protocols/ospf/redistribute/rip/metric/node.def create mode 100644 templates/protocols/ospf/redistribute/rip/node.def create mode 100644 templates/protocols/ospf/redistribute/rip/route-map/node.def create mode 100644 templates/protocols/ospf/redistribute/static/metric/node.def create mode 100644 templates/protocols/ospf/redistribute/static/node.def create mode 100644 templates/protocols/ospf/redistribute/static/route-map/node.def create mode 100644 templates/protocols/ospf/router-id/node.def (limited to 'templates/protocols/ospf') 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 \" " -- cgit v1.2.3