]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
bonding: return detailed error when loading native XDP fails
authorHangbin Liu <liuhangbin@gmail.com>
Thu, 30 Oct 2025 06:59:58 +0000 (14:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 2 Nov 2025 13:15:22 +0000 (22:15 +0900)
[ Upstream commit 22ccb684c1cae37411450e6e86a379cd3c29cb8f ]

Bonding only supports native XDP for specific modes, which can lead to
confusion for users regarding why XDP loads successfully at times and
fails at others. This patch enhances error handling by returning detailed
error messages, providing users with clearer insights into the specific
reasons for the failure when loading native XDP.

Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://patch.msgid.link/20241021031211.814-2-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Rajani Kantha <681739313@139.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/bonding/bond_main.c

index 46628a7ed497650e74ec05b4596aaec9298da50f..93e6d069dfc68c2d45b265e2c880ba28514bb93c 100644 (file)
@@ -5699,8 +5699,11 @@ static int bond_xdp_set(struct net_device *dev, struct bpf_prog *prog,
 
        ASSERT_RTNL();
 
-       if (!bond_xdp_check(bond))
+       if (!bond_xdp_check(bond)) {
+               BOND_NL_ERR(dev, extack,
+                           "No native XDP support for the current bonding mode");
                return -EOPNOTSUPP;
+       }
 
        old_prog = bond->xdp_prog;
        bond->xdp_prog = prog;