bpf: more sock_ops callbacks
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest11 patches 3 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | bpf: Make SOCK_OPS_GET_TCP size independentnet/ | +8 | 0 replies | |
| 2/11 | bpf: Make SOCK_OPS_GET_TCP struct independentnet/ | +9 | 0 replies | |
| 3/11 | bpf: Add write access to tcp_sock and sock fieldsinclude/ include/ net/ | +50 | 2 replies | |
| 4/11 | bpf: Support passing args to sock_ops bpf functioninclude/ include/ include/ +3 more | +66 | 0 replies | |
| 5/11 | bpf: Adds field bpf_sock_ops_flags to tcp_sockinclude/ include/ net/ | +15 | 0 replies | |
| 6/11 | bpf: Add sock_ops RTO callbackinclude/ include/ net/ | +17 | 0 replies | |
| 7/11 | bpf: Add support for reading sk_state and moreinclude/ net/ | +114 | 0 replies | |
| 8/11 | bpf: Add sock_ops R/W access to tclass & sk_txhashinclude/ net/ | +47 | 0 replies | |
| 9/11 | bpf: Add BPF_SOCK_OPS_RETRANS_CBinclude/ include/ net/ | +8 | 0 replies | |
| 10/11 | bpf: Add BPF_SOCK_OPS_STATE_CBinclude/ include/ net/ | +7 | 0 replies | |
| 11/11 | bpf: add selftest for tcpbpftools/ tools/ tools/ +3 more | +438 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH bpf 0/11] bpf: more sock_ops callbacks
This patchset adds support for:
- direct R or R/W access to many tcp_sock fields
- passing up to 4 arguments to sock_ops BPF functions
- tcp_sock field bpf_sock_ops_flags for controlling callbacks
- optionally calling sock_ops BPF program when RTO fires
- optionally calling sock_ops BPF program when packet is retransmitted
- optionally calling sock_ops BPF program when TCP state changes
- access to tclass and sk_txhash
- new selftest
Consists of the following patches:
[PATCH bpf 01/11] bpf: Make SOCK_OPS_GET_TCP size independent [PATCH bpf 02/11] bpf: Make SOCK_OPS_GET_TCP struct independent [PATCH bpf 03/11] bpf: Add write access to tcp_sock and sock fields [PATCH bpf 04/11] bpf: Support passing args to sock_ops bpf function [PATCH bpf 05/11] bpf: Adds field bpf_sock_ops_flags to tcp_sock [PATCH bpf 06/11] bpf: Add sock_ops RTO callback
[PATCH bpf 07/11] bpf: Add support for reading sk_state and more [PATCH bpf 08/11] bpf: Add sock_ops R/W access to tclass & sk_txhash [PATCH bpf 09/11] bpf: Add BPF_SOCK_OPS_RETRANS_CB
[PATCH bpf 10/11] bpf: Add BPF_SOCK_OPS_STATE_CB
[PATCH bpf 11/11] bpf: add selftest for tcpbpf
include/linux/filter.h | 4 + include/linux/tcp.h | 8 ++ include/net/tcp.h | 66 +++++++++- include/uapi/linux/bpf.h | 39 +++++- include/uapi/linux/tcp.h | 5 + net/core/filter.c | 212 ++++++++++++++++++++++++++++++-- net/ipv4/tcp.c | 4 +- net/ipv4/tcp_nv.c | 2 +- net/ipv4/tcp_output.c | 5 +- net/ipv4/tcp_timer.c | 9 ++ tools/include/uapi/linux/bpf.h | 45 ++++++- tools/testing/selftests/bpf/Makefile | 5 +- tools/testing/selftests/bpf/tcp_client.py | 57 +++++++++ tools/testing/selftests/bpf/tcp_server.py | 83 +++++++++++++ tools/testing/selftests/bpf/test_tcpbpf_kern.c | 133 ++++++++++++++++++++ tools/testing/selftests/bpf/test_tcpbpf_user.c | 119 ++++++++++++++++++ 16 files changed, 772 insertions(+), 24 deletions(-)