** Description changed: + [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. + + [other info] + + disco and earlier don't have the patch that introduces this problem, and + focal already has the patch that fixes this (see comment 4 for details), + so this is needed only for eoan. + + 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])) + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 << ----------------------
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1846232 Title: networkd pads interface MTU by 4 bytes for vlan even when told not to To manage notifications about this bug go to: https://bugs.launchpad.net/curtin/+bug/1846232/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
