The problem likely stems from this upstream change:

commit f8337efa4ff5a27e6c1d4e384166413eecd21a65
Author: Petr Machata <[email protected]>
Date:   Tue Jun 17 00:44:19 2025 +0200

    vxlan: Support MC routing in the underlay

which adds IFLA_VXLAN_MC_ROUTE to the vxlan flags.

On top of that

commit 33460140413ebb045df8de71774a1555abd3efde
Author: Jay Vosburgh <[email protected]>
Date:   Wed May 1 14:34:00 2024 +0200

    UBUNTU: SAUCE: fan: add VXLAN implementation

...
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -1399,6 +1399,7 @@ enum {
        IFLA_VXLAN_LABEL_POLICY, /* IPv6 flow label policy; 
ifla_vxlan_label_policy */
        IFLA_VXLAN_RESERVED_BITS,
        IFLA_VXLAN_MC_ROUTE,
+       IFLA_VXLAN_FAN_MAP = 35,
        __IFLA_VXLAN_MAX
 };
 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)

adds the flag for the fan map. Historically using a number high enough
to leave a gap.  But since we expose the number via procfs there was no
gap in Plucky. We should adjust the fan patch to set no fix number and
just be appended to the set.

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

Title:
  iproute2 breaking netplan DEP-8 tests in Questing, unexpected "fan-
  map" in JSON output

Status in iproute2 package in Ubuntu:
  Invalid
Status in linux package in Ubuntu:
  Triaged
Status in netplan.io package in Ubuntu:
  New
Status in iproute2 source package in Questing:
  Invalid
Status in linux source package in Questing:
  Triaged
Status in netplan.io source package in Questing:
  New

Bug description:
  iproute2 prints unexpected output about "fan-map" in the middle of its
  JSON output.

  Similar, but slightly different to bug #2115790

  2430s test_tunnel_vxlan (__main__.TestNetworkd.test_tunnel_vxlan) ... eth42 
vx0 ERROR
  2438s test_tunnel_wireguard (__main__.TestNetworkd.test_tunnel_wireguard) ... 
wg0 wg1 ok
  2438s
  2438s ======================================================================
  2438s ERROR: test_tunnel_vxlan (__main__.TestNetworkd.test_tunnel_vxlan)
  2438s ----------------------------------------------------------------------
  2438s Traceback (most recent call last):
  2438s   File 
"/tmp/autopkgtest.N7Mfst/build.7aq/src/tests/integration/tunnels.py", line 281, 
in test_tunnel_vxlan
  2438s     json = self.iface_json('vx0')
  2438s   File 
"/tmp/autopkgtest.N7Mfst/build.7aq/src/tests/integration/base.py", line 323, in 
iface_json
  2438s     json_dict = json.loads(out)
  2438s   File "/usr/lib/python3.13/json/__init__.py", line 346, in loads
  2438s     return _default_decoder.decode(s)
  2438s            ~~~~~~~~~~~~~~~~~~~~~~~^^^
  2438s   File "/usr/lib/python3.13/json/decoder.py", line 345, in decode
  2438s     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  2438s                ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  2438s   File "/usr/lib/python3.13/json/decoder.py", line 361, in raw_decode
  2438s     obj, end = self.scan_once(s, idx)
  2438s                ~~~~~~~~~~~~~~^^^^^^^^
  2438s json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 
379 (char 378)
  2438s
  2438s ----------------------------------------------------------------------
  2438s Ran 26 tests in 295.714s
  2438s
  2438s FAILED (errors=1)

  Reproducer:
  $ autopkgtest-buildvm-ubuntu-cloud -r questing
  $ 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 -- qemu ./autopkgtest-questing-amd64.img

  inside the VM:
  root@autopkgtest:~# cat /etc/netplan/tun.yaml
  network:
    renderer: networkd
    version: 2
    tunnels:
      vx0:
        mode: vxlan
        id: 1337
        link: ens3
        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:
      ens3:
          dhcp4: true
  root@autopkgtest:~# netplan apply
  root@autopkgtest:~# ip -j -d a show dev vx0
  
[{"ifindex":146,"ifname":"vx0","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1450,"qdisc":"noqueue","operstate":"UNKNOWN","group":"default","txqlen":1000,"link_type":"ether","address":"de:85:01:51:96:fd","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"fan-map
 
,"local":"10.10.10.42","link":"ens3","port_range":{"low":4000,"high":4200},"port":4567,"ttl":64,"df":"unset","ageing":100,"reserved_bits":"0xf7ffffff000000ff","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":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"addr_info":[{"family":"inet6","local":"fe80::dc85:1ff:fe51:96fd","prefixlen":64,"scope":"link","protocol":"kernel_ll","valid_life_time":4294967295,"preferred_life_time":4294967295}]}]

  This provides us with this broken JSON string:
  "group":"224.0.0.5"fan-map,

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/iproute2/+bug/2124257/+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

Reply via email to