]> www.infradead.org Git - users/willy/linux.git/commit
selftests: vxlan_mdb: Fix failures with old libnet
authorIdo Schimmel <idosch@nvidia.com>
Mon, 25 Mar 2024 07:50:30 +0000 (09:50 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 26 Mar 2024 11:29:25 +0000 (12:29 +0100)
commitf1425529c33def8b46faae4400dd9e2bbaf16a05
treeaa80871e47775a862daecdbb0a03d3201302acd3
parent8c05813df270324ce0b3a8647facc70c9bdd6fb5
selftests: vxlan_mdb: Fix failures with old libnet

Locally generated IP multicast packets (such as the ones used in the
test) do not perform routing and simply egress the bound device.

However, as explained in commit 8bcfb4ae4d97 ("selftests: forwarding:
Fix failing tests with old libnet"), old versions of libnet (used by
mausezahn) do not use the "SO_BINDTODEVICE" socket option. Specifically,
the library started using the option for IPv6 sockets in version 1.1.6
and for IPv4 sockets in version 1.2. This explains why on Ubuntu - which
uses version 1.1.6 - the IPv4 overlay tests are failing whereas the IPv6
ones are passing.

Fix by specifying the source and destination MAC of the packets which
will cause mausezahn to use a packet socket instead of an IP socket.

Fixes: 62199e3f1658 ("selftests: net: Add VXLAN MDB test")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/5bb50349-196d-4892-8ed2-f37543aa863f@alu.unizg.hr/
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Link: https://lore.kernel.org/r/20240325075030.2379513-1-idosch@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/test_vxlan_mdb.sh