diff --git a/net/frr/Makefile b/net/frr/Makefile
index 02c92992a..1cad170a0 100644
--- a/net/frr/Makefile
+++ b/net/frr/Makefile
@@ -1,5 +1,5 @@
PLUGIN_NAME= frr
-PLUGIN_VERSION= 1.19
+PLUGIN_VERSION= 1.20
PLUGIN_COMMENT= The FRRouting Protocol Suite
PLUGIN_DEPENDS= frr7 ruby
PLUGIN_MAINTAINER= franz.fabian.94@gmail.com
diff --git a/net/frr/pkg-descr b/net/frr/pkg-descr
index efddc98ae..087fcf136 100644
--- a/net/frr/pkg-descr
+++ b/net/frr/pkg-descr
@@ -11,6 +11,10 @@ switching and routing, Internet access routers, and Internet peering.
Plugin Changelog
================
+1.20
+
+* Allow to adjust reference cost for OSPF calculation
+
1.19
* OSPF influence interface cost via carp
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml
index 0305f5891..ba766ee93 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml
@@ -22,6 +22,13 @@
true
If you have a CARP setup, you may want to configure a router id in case of a conflict.
+
+ ospf.costreference
+
+ text
+ true
+ Here you can adjust the reference cost in Mbps for path calculation. Mostly needed when you bundle interfaces to higher bandwidth.
+
ospf.passiveinterfaces
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 83ade2b6f..56b7ebaf3 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
@@ -16,6 +16,12 @@
N
/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
+
+ N
+ 1
+ 4294967
+ Must be a number between 1 and 4294967.
+
0
Y
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 72c880d87..ff4acea71 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospfd.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospfd.conf
@@ -38,6 +38,9 @@ interface {{ physical_interface(interface.interfacename) }}
{% endif %}
!
router ospf
+{% if helpers.exists('OPNsense.quagga.ospf.costreference') and OPNsense.quagga.ospf.costreference != '' %}
+ auto-cost reference-bandwidth {{ OPNsense.quagga.ospf.costreference }}
+{% endif %}
{% if helpers.exists('OPNsense.quagga.ospf.routerid') and OPNsense.quagga.ospf.routerid != '' %}
ospf router-id {{ OPNsense.quagga.ospf.routerid }}
{% endif %}