Bug 2028751
| Summary: | The ipv4.dad-timeout parameter in NetworkManager is invalid for bonding device. | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | xiaoyali |
| Component: | NetworkManager | Assignee: | Fernando F. Mancera <ferferna> |
| Status: | CLOSED ERRATA | QA Contact: | David Jaša <djasa> |
| Severity: | medium | Docs Contact: | |
| Priority: | high | ||
| Version: | 8.5 | CC: | bgalvani, djasa, ferferna, fge, lrintel, rkhan, sukulkar, till, vbenes |
| Target Milestone: | rc | Keywords: | Triaged |
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | NetworkManager-1.36.0-0.8.el8 | Doc Type: | No Doc Update |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2022-05-10 14:54:52 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: | |||
|
Description
xiaoyali
2021-12-03 07:05:41 UTC
Just want to update the Additional info: Additional info: - There is also no warning from NetworkManager in the message log. - As my test, if not using bond, only configure the eno1 on the other RHEL server with the same ip address and ipv4.dad-timeout parameter, NetworkManager will not let the eno1 up if the duplicate address is detected by DAD. - And I also reproduce the same issue in RHEL 7's latest NetworkManager(NetworkManager-1.18.8-2.el7_9.x86_64). The only difference is the NetworkManager in RHEL 7 will print the warn message like below: ~~~ NetworkManager[790]: <warn> [1638336733.5504] device (bond0): IPv4 DAD result: address 192.168.5.1 is duplicate ~~~ - And I can use arping -D to detect the duplicate address which configures on bonding device. ( https://access.redhat.com/solutions/28876 ) Acceptance criteria: The IPv4 and IPv6 DAD(duplicate address detection) should works the same on bond interface. I have verified that the fix works as expected with the following script:
#!/bin/sh
ip netns add ns1
ip link add veth0 type veth peer name veth1
ip link set veth1 netns ns1
ip -n ns1 link set veth1 up
ip -n ns1 addr add dev veth1 172.25.13.1/24
nmcli connection add type bond ifname bond1 con-name bond1+ ip4 172.25.13.1/24 ipv4.dad-timeout 3000 connection.autoconnect no connection.autoconnect-slaves yes
nmcli connection add type ethernet ifname veth0 con-name veth0-port+ master bond1 connection.autoconnect no
nmcli connection up bond1+
sleep 5
if ip addr show dev bond1 | grep -q 172.25.13.1; then
echo "*** Error ***"
exit 1
fi
exit 0
Note that the expectation is that, in case of an address conflict, the bridge/bond/team will remain active but without the conflicting address. ok in 1.36.0-0.8. Verified in virtual environment using just veth pair as testbed to avoid ARP drops by Linux bridge (so my change to assigned in comment 14 looks bogus with my current knowledge of the situation). Automated test: - commit: https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci/-/commit/55ea70222e08db2e7e323e9585bd848588ef3beb - MR: https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci/-/merge_requests/965 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 (NetworkManager bug fix and enhancement update), 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/RHEA-2022:1985 |