Bug 2165029

Summary: No ipv6 link local address for a nmcli created bridge when it has ipv4 address and STP on
Product: Red Hat Enterprise Linux 8 Reporter: Michal Tesar <mtesar>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: CLOSED ERRATA QA Contact: David Jaša <djasa>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.7CC: bgalvani, djasa, ferferna, lrintel, rkhan, sfaye, sukulkar, till, vbenes
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: NetworkManager-1.40.14-1.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-16 09:05:03 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 Michal Tesar 2023-01-27 12:50:19 UTC
Description of problem:

When a bridge is created via nmcli with ipv4.method manual ipv4.addresses A.B.C.D/24 ipv6.method link-local no link local address is present on the bridge.

Version-Release number of selected component (if applicable):

# rpm -q NetworkManager
NetworkManager-1.40.0-5.el8_7.x86_64

# rpm -qa | grep NetworkManager
NetworkManager-1.40.0-5.el8_7.x86_64
NetworkManager-team-1.40.0-5.el8_7.x86_64
NetworkManager-libnm-1.40.0-5.el8_7.x86_64
NetworkManager-initscripts-updown-1.40.0-5.el8_7.noarch
NetworkManager-tui-1.40.0-5.el8_7.x86_64
NetworkManager-config-server-1.40.0-5.el8_7.noarch

# nmcli --version 
nmcli tool, version 1.40.0-5.el8_7

How reproducible:

ipv4.method manual ipv4.addresses A.B.C.D/X ipv6.method link-local works only for normal ethernet connection as well as for vlan on top of it
but does not work for bridges.
 
# nmcli connection add type ethernet con-name ens10 ifname ens10
# nmcli connection modify ens10 ipv4.method manual ipv4.addresses 10.75.99.1/24 ipv6.method link-local
# nmcli connection up ens10
 
# nmcli connection show
NAME   UUID                                  TYPE      DEVICE
ens10  17f38a69-4334-41ca-aedc-9b8b878d1c7f  ethernet  ens10  
 
ens10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:25:80:58 brd ff:ff:ff:ff:ff:ff
    altname enp0s10
    inet 10.75.99.1/24 brd 10.75.99.255 scope global noprefixroute ens10
       valid_lft forever preferred_lft forever
    inet6 fe80::b4af:5fd8:a613:53a8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
 
# nmcli connection add type vlan con-name ens10-vlan ifname ens10.999 id 999 dev ens10
# nmcli connection modify ens10-vlan ipv4.method manual ipv4.addresses 10.75.99.1/24 ipv6.method link-local
# nmcli connection up ens10-vlan
 
# nmcli connection show
NAME        UUID                                  TYPE      DEVICE    
ens10       17f38a69-4334-41ca-aedc-9b8b878d1c7f  ethernet  ens10    
ens10-vlan  f173ee66-3411-4d55-8c3f-393ed9d2929f  vlan      ens10.999
 
ens10.999@ens10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:25:80:58 brd ff:ff:ff:ff:ff:ff
    inet 10.75.99.1/24 brd 10.75.99.255 scope global noprefixroute ens10.999
       valid_lft forever preferred_lft forever
    inet6 fe80::4ea5:8225:621e:abe8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
 
# nmcli connection add type bridge con-name br0 ifname br0
# nmcli connection modify br0 ipv4.method manual ipv4.addresses 10.75.99.1/24 ipv6.method link-local
# nmcli connection up br0
 
# nmcli connection show
NAME        UUID                                  TYPE      DEVICE    
 
ens10       17f38a69-4334-41ca-aedc-9b8b878d1c7f  ethernet  ens10    
ens10-vlan  f173ee66-3411-4d55-8c3f-393ed9d2929f  vlan      ens10.999
br0         0d5a7e95-75c5-4660-8a96-ab95d8a0892f  bridge    br0      
 
br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether be:c0:7e:de:c2:ee brd ff:ff:ff:ff:ff:ff
    inet 10.75.99.1/24 brd 10.75.99.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
 
But ipv4.method disabled -ipv4.addresses 10.75.99.1/24 ipv6.method link-local works.
 
# nmcli connection modify ens10-vlan ipv4.method disabled -ipv4.addresses 10.75.99.1/24 ipv6.method link-loca
# nmcli connection modify ens10-vlan master br0 slave-type bridge
# nmcli connection modify br0 ipv4.method disable -ipv4.addresses 10.75.99.1/24 ipv6.method link-loca
# nmcli connection up ens10-vlan
# nmcli connection up br0
 
# nmcli connection show
NAME        UUID                                  TYPE      DEVICE    
ens10       17f38a69-4334-41ca-aedc-9b8b878d1c7f  ethernet  ens10    
br0         0d5a7e95-75c5-4660-8a96-ab95d8a0892f  bridge    br0      
ens10-vlan  f173ee66-3411-4d55-8c3f-393ed9d2929f  vlan      ens10.999
 
br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:25:80:58 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ee46:f187:87c9:d9a9/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

The so-far-known WA is to disable STP for the bridge when ipv4.method manual is present.

Actual results:

Bridge does not get ipv6 link local address when ipv4 addr is present on the bridge + STP is on

Expected results:

Bridge gets an ipv6 link local address when ipv4 address is present on the ridge + STP is on.

Comment 2 Beniamino Galvani 2023-01-27 13:59:34 UTC
This bug is fixed by the following upstream merge request:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1485

The patch is included NM 1.40.10+.

Comment 10 David Jaša 2023-02-23 19:40:22 UTC
VERIFIED in NetworkManager-1.40.14-1.el8.x86_64: link-local v6 address is added to the connection once it gets carrier.

Covered in NM CI by a new scenario: bridge_v6ll_present_with_stp_and_static_v4

Comment 12 errata-xmlrpc 2023-05-16 09:05:03 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 (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:2968