summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface-definitions/protocols-bfd.xml12
-rwxr-xr-xsrc/conf_mode/protocols_bfd.py8
2 files changed, 20 insertions, 0 deletions
diff --git a/interface-definitions/protocols-bfd.xml b/interface-definitions/protocols-bfd.xml
index ab8c9e233..a731334a0 100644
--- a/interface-definitions/protocols-bfd.xml
+++ b/interface-definitions/protocols-bfd.xml
@@ -50,6 +50,18 @@
</leafNode>
</children>
</node>
+ <leafNode name="multiplier">
+ <properties>
+ <help>Multiplier to determine packet loss</help>
+ <valueHelp>
+ <format>2-255</format>
+ <description>Remote transmission interval will be multiplied by this value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 2-255"/>
+ </constraint>
+ </properties>
+ </leafNode>
<leafNode name="shutdown">
<properties>
<help>Disable this peer</help>
diff --git a/src/conf_mode/protocols_bfd.py b/src/conf_mode/protocols_bfd.py
index 6d2b8382a..96a41de11 100755
--- a/src/conf_mode/protocols_bfd.py
+++ b/src/conf_mode/protocols_bfd.py
@@ -36,6 +36,7 @@ bfd
!
{% for peer in new_peers -%}
peer {{ peer.remote }}{% if peer.multihop %} multihop{% endif %}{% if peer.src_addr %} local-address {{ peer.src_addr }}{% endif %}{% if peer.src_if %} interface {{ peer.src_if }}{% endif %}
+ detect-multiplier {{ peer.multiplier }}
{% if not peer.shutdown %}no {% endif %}shutdown
{% endfor -%}
!
@@ -66,6 +67,7 @@ def get_config():
'shutdown': False,
'src_if': '',
'src_addr': '',
+ 'multiplier': '3',
'multihop': False
}
@@ -81,6 +83,12 @@ def get_config():
if conf.exists('source address'):
bfd_peer['src_addr'] = conf.return_value('source address')
+ # 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.
+ if conf.exists('multiplier'):
+ bfd_peer['multiplier'] = conf.return_value('multiplier')
+
# Tell BFD daemon that we should expect packets with TTL less than 254
# (because it will take more than one hop) and to listen on the multihop
# port (4784)