I came up with a smaller version of the vxlan exerciser from rtnetlink.sh:
==================================================
$ cat test_vxlan.sh
#!/bin/bash
set -x
# setup
ip link add name test-dummy0 type dummy
ip link set test-dummy0 up
ip netns add testns
ip -netns testns link set lo up
ip -netns testns link add name test-dummy0 type dummy
ip -netns testns link set test-dummy0 up
ip -netns testns link add test-vxlan0 type vxlan id 42 group 239.1.1.1 dev test-dummy0 dstport 4789
# This is expected to fail
ip -netns testns link set dev test-vxlan0 type vxlan ttl inherit
echo $?
# cleanup
ip -netns testns link del test-vxlan0
ip netns del testns
ip link del dev test-dummy0
==================================================
With the same 5.4 kernel, on Focal the line which is flagged as expected to fail returns:
+ ip -netns testns link set dev test-vxlan0 type vxlan ttl inherit
Error: vxlan: cannot change TTL_INHERIT flag.
+ echo 2
2
I came up with a smaller version of the vxlan exerciser from rtnetlink.sh:
======= ======= ======= ======= ======= ======= ======= =
$ cat test_vxlan.sh
#!/bin/bash
set -x
# setup
ip link add name test-dummy0 type dummy
ip link set test-dummy0 up
ip netns add testns
ip -netns testns link set lo up
ip -netns testns link add name test-dummy0 type dummy
ip -netns testns link set test-dummy0 up
ip -netns testns link add test-vxlan0 type vxlan id 42 group 239.1.1.1 dev test-dummy0 dstport 4789
# This is expected to fail
ip -netns testns link set dev test-vxlan0 type vxlan ttl inherit
echo $?
# cleanup ======= ======= ======= ======= ======= ======= =
ip -netns testns link del test-vxlan0
ip netns del testns
ip link del dev test-dummy0
=======
With the same 5.4 kernel, on Focal the line which is flagged as expected to fail returns:
+ ip -netns testns link set dev test-vxlan0 type vxlan ttl inherit
Error: vxlan: cannot change TTL_INHERIT flag.
+ echo 2
2
while on Bionic it succeeds.