mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 14:05:19 +08:00
50b3ed57de
Adds a test that sends different types of packets over multiple tunnels and verifies that valid packets are dissected correctly. To do so, a tc-flower rule is added to drop packets on UDP src port 9, and packets are sent from ports 8, 9, and 10. Only the packets on port 9 should be dropped. Because tc-flower relies on the flow dissector to match flows, correct classification demonstrates correct dissection. Also add support logic to load the BPF program and to inject the test packets. Signed-off-by: Petar Penkov <ppenkov@google.com> Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
37 lines
693 B
Bash
Executable File
37 lines
693 B
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# setup tunnels for flow dissection test
|
|
|
|
readonly SUFFIX="test_$(mktemp -u XXXX)"
|
|
CONFIG="remote 127.0.0.2 local 127.0.0.1 dev lo"
|
|
|
|
setup() {
|
|
ip link add "ipip_${SUFFIX}" type ipip ${CONFIG}
|
|
ip link add "gre_${SUFFIX}" type gre ${CONFIG}
|
|
ip link add "sit_${SUFFIX}" type sit ${CONFIG}
|
|
|
|
echo "tunnels before test:"
|
|
ip tunnel show
|
|
|
|
ip link set "ipip_${SUFFIX}" up
|
|
ip link set "gre_${SUFFIX}" up
|
|
ip link set "sit_${SUFFIX}" up
|
|
}
|
|
|
|
|
|
cleanup() {
|
|
ip tunnel del "ipip_${SUFFIX}"
|
|
ip tunnel del "gre_${SUFFIX}"
|
|
ip tunnel del "sit_${SUFFIX}"
|
|
|
|
echo "tunnels after test:"
|
|
ip tunnel show
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
setup
|
|
"$@"
|
|
exit "$?"
|