xref: /linux/drivers/net/ethernet/intel/idpf/xdp.h (revision 705457e7211f22c49b410eb25e83cef8a61bd560)
1ac8a861fSMichal Kubiak /* SPDX-License-Identifier: GPL-2.0-only */
2ac8a861fSMichal Kubiak /* Copyright (C) 2025 Intel Corporation */
3ac8a861fSMichal Kubiak 
4ac8a861fSMichal Kubiak #ifndef _IDPF_XDP_H_
5ac8a861fSMichal Kubiak #define _IDPF_XDP_H_
6ac8a861fSMichal Kubiak 
7ac8a861fSMichal Kubiak #include <linux/types.h>
8ac8a861fSMichal Kubiak 
9*705457e7SMichal Kubiak struct bpf_prog;
10ac8a861fSMichal Kubiak struct idpf_vport;
11*705457e7SMichal Kubiak struct net_device;
12*705457e7SMichal Kubiak struct netdev_bpf;
13ac8a861fSMichal Kubiak 
14ac8a861fSMichal Kubiak int idpf_xdp_rxq_info_init_all(const struct idpf_vport *vport);
15ac8a861fSMichal Kubiak void idpf_xdp_rxq_info_deinit_all(const struct idpf_vport *vport);
16*705457e7SMichal Kubiak void idpf_xdp_copy_prog_to_rqs(const struct idpf_vport *vport,
17*705457e7SMichal Kubiak 			       struct bpf_prog *xdp_prog);
18ac8a861fSMichal Kubiak 
19ac8a861fSMichal Kubiak int idpf_xdpsqs_get(const struct idpf_vport *vport);
20ac8a861fSMichal Kubiak void idpf_xdpsqs_put(const struct idpf_vport *vport);
21ac8a861fSMichal Kubiak 
22*705457e7SMichal Kubiak int idpf_xdp(struct net_device *dev, struct netdev_bpf *xdp);
23*705457e7SMichal Kubiak 
24ac8a861fSMichal Kubiak #endif /* _IDPF_XDP_H_ */
25