Route XDP program install/uninstall to the knod accelerator when a
device is attached, so BPF programs run on the accelerator instead of
the host.

Signed-off-by: Taehee Yoo <[email protected]>
(cherry picked from commit 9689730acf7d6e4d34cd677e4615be10856c709c)
---
 net/core/dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index 7c21bc0a1e34..5ba1c969029b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10334,7 +10334,7 @@ static int dev_xdp_install(struct net_device *dev, enum 
bpf_xdp_mode mode,
                return -EBUSY;
        }
 
-       if (dev_get_min_mp_channel_count(dev)) {
+       if (dev_get_min_mp_channel_count(dev) && mode != XDP_MODE_HW) {
                NL_SET_ERR_MSG(extack, "unable to install XDP to device using 
memory provider");
                return -EBUSY;
        }
-- 
2.43.0


Reply via email to