diff --git a/Makefile b/Makefile
index 2ba640d5b0..aea8c12e31 100644
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@ interface_definitions: $(config_xml_obj)
rm -f $(TMPL_DIR)/vpn/node.def
rm -f $(TMPL_DIR)/vpn/ipsec/node.def
rm -rf $(TMPL_DIR)/vpn/nipsec
- rm -rf $(TMPL_DIR)/vpn/nospf
+ rm -rf $(TMPL_DIR)/protocols/nospf
# XXX: required until OSPF and RIP is migrated from vyatta-cfg-quagga to vyos-1x
mkdir $(TMPL_DIR)/interfaces/loopback/node.tag/ipv6
diff --git a/interface-definitions/include/ospf-metric.xml.i b/interface-definitions/include/ospf-metric.xml.i
new file mode 100644
index 0000000000..771fda02d0
--- /dev/null
+++ b/interface-definitions/include/ospf-metric.xml.i
@@ -0,0 +1,33 @@
+
+
+
+ OSPF default metric
+
+ u32:0-16777214
+ Default metric
+
+
+
+
+
+
+
+
+ OSPF metric type for default routes
+
+ u32:1-2
+ Metric type for default routes (default 2)
+
+
+
+
+
+
+
+
+ Route map reference
+
+ policy route-map
+
+
+
diff --git a/interface-definitions/protocols-ospf.xml b/interface-definitions/protocols-ospf.xml
deleted file mode 100644
index 13652ad8dd..0000000000
--- a/interface-definitions/protocols-ospf.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
- Open Shortest Path First (OSPF)
- 620
-
-
-
-
- Access list to filter networks in routing updates
-
- u32
- Access-list number
-
-
-
-
-
-
-
-
- Filter for outgoing routing update [REQUIRED]
-
- bgp connected kernel rip static
-
-
- bgp
- Filter BGP routes
-
-
- connected
- Filter connected routes
-
-
- kernel
- Filter Kernel routes
-
-
- rip
- Filter RIP routes
-
-
- static
- Filter static routes
-
-
- ^(bgp|connected|kernel|rip|static)$
-
- Must be bgp, connected, kernel, rip, or static
-
-
-
-
-
-
-
- OSPF Area
-
- u32
- OSPF area in decimal notation
-
-
- ipv4
- OSPF area in dotted decimal notation
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/interface-definitions/protocols-ospf.xml.in b/interface-definitions/protocols-ospf.xml.in
new file mode 100644
index 0000000000..4d5b84be0c
--- /dev/null
+++ b/interface-definitions/protocols-ospf.xml.in
@@ -0,0 +1,840 @@
+
+
+
+
+
+
+
+ Open Shortest Path First protocol (OSPF) parameters
+ 620
+
+
+
+
+ Access list to filter networks in routing updates
+
+ u32
+ Access-list number
+
+
+
+
+
+
+
+
+ Filter for outgoing routing update [REQUIRED]
+
+ bgp connected kernel rip static
+
+
+ bgp
+ Filter BGP routes
+
+
+ connected
+ Filter connected routes
+
+
+ kernel
+ Filter Kernel routes
+
+
+ rip
+ Filter RIP routes
+
+
+ static
+ Filter static routes
+
+
+ ^(bgp|connected|kernel|rip|static)$
+
+ Must be bgp, connected, kernel, rip, or static
+
+
+
+
+
+
+
+ OSPF Area
+
+ u32
+ OSPF area in decimal notation
+
+
+ ipv4
+ OSPF area in dotted decimal notation
+
+
+
+
+
+
+
+
+
+ Area type
+
+
+
+
+ Normal OSPF area
+
+
+
+
+
+ Nssa OSPF area
+
+
+
+
+ Summary-default cost of nssa area
+
+ u32:0-16777215
+ Summary default cost
+
+
+
+
+
+
+
+
+ Do not inject inter-area routes into stub
+
+
+
+
+
+ Nssa-abr
+
+ always candidate never
+
+
+ always
+ NSSA-ABR to always translate
+
+
+ candidate
+ NSSA-ABR for translate election (default)
+
+
+ never
+ NSSA-ABR to never translate
+
+
+ ^(always|candidate|never)$
+
+
+
+
+
+
+
+ Stub OSPF area
+
+
+
+
+ Summary-default cost of nssa area
+
+ u32:0-16777215
+ Summary default cost
+
+
+
+
+
+
+
+
+ Do not inject inter-area routes into stub
+
+
+
+
+
+
+
+
+
+ OSPF area authentication type
+
+ plaintext-password md5
+
+
+ plaintext-password
+ Use plain-text authentication
+
+
+ md5
+ Use md5 authentication
+
+
+ ^(plaintext-password|md5)$
+
+
+
+
+
+ OSPF network [REQUIRED]
+
+ ipv4net
+ OSPF network [REQUIRED]
+
+
+
+
+
+
+
+
+
+ Summarize routes matching prefix (border routers only)
+
+
+
+
+ Metric for this range
+
+ u32:0-16777215
+ Metric for this range
+
+
+
+
+
+
+
+
+ Do not advertise this range
+
+
+
+
+
+ Announce area range as another prefix
+
+ ipv4net
+ Announce area range as another prefix
+
+
+
+
+
+
+
+
+
+
+ Area shortcut mode
+
+ default disable enable
+
+
+ default
+ Set default
+
+
+ disable
+ Disable shortcutting mode
+
+
+ enable
+ Enable shortcutting mode
+
+
+ ^(default|disable|enable)$
+
+
+
+
+
+ Virtual link
+
+
+
+
+ Authentication
+
+
+
+
+ MD5 key id
+
+
+
+
+ MD5 key id
+
+ u32:1-255
+ MD5 key id
+
+
+
+
+
+ MD5 authentication type
+
+ txt
+ MD5 Key (16 characters or less)
+
+
+
+
+
+
+
+
+
+ Plain text password
+
+ txt
+ Plain text password (8 characters or less)
+
+
+
+
+
+
+
+ Interval after which a neighbor is declared dead
+
+ u32:1-65535
+ Neighbor dead interval (seconds)
+
+
+
+
+
+
+
+
+ Interval between hello packets
+
+ u32:1-65535
+ Hello interval (seconds)
+
+
+
+
+
+
+
+
+ Interval between retransmitting lost link state advertisements
+
+ u32:1-65535
+ Retransmit interval (seconds)
+
+
+
+
+
+
+
+
+ Link state transmit delay
+
+ u32:1-65535
+ Link state transmit delay (seconds)
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculate OSPF interface cost according to bandwidth
+
+
+
+
+ Reference bandwidth method to assign OSPF cost
+
+ u32:1-4294967
+ Reference bandwidth cost in Mbits/sec (default 100)
+
+
+
+
+
+
+
+
+
+
+ Control distribution of default information
+
+
+
+
+ Distribute a default route
+
+
+
+
+ Always advertise default route
+
+
+
+
+
+ OSPF default metric
+
+ u32:0-16777214
+ Default metric
+
+
+
+
+
+
+
+
+ OSPF metric type for default routes
+
+ u32:1-2
+ Metric type for default routes (default 2)
+
+
+
+
+
+
+
+
+ Route map reference
+
+ policy route-map
+
+
+
+
+
+
+
+
+
+ Metric of redistributed routes
+
+ u32:0-16777214
+ Metric of redistributed routes
+
+
+
+
+
+
+
+
+ Administrative distance
+
+
+
+
+ OSPF administrative distance
+
+ u32:1-255
+ Administrative distance
+
+
+
+
+
+
+
+
+ OSPF administrative distance
+
+
+
+
+ Distance for external routes
+
+ u32:1-255
+ Distance for external routes
+
+
+
+
+
+
+
+
+ Distance for inter-area routes
+
+ u32:1-255
+ Distance for inter-area routes
+
+
+
+
+
+
+
+
+ Distance for intra-area routes
+
+ u32:1-255
+ Distance for intra-area routes
+
+
+
+
+
+
+
+
+
+
+
+
+ Log changes in adjacency state
+
+
+
+
+ Log all state changes
+
+
+
+
+
+
+
+ OSPF maximum and infinite-distance metric
+
+
+
+
+ Advertise own Router-LSA with infinite distance (stub router)
+
+
+
+
+ Administratively apply, for an indefinite period
+
+
+
+
+
+ Advertise stub-router prior to full shutdown of OSPF
+
+ u32:5-86400
+ Time (seconds) to advertise self as stub-router
+
+
+
+
+
+
+
+
+ Automatically advertise stub Router-LSA on startup of OSPF
+
+ u32:5-86400
+ Time (seconds) to advertise self as stub-router
+
+
+
+
+
+
+
+
+
+
+
+
+ MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters
+
+
+
+
+ Enable MPLS-TE functionality
+
+
+
+
+
+ Stable IP address of the advertising router
+
+ ipv4
+ Stable IP address of the advertising router
+
+
+
+
+
+
+
+
+
+
+ Neighbor IP address
+
+ ipv4
+ Neighbor IP address
+
+
+
+
+
+ Dead neighbor polling interval
+
+ u32:1-65535
+ Seconds between dead neighbor polling interval (default 60)
+
+
+
+
+
+
+
+
+ Neighbor priority in seconds
+
+ u32:0-255
+ Neighbor priority (default 0)
+
+
+
+
+
+
+
+
+
+
+ OSPF specific parameters
+
+
+
+
+ OSPF ABR type
+
+ cisco ibm shortcut standard
+
+
+ cisco
+ Cisco ABR type (default)
+
+
+ ibm
+ Ibm ABR type
+
+
+ shortcut
+ Shortcut ABR type
+
+
+ standard
+ Standard ABR type
+
+
+ ^(cisco|ibm|shortcut|standard)$
+
+
+
+
+
+ Enable the Opaque-LSA capability (rfc2370)
+
+
+
+
+
+ Enable rfc1583 criteria for handling AS external routes
+
+
+
+
+
+ Override the default router identifier
+
+ ipv4
+ Override the default router identifier
+
+
+
+
+
+
+
+
+
+
+ Suppress routing updates on an interface
+
+ <interface>
+ Interface to be passive (i.e. suppress routing updates)
+
+
+ default
+ Default to suppress routing updates on all interfaces
+
+
+ default
+
+
+
+
+
+
+
+ Interface to exclude when using 'passive-interface default'
+
+ <interface>
+ Interface to be passive (i.e. suppress routing updates)
+
+
+
+
+
+
+
+
+
+ Redistribute information from another routing protocol
+
+
+
+
+ Redistribute BGP routes
+
+
+ #include
+
+
+
+
+ Redistribute connected routes
+
+
+ #include
+
+
+
+
+ Redistribute kernel routes
+
+
+ #include
+
+
+
+
+ Redistribute rip routes
+
+
+ #include
+
+
+
+
+ Redistribute static routes
+
+
+ #include
+
+
+
+
+
+
+ Adjust refresh parameters
+
+
+
+
+ Refresh timer
+
+ u32:10-1800
+ Timer value in seconds
+
+
+
+
+
+
+
+
+
+
+ Filter routes installed in local route map
+
+ policy route-map
+
+
+
+
+
+ Adjust routing timers
+
+
+
+
+ Throttling adaptive timers
+
+
+
+
+ OSPF SPF timers
+
+
+
+
+ Delay (msec) from first change received till SPF calculation
+
+ u32:0-600000
+ Delay in msec (default 200)
+
+
+
+
+
+
+
+
+ Initial hold time(msec) between consecutive SPF calculations
+
+ u32:0-600000
+ Initial hold time in msec (default 1000)
+
+
+
+
+
+
+
+
+ Maximum hold time (msec)
+
+ u32:0-600000
+ Max hold time in msec (default 10000)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+