[Bug 1860926] Re: Ubuntu 20.04 Systemd fails to configure bridged network

Launchpad Bug Tracker 1860926 at bugs.launchpad.net
Wed Aug 5 12:34:39 UTC 2020


This bug was fixed in the package systemd - 237-3ubuntu10.42

---------------
systemd (237-3ubuntu10.42) bionic; urgency=medium

  [ Dan Streetman ]
  * d/p/lp1860926/0001-networkd-Allow-to-retain-configs-even-if-carrier-is-.patch,
    d/p/lp1860926/0002-network-Change-IgnoreCarrierLoss-default-to-value-of.patch,
    d/p/lp1860926/0003-network-always-drop-configs-when-corresponding-netwo.patch:
    - Add IgnoreCarrierLoss and default to value of ConfigureWithoutCarrier
      (LP: #1860926)
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=9a12a31a62f1a50cd3a67a164ee34c546809815e
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=3cc3870fde47982a4dda53f820e18065e5488e7e
  * d/e/rules-ubuntu/40-vm-hotadd.rules:
    - Hotadd only offline memory and CPUs
      (LP: #1876018)
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=ba305d7ad00e80bc1a03f93e6986eef7cbbb18fc
  * d/p/lp1881972-network-strdup-iif-and-oif-when-creating-RoutingPoli.patch:
    - Avoid double-free by strdup'ing iif/oif strings for new policy rules
      (LP: #1881972)
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=874056f0d429aaa2cc872c3b35ec33cd3b740483
  * d/p/lp1886197-seccomp-more-comprehensive-protection-against-libsec.patch
    - Fix FTBFS on arm64 due to libseccomp changes (LP: #1886197)
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=c284a72ca2e3d87bfe1c20afb2fcfb379cda544f
  * d/p/lp1832754/0001-umount-Try-unmounting-even-if-remounting-read-only-f.patch,
    d/p/lp1832754/0002-umount-Don-t-bother-remounting-api-and-ro-filesystem.patch:
    - Try unmounting even if ro-remount fails, and don't bother remounting api/ro fs
      (LP: #1832754)
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=a518baa673aeaaf42000a3a01b7e03347652b216

  [ Alex Murray, Jamie Strandboge ]
  * d/p/lp1886115-pid1-fix-free-of-uninitialized-pointer-in-unit_fail_.patch:
    - Fix free of uninitialized pointer (LP: #1886115)
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=491c76fd0f2fba0007a9b54d63a50f21add643c8

 -- Dan Streetman <ddstreet at canonical.com>  Wed, 08 Jul 2020 14:59:14
-0400

** Changed in: systemd (Ubuntu Bionic)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1860926

Title:
  Ubuntu 20.04  Systemd fails to configure bridged network

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Bionic:
  Fix Released
Status in systemd source package in Eoan:
  Fix Released
Status in systemd source package in Focal:
  Fix Released
Status in systemd source package in Groovy:
  Fix Released

Bug description:
  [impact]

  A bridged interface with static ipv4 address and gateway configuration
  will fail to properly add the route via the gateway, leaving the
  system without a globally working network.

  [test case]

  On a Focal system, remove all network configuration and create this
  netplan:

  network:
    version: 2
    renderer: networkd
    ethernets:
      enp4s0:
        dhcp4: false
    bridges:
      br0:
        interfaces: [enp4s0]
        dhcp4: no
        addresses: [192.168.0.4/24]
        gateway4: 192.168.0.1
        nameservers:
          search: [mydomain]
          addresses: [192.168.0.1,192.168.0.2,192.168.0.3]

  Replace the interface name 'enp4s0' with the actual interface name on
  the test system.

  Reboot the system, and check the route to the gateway, which will be
  missing:

  root at lp1860926-f:~# ip r
  192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.4

  The route is expected to be present, e.g.:

  ubuntu at lp1860926-e:~$ ip r
  default via 192.168.0.1 dev br0 proto static
  192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.4

  [test case, pre-focal]

  same netplan as above.  Reboot, and the bridge should have its address
  and route:

  ubuntu at test-e:~$ ip a show br0
  3: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
      link/ether 56:11:da:23:bb:93 brd ff:ff:ff:ff:ff:ff
      inet 192.168.0.4/24 brd 192.168.0.255 scope global br0
         valid_lft forever preferred_lft forever
  ubuntu at test-e:~$ ip r
  default via 192.168.0.1 dev br0 proto static linkdown
  192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.4 linkdown

  add and remove carrier, by adding and removing a slave interface:

  ubuntu at test-e:~$ sudo ip l set dev ens3 master br0 up
  ubuntu at test-e:~$ ip a show br0
  3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
      link/ether 56:11:da:23:bb:93 brd ff:ff:ff:ff:ff:ff
      inet 192.168.0.4/24 brd 192.168.0.255 scope global br0
         valid_lft forever preferred_lft forever
      inet6 fe80::5411:daff:fe23:bb93/64 scope link
         valid_lft forever preferred_lft forever
  ubuntu at test-e:~$ sudo ip l set dev ens3 nomaster

  the bridge no longer has its address after losing carrier:

  ubuntu at test-e:~$ ip a show br0
  3: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
      link/ether 56:11:da:23:bb:93 brd ff:ff:ff:ff:ff:ff
      inet6 fe80::5411:daff:fe23:bb93/64 scope link
         valid_lft forever preferred_lft forever

  [regression potential]

  Any regression would likely involve incorrectly configured network
  after an interface carrier gain/loss.

  [scope]

  This is needed for Focal, Eoan, and Bionic.

  While this only reproduces at boot for Focal, the general loss of
  configuration on carrier loss even when ConfigureWithoutCarrier=true
  is reproducable on all releases except Xenial, which does not have the
  ConfigureWithoutCarrier= parameter.

  [original description]

  Freshly installed Ubuntu 20.04 fully patched to days date with static
  IP address works fine and survives a reboot

  network:
    version: 2
    renderer: networkd
    ethernets:
      enp4s0:
        dhcp4: false
        addresses: [192.168.0.4/24]
        gateway4: 192.168.0.1
        nameservers:
          search: [mydomain]
          addresses: [192.168.0.1,192.168.0.2,192.168.0.3]

  however when converted to a bridged network for kvm

  network:
    version: 2
    renderer: networkd
    ethernets:
      enp4s0:
        dhcp4: false
    bridges:
      br0:
        interfaces: [enp4s0]
        dhcp4: no
        addresses: [192.168.0.4/24]
        gateway4: 192.168.0.1
        nameservers:
          search: [mydomain]
          addresses: [192.168.0.1,192.168.0.2,192.168.0.3]

  will not survive a reboot and required systemd-network to be restarted or
  @reboot /usr/sbin/netplan apply
  added to the crontab

  after a reboot the network can not b eaccseed and a
  systemctl status systemd-networkd produces

  systemd-networkd.service - Network Service
       Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
       Active: active (running) since Sun 2020-01-26 16:36:28 UTC; 2min 27s ago
  TriggeredBy: ● systemd-networkd.socket
         Docs: man:systemd-networkd.service(8)
     Main PID: 979 (systemd-network)
       Status: "Processing requests..."
        Tasks: 1 (limit: 57662)
       Memory: 4.1M
       CGroup: /system.slice/systemd-networkd.service
               └─979 /lib/systemd/systemd-networkd

  Jan 26 16:38:02 firebolt systemd-networkd[979]: rtnl: received neighbor for link '5' we don't know about, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link UP
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Gained carrier
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: Link UP
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link DOWN
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Lost carrier
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Kernel removed an address we don't remember: fe80::5054:ff:fed9:7e26/64 (valid forever), ignoring.

  systemctl restart systemd-networkd resolved the issue and a

  systemctl status systemd-network producessystemd-networkd.service - Network Service
       Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
       Active: active (running) since Sun 2020-01-26 16:39:28 UTC; 41s ago
  TriggeredBy: ● systemd-networkd.socket
         Docs: man:systemd-networkd.service(8)
     Main PID: 1650 (systemd-network)
       Status: "Processing requests..."
        Tasks: 1 (limit: 57662)
       Memory: 1.6M
       CGroup: /system.slice/systemd-networkd.service
               └─1650 /lib/systemd/systemd-networkd

  Jan 26 16:39:28 firebolt systemd[1]: Starting Network Service...
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev ready
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: Gained IPv6LL
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: Enumeration completed
  Jan 26 16:39:28 firebolt systemd[1]: Started Network Service.
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev exists, using existing without changing its parameters
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: IPv6 successfully enabled

  a journalctl -u systemd-network produces

  Jan 26 16:36:28 firebolt systemd[1]: Starting Network Service...
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: netdev ready
  Jan 26 16:36:28 firebolt systemd-networkd[979]: Enumeration completed
  Jan 26 16:36:28 firebolt systemd-networkd[979]: wlp3s0: Interface name change detected, wlp3s0 has been renamed to wlan0.
  Jan 26 16:36:28 firebolt systemd[1]: Started Network Service.
  Jan 26 16:36:28 firebolt systemd-networkd[979]: wlan0: Interface name change detected, wlan0 has been renamed to wlp3s0.
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: IPv6 successfully enabled
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Link UP
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Gained carrier
  Jan 26 16:36:28 firebolt systemd-networkd[979]: enp4s0: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:36:28 firebolt systemd-networkd[979]: enp4s0: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Lost carrier
  Jan 26 16:36:28 firebolt systemd-networkd[979]: enp4s0: Link UP
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Gained carrier
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Could not set route: Network is unreachable
  Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Failed
  Jan 26 16:36:30 firebolt systemd-networkd[979]: br0: Lost carrier
  Jan 26 16:36:31 firebolt systemd-networkd[979]: enp4s0: Gained carrier
  Jan 26 16:36:31 firebolt systemd-networkd[979]: br0: Gained carrier
  Jan 26 16:38:02 firebolt systemd-networkd[979]: rtnl: received neighbor for link '5' we don't know about, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: rtnl: received neighbor message with invalid family, ignoring.
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link UP
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Gained carrier
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: Link UP
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link DOWN
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Lost carrier
  Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Kernel removed an address we don't remember: fe80::5054:ff:fed9:7e26/64 (valid forever), ignoring.
  Jan 26 16:39:28 firebolt systemd[1]: Stopping Network Service...
  Jan 26 16:39:28 firebolt systemd[1]: systemd-networkd.service: Succeeded.
  Jan 26 16:39:28 firebolt systemd[1]: Stopped Network Service.
  Jan 26 16:39:28 firebolt systemd[1]: Starting Network Service...
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev ready
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: Gained IPv6LL
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: Enumeration completed
  Jan 26 16:39:28 firebolt systemd[1]: Started Network Service.
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev exists, using existing without changing its parameters
  Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: IPv6 successfully enabled

  the network should restart properly after a reboot liek in earlier
  version of ubuntu 18.04 for example

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1860926/+subscriptions



More information about the foundations-bugs mailing list