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