Skip to content

Commit

Permalink
bfdd, doc, yang: change bfd timer and multiplier values
Browse files Browse the repository at this point in the history
The minimum and maximum values for BFD timers and multiplier settings
have been updated to align with RFC 5880 requirements.

Since the values inputted via VTY are in milliseconds, the maximum
permissible value on the VTY interface is 4,294,967 milliseconds.

For the multiplier setting, the minimum value is now restricted to be
greater than zero, as zero is not allowed.

The minimum transmit interval has been set to 10 milliseconds to ensure
reliable service performance.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
  • Loading branch information
pguibert6WIND authored and louis-6wind committed Oct 8, 2024
1 parent 1a923e0 commit 244155a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 22 deletions.
24 changes: 12 additions & 12 deletions bfdd/bfdd_cli.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ void bfd_cli_show_minimum_ttl(struct vty *vty, const struct lyd_node *dnode,

DEFPY_YANG(
bfd_peer_mult, bfd_peer_mult_cmd,
"[no] detect-multiplier ![(2-255)$multiplier]",
"[no] detect-multiplier ![(1-255)$multiplier]",
NO_STR
"Configure peer detection multiplier\n"
"Configure peer detection multiplier value\n")
Expand All @@ -357,7 +357,7 @@ void bfd_cli_show_mult(struct vty *vty, const struct lyd_node *dnode,

DEFPY_YANG(
bfd_peer_rx, bfd_peer_rx_cmd,
"[no] receive-interval ![(10-60000)$interval]",
"[no] receive-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer receive interval\n"
"Configure peer receive interval value in milliseconds\n")
Expand All @@ -381,7 +381,7 @@ void bfd_cli_show_rx(struct vty *vty, const struct lyd_node *dnode,

DEFPY_YANG(
bfd_peer_tx, bfd_peer_tx_cmd,
"[no] transmit-interval ![(10-60000)$interval]",
"[no] transmit-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer transmit interval\n"
"Configure peer transmit interval value in milliseconds\n")
Expand Down Expand Up @@ -439,7 +439,7 @@ void bfd_cli_show_echo(struct vty *vty, const struct lyd_node *dnode,

DEFPY_YANG(
bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
"[no] echo-interval ![(10-60000)$interval]",
"[no] echo-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer echo intervals\n"
"Configure peer echo rx/tx intervals value in milliseconds\n")
Expand All @@ -462,7 +462,7 @@ DEFPY_YANG(

DEFPY_YANG(
bfd_peer_echo_transmit_interval, bfd_peer_echo_transmit_interval_cmd,
"[no] echo transmit-interval ![(10-60000)$interval]",
"[no] echo transmit-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer echo intervals\n"
"Configure desired transmit interval\n"
Expand Down Expand Up @@ -492,7 +492,7 @@ void bfd_cli_show_desired_echo_transmission_interval(

DEFPY_YANG(
bfd_peer_echo_receive_interval, bfd_peer_echo_receive_interval_cmd,
"[no] echo receive-interval ![<disabled$disabled|(10-60000)$interval>]",
"[no] echo receive-interval ![<disabled$disabled|(10-4294967)$interval>]",
NO_STR
"Configure peer echo intervals\n"
"Configure required receive interval\n"
Expand Down Expand Up @@ -577,19 +577,19 @@ void bfd_cli_show_profile(struct vty *vty, const struct lyd_node *dnode,
}

ALIAS_YANG(bfd_peer_mult, bfd_profile_mult_cmd,
"[no] detect-multiplier ![(2-255)$multiplier]",
"[no] detect-multiplier ![(1-255)$multiplier]",
NO_STR
"Configure peer detection multiplier\n"
"Configure peer detection multiplier value\n")

ALIAS_YANG(bfd_peer_tx, bfd_profile_tx_cmd,
"[no] transmit-interval ![(10-60000)$interval]",
"[no] transmit-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer transmit interval\n"
"Configure peer transmit interval value in milliseconds\n")

ALIAS_YANG(bfd_peer_rx, bfd_profile_rx_cmd,
"[no] receive-interval ![(10-60000)$interval]",
"[no] receive-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer receive interval\n"
"Configure peer receive interval value in milliseconds\n")
Expand Down Expand Up @@ -621,22 +621,22 @@ ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd,
"Configure echo mode\n")

ALIAS_YANG(bfd_peer_echo_interval, bfd_profile_echo_interval_cmd,
"[no] echo-interval ![(10-60000)$interval]",
"[no] echo-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer echo interval\n"
"Configure peer echo interval value in milliseconds\n")

ALIAS_YANG(
bfd_peer_echo_transmit_interval, bfd_profile_echo_transmit_interval_cmd,
"[no] echo transmit-interval ![(10-60000)$interval]",
"[no] echo transmit-interval ![(10-4294967)$interval]",
NO_STR
"Configure peer echo intervals\n"
"Configure desired transmit interval\n"
"Configure interval value in milliseconds\n")

ALIAS_YANG(
bfd_peer_echo_receive_interval, bfd_profile_echo_receive_interval_cmd,
"[no] echo receive-interval ![<disabled$disabled|(10-60000)$interval>]",
"[no] echo receive-interval ![<disabled$disabled|(10-4294967)$interval>]",
NO_STR
"Configure peer echo intervals\n"
"Configure required receive interval\n"
Expand Down
10 changes: 5 additions & 5 deletions doc/user/bfd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ Peer / Profile Configuration

BFD peers and profiles share the same BFD session configuration commands.

.. clicmd:: detect-multiplier (2-255)
.. clicmd:: detect-multiplier (1-255)

Configures the detection multiplier to determine packet loss. The
remote transmission interval will be multiplied by this value to
Expand All @@ -151,23 +151,23 @@ BFD peers and profiles share the same BFD session configuration commands.
detect failures only after 900 milliseconds without receiving
packets.

.. clicmd:: receive-interval (10-60000)
.. clicmd:: receive-interval (10-4294967)

Configures the minimum interval that this system is capable of
receiving control packets. The default value is 300 milliseconds.

.. clicmd:: transmit-interval (10-60000)
.. clicmd:: transmit-interval (10-4294967)

The minimum transmission interval (less jitter) that this system
wants to use to send BFD control packets. Defaults to 300ms.

.. clicmd:: echo receive-interval <disabled|(10-60000)>
.. clicmd:: echo receive-interval <disabled|(10-4294967)>

Configures the minimum interval that this system is capable of
receiving echo packets. Disabled means that this system doesn't want
to receive echo packets. The default value is 50 milliseconds.

.. clicmd:: echo transmit-interval (10-60000)
.. clicmd:: echo transmit-interval (10-4294967)

The minimum transmission interval (less jitter) that this system
wants to use to send BFD echo packets. Defaults to 50ms.
Expand Down
10 changes: 5 additions & 5 deletions yang/frr-bfdd.yang
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ module frr-bfdd {
typedef multiplier {
description "Detection multiplier";
type uint8 {
range "2..255";
range "1..255";
}
}

Expand Down Expand Up @@ -169,7 +169,7 @@ module frr-bfdd {

leaf desired-transmission-interval {
type uint32 {
range "10000..60000000";
range "10000..max";
}
units microseconds;
default 300000;
Expand All @@ -178,7 +178,7 @@ module frr-bfdd {

leaf required-receive-interval {
type uint32 {
range "10000..60000000";
range "10000..max";
}
units microseconds;
default 300000;
Expand Down Expand Up @@ -210,7 +210,7 @@ module frr-bfdd {

leaf desired-echo-transmission-interval {
type uint32 {
range "10000..60000000";
range "10000..max";
}
units microseconds;
default 50000;
Expand All @@ -219,7 +219,7 @@ module frr-bfdd {

leaf required-echo-receive-interval {
type uint32 {
range "0 | 10000..60000000";
range "0 | 10000..max";
}
units microseconds;
default 50000;
Expand Down

0 comments on commit 244155a

Please sign in to comment.