summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-01-22 17:38:22 +0100
committerChristian Poessinger <christian@poessinger.com>2021-01-23 11:03:03 +0100
commit4ed4d822cfd1d1aad19982783066a5e2431889b4 (patch)
treeff838b1c170d656048d6b4ab5932dbe59024b0b2 /interface-definitions
parent93c0416efc685424a0750fe9cb9728d5e6450073 (diff)
downloadvyos-1x-4ed4d822cfd1d1aad19982783066a5e2431889b4.tar.gz
vyos-1x-4ed4d822cfd1d1aad19982783066a5e2431889b4.zip
ospf: T3236: provide full protocol support in XML and Python
This commit provides the implementation of the OSPF CLI with a Jinja2 template that is loaded by FRR reload. It also contains some initial smoketests. There is yet no verify() implementation!
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/ospf-metric-type.xml.i15
-rw-r--r--interface-definitions/include/ospf-metric.xml.i21
-rw-r--r--interface-definitions/include/ospf-route-map.xml.i10
-rw-r--r--interface-definitions/protocols-ospf.xml.in63
4 files changed, 72 insertions, 37 deletions
diff --git a/interface-definitions/include/ospf-metric-type.xml.i b/interface-definitions/include/ospf-metric-type.xml.i
new file mode 100644
index 000000000..50f11960c
--- /dev/null
+++ b/interface-definitions/include/ospf-metric-type.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from ospf-metric-type.xml.i -->
+<leafNode name="metric-type">
+ <properties>
+ <help>OSPF metric type for default routes (default: 2)</help>
+ <valueHelp>
+ <format>u32:1-2</format>
+ <description>Metric type for default routes</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-2"/>
+ </constraint>
+ </properties>
+ <defaultValue>2</defaultValue>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/ospf-metric.xml.i b/interface-definitions/include/ospf-metric.xml.i
index b2812ba36..3ce12e877 100644
--- a/interface-definitions/include/ospf-metric.xml.i
+++ b/interface-definitions/include/ospf-metric.xml.i
@@ -11,25 +11,4 @@
</constraint>
</properties>
</leafNode>
-<leafNode name="metric-type">
- <properties>
- <help>OSPF metric type for default routes (default: 2)</help>
- <valueHelp>
- <format>u32:1-2</format>
- <description>Metric type for default routes</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-2"/>
- </constraint>
- </properties>
- <defaultValue>2</defaultValue>
-</leafNode>
-<leafNode name="route-map">
- <properties>
- <help>Route map reference</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
-</leafNode>
<!-- included end -->
diff --git a/interface-definitions/include/ospf-route-map.xml.i b/interface-definitions/include/ospf-route-map.xml.i
new file mode 100644
index 000000000..8dc5b37da
--- /dev/null
+++ b/interface-definitions/include/ospf-route-map.xml.i
@@ -0,0 +1,10 @@
+<!-- included start from ospf-route-map.xml.i -->
+<leafNode name="route-map">
+ <properties>
+ <help>Route map reference</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/protocols-ospf.xml.in b/interface-definitions/protocols-ospf.xml.in
index 04ad39732..074d0db63 100644
--- a/interface-definitions/protocols-ospf.xml.in
+++ b/interface-definitions/protocols-ospf.xml.in
@@ -5,13 +5,16 @@
<children>
<node name="ospf" owner="${vyos_conf_scripts_dir}/protocols_ospf.py">
<properties>
- <help>Open Shortest Path First protocol (OSPF) parameters</help>
+ <help>Open Shortest Path First (OSPF)</help>
<priority>620</priority>
</properties>
<children>
<tagNode name="access-list">
<properties>
<help>Access list to filter networks in routing updates</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
<valueHelp>
<format>u32</format>
<description>Access-list number</description>
@@ -195,6 +198,13 @@
<tagNode name="range">
<properties>
<help>Summarize routes matching prefix (border routers only)</help>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>Area range prefix</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-prefix"/>
+ </constraint>
</properties>
<children>
<leafNode name="cost">
@@ -255,6 +265,14 @@
<tagNode name="virtual-link">
<properties>
<help>Virtual link</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>OSPF area in dotted decimal notation</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4294967295"/>
+ <validator name="ip-address"/>
+ </constraint>
</properties>
<children>
<node name="authentication">
@@ -302,7 +320,7 @@
</node>
<leafNode name="dead-interval">
<properties>
- <help>Interval after which a neighbor is declared dead</help>
+ <help>Interval after which a neighbor is declared dead (default: 40)</help>
<valueHelp>
<format>u32:1-65535</format>
<description>Neighbor dead interval (seconds)</description>
@@ -311,10 +329,11 @@
<validator name="numeric" argument="--range 1-65535"/>
</constraint>
</properties>
+ <defaultValue>40</defaultValue>
</leafNode>
<leafNode name="hello-interval">
<properties>
- <help>Interval between hello packets</help>
+ <help>Interval between hello packets (default: 10)</help>
<valueHelp>
<format>u32:1-65535</format>
<description>Hello interval (seconds)</description>
@@ -323,10 +342,11 @@
<validator name="numeric" argument="--range 1-65535"/>
</constraint>
</properties>
+ <defaultValue>10</defaultValue>
</leafNode>
<leafNode name="retransmit-interval">
<properties>
- <help>Interval between retransmitting lost link state advertisements</help>
+ <help>Interval between retransmitting lost link state advertisements (default: 5)</help>
<valueHelp>
<format>u32:1-65535</format>
<description>Retransmit interval (seconds)</description>
@@ -335,10 +355,11 @@
<validator name="numeric" argument="--range 1-65535"/>
</constraint>
</properties>
+ <defaultValue>5</defaultValue>
</leafNode>
<leafNode name="transmit-delay">
<properties>
- <help>Link state transmit delay</help>
+ <help>Link state transmit delay (default: 1)</help>
<valueHelp>
<format>u32:1-65535</format>
<description>Link state transmit delay (seconds)</description>
@@ -347,6 +368,7 @@
<validator name="numeric" argument="--range 1-65535"/>
</constraint>
</properties>
+ <defaultValue>1</defaultValue>
</leafNode>
</children>
</tagNode>
@@ -389,6 +411,8 @@
</properties>
</leafNode>
#include <include/ospf-metric.xml.i>
+ #include <include/ospf-metric-type.xml.i>
+ #include <include/ospf-route-map.xml.i>
</children>
</node>
</children>
@@ -500,11 +524,11 @@
<properties>
<help>Advertise stub-router prior to full shutdown of OSPF</help>
<valueHelp>
- <format>u32:5-86400</format>
+ <format>u32:5-100</format>
<description>Time (seconds) to advertise self as stub-router</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 5-86400"/>
+ <validator name="numeric" argument="--range 5-100"/>
</constraint>
</properties>
</leafNode>
@@ -546,16 +570,20 @@
<validator name="ipv4-address"/>
</constraint>
</properties>
+ <defaultValue>0.0.0.0</defaultValue>
</leafNode>
</children>
</node>
<tagNode name="neighbor">
<properties>
- <help>Neighbor IP address</help>
+ <help>Specify neighbor router</help>
<valueHelp>
<format>ipv4</format>
<description>Neighbor IP address</description>
</valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
</properties>
<children>
<leafNode name="poll-interval">
@@ -693,6 +721,8 @@
</properties>
<children>
#include <include/ospf-metric.xml.i>
+ #include <include/ospf-metric-type.xml.i>
+ #include <include/ospf-route-map.xml.i>
</children>
</node>
<node name="connected">
@@ -701,6 +731,8 @@
</properties>
<children>
#include <include/ospf-metric.xml.i>
+ #include <include/ospf-metric-type.xml.i>
+ #include <include/ospf-route-map.xml.i>
</children>
</node>
<node name="kernel">
@@ -709,6 +741,8 @@
</properties>
<children>
#include <include/ospf-metric.xml.i>
+ #include <include/ospf-metric-type.xml.i>
+ #include <include/ospf-route-map.xml.i>
</children>
</node>
<node name="rip">
@@ -717,6 +751,8 @@
</properties>
<children>
#include <include/ospf-metric.xml.i>
+ #include <include/ospf-metric-type.xml.i>
+ #include <include/ospf-route-map.xml.i>
</children>
</node>
<node name="static">
@@ -725,6 +761,8 @@
</properties>
<children>
#include <include/ospf-metric.xml.i>
+ #include <include/ospf-metric-type.xml.i>
+ #include <include/ospf-route-map.xml.i>
</children>
</node>
</children>
@@ -748,14 +786,7 @@
</leafNode>
</children>
</node>
- <leafNode name="route-map">
- <properties>
- <help>Filter routes installed in local route map</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
+ #include <include/ospf-route-map.xml.i>
<node name="timers">
<properties>
<help>Adjust routing timers</help>