Home
last modified time | relevance | path

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

12

/drivers/net/ethernet/netronome/nfp/bpf/
A Dmain.c223 if (bpf->adjust_head.off_min > bpf->adjust_head.off_max) { in nfp_bpf_parse_cap_adjust_head()
230 memset(&bpf->adjust_head, 0, sizeof(bpf->adjust_head)); in nfp_bpf_parse_cap_adjust_head()
327 if (bpf->abi_version < 2 || bpf->abi_version > 3) { in nfp_bpf_parse_cap_abi_version()
449 bpf->cmsg_cache_cnt = nfp_bpf_ctrl_cmsg_cache_cnt(bpf); in nfp_bpf_start()
461 bpf = kzalloc(sizeof(*bpf), GFP_KERNEL); in nfp_bpf_init()
462 if (!bpf) in nfp_bpf_init()
487 bpf->cmsg_key_sz = bpf->maps.max_key_sz; in nfp_bpf_init()
488 bpf->cmsg_val_sz = bpf->maps.max_val_sz; in nfp_bpf_init()
504 kfree(bpf); in nfp_bpf_init()
515 WARN_ON(bpf->maps_in_use || bpf->map_elems_in_use); in nfp_bpf_clean()
[all …]
A Dcmsg.c36 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_req_size()
44 return nfp_bpf_cmsg_alloc(bpf, nfp_bpf_cmsg_map_req_size(bpf, n)); in nfp_bpf_cmsg_map_req_alloc()
53 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_reply_size()
157 return &req->data[bpf->cmsg_key_sz * n + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_req_key()
164 return &req->data[bpf->cmsg_key_sz * (n + 1) + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_req_val()
171 return &reply->data[bpf->cmsg_key_sz * n + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_reply_key()
178 return &reply->data[bpf->cmsg_key_sz * (n + 1) + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_reply_val()
205 struct nfp_app_bpf *bpf = nfp_map->bpf; in nfp_bpf_ctrl_op_cache_get() local
299 struct nfp_app_bpf *bpf = nfp_map->bpf; in nfp_bpf_ctrl_entry_op() local
437 entry_sz = bpf->cmsg_key_sz + bpf->cmsg_val_sz; in nfp_bpf_ctrl_cmsg_cache_cnt()
[all …]
A Doffload.c139 nfp_map_ptrs_forget(bpf, nfp_prog); in nfp_map_ptrs_record()
338 if (!bpf->maps.types) in nfp_bpf_map_alloc()
351 if (bpf->maps.max_maps == bpf->maps_in_use) { in nfp_bpf_map_alloc()
355 if (bpf->maps.max_elems - bpf->map_elems_in_use < in nfp_bpf_map_alloc()
359 bpf->maps.max_elems - bpf->map_elems_in_use); in nfp_bpf_map_alloc()
368 bpf->maps.max_elem_sz); in nfp_bpf_map_alloc()
391 nfp_map->bpf = bpf; in nfp_bpf_map_alloc()
402 bpf->maps_in_use++; in nfp_bpf_map_alloc()
414 nfp_bpf_ctrl_free_map(bpf, nfp_map); in nfp_bpf_map_free()
419 bpf->maps_in_use--; in nfp_bpf_map_free()
[all …]
A 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
581 struct netdev_bpf *bpf);
591 unsigned int nfp_bpf_ctrl_cmsg_min_mtu(struct nfp_app_bpf *bpf);
592 unsigned int nfp_bpf_ctrl_cmsg_mtu(struct nfp_app_bpf *bpf);
593 unsigned int nfp_bpf_ctrl_cmsg_cache_cnt(struct nfp_app_bpf *bpf);
595 nfp_bpf_ctrl_alloc_map(struct nfp_app_bpf *bpf, struct bpf_map *map);
597 nfp_bpf_ctrl_free_map(struct nfp_app_bpf *bpf, struct nfp_bpf_map *nfp_map);
608 int nfp_bpf_event_output(struct nfp_app_bpf *bpf, const void *data,
A Dverifier.c65 if (imm > (int)bpf->adjust_head.guaranteed_add || in nfp_record_adjust_head()
66 imm < -bpf->adjust_head.guaranteed_sub) in nfp_record_adjust_head()
177 struct nfp_app_bpf *bpf = nfp_prog->bpf; in nfp_bpf_check_helper_call() local
182 if (!bpf->adjust_head.off_max) { in nfp_bpf_check_helper_call()
195 if (!bpf->adjust_tail) { in nfp_bpf_check_helper_call()
203 bpf->helpers.map_lookup, reg1) || in nfp_bpf_check_helper_call()
211 bpf->helpers.map_update, reg1) || in nfp_bpf_check_helper_call()
221 bpf->helpers.map_delete, reg1) || in nfp_bpf_check_helper_call()
228 if (bpf->pseudo_random) in nfp_bpf_check_helper_call()
239 if (!bpf->helpers.perf_event_output) { in nfp_bpf_check_helper_call()
[all …]
/drivers/hid/bpf/progs/
A DREADME17 Once a .bpf.c file is accepted here, it is duplicated in `udev-hid-bpf`
30 Just run `sudo udev-hid-bpf install ./my-awesome-fix.bpf.o`
34 - copy the `.bpf.o` you want in `/etc/udev-hid-bpf/`
41 $> cp xppen-ArtistPro16Gen2.bpf.o /etc/udev-hid-bpf/
42 $> udev-hid-bpf inspect xppen-ArtistPro16Gen2.bpf.o
45 "name": "xppen-ArtistPro16Gen2.bpf.o",
65 # xppen-ArtistPro16Gen2.bpf.o
66 …5A", RUN{program}+="/usr/local/bin/udev-hid-bpf add $sys$devpath /etc/udev-hid-bpf/xppen-ArtistPro…
68 # xppen-ArtistPro16Gen2.bpf.o
69 …5B", RUN{program}+="/usr/local/bin/udev-hid-bpf add $sys$devpath /etc/udev-hid-bpf/xppen-ArtistPro…
[all …]
A DMakefile10 BPFTOOL_SRC := $(TOOLS_PATH)/bpf/bpftool
15 LIBBPF_SRC := $(TOOLS_PATH)/lib/bpf
48 SOURCES = $(wildcard *.bpf.c)
49 TARGETS = $(SOURCES:.bpf.c=.bpf.o)
57 %.bpf.o: %.bpf.c vmlinux.h $(BPFOBJ) | $(OUTPUT)
59 $(Q)$(CLANG) -g -O2 --target=bpf -Wall -Werror $(INCLUDES) \
/drivers/hid/bpf/
A Dhid_bpf_dispatch.c35 .data = hdev->bpf.device_data, in dispatch_hid_bpf_device_event()
41 if (unlikely(hdev->bpf.destroyed)) in dispatch_hid_bpf_device_event()
48 if (!hdev->bpf.device_data) in dispatch_hid_bpf_device_event()
99 if (unlikely(hdev->bpf.destroyed)) in dispatch_hid_bpf_raw_requests()
171 if (!hdev->bpf.rdesc_ops) in call_hid_bpf_rdesc_fixup()
264 if (hdev->bpf.device_data) in hid_bpf_allocate_event_data()
267 return __hid_bpf_allocate_data(hdev, &hdev->bpf.device_data, &hdev->bpf.allocated_data); in hid_bpf_allocate_event_data()
625 kfree(hdev->bpf.device_data); in hid_bpf_disconnect_device()
626 hdev->bpf.device_data = NULL; in hid_bpf_disconnect_device()
627 hdev->bpf.allocated_data = 0; in hid_bpf_disconnect_device()
[all …]
A Dhid_bpf_struct_ops.c196 mutex_lock(&hdev->bpf.prog_list_lock); in hid_bpf_reg()
205 if (hdev->bpf.rdesc_ops) { in hid_bpf_reg()
210 hdev->bpf.rdesc_ops = ops; in hid_bpf_reg()
223 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_reg()
226 mutex_unlock(&hdev->bpf.prog_list_lock); in hid_bpf_reg()
229 if (hdev->bpf.rdesc_ops == ops) in hid_bpf_reg()
230 hdev->bpf.rdesc_ops = NULL; in hid_bpf_reg()
251 mutex_lock(&hdev->bpf.prog_list_lock); in hid_bpf_unreg()
254 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_unreg()
257 reconnect = hdev->bpf.rdesc_ops == ops; in hid_bpf_unreg()
[all …]
A DKconfig14 For documentation, see Documentation/hid/hid-bpf.rst
/drivers/net/netdevsim/
A Dbpf.c207 if (bpf->command == XDP_SETUP_PROG_HW) { in nsim_xdp_set_prog()
208 err = nsim_xdp_offload_prog(ns, bpf); in nsim_xdp_set_prog()
213 xdp_attachment_setup(xdp, bpf); in nsim_xdp_set_prog()
295 if (bpf->prog && bpf->prog->aux->offload) { in nsim_setup_prog_checks()
299 if (bpf->prog && !bpf->prog->aux->xdp_has_frags && in nsim_setup_prog_checks()
312 if (!bpf->prog) in nsim_setup_prog_hw_checks()
320 state = bpf->prog->aux->offload->dev_priv; in nsim_setup_prog_hw_checks()
555 switch (bpf->command) { in nsim_bpf()
557 err = nsim_setup_prog_checks(ns, bpf); in nsim_bpf()
563 err = nsim_setup_prog_hw_checks(ns, bpf); in nsim_bpf()
[all …]
A DMakefile10 bpf.o
A Dnetdevsim.h164 int nsim_bpf(struct net_device *dev, struct netdev_bpf *bpf);
187 static inline int nsim_bpf(struct net_device *dev, struct netdev_bpf *bpf) in nsim_bpf() argument
/drivers/net/ethernet/netronome/nfp/
A DMakefile68 bpf/cmsg.o \
69 bpf/main.o \
70 bpf/offload.o \
71 bpf/verifier.o \
72 bpf/jit.o
A Dnfp_app.h134 int (*bpf)(struct nfp_app *app, struct nfp_net *nn, member
330 struct netdev_bpf *bpf) in nfp_app_bpf() argument
332 if (!app || !app->type->bpf) in nfp_app_bpf()
334 return app->type->bpf(app, nn, bpf); in nfp_app_bpf()
A Dnfp_net_common.c2178 static int nfp_net_xdp_setup_drv(struct nfp_net *nn, struct netdev_bpf *bpf) in nfp_net_xdp_setup_drv() argument
2180 struct bpf_prog *prog = bpf->prog; in nfp_net_xdp_setup_drv()
2186 xdp_attachment_setup(&nn->xdp, bpf); in nfp_net_xdp_setup_drv()
2200 err = nfp_net_ring_reconfig(nn, dp, bpf->extack); in nfp_net_xdp_setup_drv()
2204 xdp_attachment_setup(&nn->xdp, bpf); in nfp_net_xdp_setup_drv()
2208 static int nfp_net_xdp_setup_hw(struct nfp_net *nn, struct netdev_bpf *bpf) in nfp_net_xdp_setup_hw() argument
2212 err = nfp_app_xdp_offload(nn->app, nn, bpf->prog, bpf->extack); in nfp_net_xdp_setup_hw()
2216 xdp_attachment_setup(&nn->xdp_hw, bpf); in nfp_net_xdp_setup_hw()
/drivers/net/hyperv/
A Dnetvsc_bpf.c194 int netvsc_bpf(struct net_device *dev, struct netdev_bpf *bpf) in netvsc_bpf() argument
199 struct netlink_ext_ack *extack = bpf->extack; in netvsc_bpf()
206 switch (bpf->command) { in netvsc_bpf()
208 ret = netvsc_xdp_set(dev, bpf->prog, extack, nvdev); in netvsc_bpf()
213 ret = netvsc_vf_setxdp(vf_netdev, bpf->prog); in netvsc_bpf()
/drivers/net/ethernet/amazon/ena/
A Dena_xdp.c288 static int ena_xdp_set(struct net_device *netdev, struct netdev_bpf *bpf) in ena_xdp_set() argument
291 struct bpf_prog *prog = bpf->prog; in ena_xdp_set()
338 NL_SET_ERR_MSG_MOD(bpf->extack, in ena_xdp_set()
345 NL_SET_ERR_MSG_MOD(bpf->extack, in ena_xdp_set()
356 int ena_xdp(struct net_device *netdev, struct netdev_bpf *bpf) in ena_xdp() argument
358 switch (bpf->command) { in ena_xdp()
360 return ena_xdp_set(netdev, bpf); in ena_xdp()
A Dena_xdp.h44 int ena_xdp(struct net_device *netdev, struct netdev_bpf *bpf);
/drivers/net/ethernet/microsoft/mana/
A Dmana_bpf.c212 int mana_bpf(struct net_device *ndev, struct netdev_bpf *bpf) in mana_bpf() argument
214 struct netlink_ext_ack *extack = bpf->extack; in mana_bpf()
217 switch (bpf->command) { in mana_bpf()
219 return mana_xdp_set(ndev, bpf->prog, extack); in mana_bpf()
/drivers/net/vmxnet3/
A Dvmxnet3_xdp.c37 vmxnet3_xdp_set(struct net_device *netdev, struct netdev_bpf *bpf, in vmxnet3_xdp_set() argument
41 struct bpf_prog *new_bpf_prog = bpf->prog; in vmxnet3_xdp_set()
102 vmxnet3_xdp(struct net_device *netdev, struct netdev_bpf *bpf) in vmxnet3_xdp() argument
104 switch (bpf->command) { in vmxnet3_xdp()
106 return vmxnet3_xdp_set(netdev, bpf, bpf->extack); in vmxnet3_xdp()
A Dvmxnet3_xdp.h26 int vmxnet3_xdp(struct net_device *netdev, struct netdev_bpf *bpf);
/drivers/net/ethernet/ti/
A Dcpsw_priv.c1244 static int cpsw_xdp_prog_setup(struct cpsw_priv *priv, struct netdev_bpf *bpf) in cpsw_xdp_prog_setup() argument
1246 struct bpf_prog *prog = bpf->prog; in cpsw_xdp_prog_setup()
1253 xdp_attachment_setup(&priv->xdpi, bpf); in cpsw_xdp_prog_setup()
1258 int cpsw_ndo_bpf(struct net_device *ndev, struct netdev_bpf *bpf) in cpsw_ndo_bpf() argument
1262 switch (bpf->command) { in cpsw_ndo_bpf()
1264 return cpsw_xdp_prog_setup(priv, bpf); in cpsw_ndo_bpf()
/drivers/media/rc/
A DMakefile8 rc-core-$(CONFIG_BPF_LIRC_MODE2) += bpf-lirc.o
/drivers/net/ethernet/pensando/ionic/
A Dionic_lif.c2762 NL_SET_ERR_MSG_MOD(bpf->extack, XDP_ERR_SPLIT); in ionic_xdp_config()
2767 if (!ionic_xdp_is_valid_mtu(lif, netdev->mtu, bpf->prog)) { in ionic_xdp_config()
2769 NL_SET_ERR_MSG_MOD(bpf->extack, XDP_ERR_MTU); in ionic_xdp_config()
2775 if (bpf->prog && !(bpf->prog->aux && bpf->prog->aux->xdp_has_frags)) in ionic_xdp_config()
2780 old_prog = xchg(&lif->xdp_prog, bpf->prog); in ionic_xdp_config()
2781 } else if (lif->xdp_prog && bpf->prog) { in ionic_xdp_config()
2782 old_prog = xchg(&lif->xdp_prog, bpf->prog); in ionic_xdp_config()
2788 qparams.xdp_prog = bpf->prog; in ionic_xdp_config()
2791 old_prog = xchg(&lif->xdp_prog, bpf->prog); in ionic_xdp_config()
2803 switch (bpf->command) { in ionic_xdp()
[all …]

Completed in 47 milliseconds

12