RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1810506 - NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED on bond slave when switch bond mode
Summary: NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED on bond slave when swit...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: NetworkManager
Version: 8.2
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: 8.2
Assignee: Beniamino Galvani
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: nmstate-nm 1809330
TreeView+ depends on / blocked
 
Reported: 2020-03-05 12:01 UTC by Gris Ge
Modified: 2020-04-08 07:33 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-09 09:55:27 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
bond_mode_1.yml (134 bytes, text/plain)
2020-03-05 12:03 UTC, Gris Ge
no flags Details
bond_mode_5.yml (132 bytes, text/plain)
2020-03-05 12:04 UTC, Gris Ge
no flags Details
System logs with NM trace enabled (NetworkManager-1.22.9-24733.7a004ef0bb.el8.x86_64) (1.04 MB, text/plain)
2020-03-05 12:05 UTC, Gris Ge
no flags Details

Description Gris Ge 2020-03-05 12:01:53 UTC
Description of problem:

With a two slaves bond in active-backup(1) mode,
switching to balance-tlb(5) will cause activation failure:

NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED

Version-Release number of selected component (if applicable):
NetworkManager-1.22.9-24733.7a004ef0bb.el8.x86_64
NetworkManager-1.22.8-3.el8.x86_64

How reproducible:
100%

Steps to Reproduce:
1. sudo nmstatectl set bond_mode_1.yml
2. sudo nmstatectl set bond_mode_5.yml
3.

Actual results:

Failure

Expected results:

No failure

Additional info:

I tried to do another check after 5 seconds(with main context iterating), the NM.ActiveConnectin is still in NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED.

Comment 1 Gris Ge 2020-03-05 12:03:03 UTC
Created attachment 1667715 [details]
bond_mode_1.yml

Comment 2 Gris Ge 2020-03-05 12:04:15 UTC
Created attachment 1667716 [details]
bond_mode_5.yml

Comment 3 Gris Ge 2020-03-05 12:05:11 UTC
Created attachment 1667717 [details]
System logs with NM trace enabled (NetworkManager-1.22.9-24733.7a004ef0bb.el8.x86_64)

Comment 4 Dominik Holler 2020-03-06 15:34:17 UTC
Please note that this issue is the reason for bug 1810550 on RHV.

Comment 5 Beniamino Galvani 2020-03-06 21:25:32 UTC
In the second invocation nmstate creates two slaves connections with
the same cloned-mac-address. This is not allowed for bonds using modes
ALB or TLB and so the enslavement of the second interface fails with:

 platform-linux: do-change-link[7]: failure changing link: failure 14 (Bad address)

A simple reproducer using iproute2:

 # addr=00:99:88:77:66:55

 # ip link add bond99 type bond mode 5
 # ip link set eth0 addr $addr
 # ip link set eth1 addr $addr

 # ip link set eth0 master bond99
 # ip link set eth1 master bond99
 RTNETLINK answers: Bad address

Kernel complains with:

  bond99: (slave eth1): the slave hw address is in use by the bond; couldn't find a slave with a free hw address to give it (this should not have happened)

Gris, do you know why nmstate is setting duplicate
cloned-mac-addresses on the slaves?

Comment 6 Gris Ge 2020-03-09 09:55:27 UTC
(In reply to Beniamino Galvani from comment #5)
> In the second invocation nmstate creates two slaves connections with
> the same cloned-mac-address. This is not allowed for bonds using modes
> ALB or TLB and so the enslavement of the second interface fails with:
> 
>  platform-linux: do-change-link[7]: failure changing link: failure 14 (Bad
> address)
> 
> A simple reproducer using iproute2:
> 
>  # addr=00:99:88:77:66:55
> 
>  # ip link add bond99 type bond mode 5
>  # ip link set eth0 addr $addr
>  # ip link set eth1 addr $addr
> 
>  # ip link set eth0 master bond99
>  # ip link set eth1 master bond99
>  RTNETLINK answers: Bad address
> 
> Kernel complains with:
> 
>   bond99: (slave eth1): the slave hw address is in use by the bond; couldn't
> find a slave with a free hw address to give it (this should not have
> happened)
> 
> Gris, do you know why nmstate is setting duplicate
> cloned-mac-addresses on the slaves?

Yeah. I found out the root cause also.

nmstate just try to hardcode the mac in profile which is incorrect for this case.


Closing as not a bug of NM.

Comment 7 Thomas Haller 2020-04-08 07:33:36 UTC
Dropping from RPL-8.3, as this is CLOSED.


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