diff --git a/net/frr/Makefile b/net/frr/Makefile
index 7aa041dd2..2b73a8a55 100644
--- a/net/frr/Makefile
+++ b/net/frr/Makefile
@@ -1,5 +1,6 @@
PLUGIN_NAME= frr
PLUGIN_VERSION= 1.22
+PLUGIN_REVISION= 1
PLUGIN_COMMENT= The FRRouting Protocol Suite
PLUGIN_DEPENDS= frr7
PLUGIN_MAINTAINER= franz.fabian.94@gmail.com
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml
index 146dff7db..649062d39 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml
@@ -38,6 +38,12 @@
checkbox
+
+ neighbor.bfd
+
+ checkbox
+ You can enable BFD support for this neighbor.
+
neighbor.keepalive
diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml
index e1106e13e..b657eba87 100644
--- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml
+++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml
@@ -74,6 +74,10 @@
0
N
+
+ 0
+ N
+
N
1
diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
index bd2d0e3b3..c78857453 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
@@ -28,7 +28,10 @@ router bgp {{ OPNsense.quagga.bgp.asnumber }}
{% for neighbor in helpers.toList('OPNsense.quagga.bgp.neighbors.neighbor') %}
{% if neighbor.enabled == '1' %}
neighbor {{ neighbor.address }} remote-as {{ neighbor.remoteas }}
-{% if 'updatesource' in neighbor and neighbor.updatesource != '' %}
+{% if 'bfd' in neighbor and neighbor.bfd == '1' %}
+ neighbor {{ neighbor.address }} bfd
+{% endif %}
+ {% if 'updatesource' in neighbor and neighbor.updatesource != '' %}
neighbor {{ neighbor.address }} update-source {{ physical_interface(neighbor.updatesource) }}
{% endif %}
{% if 'multihop' in neighbor and neighbor.multihop == '1' %}