Home
last modified time | relevance | path

Searched refs:bpf (Results 1 – 25 of 174) sorted by relevance

1234567

/Linux-v5.4/drivers/net/ethernet/netronome/nfp/bpf/
Dmain.c27 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()
200 nfp_bpf_parse_cap_adjust_head(struct nfp_app_bpf *bpf, void __iomem *value, in nfp_bpf_parse_cap_adjust_head() argument
204 struct nfp_cpp *cpp = bpf->app->pf->cpp; in nfp_bpf_parse_cap_adjust_head()
211 bpf->adjust_head.flags = readl(&cap->flags); in nfp_bpf_parse_cap_adjust_head()
212 bpf->adjust_head.off_min = readl(&cap->off_min); in nfp_bpf_parse_cap_adjust_head()
213 bpf->adjust_head.off_max = readl(&cap->off_max); in nfp_bpf_parse_cap_adjust_head()
214 bpf->adjust_head.guaranteed_sub = readl(&cap->guaranteed_sub); in nfp_bpf_parse_cap_adjust_head()
215 bpf->adjust_head.guaranteed_add = readl(&cap->guaranteed_add); in nfp_bpf_parse_cap_adjust_head()
[all …]
Dcmsg.c18 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, unsigned int n) in nfp_bpf_cmsg_map_reply_size() argument
51 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_reply_size()
57 nfp_bpf_ctrl_rc_to_errno(struct nfp_app_bpf *bpf, in nfp_bpf_ctrl_rc_to_errno() argument
74 cmsg_warn(bpf, "FW responded with invalid status: %u\n", rc); in nfp_bpf_ctrl_rc_to_errno()
[all …]
Doffload.c31 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()
63 err = rhashtable_insert_fast(&bpf->maps_neutral, &record->l, in nfp_map_ptr_record()
80 nfp_map_ptrs_forget(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog) in nfp_map_ptrs_forget() argument
91 WARN_ON(rhashtable_remove_fast(&bpf->maps_neutral, in nfp_map_ptrs_forget()
113 nfp_map_ptrs_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptrs_record() argument
134 err = nfp_map_ptr_record(bpf, nfp_prog, in nfp_map_ptrs_record()
137 nfp_map_ptrs_forget(bpf, nfp_prog); in nfp_map_ptrs_record()
199 nfp_prog->bpf = bpf_offload_dev_priv(prog->aux->offload->offdev); in nfp_bpf_verifier_prep()
240 return nfp_map_ptrs_record(nfp_prog->bpf, nfp_prog, prog); in nfp_bpf_translate()
[all …]
Dmain.h21 #define cmsg_warn(bpf, msg...) nn_dp_warn(&(bpf)->app->ctrl->dp, msg) argument
211 struct nfp_app_bpf *bpf; member
514 struct nfp_app_bpf *bpf; member
579 struct netdev_bpf *bpf);
589 unsigned int nfp_bpf_ctrl_cmsg_min_mtu(struct nfp_app_bpf *bpf);
590 unsigned int nfp_bpf_ctrl_cmsg_mtu(struct nfp_app_bpf *bpf);
591 unsigned int nfp_bpf_ctrl_cmsg_cache_cnt(struct nfp_app_bpf *bpf);
593 nfp_bpf_ctrl_alloc_map(struct nfp_app_bpf *bpf, struct bpf_map *map);
595 nfp_bpf_ctrl_free_map(struct nfp_app_bpf *bpf, struct nfp_bpf_map *nfp_map);
606 int nfp_bpf_event_output(struct nfp_app_bpf *bpf, const void *data,
/Linux-v5.4/drivers/net/netdevsim/
Dbpf.c175 static int nsim_xdp_offload_prog(struct netdevsim *ns, struct netdev_bpf *bpf) in nsim_xdp_offload_prog() argument
177 if (!nsim_xdp_offload_active(ns) && !bpf->prog) in nsim_xdp_offload_prog()
179 if (!nsim_xdp_offload_active(ns) && bpf->prog && ns->bpf_offloaded) { in nsim_xdp_offload_prog()
180 NSIM_EA(bpf->extack, "TC program is already loaded"); in nsim_xdp_offload_prog()
184 return nsim_bpf_offload(ns, bpf->prog, nsim_xdp_offload_active(ns)); in nsim_xdp_offload_prog()
188 nsim_xdp_set_prog(struct netdevsim *ns, struct netdev_bpf *bpf, in nsim_xdp_set_prog() argument
193 if (!xdp_attachment_flags_ok(xdp, bpf)) in nsim_xdp_set_prog()
196 if (bpf->command == XDP_SETUP_PROG && !ns->bpf_xdpdrv_accept) { in nsim_xdp_set_prog()
197 NSIM_EA(bpf->extack, "driver XDP disabled in DebugFS"); in nsim_xdp_set_prog()
200 if (bpf->command == XDP_SETUP_PROG_HW && !ns->bpf_xdpoffload_accept) { in nsim_xdp_set_prog()
[all …]
/Linux-v5.4/tools/testing/selftests/bpf/
Dtest_bpftool_build.sh88 make_and_clean tools/bpf
96 make_with_tmpdir tools/bpf O
105 make_and_clean -C tools/bpf/bpftool
107 make_with_tmpdir -C tools/bpf/bpftool OUTPUT
109 make_with_tmpdir -C tools/bpf/bpftool O
114 make_and_clean bpf
134 make_with_tmpdir bpf O
137 cd bpf/bpftool
DMakefile6 BPFDIR := $(LIBDIR)/bpf
20 BPF_GCC ?= $(shell command -v bpf-gcc;)
43 $(CLANG) -target bpf -O2 -emit-llvm -S -x c - -o - | \
129 PROBE := $(shell $(LLC) -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1)
165 BTF_LLC_PROBE := $(shell $(LLC) -march=bpf -mattr=help 2>&1 | grep dwarfris)
169 $(CLANG) -target bpf -O2 -g -c -x c - -o ./llvm_btf_verify.o; \
213 ($(CLANG) $(BPF_CFLAGS) $(CLANG_CFLAGS) -O2 -target bpf -emit-llvm \
215 $(LLC) -march=bpf -mattr=+alu32 -mcpu=$(CPU) $(LLC_FLAGS) \
254 $(LLC) -march=bpf -mcpu=$(CPU) $(LLC_FLAGS) -filetype=obj -o $@
260 ($(CLANG) $(BPF_CFLAGS) $(CLANG_CFLAGS) -O2 -target bpf -emit-llvm \
[all …]
/Linux-v5.4/net/core/
Dlwt_bpf.c118 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->out, dst, NO_REDIRECT); in bpf_output()
153 bpf->out.name); in bpf_output()
274 struct bpf_lwt *bpf; in bpf_xmit() local
[all …]
/Linux-v5.4/kernel/bpf/
Dcgroup.c28 percpu_ref_kill(&cgrp->bpf.refcnt); in cgroup_bpf_offline()
39 bpf.release_work); in cgroup_bpf_release()
46 for (type = 0; type < ARRAY_SIZE(cgrp->bpf.progs); type++) { in cgroup_bpf_release()
47 struct list_head *progs = &cgrp->bpf.progs[type]; in cgroup_bpf_release()
61 cgrp->bpf.effective[type], in cgroup_bpf_release()
68 percpu_ref_exit(&cgrp->bpf.refcnt); in cgroup_bpf_release()
79 struct cgroup *cgrp = container_of(ref, struct cgroup, bpf.refcnt); in cgroup_bpf_release_fn()
81 INIT_WORK(&cgrp->bpf.release_work, cgroup_bpf_release); in cgroup_bpf_release_fn()
82 queue_work(system_wq, &cgrp->bpf.release_work); in cgroup_bpf_release_fn()
115 u32 flags = p->bpf.flags[type]; in hierarchy_allows_attach()
[all …]
/Linux-v5.4/samples/seccomp/
DMakefile3 hostprogs-y := bpf-fancy dropper bpf-direct user-trap
9 bpf-fancy-objs := bpf-fancy.o bpf-helper.o
17 bpf-direct-objs := bpf-direct.o
/Linux-v5.4/tools/bpf/bpftool/Documentation/
Dbpftool-net.rst5 tool for inspection of netdev/tc related bpf prog attachments
34 List bpf program attachments in the kernel networking subsystem.
45 bpf programs, users should consult other tools, e.g., iproute2.
48 all tc class/qdisc bpf program attachments. Both xdp programs and
49 tc programs are ordered based on ifindex number. If multiple bpf
51 the order will be first all bpf programs attached to tc classes, then
52 all bpf programs attached to non clsact qdiscs, and finally all
53 bpf programs attached to root and clsact qdisc.
56 Attach bpf program *PROG* to network interface *NAME* with
57 type specified by *ATTACH_TYPE*. Previously attached bpf program
[all …]
Dbpftool-map.rst134 **bpf\ ()** system call. This operation is not reversible,
206 | **# mount -t bpf none /sys/fs/bpf/**
207 | **# bpftool map pin id 10 /sys/fs/bpf/map**
208 | **# bpftool map del pinned /sys/fs/bpf/map key 13 00 07 00**
222 | **# bpftool prog loadall tail_calls.o /sys/fs/bpf/foo type xdp**
230 pinned /sys/fs/bpf/foo/xdp
234 pinned /sys/fs/bpf/foo/process
238 pinned /sys/fs/bpf/foo/debug
249 | **# bpftool map pin id 294 /sys/fs/bpf/bar**
250 | **# bpftool map dump pinned /sys/fs/bpf/bar**
[all …]
/Linux-v5.4/Documentation/bpf/
Dbpf_devel_QA.rst70 Those patches which target BPF, are assigned to a 'bpf' delegate for
86 the 'bpf' delegate).
94 * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/
95 * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/
97 The bpf tree itself is for fixes only, whereas bpf-next for features,
99 analogous to net and net-next trees for networking. Both bpf and
100 bpf-next will only have a master branch in order to simplify against
103 Accumulated BPF patches in the bpf tree will regularly get pulled
105 into the bpf-next tree will make their way into net-next tree. net and
122 pull-request: bpf yyyy-mm-dd
[all …]
Dindex.rst15 The primary info for the bpf syscall is available in the `man-pages`_
16 for `bpf(2)`_.
53 .. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html
54 .. _BPF and XDP Reference Guide: http://cilium.readthedocs.io/en/latest/bpf/
/Linux-v5.4/tools/lib/bpf/
DMakefile169 @(test -f ../../include/uapi/linux/bpf.h -a -f ../../../include/uapi/linux/bpf.h && ( \
170 (diff -B ../../include/uapi/linux/bpf.h ../../../include/uapi/linux/bpf.h >/dev/null) || \
252 $(call do_install,bpf.h,$(prefix)/include/bpf,644); \
253 $(call do_install,libbpf.h,$(prefix)/include/bpf,644); \
254 $(call do_install,btf.h,$(prefix)/include/bpf,644); \
255 $(call do_install,libbpf_util.h,$(prefix)/include/bpf,644); \
256 $(call do_install,xsk.h,$(prefix)/include/bpf,644);
/Linux-v5.4/samples/bpf/
DREADME.rst5 for using eBPF. The examples use libbpf from tools/lib/bpf.
14 Note that LLVM's tool 'llc' must support target 'bpf', list version
35 make samples/bpf/
42 Manually compiling LLVM with 'bpf' support
48 By default llvm will build all non-experimental backends including bpf.
66 make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
76 make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
Drun_cookie_uid_helper_example.sh8 iptables -D OUTPUT -m bpf --object-pinned ${mnt_dir}/bpf_prog -j ACCEPT
14 mount -t bpf bpf ${mnt_dir}
Dtc_l2_redirect.sh45 $IP netns exec ns2 $TC filter add dev vens2 ingress bpf da obj $REDIRECT_BPF sec drop_non_tun_vip
63 $TC filter add dev ve2 ingress bpf da obj $REDIRECT_BPF sec l2_to_iptun_ingress_forward
80 rm -f /sys/fs/bpf/tc/globals/tun_iface
99 $TC filter add dev ve2 egress bpf da obj $REDIRECT_BPF sec l2_to_iptun_ingress_redirect
103 $TC filter add dev ve1 ingress bpf da obj $REDIRECT_BPF sec l2_to_iptun_ingress_redirect
106 $REDIRECT_USER -U /sys/fs/bpf/tc/globals/tun_iface -i $(< /sys/class/net/ipt/ifindex)
136 $TC filter add dev ve2 egress bpf da obj $REDIRECT_BPF sec l2_to_ip6tun_ingress_redirect
140 $TC filter add dev ve1 ingress bpf da obj $REDIRECT_BPF sec l2_to_ip6tun_ingress_redirect
143 $REDIRECT_USER -U /sys/fs/bpf/tc/globals/tun_iface -i $(< /sys/class/net/ip6t/ifindex)
DMakefile58 LIBBPF = $(TOOLS_PATH)/lib/bpf/libbpf.a
60 CGROUP_HELPERS := ../../tools/testing/selftests/bpf/cgroup_helpers.o
61 TRACE_HELPERS := ../../tools/testing/selftests/bpf/trace_helpers.o
175 KBUILD_HOSTCFLAGS += -I$(srctree)/tools/lib/bpf/
176 KBUILD_HOSTCFLAGS += -I$(srctree)/tools/testing/selftests/bpf/
214 BTF_LLC_PROBE := $(shell $(LLC) -march=bpf -mattr=help 2>&1 | grep dwarfris)
218 $(CLANG) -target bpf -O2 -g -c -x c - -o ./llvm_btf_verify.o; \
266 @if ! (${LLC} -march=bpf -mattr=help > /dev/null 2>&1); then \
286 -I$(srctree)/tools/testing/selftests/bpf/ \
292 -I$(srctree)/samples/bpf/ -include asm_goto_workaround.h \
[all …]
/Linux-v5.4/drivers/net/ethernet/netronome/nfp/
DMakefile59 bpf/cmsg.o \
60 bpf/main.o \
61 bpf/offload.o \
62 bpf/verifier.o \
63 bpf/jit.o
/Linux-v5.4/arch/um/drivers/
Dvector_user.c663 int uml_vector_attach_bpf(int fd, void *bpf, int bpf_len) in uml_vector_attach_bpf() argument
665 int err = setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, bpf, bpf_len); in uml_vector_attach_bpf()
676 struct sock_filter *bpf; in uml_vector_default_bpf() local
684 bpf = uml_kmalloc( in uml_vector_default_bpf()
686 if (bpf != NULL) { in uml_vector_default_bpf()
687 bpf_prog.filter = bpf; in uml_vector_default_bpf()
689 bpf[0] = (struct sock_filter){ 0x20, 0, 0, 0x00000008 }; in uml_vector_default_bpf()
691 bpf[1] = (struct sock_filter){ 0x15, 0, 3, ntohl(*mac1)}; in uml_vector_default_bpf()
693 bpf[2] = (struct sock_filter){ 0x28, 0, 0, 0x00000006 }; in uml_vector_default_bpf()
695 bpf[3] = (struct sock_filter){ 0x15, 0, 1, ntohs(*mac2)}; in uml_vector_default_bpf()
[all …]
/Linux-v5.4/tools/bpf/
DMakefile30 FEATURE_USER = .bpf
54 $(OUTPUT)%.yacc.c: $(srctree)/tools/bpf/%.y
57 $(OUTPUT)%.lex.c: $(srctree)/tools/bpf/%.l
60 $(OUTPUT)%.o: $(srctree)/tools/bpf/%.c
87 $(call QUIET_CLEAN, bpf-progs)
91 $(Q)$(RM) -- $(OUTPUT)FEATURE-DUMP.bpf
/Linux-v5.4/net/xdp/
Dxdp_umem.c94 struct netdev_bpf bpf; in xdp_umem_assign_dev() local
135 bpf.command = XDP_SETUP_XSK_UMEM; in xdp_umem_assign_dev()
136 bpf.xsk.umem = umem; in xdp_umem_assign_dev()
137 bpf.xsk.queue_id = queue_id; in xdp_umem_assign_dev()
139 err = dev->netdev_ops->ndo_bpf(dev, &bpf); in xdp_umem_assign_dev()
156 struct netdev_bpf bpf; in xdp_umem_clear_dev() local
165 bpf.command = XDP_SETUP_XSK_UMEM; in xdp_umem_clear_dev()
166 bpf.xsk.umem = NULL; in xdp_umem_clear_dev()
167 bpf.xsk.queue_id = umem->queue_id; in xdp_umem_clear_dev()
169 err = umem->dev->netdev_ops->ndo_bpf(umem->dev, &bpf); in xdp_umem_clear_dev()
/Linux-v5.4/tools/testing/selftests/tc-testing/bpf/
DMakefile12 PROBE := $(shell $(LLC) -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1)
29 -O2 -target bpf -emit-llvm -c $< -o - | \
30 $(LLC) -march=bpf -mcpu=$(CPU) $(LLC_FLAGS) -filetype=obj -o $@
/Linux-v5.4/Documentation/ABI/testing/
Dsysfs-kernel-btf4 Contact: bpf@vger.kernel.org
12 Contact: bpf@vger.kernel.org
16 Documentation/bpf/btf.rst for detailed description of format

1234567