From 6b8d0f9bc114e6d492a43001798f5b3afc83da9a Mon Sep 17 00:00:00 2001
From: twoequaldots <53304400+twoequaldots@users.noreply.github.com>
Date: Mon, 9 Sep 2019 01:09:28 -0400
Subject: [PATCH] Enable Area on a per Interface basis instead of just on
router. (#1457)
---
.../OPNsense/Quagga/forms/dialogEditOSPFInterface.xml | 6 ++++++
.../src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.xml | 5 +++++
.../opnsense/service/templates/OPNsense/Quagga/ospfd.conf | 3 ++-
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml
index 61e4a3320..a325af7cf 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml
@@ -26,6 +26,12 @@
true
text
+
+ interface.area
+
+ text
+ Area in wildcard mask style like 0.0.0.0 and no decimal 0
+
interface.cost
diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.xml
index b15b9f2e4..7f0f690e9 100644
--- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.xml
+++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.xml
@@ -153,6 +153,11 @@
Y
The authentication key ID must be between 1 and 255.
+
+
+ N
+ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
+
0
diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospfd.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospfd.conf
index cc3d76cbb..8b7729c0e 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospfd.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospfd.conf
@@ -29,7 +29,8 @@ interface {{ physical_interface(interface.interfacename) }}
}}{% if interface.authtype and interface.authtype == 'message-digest'
%}{{ cline("message-digest-key " + interface.authkey_id + " md5",interface.authkey)
}}{% endif
-%}{{ cline("cost",interface.cost)
+%}{{ cline("area",interface.area)
+}}{{ cline("cost",interface.cost)
}}{{ cline("dead-interval",interface.deadinterval)
}}{{ cline("hello-interval",interface.hellointerval)
}}{{ cline("priority",interface.priority)