Hide Forgot
Created attachment 1650986 [details] Reproduce script Description of problem: Below command does not works as expected: sudo nmcli c modify bond99 bond.options "mode=balance-rr,arp_validate=active" After reactivate the connection, the bond still holding arp_validate=none Version-Release number of selected component (if applicable): NetworkManager-1.22.0-2.el8.x86_64 How reproducible: 100% Steps to Reproduce: 1. ./nm_bug.sh 2. 3. Actual results: Expected results: Additional info:
These options also failed: arp_validate primary lacp_rate active_slave ad_actor_sys_prio ad_actor_system ad_user_port_key num_grat_arp num_unsol_na tlb_dynamic_lb
`arp_validate` is ignored, unless mode is 'active-backup'. See https://gitlab.freedesktop.org/NetworkManager/NetworkManager/blob/904050dd2dc09826e8ae59fd19eae95e8e7adcb7/src/devices/nm-device-bond.c#L213 Do you assert that `arp_validate` option is allowed by kernel with other options? I think it isn't. That leaves ~only~ the problem that the connection profile allows you to configure things that aren't honored. Possibly such settings should have been rejected right away (or at least, "normalized"). Maybe. Rejecting now is not possible, as it might break existing setups. "normalizing" away unused settings would be possible...
Hi Thomas, The https://www.kernel.org/doc/Documentation/networking/bonding.txt never said `arp_validate` need `active-backup` mode. And kernel allows me to do so: ``` [fge@el8 bonding]$ echo 'active'| sudo tee arp_validate active [fge@el8 bonding]$ cat arp_validate active 1 [fge@el8 bonding]$ cat mode balance-rr 0 [fge@el8 bonding]$ uname -a Linux el8 4.18.0-167.el8.x86_64 #1 SMP Sun Dec 15 01:24:23 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ```
> And kernel allows me to do so: I think you are right. Since https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=13ac34a8866e31b31db6237c73aa558aff84d765 Also, seems that arp_validate requires arp_interval set. Both should be fixed.
(In reply to Thomas Haller from comment #4) > > And kernel allows me to do so: > > I think you are right. Since > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/ > ?id=13ac34a8866e31b31db6237c73aa558aff84d765 > > Also, seems that arp_validate requires arp_interval set. > > Both should be fixed. What do you mean `Both` here?
> > Also, seems that arp_validate requires arp_interval set. > > What do you mean `Both` here? The relation to arp_interval.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/418
(In reply to Thomas Haller from comment #6) > > > Also, seems that arp_validate requires arp_interval set. > > > > What do you mean `Both` here? > > The relation to arp_interval. OK, I think there is no bug in this regard. Nothing was done about arp_interval...
fixed upstream. See https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/418#note_414865
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:1847