[Bug 2037667] Re: Regression on Jammy's kernel 5.15 when creating ip6gre and vti6 tunnels

Nick Rosbrook 2037667 at bugs.launchpad.net
Tue Nov 19 14:44:39 UTC 2024


I verified the fix using systemd 249.11-0ubuntu3.13 in jammy-proposed.

First, I confirmed that my systemd and kernel combination is affected by
this bug:

$ uname -a
Linux clean-jammy-amd64 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May  7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ apt policy systemd
systemd:
  Installed: 249.11-0ubuntu3.12
  Candidate: 249.11-0ubuntu3.12
  Version table:
 *** 249.11-0ubuntu3.12 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     249.11-0ubuntu3.7 500
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
     249.11-0ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
$ cat > /etc/netplan/10-tun.yaml <<EOF
network:
  renderer: networkd
  version: 2
  tunnels:
    tun0:
      mode: ip6gre
      local: fe80::1
      remote: 2001:dead:beef::2
    tun1:
      mode: vti6
      local: fe80::2
      remote: 2001:dead:beef::3
EOF
$ netplan apply

** (generate:2017): WARNING **: 09:34:31.572: Permissions for
/etc/netplan/01-network-manager-all.yaml are too open. Netplan
configuration should NOT be accessible by others.

** (generate:2017): WARNING **: 09:34:31.573: Permissions for /etc/netplan/10-tun.yaml are too open. Netplan configuration should NOT be accessible by others.
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.

** (process:2015): WARNING **: 09:34:32.082: Permissions for
/etc/netplan/01-network-manager-all.yaml are too open. Netplan
configuration should NOT be accessible by others.

** (process:2015): WARNING **: 09:34:32.083: Permissions for
/etc/netplan/10-tun.yaml are too open. Netplan configuration should NOT
be accessible by others.

** (process:2015): WARNING **: 09:34:32.302: Permissions for
/etc/netplan/01-network-manager-all.yaml are too open. Netplan
configuration should NOT be accessible by others.

** (process:2015): WARNING **: 09:34:32.302: Permissions for
/etc/netplan/10-tun.yaml are too open. Netplan configuration should NOT
be accessible by others.

** (process:2015): WARNING **: 09:34:32.302: Permissions for
/etc/netplan/01-network-manager-all.yaml are too open. Netplan
configuration should NOT be accessible by others.

** (process:2015): WARNING **: 09:34:32.302: Permissions for /etc/netplan/10-tun.yaml are too open. Netplan configuration should NOT be accessible by others.
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:c6:8b:40 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
3: ip6tnl0 at NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/tunnel6 :: brd :: permaddr 5a74:cc76:65cf::
4: ip6gre0 at NONE: <NOARP> mtu 1448 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/gre6 :: brd :: permaddr dafd:9a91:813c::
5: ip6_vti0 at NONE: <NOARP> mtu 1332 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/tunnel6 :: brd :: permaddr c6ed:bf78:136c::
$ journalctl -u systemd-networkd -b --since "1 min ago" --no-pager
Nov 19 09:34:32 clean-jammy-amd64 systemd-networkd[1874]: tun0: netdev could not be created: Invalid argument
Nov 19 09:34:32 clean-jammy-amd64 systemd-networkd[1874]: tun1: netdev could not be created: Invalid argument

Then, I installed systemd 249.11-0ubuntu3.13 from jammy-proposed, and
confirmed the bug was resolved:

$ cat <<EOF >/etc/apt/sources.list.d/ubuntu-$(lsb_release -cs)-proposed.list
# Enable Ubuntu proposed archive
deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs)-proposed restricted main multiverse universe
EOF
$ apt update
[ ... ]
$ apt install -y systemd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libflashrom1 libftdi1-2 libllvm13 linux-headers-5.15.0-25 linux-headers-5.15.0-25-generic linux-headers-5.15.0-27 linux-headers-5.15.0-27-generic linux-image-5.15.0-25-generic
  linux-image-5.15.0-27-generic linux-modules-5.15.0-25-generic linux-modules-5.15.0-27-generic linux-modules-extra-5.15.0-25-generic linux-modules-extra-5.15.0-27-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libnss-systemd libpam-systemd libsystemd0 systemd-oomd systemd-sysv systemd-timesyncd
Suggested packages:
  systemd-container libtss2-rc0
The following packages will be upgraded:
  libnss-systemd libpam-systemd libsystemd0 systemd systemd-oomd systemd-sysv systemd-timesyncd
7 upgraded, 0 newly installed, 0 to remove and 177 not upgraded.
Need to get 5,312 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libnss-systemd amd64 249.11-0ubuntu3.13 [133 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 systemd-timesyncd amd64 249.11-0ubuntu3.13 [31.2 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 systemd-sysv amd64 249.11-0ubuntu3.13 [10.5 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 systemd-oomd amd64 249.11-0ubuntu3.13 [34.8 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libpam-systemd amd64 249.11-0ubuntu3.13 [203 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 systemd amd64 249.11-0ubuntu3.13 [4,581 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libsystemd0 amd64 249.11-0ubuntu3.13 [318 kB]
Fetched 5,312 kB in 1s (3,947 kB/s)
(Reading database ... 275907 files and directories currently installed.)
Preparing to unpack .../0-libnss-systemd_249.11-0ubuntu3.13_amd64.deb ...
Unpacking libnss-systemd:amd64 (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Preparing to unpack .../1-systemd-timesyncd_249.11-0ubuntu3.13_amd64.deb ...
Unpacking systemd-timesyncd (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Preparing to unpack .../2-systemd-sysv_249.11-0ubuntu3.13_amd64.deb ...
Unpacking systemd-sysv (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Preparing to unpack .../3-systemd-oomd_249.11-0ubuntu3.13_amd64.deb ...
Unpacking systemd-oomd (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Preparing to unpack .../4-libpam-systemd_249.11-0ubuntu3.13_amd64.deb ...
Unpacking libpam-systemd:amd64 (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Preparing to unpack .../5-systemd_249.11-0ubuntu3.13_amd64.deb ...
Unpacking systemd (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Preparing to unpack .../6-libsystemd0_249.11-0ubuntu3.13_amd64.deb ...
Unpacking libsystemd0:amd64 (249.11-0ubuntu3.13) over (249.11-0ubuntu3.12) ...
Setting up libsystemd0:amd64 (249.11-0ubuntu3.13) ...
Setting up systemd (249.11-0ubuntu3.13) ...
Setting up systemd-timesyncd (249.11-0ubuntu3.13) ...
Setting up systemd-oomd (249.11-0ubuntu3.13) ...
Setting up systemd-sysv (249.11-0ubuntu3.13) ...
Setting up libnss-systemd:amd64 (249.11-0ubuntu3.13) ...
Setting up libpam-systemd:amd64 (249.11-0ubuntu3.13) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for dbus (1.12.20-2ubuntu4.1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
$ apt policy systemd
systemd:
  Installed: 249.11-0ubuntu3.13
  Candidate: 249.11-0ubuntu3.13
  Version table:
 *** 249.11-0ubuntu3.13 500
        500 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 Packages
        100 /var/lib/dpkg/status
     249.11-0ubuntu3.12 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
     249.11-0ubuntu3.7 500
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
     249.11-0ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
$ ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:c6:8b:40 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
3: ip6tnl0 at NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/tunnel6 :: brd :: permaddr 5a74:cc76:65cf::
4: ip6gre0 at NONE: <NOARP> mtu 1448 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/gre6 :: brd :: permaddr dafd:9a91:813c::
5: ip6_vti0 at NONE: <NOARP> mtu 1332 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/tunnel6 :: brd :: permaddr c6ed:bf78:136c::
6: tun0 at NONE: <NOARP,UP,LOWER_UP> mtu 1448 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/gre6 fe80::1 brd 2001:dead:beef::2 permaddr eeb8:3eff:9c04::
7: tun1 at NONE: <NOARP,UP,LOWER_UP> mtu 1332 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/tunnel6 fe80::2 brd 2001:dead:beef::3 permaddr 8e47:2223:4643::
$ journalctl -u systemd-networkd -b --since "1 min ago" --no-pager
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun0: Re-configuring with /run/systemd/network/10-netplan-tun0.network
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun0: DHCPv6 lease lost
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun1: Re-configuring with /run/systemd/network/10-netplan-tun1.network
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun1: DHCPv6 lease lost
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun0: Re-configuring with /run/systemd/network/10-netplan-tun0.network
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun0: DHCPv6 lease lost
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun1: Re-configuring with /run/systemd/network/10-netplan-tun1.network
Nov 19 09:41:36 clean-jammy-amd64 systemd-networkd[3014]: tun1: DHCPv6 lease lost


** Tags removed: verification-needed verification-needed-jammy
** Tags added: verification-done verification-done-jammy

-- 
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/2037667

Title:
  Regression on Jammy's kernel 5.15 when creating ip6gre and vti6
  tunnels

Status in linux package in Ubuntu:
  Confirmed
Status in systemd package in Ubuntu:
  Invalid
Status in linux source package in Jammy:
  Triaged
Status in systemd source package in Jammy:
  Fix Committed

Bug description:
  [Impact]

  We noticed that some of Netplan's integration tests started to fail on
  Jammy. These tests will try to create ip6gre and vti6 virtual
  interfaces and systemd-networkd is failing to create them starting on
  kernel 5.15.0-83.92. As far as I can tell, kernel 5.15.0-82.91 is the
  last revision where it works. So, some change between 5.15.0-82.91 and
  5.15.0-83.92 is causing this regression.

  [Test Plan]

  This test can be done on any Jammy machine. It is best to test in a
  VM.

  # Create a netplan file that creates 2 tunnels:

  $ cat > /etc/netplan/10-tun.yaml <<EOF
  network:
    renderer: networkd
    version: 2
    tunnels:
      tun0:
        mode: ip6gre
        local: fe80::1
        remote: 2001:dead:beef::2
      tun1:
        mode: vti6
        local: fe80::2
        remote: 2001:dead:beef::3
  EOF
  $ netplan apply

  # Check with "ip link" that both tun0 and tun1 *were not created* and
  check networkd for errors:

  $ ip link
  $ journalctl -u systemd-networkd

  On an affected system, we would see logs like:

  Sep 28 17:04:40 jammy systemd-networkd[360]: tun0: netdev could not be created: Invalid argument
  Sep 28 17:04:40 jammy systemd-networkd[360]: tun1: netdev could not be created: Invalid argument

  On a patched system, we should see the tun0 and tun1 devices, and the
  above logs should not be present.

  [Where problems could occur]

  The proposed patch is a minimized version of an upstream patch. The
  result is a patch that disables the "generate_mac" flag for non-ether
  devices. Hence, any problems related to this patch would be related to
  systemd-networkd creating certain types of net devices.

  [Original Description]

  We noticed that some of Netplan's integration tests started to fail on
  Jammy. These tests will try to create ip6gre and vti6 virtual
  interfaces and systemd-networkd is failing to create them starting on
  kernel 5.15.0-83.92. As far as I can tell, kernel 5.15.0-82.91 is the
  last revision where it works. So, some change between 5.15.0-82.91 and
  5.15.0-83.92 is causing this regression.

  How to reproduce the issue:

  # Launch a jammy cloud VM:

  lxc launch images:ubuntu/jammy/cloud jammy --vm
  lxc shell jammy

  # Create a netplan file that creates 2 tunnels:

  cat > /etc/netplan/10-tun.yaml <<EOF
  network:
    renderer: networkd
    version: 2
    tunnels:
      tun0:
        mode: ip6gre
        local: fe80::1
        remote: 2001:dead:beef::2
      tun1:
        mode: vti6
        local: fe80::2
        remote: 2001:dead:beef::3
  EOF

  # Apply the configuration

  netplan apply

  # Check with "ip link" that both tun0 and tun1 *were not created* and
  check networkd for errors:

  journalctl -u systemd-networkd

  Sep 28 17:04:40 jammy systemd-networkd[360]: tun0: netdev could not be created: Invalid argument
  Sep 28 17:04:40 jammy systemd-networkd[360]: tun1: netdev could not be created: Invalid argument

  # Download, install and boot on kernel 5.15.0-82.91

  wget http://ie.archive.ubuntu.com/ubuntu/pool/main/l/linux-
  signed/linux-image-5.15.0-82-generic_5.15.0-82.91_amd64.deb
  http://ie.archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-
  modules-5.15.0-82-generic_5.15.0-82.91_amd64.deb

  dpkg -i *.deb

  grub-reboot '1>2' && reboot

  # Check with "ip link" again that both tun0 and tun1 were created

  # Reboot again to go back to the most recent kernel and check with "ip link" that both tun0 and tun1 were not created.
  ---
  ProblemType: Bug
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Sep 29 12:52 seq
   crw-rw---- 1 root audio 116, 33 Sep 29 12:52 timer
  AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
  ApportVersion: 2.20.11-0ubuntu82.5
  Architecture: amd64
  ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
  AudioDevicesInUse: Error: [Errno 2] No such file or directory: 'fuser'
  CRDA: N/A
  CasperMD5CheckResult: unknown
  CloudArchitecture: x86_64
  CloudID: lxd
  CloudName: lxd
  CloudPlatform: lxd
  CloudSubPlatform: LXD socket API v. 1.0 (/dev/lxd/sock)
  DistroRelease: Ubuntu 22.04
  IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig'
  Lspci: Error: [Errno 2] No such file or directory: 'lspci'
  Lspci-vt: Error: [Errno 2] No such file or directory: 'lspci'
  Lsusb: Error: [Errno 2] No such file or directory: 'lsusb'
  Lsusb-t: Error: [Errno 2] No such file or directory: 'lsusb'
  Lsusb-v: Error: [Errno 2] No such file or directory: 'lsusb'
  MachineType: QEMU Standard PC (Q35 + ICH9, 2009)
  Package: linux (not installed)
  PciMultimedia:

  ProcEnviron:
   TERM=screen-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcFB: 0 virtio_gpudrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.15.0-84-generic root=/dev/sda2 ro quiet splash console=tty1 console=ttyS0 vt.handoff=7
  ProcVersionSignature: Ubuntu 5.15.0-84.93-generic 5.15.116
  RelatedPackageVersions:
   linux-restricted-modules-5.15.0-84-generic N/A
   linux-backports-modules-5.15.0-84-generic  N/A
   linux-firmware                             N/A
  RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
  Tags:  jammy uec-images
  Uname: Linux 5.15.0-84-generic x86_64
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: N/A
  _MarkForUpload: True
  dmi.bios.date: 2/2/2022
  dmi.bios.release: 0.0
  dmi.bios.vendor: EDK II
  dmi.bios.version: unknown
  dmi.board.name: LXD
  dmi.board.vendor: Canonical Ltd.
  dmi.board.version: pc-q35-8.0
  dmi.chassis.type: 1
  dmi.chassis.vendor: QEMU
  dmi.chassis.version: pc-q35-8.0
  dmi.modalias: dmi:bvnEDKII:bvrunknown:bd2/2/2022:br0.0:svnQEMU:pnStandardPC(Q35+ICH9,2009):pvrpc-q35-8.0:rvnCanonicalLtd.:rnLXD:rvrpc-q35-8.0:cvnQEMU:ct1:cvrpc-q35-8.0:sku:
  dmi.product.name: Standard PC (Q35 + ICH9, 2009)
  dmi.product.version: pc-q35-8.0
  dmi.sys.vendor: QEMU

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




More information about the foundations-bugs mailing list