I talked with @smb today. The iproute2 issue seems to be related to the Ubuntu FAN implementation.
There is the "info: Using default fan map value (34)\nlocal 10.10.10.42" message in between the "ip -d a show dev vx0" output. Local reproducer for the iproute2 issue (running on a Noble host): $ autopkgtest -U netplan.io --test-name=tunnels -s --add-apt-source "deb-src http://archive.ubuntu.com/ubuntu questing main" --apt-pocket=proposed=src:iproute2 -- lxd autopkgtest/ubuntu/questing/amd64 Inside the (failed) environment, we can then run: # python3 tests/integration/tunnels.py -k vxlan A workaround in the Netplan tests would be to just ignore the trailing whitespace ahead of ' local ...', or replacing it by a '\s' regex to match any whitespace (like the new '\n'). But this would only lead to a failure a few lines later, where we try to match iproute2's JSON output. Simple reproducer: $ cat /etc/netplan/tun.yaml network: renderer: networkd version: 2 tunnels: vx0: mode: vxlan id: 1337 link: eth0 local: 10.10.10.42 remote: 224.0.0.5 # multicast group ttl: 64 aging: 100 port: 4567 port-range: [4000, 4200] mac-learning: false short-circuit: true notifications: [l2-miss, l3-miss] checksums: [udp, zero-udp6-tx, zero-udp6-rx, remote-tx, remote-rx] # sd-networkd only ethernets: eth0: addresses: [10.10.10.42/24] $ netplan apply $ ip -j -d a show dev vx0 [{"ifindex":165,"ifname":"vx0","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1450,"qdisc":"noqueue","operstate":"UNKNOWN","group":"default","txqlen":1000,"link_type":"ether","address":"12:4f:d1:8f:6d:2f","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":0,"allmulti":0,"min_mtu":68,"max_mtu":65535,"linkinfo":{"info_kind":"vxlan","info_data":{"id":1337,"group":"224.0.0.5"info: Using default fan map value (34) ,"local":"10.10.10.42","link":"eth0","port_range":{"low":4000,"high":4200},"port":4567,"ttl":64,"df":"unset","ageing":100,"external":false,"learning":false,"proxy":false,"rsc":true,"l2miss":true,"l3miss":true,"udp_csum":true,"udp_zero_csum6_tx":true,"udp_zero_csum6_rx":true,"remcsum_tx":true,"remcsum_rx":true,"localbypass":true}},"num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":524280,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"addr_info":[{"family":"inet6","local":"fe80::104f:d1ff:fe8f:6d2f","prefixlen":64,"scope":"link","protocol":"kernel_ll","valid_life_time":4294967295,"preferred_life_time":4294967295}]}] $ ip -j -d a show dev vx0 | jq jq: parse error: Invalid numeric literal at line 1, column 383 => iproute2's JSON output is actually corrupted by the "info: Using default fan map value (34)\n" message. This will break not just Netplan tests, but might affect many more packages. So should be fixed in iproute2. Maybe by moving this warning to stderr? ** Changed in: iproute2 (Ubuntu) Assignee: (unassigned) => Stefan Bader (smb) ** Summary changed: - autopkgtest failures against iproute2/6.14.0-1ubuntu2 and ethtool/1:6.14.1-1 + autopkgtest failures against iproute2/6.14.0-1ubuntu2 (FAN) and ethtool/1:6.14.1-1 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. Matching subscriptions: iproute2 https://bugs.launchpad.net/bugs/2115790 Title: autopkgtest failures against iproute2/6.14.0-1ubuntu2 (FAN) and ethtool/1:6.14.1-1 Status in ethtool package in Ubuntu: New Status in iproute2 package in Ubuntu: In Progress Status in linux package in Ubuntu: New Status in netplan.io package in Ubuntu: Triaged Bug description: netplan.io is showing new autopkgtest failures in Questing, when testing against the following packages. Which seems to be related to changed output text of those packages. - iproute2/6.14.0-1ubuntu2 and - ethtool/1:6.14.1-1 Specifically: 942s ====================================================================== 942s FAIL: test_link_offloading (__main__.TestNetworkManager.test_link_offloading) 942s ---------------------------------------------------------------------- 942s Traceback (most recent call last): 942s File "/tmp/autopkgtest.urTG2T/build.w51/src/tests/integration/ethernets.py", line 331, in test_link_offloading 942s self.assertIn(b'tcp-segmentation-offload: off', out) 942s ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 942s AssertionError: b'tcp-segmentation-offload: off' not found in b'Features for eth42:\nrx-checksumming: off\ntx-checksumming: off\n\ttx-checksum-ipv4: off [fixed]\n\ttx-checksum-ip-generic: off\n\ttx-checksum-ipv6: off [fixed]\n\ttx-checksum-fcoe-crc: off [fixed]\n\ttx-checksum-sctp: off\nscatter-gather: on\n\ttx-scatter-gather: on\n\ttx-scatter-gather-fraglist: on\ntcp-segmentation-offload: on\n\ttx-tcp-segmentation: off\n\ttx-tcp-ecn-segmentation: off [requested on]\n\ttx-tcp-mangleid-segmentation: off [requested on]\n\ttx-tcp6-segmentation: off\n\ttx-tcp-accecn-segmentation: on\ngeneric-segmentation-offload: off\ngeneric-receive-offload: off\nlarge-receive-offload: off [fixed]\nrx-vlan-offload: on\ntx-vlan-offload: on\nntuple-filters: off [fixed]\nreceive-hashing: off [fixed]\nhighdma: on\nrx-vlan-filter: off [fixed]\nvlan-challenged: off [fixed]\ntx-gso-robust: off [fixed]\ntx-fcoe-segmentation: off [fixed]\ntx-gre-segmentation: on\ntx-gre-csum-segmentation: on\ntx-ipxip4-se gmentation: on\ntx-ipxip6-segmentation: on\ntx-udp_tnl-segmentation: on\ntx-udp_tnl-csum-segmentation: on\ntx-gso-partial: off [fixed]\ntx-tunnel-remcsum-segmentation: off [fixed]\ntx-sctp-segmentation: on\ntx-esp-segmentation: off [fixed]\ntx-udp-segmentation: off [requested on]\ntx-gso-list: on\ntx-nocache-copy: off\nloopback: off [fixed]\nrx-fcs: off [fixed]\nrx-all: off [fixed]\ntx-vlan-stag-hw-insert: on\nrx-vlan-stag-hw-parse: on\nrx-vlan-stag-filter: off [fixed]\nl2-fwd-offload: off [fixed]\nhw-tc-offload: off [fixed]\nesp-hw-offload: off [fixed]\nesp-tx-csum-hw-offload: off [fixed]\nrx-udp_tunnel-port-offload: off [fixed]\ntls-hw-tx-offload: off [fixed]\ntls-hw-rx-offload: off [fixed]\nrx-gro-hw: off [fixed]\ntls-hw-record: off [fixed]\nrx-gro-list: off\nmacsec-hw-offload: off [fixed]\nrx-udp-gro-forwarding: off\nhsr-tag-ins-offload: off [fixed]\nhsr-tag-rm-offload: off [fixed]\nhsr-fwd-offload: off [fixed]\nhsr-dup-offload: off [fixed]\n' 942s 942s ====================================================================== 942s FAIL: test_link_offloading (__main__.TestNetworkd.test_link_offloading) 942s ---------------------------------------------------------------------- 942s Traceback (most recent call last): 942s File "/tmp/autopkgtest.urTG2T/build.w51/src/tests/integration/ethernets.py", line 331, in test_link_offloading 942s self.assertIn(b'tcp-segmentation-offload: off', out) 942s ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 942s AssertionError: b'tcp-segmentation-offload: off' not found in b'Features for eth42:\nrx-checksumming: off\ntx-checksumming: off\n\ttx-checksum-ipv4: off [fixed]\n\ttx-checksum-ip-generic: off\n\ttx-checksum-ipv6: off [fixed]\n\ttx-checksum-fcoe-crc: off [fixed]\n\ttx-checksum-sctp: off\nscatter-gather: on\n\ttx-scatter-gather: on\n\ttx-scatter-gather-fraglist: on\ntcp-segmentation-offload: on\n\ttx-tcp-segmentation: off\n\ttx-tcp-ecn-segmentation: off [requested on]\n\ttx-tcp-mangleid-segmentation: off [requested on]\n\ttx-tcp6-segmentation: off\n\ttx-tcp-accecn-segmentation: on\ngeneric-segmentation-offload: off\ngeneric-receive-offload: off\nlarge-receive-offload: off [fixed]\nrx-vlan-offload: on\ntx-vlan-offload: on\nntuple-filters: off [fixed]\nreceive-hashing: off [fixed]\nhighdma: on\nrx-vlan-filter: off [fixed]\nvlan-challenged: off [fixed]\ntx-gso-robust: off [fixed]\ntx-fcoe-segmentation: off [fixed]\ntx-gre-segmentation: on\ntx-gre-csum-segmentation: on\ntx-ipxip4-se gmentation: on\ntx-ipxip6-segmentation: on\ntx-udp_tnl-segmentation: on\ntx-udp_tnl-csum-segmentation: on\ntx-gso-partial: off [fixed]\ntx-tunnel-remcsum-segmentation: off [fixed]\ntx-sctp-segmentation: on\ntx-esp-segmentation: off [fixed]\ntx-udp-segmentation: off [requested on]\ntx-gso-list: on\ntx-nocache-copy: off\nloopback: off [fixed]\nrx-fcs: off [fixed]\nrx-all: off [fixed]\ntx-vlan-stag-hw-insert: on\nrx-vlan-stag-hw-parse: on\nrx-vlan-stag-filter: off [fixed]\nl2-fwd-offload: off [fixed]\nhw-tc-offload: off [fixed]\nesp-hw-offload: off [fixed]\nesp-tx-csum-hw-offload: off [fixed]\nrx-udp_tunnel-port-offload: off [fixed]\ntls-hw-tx-offload: off [fixed]\ntls-hw-rx-offload: off [fixed]\nrx-gro-hw: off [fixed]\ntls-hw-record: off [fixed]\nrx-gro-list: off\nmacsec-hw-offload: off [fixed]\nrx-udp-gro-forwarding: off\nhsr-tag-ins-offload: off [fixed]\nhsr-tag-rm-offload: off [fixed]\nhsr-fwd-offload: off [fixed]\nhsr-dup-offload: off [fixed]\n' And 3191s ====================================================================== 3191s FAIL: test_tunnel_vxlan (__main__.TestNetworkManager.test_tunnel_vxlan) 3191s ---------------------------------------------------------------------- 3191s Traceback (most recent call last): 3191s File "/tmp/autopkgtest.u7PNnf/build.Hzu/src/tests/integration/tunnels.py", line 274, in test_tunnel_vxlan 3191s self.assert_iface('vx0', ['vxlan ', ' id 1337 ', ' group 224.0.0.5 ', 3191s ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' local 10.10.10.42 ', ' srcport 4000 4200 ', 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' dev %s ' % self.dev_e_client, 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' dstport 4567 ', ' rsc ', ' l2miss ', 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' l3miss ', ' ttl 64 ', ' ageing 100 ']) 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s File "/tmp/autopkgtest.u7PNnf/build.Hzu/src/tests/integration/base.py", line 335, in assert_iface 3191s self.assertRegex(out, r, out) 3191s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 3191s AssertionError: Regex didn't match: ' local 10.10.10.42 ' not found in '60: vx0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000\n link/ether 3a:1c:6a:fc:72:ba brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535 \n vxlan id 1337 group 224.0.0.5 info: Using default fan map value (34)\nlocal 10.10.10.42 dev eth42 srcport 4000 4200 dstport 4567 ttl 64 ageing 100 nolearning rsc l2miss l3miss numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536 \n inet6 fe80::381c:6aff:fefc:72ba/64 scope link proto kernel_ll \n valid_lft forever preferred_lft forever\n' : 60: vx0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000 3191s link/ether 3a:1c:6a:fc:72:ba brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535 3191s vxlan id 1337 group 224.0.0.5 info: Using default fan map value (34) 3191s local 10.10.10.42 dev eth42 srcport 4000 4200 dstport 4567 ttl 64 ageing 100 nolearning rsc l2miss l3miss numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536 3191s inet6 fe80::381c:6aff:fefc:72ba/64 scope link proto kernel_ll 3191s valid_lft forever preferred_lft forever 3191s 3191s 3191s ====================================================================== 3191s FAIL: test_tunnel_vxlan (__main__.TestNetworkd.test_tunnel_vxlan) 3191s ---------------------------------------------------------------------- 3191s Traceback (most recent call last): 3191s File "/tmp/autopkgtest.u7PNnf/build.Hzu/src/tests/integration/tunnels.py", line 274, in test_tunnel_vxlan 3191s self.assert_iface('vx0', ['vxlan ', ' id 1337 ', ' group 224.0.0.5 ', 3191s ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' local 10.10.10.42 ', ' srcport 4000 4200 ', 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' dev %s ' % self.dev_e_client, 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' dstport 4567 ', ' rsc ', ' l2miss ', 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s ' l3miss ', ' ttl 64 ', ' ageing 100 ']) 3191s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3191s File "/tmp/autopkgtest.u7PNnf/build.Hzu/src/tests/integration/base.py", line 335, in assert_iface 3191s self.assertRegex(out, r, out) 3191s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 3191s AssertionError: Regex didn't match: ' local 10.10.10.42 ' not found in '137: vx0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000\n link/ether da:c7:b2:42:52:5f brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535 \n vxlan id 1337 group 224.0.0.5 info: Using default fan map value (34)\nlocal 10.10.10.42 dev eth42 srcport 4000 4200 dstport 4567 ttl 64 ageing 100 nolearning rsc l2miss l3miss udp_zero_csum6_tx udp_zero_csum6_rx remcsum_tx remcsum_rx numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536 \n inet6 fe80::d8c7:b2ff:fe42:525f/64 scope link proto kernel_ll \n valid_lft forever preferred_lft forever\n' : 137: vx0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000 3191s link/ether da:c7:b2:42:52:5f brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535 3191s vxlan id 1337 group 224.0.0.5 info: Using default fan map value (34) 3191s local 10.10.10.42 dev eth42 srcport 4000 4200 dstport 4567 ttl 64 ageing 100 nolearning rsc l2miss l3miss udp_zero_csum6_tx udp_zero_csum6_rx remcsum_tx remcsum_rx numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536 3191s inet6 fe80::d8c7:b2ff:fe42:525f/64 scope link proto kernel_ll 3191s valid_lft forever preferred_lft forever To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ethtool/+bug/2115790/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

