I believe this is due to
https://github.com/systemd/systemd/commit/4b151b71320bbee1549afcbad5554a40d90d63b4

and probably is
https://github.com/systemd/systemd/issues/12552

fixed by
https://github.com/systemd/systemd/pull/12574/commits
which prevents the automatic mtu bump when MTUBytes is specified


but i'm still uncertain about upstream's 
link_get_requested_mtu_by_stacked_netdevs() function, that bumps MTU 
automatically; I might be misunderstanding it, but I don't think it is needed 
or even correct - but I need to look more closely at it and haven't had time.


** Bug watch added: github.com/systemd/systemd/issues #12552
   https://github.com/systemd/systemd/issues/12552

** Also affects: systemd via
   https://github.com/systemd/systemd/issues/12552
   Importance: Unknown
       Status: Unknown

-- 
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:
  Unknown
Status in systemd package in Ubuntu:
  New

Bug 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