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
This commit is contained in:
Monviech 2025-10-31 11:21:40 +01:00 committed by GitHub
parent 466c73a7b3
commit 1b489c0a68
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 55 additions and 1 deletions

View file

@ -31,4 +31,34 @@
<formatter>boolean</formatter>
</grid_view>
</field>
<field>
<id>neighbor.detect_multiplier</id>
<label>Detect multiplier</label>
<type>text</type>
<advanced>true</advanced>
<help>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.</help>
<grid_view>
<visible>false</visible>
</grid_view>
</field>
<field>
<id>neighbor.receive_interval</id>
<label>Receive interval</label>
<type>text</type>
<advanced>true</advanced>
<help>Configures the minimum interval that this system is capable of receiving control packets. The default value is 300 milliseconds.</help>
<grid_view>
<visible>false</visible>
</grid_view>
</field>
<field>
<id>neighbor.transmit_interval</id>
<label>Transmit interval</label>
<type>text</type>
<advanced>true</advanced>
<help>The minimum transmission interval (less jitter) that this system wants to use to send BFD control packets. Defaults to 300ms.</help>
<grid_view>
<visible>false</visible>
</grid_view>
</field>
</form>

View file

@ -1,7 +1,7 @@
<model>
<mount>//OPNsense/quagga/bfd</mount>
<description>BFD configuration</description>
<version>1.0.1</version>
<version>1.0.2</version>
<items>
<enabled type="BooleanField">
<Default>0</Default>
@ -21,6 +21,27 @@
<Default>0</Default>
<Required>Y</Required>
</multihop>
<detect_multiplier type="IntegerField">
<Default>3</Default>
<Required>Y</Required>
<MinimumValue>1</MinimumValue>
<MaximumValue>255</MaximumValue>
<ValidationMessage>Value must be between 1 and 255.</ValidationMessage>
</detect_multiplier>
<receive_interval type="IntegerField">
<Default>300</Default>
<Required>Y</Required>
<MinimumValue>10</MinimumValue>
<MaximumValue>4294967</MaximumValue>
<ValidationMessage>Value must be between 10 and 4294967.</ValidationMessage>
</receive_interval>
<transmit_interval type="IntegerField">
<Default>300</Default>
<Required>Y</Required>
<MinimumValue>10</MinimumValue>
<MaximumValue>4294967</MaximumValue>
<ValidationMessage>Value must be between 10 and 4294967.</ValidationMessage>
</transmit_interval>
</neighbor>
</neighbors>
</items>

View file

@ -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 %}