[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181204040100.243614-1-sdf@google.com>
Date: Mon, 3 Dec 2018 20:00:55 -0800
From: Stanislav Fomichev <sdf@...gle.com>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, ast@...nel.org, daniel@...earbox.net,
simon.horman@...ronome.com, liu.song.a23@...il.com,
Stanislav Fomichev <sdf@...gle.com>
Subject: [PATCH bpf-next v2 0/5] support flow dissector in BPF_PROG_TEST_RUN
This patch series adds support for testing flow dissector BPF programs by
extending already existing BPF_PROG_TEST_RUN. The goal is to have a
packet as an input and `struct bpf_flow_key' as an output. That way
we can easily test flow dissector programs' behavior.
I've also modified existing test_progs.c test to do a simple flow
dissector run as well.
* first patch introduces new __skb_flow_bpf_dissect to simplify
sharing between __skb_flow_bpf_dissect and BPF_PROG_TEST_RUN
* second patch adds actual BPF_PROG_TEST_RUN support
* third patch converts BPF flow dissector to thoff
* forth patch correctly caps nhoff and thoff returned from bpf flow
dissector
* fifth patch adds example usage to the selftests
v2 changes:
* new patch to use thoff instead of nhoff in bpf flow dissector
* new patch to correctly cap thoff for BPF case
* add missing memset(flow_keys, 0, ...) to __skb_flow_bpf_dissect
* set test iterations to 10
Stanislav Fomichev (5):
net/flow_dissector: move bpf case into __skb_flow_bpf_dissect
bpf: add BPF_PROG_TEST_RUN support for flow dissector
selftests/bpf: use thoff instead of nhoff in BPF flow dissector
net/flow_dissector: correctly cap nhoff and thoff in case of BPF
selftests/bpf: add simple BPF_PROG_TEST_RUN examples for flow
dissector
include/linux/bpf.h | 3 +
include/linux/skbuff.h | 5 ++
net/bpf/test_run.c | 71 ++++++++++++++-
net/core/filter.c | 1 +
net/core/flow_dissector.c | 88 ++++++++++++-------
tools/testing/selftests/bpf/Makefile | 3 +
tools/testing/selftests/bpf/bpf_flow.c | 36 ++++----
.../selftests/bpf/flow_dissector_load.c | 43 ++-------
.../selftests/bpf/flow_dissector_load.h | 55 ++++++++++++
tools/testing/selftests/bpf/test_progs.c | 78 +++++++++++++++-
10 files changed, 289 insertions(+), 94 deletions(-)
create mode 100644 tools/testing/selftests/bpf/flow_dissector_load.h
--
2.20.0.rc1.387.gf8505762e3-goog
Powered by blists - more mailing lists