From a1138ec885fd0add4b217613e0797052257e078a Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Sun, 3 Sep 2023 19:52:23 +0200 Subject: [PATCH] net/frr - add default-information originate option for OSPFv3. closes https://github.com/opnsense/plugins/issues/3519 --- .../OPNsense/Quagga/forms/ospf6.xml | 21 ++++++++++++++++++ .../mvc/app/models/OPNsense/Quagga/OSPF6.xml | 14 ++++++++++++ .../mvc/app/views/OPNsense/Quagga/ospf6.volt | 22 +++++++++++-------- .../templates/OPNsense/Quagga/ospf6d.conf | 4 ++++ 4 files changed, 52 insertions(+), 9 deletions(-) diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml index 43bfb1b11..598f8eda8 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml @@ -28,4 +28,25 @@ text Router ID as IPv4 Address + + ospf6.originate + + checkbox + This will send the information that we have a default gateway. + + + + ospf6.originatealways + + checkbox + This will send the information that we have a default gateway, regardless of if it is available. + + + + ospf6.originatemetric + + text + This let you manipulate the metric when advertising default gateway. + + diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml index 47da7c5d0..35cfe535d 100644 --- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml +++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml @@ -25,6 +25,20 @@ N /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ + + 0 + Y + + + 0 + Y + + + N + 0 + 16777214 + Must be a number between 0 and 16777214. + diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt index e2a8ed98e..6052ccd59 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt @@ -1,6 +1,6 @@ {# -OPNsense® is Copyright © 2014 – 2017 by Deciso B.V. +OPNsense® is Copyright © 2014 – 2023 by Deciso B.V. This file is Copyright © 2017 by Fabian Franz This file is Copyright © 2017 by Michael Muenz All rights reserved. @@ -64,7 +64,6 @@ POSSIBILITY OF SUCH DAMAGE. - @@ -76,10 +75,6 @@ POSSIBILITY OF SUCH DAMAGE. diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf index 8aabfb7bc..b7e0a52e3 100644 --- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf +++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf @@ -48,6 +48,10 @@ router ospf6 {% if helpers.exists('OPNsense.quagga.ospf6.routerid') and OPNsense.quagga.ospf6.routerid != '' %} ospf6 router-id {{ OPNsense.quagga.ospf6.routerid }} {% endif %} +{% if not helpers.empty('OPNsense.quagga.ospf6.originate') %} + default-information originate{% if not helpers.empty('OPNsense.quagga.ospf6.originatealways') %} always {% endif %}{% if OPNsense.quagga.ospf6.originatemetric|default('') != '' %} metric {{ OPNsense.quagga.ospf6.originatemetric }}{% endif %} + +{% endif %} {% if helpers.exists('OPNsense.quagga.ospf6.redistribute') and OPNsense.quagga.ospf6.redistribute != '' %} {% for line in OPNsense.quagga.ospf6.redistribute.split(',') %} redistribute {{ line }}