[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4daaaa7e-7a02-4e4c-be3e-c390d7f6e612@blackwall.org>
Date: Fri, 12 Sep 2025 14:15:06 +0300
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: Pradyumn Rahar <pradyumn.rahar@...cle.com>, linux-kernel@...r.kernel.org,
linux-rdma@...r.kernel.org, jv@...sburgh.net, andrew+netdev@...n.ch,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, netdev@...r.kernel.org
Cc: anand.a.khoje@...cle.com, rama.nichanamatlu@...cle.com,
manjunath.b.patil@...cle.com, rajesh.sivaramasubramaniom@...cle.com
Subject: Re: [PATCH RFC net 1/1] net/bonding: add 0 to the range of
arp_missed_max
On 9/12/25 12:16, Pradyumn Rahar wrote:
> NetworkManager uses 0 to indicate that the option `arp_missed_max`
> is in unset state as this option is not compatible with 802.3AD,
> balance-tlb and balance-alb modes.
>
> This causes kernel to report errors like this:
>
> kernel: backend0: option arp_missed_max: invalid value (0)
> kernel: backend0: option arp_missed_max: allowed values 1 - 255
> NetworkManager[1766]: <error> [1757489103.9525] platform-linux: sysctl: failed to set 'bonding/arp_missed_max' to '0': (22) Invalid argument
> NetworkManager[1766]: <warn> [1757489103.9525] device (backend0): failed to set bonding attribute 'arp_missed_max' to '0'
>
> when NetworkManager tries to set this value to 0
>
> Signed-off-by: Pradyumn Rahar <pradyumn.rahar@...cle.com>
> ---
> drivers/net/bonding/bond_options.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c
> index 3b6f815c55ff..243fde3caecd 100644
> --- a/drivers/net/bonding/bond_options.c
> +++ b/drivers/net/bonding/bond_options.c
> @@ -230,7 +230,7 @@ static const struct bond_opt_value bond_ad_user_port_key_tbl[] = {
> };
>
> static const struct bond_opt_value bond_missed_max_tbl[] = {
> - { "minval", 1, BOND_VALFLAG_MIN},
> + { "minval", 0, BOND_VALFLAG_MIN},
> { "maxval", 255, BOND_VALFLAG_MAX},
> { "default", 2, BOND_VALFLAG_DEFAULT},
> { NULL, -1, 0},
This sounds like a problem in NetworkManager, why not fix it?
The kernel code is correct and there are many other options which don't make sense in these
modes, we're not going to add new states to them just to accommodate broken user-space code.
The option's definition clearly states:
.unsuppmodes = BIT(BOND_MODE_8023AD) | BIT(BOND_MODE_TLB) |
BIT(BOND_MODE_ALB)
Cheers,
Nik
Powered by blists - more mailing lists