From 1b489c0a68e4c432208a518e5fb5cb59c2096679 Mon Sep 17 00:00:00 2001
From: Monviech <79600909+Monviech@users.noreply.github.com>
Date: Fri, 31 Oct 2025 11:21:40 +0100
Subject: [PATCH] net/frr: Add BFD configuration detect-multiplier,
transmit-interval, receive-interval (#5000)
* net/frr: Add BFD configuration detect-multiplier, transmit-interval, receive-interval
* Hide in advanced mode
---
.../Quagga/forms/dialogEditBFDNeighbor.xml | 30 +++++++++++++++++++
.../mvc/app/models/OPNsense/Quagga/BFD.xml | 23 +++++++++++++-
.../templates/OPNsense/Quagga/bfdd.conf | 3 ++
3 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml
index fbaeabcd7..c9bf3bfb3 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml
@@ -31,4 +31,34 @@
boolean
+
+ neighbor.detect_multiplier
+
+ text
+ true
+ Configures the detection multiplier to determine packet loss. The remote transmission interval will be multiplied by this value to determine the connection loss detection timer. The default value is 3.
+
+ false
+
+
+
+ neighbor.receive_interval
+
+ text
+ true
+ Configures the minimum interval that this system is capable of receiving control packets. The default value is 300 milliseconds.
+
+ false
+
+
+
+ neighbor.transmit_interval
+
+ text
+ true
+ The minimum transmission interval (less jitter) that this system wants to use to send BFD control packets. Defaults to 300ms.
+
+ false
+
+
diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BFD.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BFD.xml
index 4986cc173..962ff08e6 100644
--- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BFD.xml
+++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BFD.xml
@@ -1,7 +1,7 @@
//OPNsense/quagga/bfd
BFD configuration
- 1.0.1
+ 1.0.2
0
@@ -21,6 +21,27 @@
0
Y
+
+ 3
+ Y
+ 1
+ 255
+ Value must be between 1 and 255.
+
+
+ 300
+ Y
+ 10
+ 4294967
+ Value must be between 10 and 4294967.
+
+
+ 300
+ Y
+ 10
+ 4294967
+ Value must be between 10 and 4294967.
+
diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bfdd.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bfdd.conf
index e4e3d832c..58db29a33 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bfdd.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bfdd.conf
@@ -5,6 +5,9 @@ bfd
{% for neighbor in helpers.toList('OPNsense.quagga.bfd.neighbors.neighbor') %}
{% if neighbor.enabled == '1' %}
peer {{ neighbor.address }} {% if neighbor.multihop|default('0') == '1' %}multihop{% endif +%}
+ detect-multiplier {{ neighbor.detect_multiplier }}
+ receive-interval {{ neighbor.receive_interval }}
+ transmit-interval {{ neighbor.transmit_interval }}
{% endif %}
{% endfor %}
{% endif %}