** Description changed: [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@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@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, but remove ethernets: section. Reboot, and the - bridge should have its address and route: + same netplan as above. Reboot, and the bridge should have its address + and route: ubuntu@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 + 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@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 - + 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@test-e:~$ sudo ip l set dev ens3 master br0 up ubuntu@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 + 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@test-e:~$ sudo ip l set dev ens3 nomaster - the bridge no longer has its address after losing carrier: ubuntu@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 - + 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
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1860926 Title: Ubuntu 20.04 Systemd fails to configure bridged network To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1860926/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs