[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200706230128.4073544-1-sdf@google.com>
Date: Mon, 6 Jul 2020 16:01:24 -0700
From: Stanislav Fomichev <sdf@...gle.com>
To: netdev@...r.kernel.org, bpf@...r.kernel.org
Cc: davem@...emloft.net, ast@...nel.org, daniel@...earbox.net,
Stanislav Fomichev <sdf@...gle.com>
Subject: [PATCH bpf-next v4 0/4] bpf: add BPF_CGROUP_INET_SOCK_RELEASE hook
Sometimes it's handy to know when the socket gets freed.
In particular, we'd like to try to use a smarter allocation
of ports for bpf_bind and explore the possibility of
limiting the number of SOCK_DGRAM sockets the process can have.
There is already existing BPF_CGROUP_INET_SOCK_CREATE hook
that triggers upon socket creation; let's add new hook
(BPF_CGROUP_INET_SOCK_RELEASE) that triggers on socket release.
v4:
* initialize global BPF vars (Andrii Nakryiko)
* simplify error handling (Andrii Nakryiko)
v3:
* s/CHECK_FAIL/CHECK/ (Andrii Nakryiko)
* s/bpf_prog_attach/bpf_program__attach_cgroup/ (Andrii Nakryiko)
* fix &in_use in BPF program (Andrii Nakryiko)
v2:
* fix compile issue with CONFIG_CGROUP_BPF=n (kernel test robot)
Stanislav Fomichev (4):
bpf: add BPF_CGROUP_INET_SOCK_RELEASE hook
libbpf: add support for BPF_CGROUP_INET_SOCK_RELEASE
bpftool: add support for BPF_CGROUP_INET_SOCK_RELEASE
selftests/bpf: test BPF_CGROUP_INET_SOCK_RELEASE
include/linux/bpf-cgroup.h | 4 +
include/uapi/linux/bpf.h | 1 +
kernel/bpf/syscall.c | 3 +
net/core/filter.c | 1 +
net/ipv4/af_inet.c | 3 +
tools/bpf/bpftool/common.c | 1 +
tools/include/uapi/linux/bpf.h | 1 +
tools/lib/bpf/libbpf.c | 4 +
.../selftests/bpf/prog_tests/udp_limit.c | 75 +++++++++++++++++++
tools/testing/selftests/bpf/progs/udp_limit.c | 42 +++++++++++
10 files changed, 135 insertions(+)
create mode 100644 tools/testing/selftests/bpf/prog_tests/udp_limit.c
create mode 100644 tools/testing/selftests/bpf/progs/udp_limit.c
--
2.27.0.212.ge8ba1cc988-goog
Powered by blists - more mailing lists