]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON
authorMartin KaFai Lau <kafai@fb.com>
Fri, 25 Sep 2020 00:04:02 +0000 (17:04 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 25 Sep 2020 20:58:01 +0000 (13:58 -0700)
commitd349eb0461a28f4290bac0631cc2c80a182a0892
tree3b79eb23f44199dd73ae232950ed4d025a4bd8c5
parentde8c4ce443470622a8a78f52e3de70a8d1c55920
bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON

This patch changes the bpf_sk_storage_*() to take
ARG_PTR_TO_BTF_ID_SOCK_COMMON such that they will work with the pointer
returned by the bpf_skc_to_*() helpers also.

A micro benchmark has been done on a "cgroup_skb/egress" bpf program
which does a bpf_sk_storage_get().  It was driven by netperf doing
a 4096 connected UDP_STREAM test with 64bytes packet.
The stats from "kernel.bpf_stats_enabled" shows no meaningful difference.

The sk_storage_get_btf_proto, sk_storage_delete_btf_proto,
btf_sk_storage_get_proto, and btf_sk_storage_delete_proto are
no longer needed, so they are removed.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Lorenz Bauer <lmb@cloudflare.com>
Link: https://lore.kernel.org/bpf/20200925000402.3856307-1-kafai@fb.com
include/net/bpf_sk_storage.h
include/uapi/linux/bpf.h
kernel/bpf/bpf_lsm.c
net/core/bpf_sk_storage.c
net/ipv4/bpf_tcp_ca.c
tools/include/uapi/linux/bpf.h