Bug 2168477
Summary: | DHCP transaction started on ovs internal interface before set-cloned MAC address | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 9 | Reporter: | Gris Ge <fge> | ||||
Component: | NetworkManager | Assignee: | Beniamino Galvani <bgalvani> | ||||
Status: | CLOSED ERRATA | QA Contact: | Matej Berezny <mberezny> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 9.0 | CC: | bgalvani, ellorent, lrintel, mberezny, phoracek, rkhan, sfaye, sukulkar, till, vbenes | ||||
Target Milestone: | rc | Keywords: | Triaged | ||||
Target Release: | 9.2 | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | NetworkManager-1.42.2-1.el9 | Doc Type: | No Doc Update | ||||
Doc Text: |
If this bug requires documentation, please select an appropriate Doc Type value.
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2023-05-09 08:17:59 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: | 2165874 | ||||||
Attachments: |
|
Description
Gris Ge
2023-02-09 06:37:34 UTC
Hi Gris, I don't understand why that happens. Can you please provide a trace log that shows the problem? Created attachment 1943092 [details]
NetworkManager trace log
Trace log for NetworkManager-1.43.1-31701.copr.04fb042965.el8.x86_64
For above log, the expected IP address is 192.168.66.102. The problematic one is 192.168.66.117 Thanks, there is a race condition when reactivating a ovs connection with a cloned MAC. It depends on how fast ovs-vswitchd is to update the MAC address, and I couldn't reproduce it with normal ovs. To force a delay, I recompiled ovs with the following patch, and then the problem becomes 100% visible. --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -1827,6 +1827,8 @@ netdev_linux_set_etheraddr(struct netdev *netdev_, const struct eth_addr mac) if (is_tap_netdev(netdev_)) { update_flags(netdev, NETDEV_UP, 0, &old_flags); } + + usleep(200000); error = set_etheraddr(netdev_get_name(netdev_), mac); *** Bug 2165874 has been marked as a duplicate of this bug. *** 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/RHBA-2023:2485 |