* [MPTCP] [PATCH mptcp-next v2 0/3] bpf: add MPTCP subflow support
@ 2020-08-11 9:35 Nicolas Rybowski
0 siblings, 0 replies; only message in thread
From: Nicolas Rybowski @ 2020-08-11 9:35 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1530 bytes --]
Previously it was not possible to make a distinction between plain TCP
sockets and MPTCP subflow sockets on the BPF_PROG_TYPE_SOCK_OPS hook.
This patch series now enables a fine control of subflow sockets. In its
current state, it allows to put different sockopt on each subflow from a
same MPTCP connection (socket mark, TCP congestion algorithm, ...) using
BPF programs.
It should also be the basis of exposing MPTCP-specific fields through BPF.
v1 -> v2:
- update cgroup attachment code in net/mptcp/subflow.c due to additional #ifdef
- revert MPTCP private structure moving in public API (previous patch 3)
- move new BPF helper implementation in net/mptcp/bpf.c
- add bpf.c in Makefile of net/mptcp
- minor cosmetic changes: alignment of function's arguments on open
parenthesis
Nicolas Rybowski (3):
bpf: expose is_mptcp flag to bpf_tcp_sock
mptcp: attach subflow socket to parent cgroup
bpf: add 'bpf_mptcp_sock' structure and helper
include/linux/bpf.h | 33 ++++++++++++++++
include/uapi/linux/bpf.h | 14 +++++++
kernel/bpf/verifier.c | 30 ++++++++++++++
net/core/filter.c | 13 +++++-
net/mptcp/Makefile | 2 +
net/mptcp/bpf.c | 72 ++++++++++++++++++++++++++++++++++
net/mptcp/subflow.c | 27 +++++++++++++
scripts/bpf_helpers_doc.py | 2 +
tools/include/uapi/linux/bpf.h | 14 +++++++
9 files changed, 206 insertions(+), 1 deletion(-)
create mode 100644 net/mptcp/bpf.c
--
2.28.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-08-11 9:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-11 9:35 [MPTCP] [PATCH mptcp-next v2 0/3] bpf: add MPTCP subflow support Nicolas Rybowski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.