5ebfb4cc30
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>
29 lines
667 B
Bash
Executable File
29 lines
667 B
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# A simple program for generating traffic for the toeplitz test.
|
|
#
|
|
# This program sends packets periodically for, conservatively, 20 seconds. The
|
|
# intent is for the calling program to kill this program once it is no longer
|
|
# needed, rather than waiting for the 20 second expiration.
|
|
|
|
send_traffic() {
|
|
expiration=$((SECONDS+20))
|
|
while [[ "${SECONDS}" -lt "${expiration}" ]]
|
|
do
|
|
if [[ "${PROTO}" == "-u" ]]; then
|
|
echo "msg $i" | nc "${IPVER}" -u -w 0 "${ADDR}" "${PORT}"
|
|
else
|
|
echo "msg $i" | nc "${IPVER}" -w 0 "${ADDR}" "${PORT}"
|
|
fi
|
|
sleep 0.001
|
|
done
|
|
}
|
|
|
|
PROTO=$1
|
|
IPVER=$2
|
|
ADDR=$3
|
|
PORT=$4
|
|
|
|
send_traffic
|