Eoan vmtests for vlan MTU checks now pass:

(neipa) vlan-mtu % egrep "242-7ubuntu3.3" 
output/EoanTestNetworkVlan/logs/install-serial.log 
[  131.271209] cloud-init[765]: Get:12 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 libnss-systemd amd64 242-7ubuntu3.3 [126 kB]
[  131.281683] cloud-init[765]: Get:13 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 udev amd64 242-7ubuntu3.3 [1202 kB]
[  131.534129] cloud-init[765]: Get:14 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 libudev1 amd64 242-7ubuntu3.3 [76.9 kB]
[  131.538365] cloud-init[765]: Get:15 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 systemd-sysv amd64 242-7ubuntu3.3 [9360 B]
[  131.567844] cloud-init[765]: Get:17 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 libpam-systemd amd64 242-7ubuntu3.3 [130 kB]
[  131.605061] cloud-init[765]: Get:19 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 systemd amd64 242-7ubuntu3.3 [3440 kB]
[  132.048959] cloud-init[765]: Get:20 http://archive.ubuntu.com/ubuntu 
eoan-proposed/main amd64 libsystemd0 amd64 242-7ubuntu3.3 [262 kB]
[  137.411834] cloud-init[765]: Preparing to unpack 
.../libnss-systemd_242-7ubuntu3.3_amd64.deb ...
[  137.415407] cloud-init[765]: Unpacking libnss-systemd:amd64 (242-7ubuntu3.3) 
over (242-7ubuntu3.2) ...
[  137.453015] cloud-init[765]: Preparing to unpack 
.../udev_242-7ubuntu3.3_amd64.deb ...
[  137.493093] cloud-init[765]: Unpacking udev (242-7ubuntu3.3) over 
(242-7ubuntu3.2) ...
[  137.718653] cloud-init[765]: Preparing to unpack 
.../libudev1_242-7ubuntu3.3_amd64.deb ...
[  137.722315] cloud-init[765]: Unpacking libudev1:amd64 (242-7ubuntu3.3) over 
(242-7ubuntu3.2) ...
[  137.760023] cloud-init[765]: Setting up libudev1:amd64 (242-7ubuntu3.3) ...
[  137.824616] cloud-init[765]: Preparing to unpack 
.../systemd-sysv_242-7ubuntu3.3_amd64.deb ...
[  137.827789] cloud-init[765]: Unpacking systemd-sysv (242-7ubuntu3.3) over 
(242-7ubuntu3.2) ...
[  138.148717] cloud-init[765]: Preparing to unpack 
.../libpam-systemd_242-7ubuntu3.3_amd64.deb ...
[  138.153753] cloud-init[765]: Unpacking libpam-systemd:amd64 (242-7ubuntu3.3) 
over (242-7ubuntu3.2) ...
[  138.232109] cloud-init[765]: Preparing to unpack 
.../systemd_242-7ubuntu3.3_amd64.deb ...
[  138.334042] cloud-init[765]: Unpacking systemd (242-7ubuntu3.3) over 
(242-7ubuntu3.2) ...
[  138.888353] cloud-init[765]: Preparing to unpack 
.../libsystemd0_242-7ubuntu3.3_amd64.deb ...
[  138.891850] cloud-init[765]: Unpacking libsystemd0:amd64 (242-7ubuntu3.3) 
over (242-7ubuntu3.2) ...
[  138.952214] cloud-init[765]: Setting up libsystemd0:amd64 (242-7ubuntu3.3) 
...
[  143.816265] cloud-init[765]: Setting up udev (242-7ubuntu3.3) ...
[  146.749187] cloud-init[765]: Setting up systemd (242-7ubuntu3.3) ...
[  148.329699] cloud-init[765]: Setting up systemd-sysv (242-7ubuntu3.3) ...
[  148.333114] cloud-init[765]: Setting up libnss-systemd:amd64 
(242-7ubuntu3.3) ...
[  148.336356] cloud-init[765]: Setting up libpam-systemd:amd64 
(242-7ubuntu3.3) ...
[  189.293271] cloud-init[765]: systemd is already the newest version 
(242-7ubuntu3.3).
(neipa) vlan-mtu % cat 
output/EoanTestNetworkVlan/collect/etc_netplan/50-cloud-init.yaml 
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        interface0:
            addresses:
            - 10.245.168.16/21
            gateway4: 10.245.168.1
            match:
                macaddress: d4:be:d9:a8:49:13
            mtu: 1500
            nameservers:
                addresses:
                - 10.245.168.2
            set-name: interface0
        interface1:
            addresses:
            - 10.245.188.2/24
            match:
                macaddress: d4:be:d9:a8:49:15
            mtu: 1500
            nameservers:
                addresses:
                - 10.245.168.2
                search:
                - dellstack
            set-name: interface1
        interface2:
            match:
                macaddress: d4:be:d9:a8:49:17
            mtu: 1500
            set-name: interface2
        interface3:
            match:
                macaddress: d4:be:d9:a8:49:19
            mtu: 1500
            set-name: interface3
    vlans:
        interface1.2667:
            addresses:
            - 10.245.184.2/24
            id: 2667
            link: interface1
            mtu: 1500
            nameservers:
                addresses:
                - 10.245.168.2
                search:
                - dellstack
        interface1.2668:
            addresses:
            - 10.245.185.1/24
            id: 2668
            link: interface1
            mtu: 1500
            nameservers:
                addresses:
                - 10.245.168.2
                search:
                - dellstack
        interface1.2669:
            addresses:
            - 10.245.186.1/24
            id: 2669
            link: interface1
            mtu: 1500
            nameservers:
                addresses:
                - 10.245.168.2
                search:
                - dellstack
        interface1.2670:
            addresses:
            - 10.245.187.2/24
            id: 2670
            link: interface1
            mtu: 1500
            nameservers:
                addresses:
                - 10.245.168.2
                search:
                - dellstack
(neipa) vlan-mtu % grep mtu\ 1500 
output/EoanTestNetworkVlan/collect/ip_link_show_interface1.26*
output/EoanTestNetworkVlan/collect/ip_link_show_interface1.2667:7: 
interface1.2667@interface1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT group default qlen 1000
output/EoanTestNetworkVlan/collect/ip_link_show_interface1.2668:9: 
interface1.2668@interface1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT group default qlen 1000
output/EoanTestNetworkVlan/collect/ip_link_show_interface1.2669:6: 
interface1.2669@interface1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT group default qlen 1000
output/EoanTestNetworkVlan/collect/ip_link_show_interface1.2670:8: 
interface1.2670@interface1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT group default qlen 1000

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1846232

Title:
  networkd pads interface MTU by 4 bytes for vlan even when told not to

Status in curtin:
  Invalid
Status in systemd:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Eoan:
  Fix Committed

Bug description:
  [impact]

  vlan interface has wrong mtu, which may cause lost packets due to
  incorrect mtu

  [test case]

  configure a system using the netplan cfg similar to comment 2.

  alternately, networkd config can be used, similar to:

  ubuntu@lp1846232-e:/run/systemd/network$ grep . *
  10-netplan-ens3.2667.netdev:[NetDev]
  10-netplan-ens3.2667.netdev:Name=ens3.2667
  10-netplan-ens3.2667.netdev:MTUBytes=1500
  10-netplan-ens3.2667.netdev:Kind=vlan
  10-netplan-ens3.2667.netdev:[VLAN]
  10-netplan-ens3.2667.netdev:Id=2667
  10-netplan-ens3.2667.network:[Match]
  10-netplan-ens3.2667.network:Name=ens3.2667
  10-netplan-ens3.2667.network:[Network]
  10-netplan-ens3.2667.network:LinkLocalAddressing=ipv6
  10-netplan-ens3.2667.network:Address=1.2.3.4/32
  10-netplan-ens3.2667.network:ConfigureWithoutCarrier=yes
  10-netplan-ens3.link:[Match]
  10-netplan-ens3.link:OriginalName=ens3
  10-netplan-ens3.link:[Link]
  10-netplan-ens3.link:WakeOnLan=off
  10-netplan-ens3.link:MTUBytes=1500
  10-netplan-ens3.network:[Match]
  10-netplan-ens3.network:Name=ens3
  10-netplan-ens3.network:[Network]
  10-netplan-ens3.network:LinkLocalAddressing=ipv6
  10-netplan-ens3.network:VLAN=ens3.2667

  The reboot and check the mtus:

  ubuntu@lp1846232-e:~$ ip l show ens3
  2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 qdisc fq_codel state UP 
mode DEFAULT group default qlen 1000
      link/ether 52:54:00:12:99:1b brd ff:ff:ff:ff:ff:ff
  ubuntu@lp1846232-e:~$ ip l show ens3.2667
  3: ens3.2667@ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
state UP mode DEFAULT group default qlen 1000
      link/ether 52:54:00:12:99:1b brd ff:ff:ff:ff:ff:ff

  The base interface should have a mtu of only 1500.

  [regression potential]

  As this corrects/adjusts the mtu of the interface, regressions would
  likely involve interface(s) being assigned incorrect mtu values, which
  then would lead to dropped packets and/or lowered network performance.

  [scope]

  this is needed only for Eoan.

  disco and earlier don't have the patch that introduces this problem,
  commit 4b151b71320bbee1549afcbad5554a40d90d63b4

  focal already has the patches that fix this, commit
  f6fcc1c2a41eae749467de58453174296b635a69 (and the commit before it)

  see comment 4 for more details

  [other info]

  original description:

  ---

  From https://jenkins.ubuntu.com/server/job/curtin-vmtest-devel-
  amd64/916/console:

  ======================================================================
  FAIL: test_ip_output (vmtests.test_network_vlan.EoanTestNetworkVlan)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File 
"/var/lib/jenkins/servers/server/workspace/curtin-vmtest-devel-amd64/curtin-916/tests/vmtests/test_network.py",
 line 311, in test_ip_output
      routes)
    File 
"/var/lib/jenkins/servers/server/workspace/curtin-vmtest-devel-amd64/curtin-916/tests/vmtests/test_network.py",
 line 337, in check_interface
      int(ipcfg[key]))
  AssertionError: 1500 != 1504
  -------------------- >> begin captured stdout << ---------------------
  parsed ip_a dict:
  interface0:
      broadcast: 10.245.175.255
      group: default
      inet4:
      -   address: 10.245.168.16
          prefixlen: '21'
          scope: global
          valid_lft: forever
      inet6:
      -   address: fec0::d6be:d9ff:fea8:4913
          prefixlen: '64'
          scope: site
          valid_lft: 86256sec
      -   address: fe80::d6be:d9ff:fea8:4913
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface0
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:13
      mtu: '1500'
      multicast: false
      qdisc: fq_codel
      qlen: '1000'
      running: false
      state: UP
      up: false
  interface1:
      broadcast: 10.245.188.255
      group: default
      inet4:
      -   address: 10.245.188.2
          prefixlen: '24'
          scope: global
          valid_lft: forever
      inet6:
      -   address: fec0::d6be:d9ff:fea8:4915
          prefixlen: '64'
          scope: site
          valid_lft: 86256sec
      -   address: fe80::d6be:d9ff:fea8:4915
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface1
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:15
      mtu: '1504'
      multicast: false
      qdisc: fq_codel
      qlen: '1000'
      running: false
      state: UP
      up: false
  interface1.2667:
      broadcast: 10.245.184.255
      group: default
      inet4:
      -   address: 10.245.184.2
          prefixlen: '24'
          scope: global
          valid_lft: forever
      inet6:
      -   address: fe80::d6be:d9ff:fea8:4915
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface1.2667
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:15
      mtu: '1500'
      multicast: false
      qdisc: noqueue
      qlen: '1000'
      running: false
      state: UP
      up: false
      vlan_link: interface1
  interface1.2668:
      broadcast: 10.245.185.255
      group: default
      inet4:
      -   address: 10.245.185.1
          prefixlen: '24'
          scope: global
          valid_lft: forever
      inet6:
      -   address: fe80::d6be:d9ff:fea8:4915
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface1.2668
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:15
      mtu: '1500'
      multicast: false
      qdisc: noqueue
      qlen: '1000'
      running: false
      state: UP
      up: false
      vlan_link: interface1
  interface1.2669:
      broadcast: 10.245.186.255
      group: default
      inet4:
      -   address: 10.245.186.1
          prefixlen: '24'
          scope: global
          valid_lft: forever
      inet6:
      -   address: fe80::d6be:d9ff:fea8:4915
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface1.2669
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:15
      mtu: '1500'
      multicast: false
      qdisc: noqueue
      qlen: '1000'
      running: false
      state: UP
      up: false
      vlan_link: interface1
  interface1.2670:
      broadcast: 10.245.187.255
      group: default
      inet4:
      -   address: 10.245.187.2
          prefixlen: '24'
          scope: global
          valid_lft: forever
      inet6:
      -   address: fe80::d6be:d9ff:fea8:4915
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface1.2670
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:15
      mtu: '1500'
      multicast: false
      qdisc: noqueue
      qlen: '1000'
      running: false
      state: UP
      up: false
      vlan_link: interface1
  interface2:
      broadcast: ff:ff:ff:ff:ff:ff
      group: default
      inet4: []
      inet6:
      -   address: fec0::d6be:d9ff:fea8:4917
          prefixlen: '64'
          scope: site
          valid_lft: 86256sec
      -   address: fe80::d6be:d9ff:fea8:4917
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface2
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:17
      mtu: '1500'
      multicast: false
      qdisc: fq_codel
      qlen: '1000'
      running: false
      state: UP
      up: false
  interface3:
      broadcast: ff:ff:ff:ff:ff:ff
      group: default
      inet4: []
      inet6:
      -   address: fec0::d6be:d9ff:fea8:4919
          prefixlen: '64'
          scope: site
          valid_lft: 86255sec
      -   address: fe80::d6be:d9ff:fea8:4919
          prefixlen: '64'
          scope: link
          valid_lft: forever
      interface: interface3
      loopback: false
      lower_up: false
      mac_address: d4:be:d9:a8:49:19
      mtu: '1500'
      multicast: false
      qdisc: fq_codel
      qlen: '1000'
      running: false
      state: UP
      up: false
  lo:
      broadcast: 00:00:00:00:00:00
      group: default
      inet4:
      -   address: 127.0.0.1
          prefixlen: '8'
          scope: host
          valid_lft: forever
      inet6:
      -   address: ::1
          prefixlen: '128'
          scope: host
          valid_lft: forever
      interface: lo
      loopback: false
      lower_up: false
      mtu: '65536'
      multicast: false
      qdisc: noqueue
      qlen: '1000'
      running: false
      state: UNKNOWN
      up: false

  ip_route_show: line: 10.245.168.0/21 dev interface0 proto kernel scope link 
src 10.245.168.16
  ip_route_show: line: 10.245.184.0/24 dev interface1.2667 proto kernel scope 
link src 10.245.184.2
  ip_route_show: line: 10.245.185.0/24 dev interface1.2668 proto kernel scope 
link src 10.245.185.1
  ip_route_show: line: 10.245.186.0/24 dev interface1.2669 proto kernel scope 
link src 10.245.186.1
  ip_route_show: line: 10.245.187.0/24 dev interface1.2670 proto kernel scope 
link src 10.245.187.2
  ip_route_show: line: 10.245.188.0/24 dev interface1 proto kernel scope link 
src 10.245.188.2

  network_state iface: address: null
  control: auto
  gateway: null
  index: 0
  inet: inet
  mac_address: d4:be:d9:a8:49:13
  mode: static
  mtu: 1500
  name: interface0
  subnets:
  -   address: 10.245.168.16/21
      dns_nameservers:
      - 10.245.168.2
      gateway: 10.245.168.1
      type: static
  type: physical

  check_interface: testing ifname:interface0
  iface:
  {'name': 'interface0', 'type': 'physical', 'mac_address': 
'd4:be:d9:a8:49:13', 'inet': 'inet', 'mode': 'static', 'mtu': 1500, 'address': 
None, 'gateway': None, 'subnets': [{'address': '10.245.168.16/21', 
'dns_nameservers': ['10.245.168.2'], 'gateway': '10.245.168.1', 'type': 
'static'}], 'index': 0, 'control': 'auto'}

  ipcfg:
  {'inet4': [{'address': '10.245.168.16', 'prefixlen': '21', 'scope': 'global', 
'valid_lft': 'forever'}], 'inet6': [{'address': 'fec0::d6be:d9ff:fea8:4913', 
'prefixlen': '64', 'scope': 'site', 'valid_lft': '86256sec'}, {'address': 
'fe80::d6be:d9ff:fea8:4913', 'prefixlen': '64', 'scope': 'link', 'valid_lft': 
'forever'}], 'interface': 'interface0', 'broadcast': '10.245.175.255', 
'loopback': False, 'lower_up': False, 'multicast': False, 'running': False, 
'up': False, 'mtu': '1500', 'qdisc': 'fq_codel', 'state': 'UP', 'group': 
'default', 'qlen': '1000', 'mac_address': 'd4:be:d9:a8:49:13'}
  ifname=interface0
  ipcfg['interface']=interface0
  checking mac on iface: interface0
  checking mtu on iface: interface0
  validating subnet:
  {'address': '10.245.168.16/21', 'dns_nameservers': ['10.245.168.2'], 
'gateway': '10.245.168.1', 'type': 'static'}
  found addresses: [{'address': '10.245.168.16', 'prefixlen': '21', 'scope': 
'global', 'valid_lft': 'forever'}]
  cur ip={'address': '10.245.168.16', 'prefixlen': '21', 'scope': 'global', 
'valid_lft': 'forever'}
  subnet={'address': '10.245.168.16/21', 'dns_nameservers': ['10.245.168.2'], 
'gateway': '10.245.168.1', 'type': 'static'}
  found a match!
  returning inet iface
  iface:interface0 configured_gws: ['10.245.168.1']
  found_gws: ['default via 10.245.168.1 dev interface0 proto static ']
  expected: ['10.245.168.1']

  network_state iface: address: null
  control: auto
  gateway: null
  index: 0
  inet: inet
  mac_address: d4:be:d9:a8:49:15
  mode: static
  mtu: 1500
  name: interface1
  subnets:
  -   address: 10.245.188.2/24
      dns_nameservers: []
      type: static
  type: physical

  check_interface: testing ifname:interface1
  iface:
  {'name': 'interface1', 'type': 'physical', 'mac_address': 
'd4:be:d9:a8:49:15', 'inet': 'inet', 'mode': 'static', 'mtu': 1500, 'address': 
None, 'gateway': None, 'subnets': [{'address': '10.245.188.2/24', 
'dns_nameservers': [], 'type': 'static'}], 'index': 0, 'control': 'auto'}

  ipcfg:
  {'inet4': [{'address': '10.245.188.2', 'prefixlen': '24', 'scope': 'global', 
'valid_lft': 'forever'}], 'inet6': [{'address': 'fec0::d6be:d9ff:fea8:4915', 
'prefixlen': '64', 'scope': 'site', 'valid_lft': '86256sec'}, {'address': 
'fe80::d6be:d9ff:fea8:4915', 'prefixlen': '64', 'scope': 'link', 'valid_lft': 
'forever'}], 'interface': 'interface1', 'broadcast': '10.245.188.255', 
'loopback': False, 'lower_up': False, 'multicast': False, 'running': False, 
'up': False, 'mtu': '1504', 'qdisc': 'fq_codel', 'state': 'UP', 'group': 
'default', 'qlen': '1000', 'mac_address': 'd4:be:d9:a8:49:15'}
  ifname=interface1
  ipcfg['interface']=interface1
  checking mac on iface: interface1
  checking mtu on iface: interface1

  --------------------- >> end captured stdout << ----------------------

To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1846232/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to