diff options
| -rw-r--r-- | interface-definitions/protocols-bfd.xml | 12 | ||||
| -rwxr-xr-x | src/conf_mode/protocols_bfd.py | 8 | 
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)  | 
