mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-28 20:29:07 +08:00
bpf tree has fixes for xdp_bonding selftests which are not yet in bpf-next, so add them as temporary CI-only patches. Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
57 lines
2.3 KiB
Diff
57 lines
2.3 KiB
Diff
From f267f262815033452195f46c43b572159262f533 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Borkmann <daniel@iogearbox.net>
|
|
Date: Tue, 5 Mar 2024 10:08:28 +0100
|
|
Subject: [PATCH 2/2] xdp, bonding: Fix feature flags when there are no slave
|
|
devs anymore
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Commit 9b0ed890ac2a ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY")
|
|
changed the driver from reporting everything as supported before a device
|
|
was bonded into having the driver report that no XDP feature is supported
|
|
until a real device is bonded as it seems to be more truthful given
|
|
eventually real underlying devices decide what XDP features are supported.
|
|
|
|
The change however did not take into account when all slave devices get
|
|
removed from the bond device. In this case after 9b0ed890ac2a, the driver
|
|
keeps reporting a feature mask of 0x77, that is, NETDEV_XDP_ACT_MASK &
|
|
~NETDEV_XDP_ACT_XSK_ZEROCOPY whereas it should have reported a feature
|
|
mask of 0.
|
|
|
|
Fix it by resetting XDP feature flags in the same way as if no XDP program
|
|
is attached to the bond device. This was uncovered by the XDP bond selftest
|
|
which let BPF CI fail. After adjusting the starting masks on the latter
|
|
to 0 instead of NETDEV_XDP_ACT_MASK the test passes again together with
|
|
this fix.
|
|
|
|
Fixes: 9b0ed890ac2a ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY")
|
|
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|
|
Cc: Magnus Karlsson <magnus.karlsson@intel.com>
|
|
Cc: Prashant Batra <prbatra.mail@gmail.com>
|
|
Cc: Toke Høiland-Jørgensen <toke@redhat.com>
|
|
Cc: Jakub Kicinski <kuba@kernel.org>
|
|
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
|
|
Message-ID: <20240305090829.17131-1-daniel@iogearbox.net>
|
|
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
|
|
---
|
|
drivers/net/bonding/bond_main.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
|
|
index a11748b8d69b..cd0683bcca03 100644
|
|
--- a/drivers/net/bonding/bond_main.c
|
|
+++ b/drivers/net/bonding/bond_main.c
|
|
@@ -1811,7 +1811,7 @@ void bond_xdp_set_features(struct net_device *bond_dev)
|
|
|
|
ASSERT_RTNL();
|
|
|
|
- if (!bond_xdp_check(bond)) {
|
|
+ if (!bond_xdp_check(bond) || !bond_has_slaves(bond)) {
|
|
xdp_clear_features_flag(bond_dev);
|
|
return;
|
|
}
|
|
--
|
|
2.43.0
|
|
|