Bug 1789437 - Cannot set bond options to ` arp_validate=active`
Summary: Cannot set bond options to ` arp_validate=active`
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: NetworkManager
Version: 8.2
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: 8.2
Assignee: Thomas Haller
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: nmstate-nm 1782680
TreeView+ depends on / blocked
 
Reported: 2020-01-09 15:15 UTC by Gris Ge
Modified: 2020-04-28 16:54 UTC (History)
10 users (show)

Fixed In Version: NetworkManager-1.22.8-2.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-28 16:54:11 UTC
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)
Reproduce script (1.01 KB, application/x-shellscript)
2020-01-09 15:15 UTC, Gris Ge
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:1847 0 None None None 2020-04-28 16:54:38 UTC
freedesktop.org Gitlab NetworkManager/NetworkManager-ci - merge_requests 551 0 None None None 2020-04-08 12:24:57 UTC

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


Note You need to log in before you can comment on or make changes to this bug.