Bug 1789437

Summary: Cannot set bond options to ` arp_validate=active`
Product: Red Hat Enterprise Linux 8 Reporter: Gris Ge <fge>
Component: NetworkManagerAssignee: Thomas Haller <thaller>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: atragler, bgalvani, fpokryvk, lrintel, pasik, rkhan, sukulkar, thaller, till, vbenes
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.22.8-2.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:54:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1738136, 1782680    
Attachments:
Description Flags
Reproduce script none

Description Gris Ge 2020-01-09 15:15:28 UTC
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:

Comment 1 Gris Ge 2020-01-09 15:17:16 UTC
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

Comment 2 Thomas Haller 2020-02-13 08:30:47 UTC
`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...

Comment 3 Gris Ge 2020-02-19 08:50:24 UTC
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
```

Comment 4 Thomas Haller 2020-02-19 09:02:37 UTC
> 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.

Comment 5 Gris Ge 2020-02-19 13:05:22 UTC
(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?

Comment 6 Thomas Haller 2020-02-19 14:43:11 UTC
> > Also, seems that arp_validate requires arp_interval set.
>
> What do you mean `Both` here?

The relation to arp_interval.

Comment 8 Thomas Haller 2020-02-19 16:32:33 UTC
(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...

Comment 14 errata-xmlrpc 2020-04-28 16:54:11 UTC
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