selftests/net: toeplitz test
authorCoco Li <lixiaoyan@google.com>
Thu, 5 Aug 2021 07:36:41 +0000 (07:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Aug 2021 12:14:09 +0000 (13:14 +0100)
commit5ebfb4cc3048380b43506ffc71b9cf8b83128989
treeb747cd1101d4e9417f792a1a5cacfeb1b21dea7b
parent7d1575014a63caeebb13b000ee152ce711580119
selftests/net: toeplitz test

To verify that this hash implements the Toeplitz hash function.

Additionally, provide a script toeplitz.sh to run the test in loopback mode
on a networking device of choice (see setup_loopback.sh). Since the
script modifies the NIC setup, it will not be run by selftests
automatically.

Tested:
./toeplitz.sh -i eth0 -irq_prefix <eth0_pattern> -t -6
carrier ready
rxq 0: cpu 14
rxq 1: cpu 20
rxq 2: cpu 17
rxq 3: cpu 23
cpu 14: rx_hash 0x69103ebc [saddr fda8::2 daddr fda8::1 sport 58938 dport 8000] OK rxq 0 (cpu 14)
...
cpu 20: rx_hash 0x257118b9 [saddr fda8::2 daddr fda8::1 sport 59258 dport 8000] OK rxq 1 (cpu 20)
count: pass=111 nohash=0 fail=0
Test Succeeded!

Signed-off-by: Coco Li <lixiaoyan@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/Makefile
tools/testing/selftests/net/toeplitz.c [new file with mode: 0644]
tools/testing/selftests/net/toeplitz.sh [new file with mode: 0755]
tools/testing/selftests/net/toeplitz_client.sh [new file with mode: 0755]