summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--templates/protocols/ospf/area/node.def3
-rw-r--r--templates/protocols/ospf/auto-cost/node.def1
-rw-r--r--templates/protocols/ospf/auto-cost/reference-bandwidth/node.def5
-rw-r--r--templates/protocols/ospf/capability/node.def1
-rw-r--r--templates/protocols/ospf/capability/opaque/node.def3
-rw-r--r--templates/protocols/ospf/compatible/node.def1
-rw-r--r--templates/protocols/ospf/compatible/rfc1583/node.def5
-rw-r--r--templates/protocols/ospf/default-information/node.def1
-rw-r--r--templates/protocols/ospf/default-information/originate/always/node.def1
-rw-r--r--templates/protocols/ospf/default-information/originate/metric-type/node.def4
-rw-r--r--templates/protocols/ospf/default-information/originate/metric/node.def3
-rw-r--r--templates/protocols/ospf/default-information/originate/node.def21
-rw-r--r--templates/protocols/ospf/default-information/originate/route-map/node.def2
-rw-r--r--templates/protocols/ospf/default-metric/node.def7
-rw-r--r--templates/protocols/ospf/distance/global/node.def9
-rw-r--r--templates/protocols/ospf/distance/node.def1
-rw-r--r--templates/protocols/ospf/distance/ospf/external/node.def4
-rw-r--r--templates/protocols/ospf/distance/ospf/inter-area/node.def4
-rw-r--r--templates/protocols/ospf/distance/ospf/intra-area/node.def4
-rw-r--r--templates/protocols/ospf/distance/ospf/node.def19
-rw-r--r--templates/protocols/ospf/distribute-list/node.def4
-rw-r--r--templates/protocols/ospf/distribute-list/node.tag/out/node.def8
-rw-r--r--templates/protocols/ospf/log-adjacency-changes/detail/node.def6
-rw-r--r--templates/protocols/ospf/log-adjacency-changes/node.def5
-rw-r--r--templates/protocols/ospf/max-metric/node.def1
-rw-r--r--templates/protocols/ospf/max-metric/router-lsa/administrative/node.def7
-rw-r--r--templates/protocols/ospf/max-metric/router-lsa/node.def1
-rw-r--r--templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def8
-rw-r--r--templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def9
-rw-r--r--templates/protocols/ospf/mpls-te/enable/node.def5
-rw-r--r--templates/protocols/ospf/mpls-te/node.def1
-rw-r--r--templates/protocols/ospf/mpls-te/router-address/node.def6
-rw-r--r--templates/protocols/ospf/ospf/abr-type/node.def8
-rw-r--r--templates/protocols/ospf/ospf/node.def1
-rw-r--r--templates/protocols/ospf/ospf/opaque-lsa/node.def6
-rw-r--r--templates/protocols/ospf/ospf/rfc1583-compatibility/node.def (renamed from templates/protocols/ospf/rfc1583-compatibility/node.def)0
-rw-r--r--templates/protocols/ospf/ospf/router-id/node.def (renamed from templates/protocols/ospf/router-id/node.def)0
-rw-r--r--templates/protocols/ospf/passive-interface/node.def19
-rw-r--r--templates/protocols/ospf/refresh/node.def1
-rw-r--r--templates/protocols/ospf/refresh/timers/node.def8
-rw-r--r--templates/protocols/ospf/timers/node.def1
-rw-r--r--templates/protocols/ospf/timers/throttle/node.def1
-rw-r--r--templates/protocols/ospf/timers/throttle/spf/delay/node.def4
-rw-r--r--templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def4
-rw-r--r--templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def4
-rw-r--r--templates/protocols/ospf/timers/throttle/spf/node.def10
46 files changed, 225 insertions, 2 deletions
diff --git a/templates/protocols/ospf/area/node.def b/templates/protocols/ospf/area/node.def
index d733005c..339fa9c5 100644
--- a/templates/protocols/ospf/area/node.def
+++ b/templates/protocols/ospf/area/node.def
@@ -1,5 +1,4 @@
tag:
type: txt
+help: "OSPF Area"
syntax: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-ospf-area $(@)"; "Invalid OSFP area \"$(@)\" "
-help: "Area"
-
diff --git a/templates/protocols/ospf/auto-cost/node.def b/templates/protocols/ospf/auto-cost/node.def
new file mode 100644
index 00000000..54a3e80c
--- /dev/null
+++ b/templates/protocols/ospf/auto-cost/node.def
@@ -0,0 +1 @@
+help: "Calculate OSPF interface cost according to bandwidth"
diff --git a/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def b/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def
new file mode 100644
index 00000000..6fc9076f
--- /dev/null
+++ b/templates/protocols/ospf/auto-cost/reference-bandwidth/node.def
@@ -0,0 +1,5 @@
+type: u32
+help: "Use reference bandwidth method to assign OSPF cost in Mbits/sec"
+syntax: $(@) >= 1 && $(@) <= 4294967; "Must be between 1-4294967"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" -c \"auto-cost reference-bandwidth $(@) \"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" -c \"no auto-cost reference-bandwidth \"; "
diff --git a/templates/protocols/ospf/capability/node.def b/templates/protocols/ospf/capability/node.def
new file mode 100644
index 00000000..18402df4
--- /dev/null
+++ b/templates/protocols/ospf/capability/node.def
@@ -0,0 +1 @@
+help: "Enable specific OSPF feature"
diff --git a/templates/protocols/ospf/capability/opaque/node.def b/templates/protocols/ospf/capability/opaque/node.def
new file mode 100644
index 00000000..4746d475
--- /dev/null
+++ b/templates/protocols/ospf/capability/opaque/node.def
@@ -0,0 +1,3 @@
+help: "Opaque LSA"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" -c \"capability opaque\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" -c \"no capability opaque\"; "
diff --git a/templates/protocols/ospf/compatible/node.def b/templates/protocols/ospf/compatible/node.def
new file mode 100644
index 00000000..d398cf75
--- /dev/null
+++ b/templates/protocols/ospf/compatible/node.def
@@ -0,0 +1 @@
+help: "OSPF compatibility list"
diff --git a/templates/protocols/ospf/compatible/rfc1583/node.def b/templates/protocols/ospf/compatible/rfc1583/node.def
new file mode 100644
index 00000000..7654d4b2
--- /dev/null
+++ b/templates/protocols/ospf/compatible/rfc1583/node.def
@@ -0,0 +1,5 @@
+help: "compatible with RFC 1583"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"compatible rfc1583\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no compatible rfc1583\"; "
diff --git a/templates/protocols/ospf/default-information/node.def b/templates/protocols/ospf/default-information/node.def
new file mode 100644
index 00000000..f50bef38
--- /dev/null
+++ b/templates/protocols/ospf/default-information/node.def
@@ -0,0 +1 @@
+help: "Control distribution of default information"
diff --git a/templates/protocols/ospf/default-information/originate/always/node.def b/templates/protocols/ospf/default-information/originate/always/node.def
new file mode 100644
index 00000000..e2a93034
--- /dev/null
+++ b/templates/protocols/ospf/default-information/originate/always/node.def
@@ -0,0 +1 @@
+help: "Always advertise default route"
diff --git a/templates/protocols/ospf/default-information/originate/metric-type/node.def b/templates/protocols/ospf/default-information/originate/metric-type/node.def
new file mode 100644
index 00000000..6e7f91b5
--- /dev/null
+++ b/templates/protocols/ospf/default-information/originate/metric-type/node.def
@@ -0,0 +1,4 @@
+type: txt
+help: "OSPF metric type for default routes"
+default: "2"
+syntax: $(@) in "1", "2"; "Must be either 1 or 2"
diff --git a/templates/protocols/ospf/default-information/originate/metric/node.def b/templates/protocols/ospf/default-information/originate/metric/node.def
new file mode 100644
index 00000000..bef11e38
--- /dev/null
+++ b/templates/protocols/ospf/default-information/originate/metric/node.def
@@ -0,0 +1,3 @@
+type: u32
+help: "OSPF default metric"
+syntax: $(@) >= 0 && $(@) <= 16777214; "must be between 0-16777214"
diff --git a/templates/protocols/ospf/default-information/originate/node.def b/templates/protocols/ospf/default-information/originate/node.def
new file mode 100644
index 00000000..017473c2
--- /dev/null
+++ b/templates/protocols/ospf/default-information/originate/node.def
@@ -0,0 +1,21 @@
+help: "Distribute a default route"
+delete: "touch /tmp/ospf-default-info.\\$PPID"
+end: "if [ -f \"/tmp/ospf-default-info.\\$PPID\" ]; then \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no default-information originate \"; \
+ else \
+ if [ -n \"$(./always/@)\" ]; then \
+ PARM=\"always\"; \
+ fi; \
+ if [ -n \"$(./metric/@)\" ]; then \
+ PARM=\"\\$PARM metric $(./metric/@)\"; \
+ fi; \
+ if [ -n \"$(./metric-type/@)\" ]; then \
+ PARM=\"\\$PARM metric-type $(./metric-type/@)\"; \
+ fi; \
+ if [ -n \"$(./route-map/@)\" ]; then \
+ PARM=\"\\$PARM route-map $(./route-map/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"default-information originate \\$PARM\"; \
+ fi; "
diff --git a/templates/protocols/ospf/default-information/originate/route-map/node.def b/templates/protocols/ospf/default-information/originate/route-map/node.def
new file mode 100644
index 00000000..5b4f587e
--- /dev/null
+++ b/templates/protocols/ospf/default-information/originate/route-map/node.def
@@ -0,0 +1,2 @@
+type: txt
+help: "Route map reference"
diff --git a/templates/protocols/ospf/default-metric/node.def b/templates/protocols/ospf/default-metric/node.def
new file mode 100644
index 00000000..90fba236
--- /dev/null
+++ b/templates/protocols/ospf/default-metric/node.def
@@ -0,0 +1,7 @@
+type: u32
+help: "Set metric of redistributed routes"
+syntax: $(@) >= 0 && $(@) <= 16777214; "Must be between 0-16777214"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"default-metric $(@) \"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no default-metric $(@) \"; "
diff --git a/templates/protocols/ospf/distance/global/node.def b/templates/protocols/ospf/distance/global/node.def
new file mode 100644
index 00000000..6b45a976
--- /dev/null
+++ b/templates/protocols/ospf/distance/global/node.def
@@ -0,0 +1,9 @@
+type: u32
+help: "OSPF administrative distance"
+syntax: $(@) >= 1 && $(@) <= 255; "Must be between 1-255"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"distance $(@) \"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no distance $(@) \"; "
+
+
diff --git a/templates/protocols/ospf/distance/node.def b/templates/protocols/ospf/distance/node.def
new file mode 100644
index 00000000..fdc52f32
--- /dev/null
+++ b/templates/protocols/ospf/distance/node.def
@@ -0,0 +1 @@
+help: "Define an administrative distance"
diff --git a/templates/protocols/ospf/distance/ospf/external/node.def b/templates/protocols/ospf/distance/ospf/external/node.def
new file mode 100644
index 00000000..696e14b7
--- /dev/null
+++ b/templates/protocols/ospf/distance/ospf/external/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Define a distance for external routes"
+syntax: $(@) >= 1 && $(@) <= 255; "Must be between 1-255"
+
diff --git a/templates/protocols/ospf/distance/ospf/inter-area/node.def b/templates/protocols/ospf/distance/ospf/inter-area/node.def
new file mode 100644
index 00000000..1e2fa5ba
--- /dev/null
+++ b/templates/protocols/ospf/distance/ospf/inter-area/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Define a distance for inter-area routes"
+syntax: $(@) >= 1 && $(@) <= 255; "Must be between 1-255"
+
diff --git a/templates/protocols/ospf/distance/ospf/intra-area/node.def b/templates/protocols/ospf/distance/ospf/intra-area/node.def
new file mode 100644
index 00000000..cae2bf0f
--- /dev/null
+++ b/templates/protocols/ospf/distance/ospf/intra-area/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Define a distance for intra-area routes"
+syntax: $(@) >= 1 && $(@) <= 255; "Must be between 1-255"
+
diff --git a/templates/protocols/ospf/distance/ospf/node.def b/templates/protocols/ospf/distance/ospf/node.def
new file mode 100644
index 00000000..cd64dd88
--- /dev/null
+++ b/templates/protocols/ospf/distance/ospf/node.def
@@ -0,0 +1,19 @@
+help: "OSPF administrative distance"
+delete: "touch /tmp/ospf-distance.\\$PPID"
+end: "if [ -f \"/tmp/ospf-distance.\\$PPID\" ]; then \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no distance ospf\"; \
+ rm /tmp/ospf-distance.\\$PPID; \
+ else \
+ if [ -n \"$(./intra-area/@)\" ]; then \
+ PARM=\"intra-area $(./intra-area/@)\"; \
+ fi; \
+ if [ -n \"$(./inter-area/@)\" ]; then \
+ PARM=\"\\$PARM inter-area $(./inter-area/@)\"; \
+ fi; \
+ if [ -n \"$(./external/@)\" ]; then \
+ PARM=\"\\$PARM external $(./external/@)\"; \
+ fi; \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no distance ospf\" -c \"distance ospf \\$PARM\"; \
+ fi; "
diff --git a/templates/protocols/ospf/distribute-list/node.def b/templates/protocols/ospf/distribute-list/node.def
new file mode 100644
index 00000000..bd170cd6
--- /dev/null
+++ b/templates/protocols/ospf/distribute-list/node.def
@@ -0,0 +1,4 @@
+tag:
+type: txt
+commit: $(./out/) != ""; "must add protocol to filter"
+help: "access-list to filter networks in routing updates"
diff --git a/templates/protocols/ospf/distribute-list/node.tag/out/node.def b/templates/protocols/ospf/distribute-list/node.tag/out/node.def
new file mode 100644
index 00000000..ce310b0a
--- /dev/null
+++ b/templates/protocols/ospf/distribute-list/node.tag/out/node.def
@@ -0,0 +1,8 @@
+multi:
+type: txt
+help: "Filter outgoing routing updates"
+syntax: $(@) in "bgp", "connected", "isis", "kernel", "rip", "static"; "Must be (bgp, connected, isis, kernel, rip, or static"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"distribute-list $(../@) out $(@) \"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no distribute-list $(../@) out $(@) \"; "
diff --git a/templates/protocols/ospf/log-adjacency-changes/detail/node.def b/templates/protocols/ospf/log-adjacency-changes/detail/node.def
new file mode 100644
index 00000000..9ec797d7
--- /dev/null
+++ b/templates/protocols/ospf/log-adjacency-changes/detail/node.def
@@ -0,0 +1,6 @@
+help: "Log all state changes"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"log-adjacency-changes detail\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no log-adjacency-changes detail\"; "
+
diff --git a/templates/protocols/ospf/log-adjacency-changes/node.def b/templates/protocols/ospf/log-adjacency-changes/node.def
new file mode 100644
index 00000000..f33fe807
--- /dev/null
+++ b/templates/protocols/ospf/log-adjacency-changes/node.def
@@ -0,0 +1,5 @@
+help: "Log changes in adjacency state"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"log-adjacency-changes\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no log-adjacency-changes\"; "
diff --git a/templates/protocols/ospf/max-metric/node.def b/templates/protocols/ospf/max-metric/node.def
new file mode 100644
index 00000000..1295623c
--- /dev/null
+++ b/templates/protocols/ospf/max-metric/node.def
@@ -0,0 +1 @@
+help: "OSPF maximum / infinite-distance metric"
diff --git a/templates/protocols/ospf/max-metric/router-lsa/administrative/node.def b/templates/protocols/ospf/max-metric/router-lsa/administrative/node.def
new file mode 100644
index 00000000..a209a7a9
--- /dev/null
+++ b/templates/protocols/ospf/max-metric/router-lsa/administrative/node.def
@@ -0,0 +1,7 @@
+help: "Administratively applied, for an indefinite period"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"max-metric router-lsa administrative\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no max-metric router-lsa administrative \"; "
+
+
diff --git a/templates/protocols/ospf/max-metric/router-lsa/node.def b/templates/protocols/ospf/max-metric/router-lsa/node.def
new file mode 100644
index 00000000..61c4d253
--- /dev/null
+++ b/templates/protocols/ospf/max-metric/router-lsa/node.def
@@ -0,0 +1 @@
+help: "Advertise own Router-LSA with infinite distance (stub router)"
diff --git a/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def b/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def
new file mode 100644
index 00000000..8f8343a5
--- /dev/null
+++ b/templates/protocols/ospf/max-metric/router-lsa/on-shutdown/node.def
@@ -0,0 +1,8 @@
+type: u32
+help: "Advertise stub-router prior to full shutdown of OSPF"
+syntax: $(@) >= 5 && $(@) <= 86400; "must be between 5-86400 seconds"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"max-metric router-lsa on-shutdown $(@)\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no max-metric router-lsa on-shutdown \"; "
+#comp_help: Time (seconds) to advertise self as stub-router"
diff --git a/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def b/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def
new file mode 100644
index 00000000..1f7603ec
--- /dev/null
+++ b/templates/protocols/ospf/max-metric/router-lsa/on-startup/node.def
@@ -0,0 +1,9 @@
+type: u32
+help: "Automatically advertise stub Router-LSA on startup of OSPF"
+syntax: $(@) >= 5 && $(@) <= 86400; "must be between 5-86400 seconds"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"max-metric router-lsa on-startup $(@)\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no max-metric router-lsa on-startup \"; "
+#comp_help: Time (seconds) to advertise self as stub-router"
+
diff --git a/templates/protocols/ospf/mpls-te/enable/node.def b/templates/protocols/ospf/mpls-te/enable/node.def
new file mode 100644
index 00000000..f1401956
--- /dev/null
+++ b/templates/protocols/ospf/mpls-te/enable/node.def
@@ -0,0 +1,5 @@
+help: "Enable the MPLS-TE functionality"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"mpls-te on\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no mpls-te\"; "
diff --git a/templates/protocols/ospf/mpls-te/node.def b/templates/protocols/ospf/mpls-te/node.def
new file mode 100644
index 00000000..997d3406
--- /dev/null
+++ b/templates/protocols/ospf/mpls-te/node.def
@@ -0,0 +1 @@
+help: "Configure MPLS-TE parameters"
diff --git a/templates/protocols/ospf/mpls-te/router-address/node.def b/templates/protocols/ospf/mpls-te/router-address/node.def
new file mode 100644
index 00000000..4102dfd1
--- /dev/null
+++ b/templates/protocols/ospf/mpls-te/router-address/node.def
@@ -0,0 +1,6 @@
+type: ipv4
+help: "Stable IP address of the advertising router"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"mpls-te router-address $(@)\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no mpls-te\"; "
diff --git a/templates/protocols/ospf/ospf/abr-type/node.def b/templates/protocols/ospf/ospf/abr-type/node.def
new file mode 100644
index 00000000..d9c5e8a1
--- /dev/null
+++ b/templates/protocols/ospf/ospf/abr-type/node.def
@@ -0,0 +1,8 @@
+type: txt
+help: "Set OSPF ABR type"
+default: "cisco"
+syntax: $(@) in "cisco", "ibm", "shortcut", "standard"; "Must be (cisco, ibm, shortcut, standard)"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"ospf abr-type $(@)\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no ospf abr-type $(@)\"; "
diff --git a/templates/protocols/ospf/ospf/node.def b/templates/protocols/ospf/ospf/node.def
new file mode 100644
index 00000000..95934f6e
--- /dev/null
+++ b/templates/protocols/ospf/ospf/node.def
@@ -0,0 +1 @@
+help: "OSPF specific commands"
diff --git a/templates/protocols/ospf/ospf/opaque-lsa/node.def b/templates/protocols/ospf/ospf/opaque-lsa/node.def
new file mode 100644
index 00000000..5c530050
--- /dev/null
+++ b/templates/protocols/ospf/ospf/opaque-lsa/node.def
@@ -0,0 +1,6 @@
+help: "Enable the Opaque-LSA capability (rfc2370)"
+create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"ospf opaque-lsa \"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no ospf opaque-lsa \"; "
+
diff --git a/templates/protocols/ospf/rfc1583-compatibility/node.def b/templates/protocols/ospf/ospf/rfc1583-compatibility/node.def
index 0eb018e9..0eb018e9 100644
--- a/templates/protocols/ospf/rfc1583-compatibility/node.def
+++ b/templates/protocols/ospf/ospf/rfc1583-compatibility/node.def
diff --git a/templates/protocols/ospf/router-id/node.def b/templates/protocols/ospf/ospf/router-id/node.def
index e37ba0ee..e37ba0ee 100644
--- a/templates/protocols/ospf/router-id/node.def
+++ b/templates/protocols/ospf/ospf/router-id/node.def
diff --git a/templates/protocols/ospf/passive-interface/node.def b/templates/protocols/ospf/passive-interface/node.def
new file mode 100644
index 00000000..e78229ea
--- /dev/null
+++ b/templates/protocols/ospf/passive-interface/node.def
@@ -0,0 +1,19 @@
+multi:
+type: txt
+help: "Suppress routing updates on an interface"
+syntax: exec " \
+ if [ -z \"`ip addr | grep $(@) `\" ] && [ x$(@) != xdefault ]; then \
+ echo ethernet interface $(@) doesn\\'t exist on this system ; \
+ exit 1 ; \
+ fi ; "
+update: "if [ x$(x) == xdefault ]; then \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"passive-interface default\"; \
+ else \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"passive-interface $(@)\"; \
+ fi; "
+#allowed: local -a array;
+# array=( /sys/class/net/{eth,vmnet}* ) ;
+# echo -n ${array[@]##*/}
+
diff --git a/templates/protocols/ospf/refresh/node.def b/templates/protocols/ospf/refresh/node.def
new file mode 100644
index 00000000..0885963f
--- /dev/null
+++ b/templates/protocols/ospf/refresh/node.def
@@ -0,0 +1 @@
+help: "Adjust refresh parameters"
diff --git a/templates/protocols/ospf/refresh/timers/node.def b/templates/protocols/ospf/refresh/timers/node.def
new file mode 100644
index 00000000..dfbb22e5
--- /dev/null
+++ b/templates/protocols/ospf/refresh/timers/node.def
@@ -0,0 +1,8 @@
+type: u32
+help: "Set refresh timer"
+syntax: $(@) >= 10 && $(@) <= 1800; "must be between 10-1800"
+update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no refresh timer\" -c \"refresh timer $(@)\"; "
+delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no refresh timer $(@)\"; "
+#comp_help: <10-1800> Timer value in seconds
diff --git a/templates/protocols/ospf/timers/node.def b/templates/protocols/ospf/timers/node.def
new file mode 100644
index 00000000..d81f1b41
--- /dev/null
+++ b/templates/protocols/ospf/timers/node.def
@@ -0,0 +1 @@
+help: "Adjust routing timers"
diff --git a/templates/protocols/ospf/timers/throttle/node.def b/templates/protocols/ospf/timers/throttle/node.def
new file mode 100644
index 00000000..adac0fcb
--- /dev/null
+++ b/templates/protocols/ospf/timers/throttle/node.def
@@ -0,0 +1 @@
+help: "Throttling adaptive timers"
diff --git a/templates/protocols/ospf/timers/throttle/spf/delay/node.def b/templates/protocols/ospf/timers/throttle/spf/delay/node.def
new file mode 100644
index 00000000..28d24cee
--- /dev/null
+++ b/templates/protocols/ospf/timers/throttle/spf/delay/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Delay (msec) from first change received till SPF calculation"
+default: 200
+syntax: $(@) >= 0 && $(@) <= 600000; "must be between 0-600000"
diff --git a/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def b/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def
new file mode 100644
index 00000000..a52b9b09
--- /dev/null
+++ b/templates/protocols/ospf/timers/throttle/spf/initial-holdtime/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Initial hold time(msec) between consecutive SPF calculations"
+default: 1000
+syntax: $(@) >= 0 && $(@) <= 600000; "must be between 0-600000"
diff --git a/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def b/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def
new file mode 100644
index 00000000..fd5d6332
--- /dev/null
+++ b/templates/protocols/ospf/timers/throttle/spf/max-holdtime/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: "Maximum hold time (msec)"
+default: 10000
+syntax: $(@) >= 0 && $(@) <= 600000; "must be between 0-600000"
diff --git a/templates/protocols/ospf/timers/throttle/spf/node.def b/templates/protocols/ospf/timers/throttle/spf/node.def
new file mode 100644
index 00000000..54e39d0e
--- /dev/null
+++ b/templates/protocols/ospf/timers/throttle/spf/node.def
@@ -0,0 +1,10 @@
+help: "OSPF SPF timers"
+delete: "touch /tmp/ospf-timer.\\$PPID"
+end: "if [ -f \"/tmp/ospf-timer.\\$PPID\" ]; then \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"no timers throttle spf\"; \
+ rm /tmp/ospf-timer.\\$PPID; \
+ else \
+ /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \
+ -c \"timers throttle spf $(delay/@) $(initial-holdtime/@) $(max-holdtime/@)\"; \
+ fi; "