/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | main.c | 27 struct nfp_app_bpf *bpf = nn->app->priv; in nfp_net_ebpf_capable() local 30 bpf->abi_version && in nfp_net_ebpf_capable() 31 nn_readb(nn, NFP_NET_CFG_BPF_ABI) == bpf->abi_version; in nfp_net_ebpf_capable() 206 nfp_bpf_parse_cap_adjust_head(struct nfp_app_bpf *bpf, void __iomem *value, in nfp_bpf_parse_cap_adjust_head() argument 210 struct nfp_cpp *cpp = bpf->app->pf->cpp; in nfp_bpf_parse_cap_adjust_head() 217 bpf->adjust_head.flags = readl(&cap->flags); in nfp_bpf_parse_cap_adjust_head() 218 bpf->adjust_head.off_min = readl(&cap->off_min); in nfp_bpf_parse_cap_adjust_head() 219 bpf->adjust_head.off_max = readl(&cap->off_max); in nfp_bpf_parse_cap_adjust_head() 220 bpf->adjust_head.guaranteed_sub = readl(&cap->guaranteed_sub); in nfp_bpf_parse_cap_adjust_head() 221 bpf in nfp_bpf_parse_cap_adjust_head() 238 nfp_bpf_parse_cap_func(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_func() argument 266 nfp_bpf_parse_cap_maps(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_maps() argument 286 nfp_bpf_parse_cap_random(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_random() argument 294 nfp_bpf_parse_cap_qsel(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_qsel() argument 301 nfp_bpf_parse_cap_adjust_tail(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_adjust_tail() argument 309 nfp_bpf_parse_cap_cmsg_multi_ent(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_cmsg_multi_ent() argument 317 nfp_bpf_parse_cap_abi_version(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_abi_version() argument 418 nfp_bpf_init_capabilities(struct nfp_app_bpf *bpf) nfp_bpf_init_capabilities() argument 425 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ndo_init() local 432 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ndo_uninit() local 439 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_start() local 458 struct nfp_app_bpf *bpf; nfp_bpf_init() local 510 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_clean() local [all...] |
H A D | cmsg.c | 4 #include <linux/bpf.h> 18 nfp_bpf_cmsg_alloc(struct nfp_app_bpf *bpf, unsigned int size) in nfp_bpf_cmsg_alloc() argument 22 skb = nfp_app_ctrl_msg_alloc(bpf->app, size, GFP_KERNEL); in nfp_bpf_cmsg_alloc() 29 nfp_bpf_cmsg_map_req_size(struct nfp_app_bpf *bpf, unsigned int n) in nfp_bpf_cmsg_map_req_size() argument 34 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_req_size() 40 nfp_bpf_cmsg_map_req_alloc(struct nfp_app_bpf *bpf, unsigned int n) in nfp_bpf_cmsg_map_req_alloc() argument 42 return nfp_bpf_cmsg_alloc(bpf, nfp_bpf_cmsg_map_req_size(bpf, n)); in nfp_bpf_cmsg_map_req_alloc() 46 nfp_bpf_cmsg_map_reply_size(struct nfp_app_bpf *bpf, unsigne argument 57 nfp_bpf_ctrl_rc_to_errno(struct nfp_app_bpf *bpf, struct cmsg_reply_map_simple *reply) nfp_bpf_ctrl_rc_to_errno() argument 82 nfp_bpf_ctrl_alloc_map(struct nfp_app_bpf *bpf, struct bpf_map *map) nfp_bpf_ctrl_alloc_map() argument 120 nfp_bpf_ctrl_free_map(struct nfp_app_bpf *bpf, struct nfp_bpf_map *nfp_map) nfp_bpf_ctrl_free_map() argument 152 nfp_bpf_ctrl_req_key(struct nfp_app_bpf *bpf, struct cmsg_req_map_op *req, unsigned int n) nfp_bpf_ctrl_req_key() argument 159 nfp_bpf_ctrl_req_val(struct nfp_app_bpf *bpf, struct cmsg_req_map_op *req, unsigned int n) nfp_bpf_ctrl_req_val() argument 166 nfp_bpf_ctrl_reply_key(struct nfp_app_bpf *bpf, struct cmsg_reply_map_op *reply, unsigned int n) nfp_bpf_ctrl_reply_key() argument 173 nfp_bpf_ctrl_reply_val(struct nfp_app_bpf *bpf, struct cmsg_reply_map_op *reply, unsigned int n) nfp_bpf_ctrl_reply_val() argument 203 struct nfp_app_bpf *bpf = nfp_map->bpf; nfp_bpf_ctrl_op_cache_get() local 297 struct nfp_app_bpf *bpf = nfp_map->bpf; nfp_bpf_ctrl_entry_op() local 417 nfp_bpf_ctrl_cmsg_min_mtu(struct nfp_app_bpf *bpf) nfp_bpf_ctrl_cmsg_min_mtu() argument 423 nfp_bpf_ctrl_cmsg_mtu(struct nfp_app_bpf *bpf) nfp_bpf_ctrl_cmsg_mtu() argument 430 nfp_bpf_ctrl_cmsg_cache_cnt(struct nfp_app_bpf *bpf) nfp_bpf_ctrl_cmsg_cache_cnt() argument 444 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ctrl_msg_rx() local 467 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ctrl_msg_rx_raw() local [all...] |
H A D | offload.c | 9 #define pr_fmt(fmt) "NFP net bpf: " fmt 11 #include <linux/bpf.h> 31 nfp_map_ptr_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptr_record() argument 38 record = rhashtable_lookup_fast(&bpf->maps_neutral, &map->id, in nfp_map_ptr_record() 61 err = rhashtable_insert_fast(&bpf->maps_neutral, &record->l, in nfp_map_ptr_record() 78 nfp_map_ptrs_forget(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog) in nfp_map_ptrs_forget() argument 89 WARN_ON(rhashtable_remove_fast(&bpf->maps_neutral, in nfp_map_ptrs_forget() 111 nfp_map_ptrs_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptrs_record() argument 136 err = nfp_map_ptr_record(bpf, nfp_prog, in nfp_map_ptrs_record() 139 nfp_map_ptrs_forget(bpf, nfp_pro in nfp_map_ptrs_record() 332 nfp_bpf_map_alloc(struct nfp_app_bpf *bpf, struct bpf_offloaded_map *offmap) nfp_bpf_map_alloc() argument 410 nfp_bpf_map_free(struct nfp_app_bpf *bpf, struct bpf_offloaded_map *offmap) nfp_bpf_map_free() argument 425 nfp_ndo_bpf(struct nfp_app *app, struct nfp_net *nn, struct netdev_bpf *bpf) nfp_ndo_bpf() argument 445 nfp_bpf_event_output(struct nfp_app_bpf *bpf, const void *data, unsigned int len) nfp_bpf_event_output() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | main.c | 27 struct nfp_app_bpf *bpf = nn->app->priv; in nfp_net_ebpf_capable() local 30 bpf->abi_version && in nfp_net_ebpf_capable() 31 nn_readb(nn, NFP_NET_CFG_BPF_ABI) == bpf->abi_version; in nfp_net_ebpf_capable() 206 nfp_bpf_parse_cap_adjust_head(struct nfp_app_bpf *bpf, void __iomem *value, in nfp_bpf_parse_cap_adjust_head() argument 210 struct nfp_cpp *cpp = bpf->app->pf->cpp; in nfp_bpf_parse_cap_adjust_head() 217 bpf->adjust_head.flags = readl(&cap->flags); in nfp_bpf_parse_cap_adjust_head() 218 bpf->adjust_head.off_min = readl(&cap->off_min); in nfp_bpf_parse_cap_adjust_head() 219 bpf->adjust_head.off_max = readl(&cap->off_max); in nfp_bpf_parse_cap_adjust_head() 220 bpf->adjust_head.guaranteed_sub = readl(&cap->guaranteed_sub); in nfp_bpf_parse_cap_adjust_head() 221 bpf in nfp_bpf_parse_cap_adjust_head() 238 nfp_bpf_parse_cap_func(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_func() argument 266 nfp_bpf_parse_cap_maps(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_maps() argument 286 nfp_bpf_parse_cap_random(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_random() argument 294 nfp_bpf_parse_cap_qsel(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_qsel() argument 301 nfp_bpf_parse_cap_adjust_tail(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_adjust_tail() argument 309 nfp_bpf_parse_cap_cmsg_multi_ent(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_cmsg_multi_ent() argument 317 nfp_bpf_parse_cap_abi_version(struct nfp_app_bpf *bpf, void __iomem *value, u32 length) nfp_bpf_parse_cap_abi_version() argument 418 nfp_bpf_init_capabilities(struct nfp_app_bpf *bpf) nfp_bpf_init_capabilities() argument 425 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ndo_init() local 432 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ndo_uninit() local 439 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_start() local 458 struct nfp_app_bpf *bpf; nfp_bpf_init() local 510 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_clean() local [all...] |
H A D | cmsg.c | 4 #include <linux/bpf.h> 18 nfp_bpf_cmsg_alloc(struct nfp_app_bpf *bpf, unsigned int size) in nfp_bpf_cmsg_alloc() argument 22 skb = nfp_app_ctrl_msg_alloc(bpf->app, size, GFP_KERNEL); in nfp_bpf_cmsg_alloc() 29 nfp_bpf_cmsg_map_req_size(struct nfp_app_bpf *bpf, unsigned int n) in nfp_bpf_cmsg_map_req_size() argument 34 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_req_size() 40 nfp_bpf_cmsg_map_req_alloc(struct nfp_app_bpf *bpf, unsigned int n) in nfp_bpf_cmsg_map_req_alloc() argument 42 return nfp_bpf_cmsg_alloc(bpf, nfp_bpf_cmsg_map_req_size(bpf, n)); in nfp_bpf_cmsg_map_req_alloc() 46 nfp_bpf_cmsg_map_reply_size(struct nfp_app_bpf *bpf, unsigne argument 57 nfp_bpf_ctrl_rc_to_errno(struct nfp_app_bpf *bpf, struct cmsg_reply_map_simple *reply) nfp_bpf_ctrl_rc_to_errno() argument 82 nfp_bpf_ctrl_alloc_map(struct nfp_app_bpf *bpf, struct bpf_map *map) nfp_bpf_ctrl_alloc_map() argument 120 nfp_bpf_ctrl_free_map(struct nfp_app_bpf *bpf, struct nfp_bpf_map *nfp_map) nfp_bpf_ctrl_free_map() argument 152 nfp_bpf_ctrl_req_key(struct nfp_app_bpf *bpf, struct cmsg_req_map_op *req, unsigned int n) nfp_bpf_ctrl_req_key() argument 159 nfp_bpf_ctrl_req_val(struct nfp_app_bpf *bpf, struct cmsg_req_map_op *req, unsigned int n) nfp_bpf_ctrl_req_val() argument 166 nfp_bpf_ctrl_reply_key(struct nfp_app_bpf *bpf, struct cmsg_reply_map_op *reply, unsigned int n) nfp_bpf_ctrl_reply_key() argument 173 nfp_bpf_ctrl_reply_val(struct nfp_app_bpf *bpf, struct cmsg_reply_map_op *reply, unsigned int n) nfp_bpf_ctrl_reply_val() argument 203 struct nfp_app_bpf *bpf = nfp_map->bpf; nfp_bpf_ctrl_op_cache_get() local 297 struct nfp_app_bpf *bpf = nfp_map->bpf; nfp_bpf_ctrl_entry_op() local 417 nfp_bpf_ctrl_cmsg_min_mtu(struct nfp_app_bpf *bpf) nfp_bpf_ctrl_cmsg_min_mtu() argument 423 nfp_bpf_ctrl_cmsg_mtu(struct nfp_app_bpf *bpf) nfp_bpf_ctrl_cmsg_mtu() argument 430 nfp_bpf_ctrl_cmsg_cache_cnt(struct nfp_app_bpf *bpf) nfp_bpf_ctrl_cmsg_cache_cnt() argument 444 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ctrl_msg_rx() local 467 struct nfp_app_bpf *bpf = app->priv; nfp_bpf_ctrl_msg_rx_raw() local [all...] |
H A D | offload.c | 9 #define pr_fmt(fmt) "NFP net bpf: " fmt 11 #include <linux/bpf.h> 31 nfp_map_ptr_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptr_record() argument 38 record = rhashtable_lookup_fast(&bpf->maps_neutral, &map->id, in nfp_map_ptr_record() 61 err = rhashtable_insert_fast(&bpf->maps_neutral, &record->l, in nfp_map_ptr_record() 78 nfp_map_ptrs_forget(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog) in nfp_map_ptrs_forget() argument 89 WARN_ON(rhashtable_remove_fast(&bpf->maps_neutral, in nfp_map_ptrs_forget() 111 nfp_map_ptrs_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptrs_record() argument 136 err = nfp_map_ptr_record(bpf, nfp_prog, in nfp_map_ptrs_record() 139 nfp_map_ptrs_forget(bpf, nfp_pro in nfp_map_ptrs_record() 332 nfp_bpf_map_alloc(struct nfp_app_bpf *bpf, struct bpf_offloaded_map *offmap) nfp_bpf_map_alloc() argument 410 nfp_bpf_map_free(struct nfp_app_bpf *bpf, struct bpf_offloaded_map *offmap) nfp_bpf_map_free() argument 425 nfp_ndo_bpf(struct nfp_app *app, struct nfp_net *nn, struct netdev_bpf *bpf) nfp_ndo_bpf() argument 445 nfp_bpf_event_output(struct nfp_app_bpf *bpf, const void *data, unsigned int len) nfp_bpf_event_output() argument [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | Makefile | 51 LIBBPF_SRC = $(TOOLS_PATH)/lib/bpf 57 CGROUP_HELPERS := ../../tools/testing/selftests/bpf/cgroup_helpers.o 58 TRACE_HELPERS := ../../tools/testing/selftests/bpf/trace_helpers.o 107 always-y += tracex1.bpf.o 108 always-y += tracex2.bpf.o 109 always-y += tracex3.bpf.o 110 always-y += tracex4.bpf.o 111 always-y += tracex5.bpf.o 112 always-y += tracex6.bpf.o 113 always-y += tracex7.bpf [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/ |
H A D | test_bpftool_build.sh | 17 # Assume script is located under tools/testing/selftests/bpf/. We want to start 23 if [ ! -e tools/bpf/bpftool/Makefile ]; then 92 make_and_clean tools/bpf 93 ## "make tools/bpf" sets $(OUTPUT) to ...tools/bpf/runqslower for 96 make -C tools/bpf/runqslower OUTPUT=${KDIR_ROOT_DIR}/tools/bpf/runqslower/ clean 101 # make_with_tmpdir tools/bpf OUTPUT 102 echo -e "skip: make tools/bpf OUTPUT=<dir> (not supported)\n" 104 make_with_tmpdir tools/bpf [all...] |
H A D | Makefile | 11 BPFDIR := $(LIBDIR)/bpf 13 BPFTOOLDIR := $(TOOLSDIR)/bpf/bpftool 27 BPF_GCC ?= $(shell command -v bpf-gcc;) 41 # Check whether bpf cpu=v4 is supported or not by clang 42 ifneq ($(shell $(CLANG) --target=bpf -mcpu=help 2>&1 | grep 'v4'),) 55 # Also test bpf-gcc, if present 66 TEST_GEN_FILES = test_lwt_ip_encap.bpf.o test_tc_edt.bpf.o 236 $(Q)$(MAKE) $(submake_extras) -C $(TOOLSDIR)/bpf/runqslower \ 310 $(APIDIR)/linux/bpf [all...] |
/kernel/linux/linux-5.10/drivers/net/netdevsim/ |
H A D | bpf.c | 16 #include <linux/bpf.h> 180 static int nsim_xdp_offload_prog(struct netdevsim *ns, struct netdev_bpf *bpf) in nsim_xdp_offload_prog() argument 182 if (!nsim_xdp_offload_active(ns) && !bpf->prog) in nsim_xdp_offload_prog() 184 if (!nsim_xdp_offload_active(ns) && bpf->prog && ns->bpf_offloaded) { in nsim_xdp_offload_prog() 185 NSIM_EA(bpf->extack, "TC program is already loaded"); in nsim_xdp_offload_prog() 189 return nsim_bpf_offload(ns, bpf->prog, nsim_xdp_offload_active(ns)); in nsim_xdp_offload_prog() 193 nsim_xdp_set_prog(struct netdevsim *ns, struct netdev_bpf *bpf, in nsim_xdp_set_prog() argument 198 if (bpf->command == XDP_SETUP_PROG && !ns->bpf_xdpdrv_accept) { in nsim_xdp_set_prog() 199 NSIM_EA(bpf->extack, "driver XDP disabled in DebugFS"); in nsim_xdp_set_prog() 202 if (bpf in nsim_xdp_set_prog() 293 nsim_setup_prog_checks(struct netdevsim *ns, struct netdev_bpf *bpf) nsim_setup_prog_checks() argument 307 nsim_setup_prog_hw_checks(struct netdevsim *ns, struct netdev_bpf *bpf) nsim_setup_prog_hw_checks() argument 551 nsim_bpf(struct net_device *dev, struct netdev_bpf *bpf) nsim_bpf() argument [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/ |
H A D | test_bpftool_build.sh | 17 # Assume script is located under tools/testing/selftests/bpf/. We want to start 23 if [ ! -e tools/bpf/bpftool/Makefile ]; then 109 make_and_clean tools/bpf 114 # make_with_tmpdir tools/bpf OUTPUT 115 echo -e "skip: make tools/bpf OUTPUT=<dir> (not supported)\n" 117 make_with_tmpdir tools/bpf O 119 echo -e "skip: make tools/bpf (no .config found)\n" 120 echo -e "skip: make tools/bpf OUTPUT=<dir> (not supported)\n" 121 echo -e "skip: make tools/bpf O=<dir> (no .config found)\n" 126 make_and_clean -C tools/bpf/bpftoo [all...] |
H A D | test_cpp.cpp | 3 #include <bpf/libbpf.h> 4 #include <bpf/bpf.h> 5 #include <bpf/btf.h> 17 /* bpf.h */ in main()
|
/kernel/linux/linux-6.6/drivers/net/netdevsim/ |
H A D | bpf.c | 16 #include <linux/bpf.h> 180 static int nsim_xdp_offload_prog(struct netdevsim *ns, struct netdev_bpf *bpf) in nsim_xdp_offload_prog() argument 182 if (!nsim_xdp_offload_active(ns) && !bpf->prog) in nsim_xdp_offload_prog() 184 if (!nsim_xdp_offload_active(ns) && bpf->prog && ns->bpf_offloaded) { in nsim_xdp_offload_prog() 185 NSIM_EA(bpf->extack, "TC program is already loaded"); in nsim_xdp_offload_prog() 189 return nsim_bpf_offload(ns, bpf->prog, nsim_xdp_offload_active(ns)); in nsim_xdp_offload_prog() 193 nsim_xdp_set_prog(struct netdevsim *ns, struct netdev_bpf *bpf, in nsim_xdp_set_prog() argument 198 if (bpf->command == XDP_SETUP_PROG && !ns->bpf_xdpdrv_accept) { in nsim_xdp_set_prog() 199 NSIM_EA(bpf->extack, "driver XDP disabled in DebugFS"); in nsim_xdp_set_prog() 202 if (bpf in nsim_xdp_set_prog() 293 nsim_setup_prog_checks(struct netdevsim *ns, struct netdev_bpf *bpf) nsim_setup_prog_checks() argument 307 nsim_setup_prog_hw_checks(struct netdevsim *ns, struct netdev_bpf *bpf) nsim_setup_prog_hw_checks() argument 547 nsim_bpf(struct net_device *dev, struct netdev_bpf *bpf) nsim_bpf() argument [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | net_namespace.c | 3 #include <linux/bpf.h> 4 #include <linux/bpf-netns.h> 61 run_array = rcu_replace_pointer(net->bpf.run_array[type], NULL, in netns_bpf_run_array_detach() 72 list_for_each_entry(pos, &net->bpf.links[type], node) { in link_index() 85 list_for_each(pos, &net->bpf.links[type]) in link_count() 96 list_for_each_entry(pos, &net->bpf.links[type], node) { in fill_prog_array() 134 old_array = rcu_dereference_protected(net->bpf.run_array[type], in bpf_netns_link_release() 142 rcu_assign_pointer(net->bpf.run_array[type], new_array); in bpf_netns_link_release() 189 run_array = rcu_dereference_protected(net->bpf.run_array[type], in bpf_netns_link_update_prog() 255 run_array = rcu_dereference_protected(net->bpf in __netns_bpf_prog_query() [all...] |
H A D | cgroup.c | 15 #include <linux/bpf.h> 16 #include <linux/bpf-cgroup.h> 82 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_sock() 104 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_socket() 123 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_current() 195 percpu_ref_kill(&cgrp->bpf.refcnt); in cgroup_bpf_offline() 271 * cgroup_bpf_release() - put references of all bpf programs and 272 * release all cgroup bpf data 278 bpf.release_work); in cgroup_bpf_release() 280 struct list_head *storages = &cgrp->bpf in cgroup_bpf_release() [all...] |
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | net_namespace.c | 3 #include <linux/bpf.h> 60 run_array = rcu_replace_pointer(net->bpf.run_array[type], NULL, in netns_bpf_run_array_detach() 71 list_for_each_entry(pos, &net->bpf.links[type], node) { in link_index() 84 list_for_each(pos, &net->bpf.links[type]) in link_count() 95 list_for_each_entry(pos, &net->bpf.links[type], node) { in fill_prog_array() 133 old_array = rcu_dereference_protected(net->bpf.run_array[type], in bpf_netns_link_release() 141 rcu_assign_pointer(net->bpf.run_array[type], new_array); in bpf_netns_link_release() 188 run_array = rcu_dereference_protected(net->bpf.run_array[type], in bpf_netns_link_update_prog() 254 run_array = rcu_dereference_protected(net->bpf.run_array[type], in __netns_bpf_prog_query() 315 if (!list_empty(&net->bpf in netns_bpf_prog_attach() [all...] |
H A D | cgroup.c | 15 #include <linux/bpf.h> 16 #include <linux/bpf-cgroup.h> 28 percpu_ref_kill(&cgrp->bpf.refcnt); in cgroup_bpf_offline() 104 * cgroup_bpf_release() - put references of all bpf programs and 105 * release all cgroup bpf data 111 bpf.release_work); in cgroup_bpf_release() 113 struct list_head *storages = &cgrp->bpf.storages; in cgroup_bpf_release() 120 for (type = 0; type < ARRAY_SIZE(cgrp->bpf.progs); type++) { in cgroup_bpf_release() 121 struct list_head *progs = &cgrp->bpf.progs[type]; in cgroup_bpf_release() 134 cgrp->bpf in cgroup_bpf_release() [all...] |
/kernel/linux/linux-5.10/net/core/ |
H A D | lwt_bpf.c | 9 #include <linux/bpf.h> 73 pr_warn_once("bpf-lwt: Illegal return value %u, expect packet loss\n", ret); in run_lwt_bpf() 117 struct bpf_lwt *bpf; in bpf_input() local 120 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_input() 121 if (bpf->in.prog) { in bpf_input() 122 ret = run_lwt_bpf(skb, &bpf->in, dst, NO_REDIRECT); in bpf_input() 140 struct bpf_lwt *bpf; in bpf_output() local 143 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_output() 144 if (bpf->out.prog) { in bpf_output() 145 ret = run_lwt_bpf(skb, &bpf in bpf_output() 269 struct bpf_lwt *bpf; bpf_xmit() local 318 struct bpf_lwt *bpf = bpf_lwt_lwtunnel(lwt); bpf_destroy_state() local 375 struct bpf_lwt *bpf; bpf_build_state() local 463 struct bpf_lwt *bpf = bpf_lwt_lwtunnel(lwt); bpf_fill_encap_info() local [all...] |
/kernel/linux/linux-6.6/net/core/ |
H A D | lwt_bpf.c | 10 #include <linux/bpf.h> 74 pr_warn_once("bpf-lwt: Illegal return value %u, expect packet loss\n", ret); in run_lwt_bpf() 118 struct bpf_lwt *bpf; in bpf_input() local 121 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_input() 122 if (bpf->in.prog) { in bpf_input() 123 ret = run_lwt_bpf(skb, &bpf->in, dst, NO_REDIRECT); in bpf_input() 141 struct bpf_lwt *bpf; in bpf_output() local 144 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_output() 145 if (bpf->out.prog) { in bpf_output() 146 ret = run_lwt_bpf(skb, &bpf in bpf_output() 270 struct bpf_lwt *bpf; bpf_xmit() local 319 struct bpf_lwt *bpf = bpf_lwt_lwtunnel(lwt); bpf_destroy_state() local 376 struct bpf_lwt *bpf; bpf_build_state() local 464 struct bpf_lwt *bpf = bpf_lwt_lwtunnel(lwt); bpf_fill_encap_info() local [all...] |
/kernel/linux/linux-5.10/samples/seccomp/ |
H A D | Makefile | 2 userprogs-always-y += bpf-fancy dropper bpf-direct user-trap 4 bpf-fancy-objs := bpf-fancy.o bpf-helper.o
|
/kernel/linux/linux-6.6/samples/seccomp/ |
H A D | Makefile | 2 userprogs-always-y += bpf-fancy dropper bpf-direct user-trap 4 bpf-fancy-objs := bpf-fancy.o bpf-helper.o
|
/kernel/linux/linux-6.6/samples/hid/ |
H A D | Makefile | 13 LIBBPF_SRC = $(TOOLS_PATH)/lib/bpf 59 # Allows pointing LLC/CLANG to a LLVM backend with bpf support, redefine on cmdline: 60 # make M=samples/bpf LLC=~/git/llvm-project/llvm/build/bin/llc CLANG=~/git/llvm-project/llvm/build/bin/clang 85 BTF_LLC_PROBE := $(shell $(LLC) -march=bpf -mattr=help 2>&1 | grep dwarfris) 89 $(CLANG) --target=bpf -O2 -g -c -x c - -o ./llvm_btf_verify.o; \ 121 BPFTOOLDIR := $(TOOLS_PATH)/bpf/bpftool 135 # Verify LLVM compiler tools are available and bpf target is supported by llc 147 @if ! (${LLC} -march=bpf -mattr=help > /dev/null 2>&1); then \ 148 echo "*** ERROR: LLVM (${LLC}) does not support 'bpf' target" ;\ 184 # '--target=bpf' [all...] |
/kernel/linux/linux-5.10/tools/lib/bpf/ |
H A D | Makefile | 15 # This will work when bpf is built in tools env. where srctree 63 FEATURE_TESTS = libelf zlib bpf 64 FEATURE_DISPLAY = libelf zlib bpf 67 FEATURE_CHECK_CFLAGS-bpf = $(INCLUDES) 161 @(test -f ../../include/uapi/linux/bpf.h -a -f ../../../include/uapi/linux/bpf.h && ( \ 162 (diff -B ../../include/uapi/linux/bpf.h ../../../include/uapi/linux/bpf.h >/dev/null) || \ 163 echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf [all...] |
/kernel/linux/linux-5.10/kernel/bpf/preload/iterators/ |
H A D | Makefile | 8 LIBBPF_SRC := $(abspath ../../../../tools/lib/bpf) 36 iterators.skel.h: $(OUTPUT)/iterators.bpf.o | $(BPFTOOL) 41 $(OUTPUT)/iterators.bpf.o: iterators.bpf.c $(BPFOBJ) | $(OUTPUT) 43 $(Q)$(CLANG) -g -O2 -target bpf $(INCLUDES) \ 56 $(Q)$(MAKE) $(submake_extras) -C ../../../../tools/bpf/bpftool \
|
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | test_trace_ext.c | 3 #include <linux/bpf.h> 5 #include <bpf/bpf_helpers.h> 6 #include <bpf/bpf_endian.h> 7 #include <bpf/bpf_tracing.h>
|