OSDN Git Service

selftests/bpf: test bpf flow dissection
authorPetar Penkov <ppenkov@google.com>
Fri, 14 Sep 2018 14:46:22 +0000 (07:46 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 14 Sep 2018 19:04:33 +0000 (12:04 -0700)
commit50b3ed57dee9cd0e06c59826cec8af14b51bab3e
treea80dc2e952a61a052a786792e1400190eb526815
parent9c98b13cc3bb5d90ee2ec047d591272b382468fd
selftests/bpf: test bpf flow dissection

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>
tools/testing/selftests/bpf/.gitignore
tools/testing/selftests/bpf/Makefile
tools/testing/selftests/bpf/config
tools/testing/selftests/bpf/flow_dissector_load.c [new file with mode: 0644]
tools/testing/selftests/bpf/test_flow_dissector.c [new file with mode: 0644]
tools/testing/selftests/bpf/test_flow_dissector.sh [new file with mode: 0755]
tools/testing/selftests/bpf/with_addr.sh [new file with mode: 0755]
tools/testing/selftests/bpf/with_tunnels.sh [new file with mode: 0755]