Bug 1575944

Summary: NetworkManager fails to configure IPV6 on network bridge
Product: [Fedora] Fedora Reporter: Norbert Jurkeit <norbert.jurkeit>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 28CC: alexl, bgalvani, dcbw, fgiudici, john.j5live, lkundrak, mclasen, rhughes, rstrode, sandmann, thaller
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1576254 (view as bug list) Environment:
Last Closed: 2019-05-28 20:20:06 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: 1576254    
Attachments:
Description Flags
[PATCH] device: start IP configuration when master carrier goes up none

Description Norbert Jurkeit 2018-05-08 11:08:26 UTC
To allow virtual machines to access the internet, I have created a bridge on my host computer. For use by the host itself, the bridge is set up to have a private IPv4 address (which is converted to an external address via NAT in my home router), a static private IPv6 address for local communication and a dynamic IPv6 address obtained via SLAAC for internet access.

This setup has worked well with Fedora 26 and 27, but with Fedora 28 the bridge device does not get any IPv6 assigned, not even a link-local one:

$ ifconfig bridge0
bridge0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.11  netmask 255.255.255.0  broadcast 192.168.0.255
        ether 00:25:22:06:b2:1c  txqueuelen 1000  (Ethernet)
        RX packets 4118  bytes 3503462 (3.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3613  bytes 448237 (437.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Contents of /etc/sysconfig/network-scripts/ifcfg-bridge0:

STP=no
BRIDGING_OPTS=multicast_snooping=0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.0.11
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6ADDR=fd89:...:11/64 (truncated)
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bridge0
UUID=07f3c47c-0f92-41cc-ba84-34e4c8f02ab8
DEVICE=bridge0
ONBOOT=yes

Static and link-local addresses are assigned correctly with IPV6_AUTOCONF=no, but then of course the dynamic address for internet access is missing.

The issue does not occur on simple Ethernet interfaces without bridge.

Comment 1 Beniamino Galvani 2018-05-09 07:00:52 UTC
Created attachment 1433533 [details]
[PATCH] device: start IP configuration when master carrier goes up

Comment 2 Thomas Haller 2018-05-09 07:28:24 UTC
(In reply to Beniamino Galvani from comment #1)
> Created attachment 1433533 [details]
> [PATCH] device: start IP configuration when master carrier goes up

lgtm

Comment 4 Norbert Jurkeit 2018-05-16 11:03:26 UTC
After upgrading NetworkManager from version 1.10.6 to 1.10.8 IPv6 addresses are assigned correctly to the bridge and output of "route -A inet6" also looks reasonable.

However since the upgrade done yesterday (from updates-testing) it happened several times that IPv6 did not work though, i.e. "ping -6 IPv6-capable-site" hangs forever and indicates 100% packet loss after ^C, while "ping -4 ..." works. It just came to my mind that this might be a firewall problem and indeed after "systemctl stop firewalld" IPv6 immediately started to work and continued to work after "systemctl start firewalld".

Normally I use a custom firewall configuration but the issue also has occured with default settings.

Comment 5 Beniamino Galvani 2018-05-21 07:27:31 UTC
(In reply to Norbert Jurkeit from comment #4)
> After upgrading NetworkManager from version 1.10.6 to 1.10.8 IPv6 addresses
> are assigned correctly to the bridge and output of "route -A inet6" also
> looks reasonable.

Yes, the fix is included in NetworkManager-1.10.8-1.fc28.

> However since the upgrade done yesterday (from updates-testing) it happened
> several times that IPv6 did not work though, i.e. "ping -6
> IPv6-capable-site" hangs forever and indicates 100% packet loss after ^C,
> while "ping -4 ..." works. It just came to my mind that this might be a
> firewall problem and indeed after "systemctl stop firewalld" IPv6
> immediately started to work and continued to work after "systemctl start
> firewalld".

This is probably the same issue of bug 1575431.

Comment 6 Norbert Jurkeit 2018-05-21 09:07:12 UTC
Thanks for the hint! I just changed IPv6_rpfilter to "no" in /etc/firewalld/firewalld.conf as proposed in bug 1575431 and that seems to fix the issue also for me.

Additional info: I have 2 other Fedora 28 computers in the same LAN, but with ordinary network configuration (because I don't run VMs on them) and haven't encountered any IPv6 connectivity issues there. So even if NetworkManager is not the root cause the bridge configuration seems to induce the issue.

Comment 7 Ben Cotton 2019-05-02 21:43:46 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ben Cotton 2019-05-28 20:20:06 UTC
Fedora 28 changed to end-of-life (EOL) status on 2019-05-28. Fedora 28 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.