summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-02-16 19:14:35 +0100
committerChristian Poessinger <christian@poessinger.com>2021-02-16 19:18:58 +0100
commit0fb5cc02c6c16ef410c1b1f746c1fbfbc40a0da0 (patch)
tree6a52b9ca0dcef95c82f8ee7eef6d0c1b1fdfc4bd
parent7f2b376cb07c2a0407daf2677defddc880ca907f (diff)
downloadvyos-1x-0fb5cc02c6c16ef410c1b1f746c1fbfbc40a0da0.tar.gz
vyos-1x-0fb5cc02c6c16ef410c1b1f746c1fbfbc40a0da0.zip
ospf: T3047: support virtual-link interfaces on "passive-interface-exclude"
This superseeds GitHub pull request #723 by implementing support to add an OSPF virtual-link interface which connects different areas to the "no passive-interface" configuration option when the system uses "passive-interface default". Setting "protocols ospf passive-interface-exclude vlink0" on the VyOS CLI will render the FRR OSPF configuration "no passive-interface VLINK0".
-rw-r--r--data/templates/frr/ospf.frr.tmpl3
-rw-r--r--interface-definitions/protocols-ospf.xml.in7
2 files changed, 9 insertions, 1 deletions
diff --git a/data/templates/frr/ospf.frr.tmpl b/data/templates/frr/ospf.frr.tmpl
index 7ca69eee6..140b6b406 100644
--- a/data/templates/frr/ospf.frr.tmpl
+++ b/data/templates/frr/ospf.frr.tmpl
@@ -159,6 +159,9 @@ router ospf
passive-interface {{ interface }}
{% endfor %}
{% for interface in passive_interface_exclude if passive_interface_exclude is defined %}
+{% if interface.startswith('vlink') %}
+{% set interface = interface.upper() %}
+{% endif %}
no passive-interface {{ interface }}
{% endfor %}
{% if redistribute is defined and redistribute is not none %}
diff --git a/interface-definitions/protocols-ospf.xml.in b/interface-definitions/protocols-ospf.xml.in
index d0cfa14b1..4c480c71d 100644
--- a/interface-definitions/protocols-ospf.xml.in
+++ b/interface-definitions/protocols-ospf.xml.in
@@ -661,10 +661,15 @@
</completionHelp>
<valueHelp>
<format>txt</format>
- <description>Interface to be passive (i.e. suppress routing updates)</description>
+ <description>Interface to exclude when suppressing routing updates</description>
+ </valueHelp>
+ <valueHelp>
+ <format>vlinkN</format>
+ <description>Virtual-link interface to exclude when suppressing routing updates</description>
</valueHelp>
<constraint>
<validator name="interface-name"/>
+ <regex>^(vlink[0-9]+)$</regex>
</constraint>
<multi/>
</properties>