[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <PH0PR11MB50138B635F2E5CEB7075325D961F2@PH0PR11MB5013.namprd11.prod.outlook.com>
Date: Mon, 13 Jan 2025 08:17:11 +0000
From: "Buvaneswaran, Sujai" <sujai.buvaneswaran@...el.com>
To: Marcin Szycik <marcin.szycik@...ux.intel.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, Michal Swiatkowski
<michal.swiatkowski@...ux.intel.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-net] ice: Fix switchdev slow-path in
LAG
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of
> Marcin Szycik
> Sent: Friday, January 3, 2025 12:38 AM
> To: intel-wired-lan@...ts.osuosl.org
> Cc: netdev@...r.kernel.org; Marcin Szycik <marcin.szycik@...ux.intel.com>;
> Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-net] ice: Fix switchdev slow-path in LAG
>
> Ever since removing switchdev control VSI and using PF for port representor
> Tx/Rx, switchdev slow-path has been working improperly after failover in SR-
> IOV LAG. LAG assumes that the first uplink to be added to the aggregate will
> own VFs and have switchdev configured. After failing-over to the other
> uplink, representors are still configured to Tx through the uplink they are set
> up on, which fails because that uplink is now down.
>
> On failover, update all PRs on primary uplink to use the currently active
> uplink for Tx. Call netif_keep_dst(), as the secondary uplink might not be in
> switchdev mode. Also make sure to call
> ice_eswitch_set_target_vsi() if uplink is in LAG.
>
> On the Rx path, representors are already working properly, because default
> Tx from VFs is set to PF owning the eswitch. After failover the same PF is
> receiving traffic from VFs, even though link is down.
>
> Fixes: defd52455aee ("ice: do Tx through PF netdev in slow-path")
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
> Signed-off-by: Marcin Szycik <marcin.szycik@...ux.intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_lag.c | 27 +++++++++++++++++++++++
> drivers/net/ethernet/intel/ice/ice_txrx.c | 4 +++-
> 2 files changed, 30 insertions(+), 1 deletion(-)
>
Hi,
Observing below call trace while creating VFs in Switchdev mode with this patch in net-queue.
[ +0.000188] ice 0000:b1:00.0: Enabling 1 VFs with 17 vectors and 16 queues per VF
[ +0.000062] list_add corruption. next->prev should be prev (ff1d7c830300c6f0), but was ff282828ff282828. (next=ff1d7c5367d61330).
[ +0.000015] ------------[ cut here ]------------
[ +0.000001] kernel BUG at lib/list_debug.c:29!
[ +0.000007] Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
[ +0.000004] CPU: 81 UID: 0 PID: 2758 Comm: bash Kdump: loaded Not tainted 6.13.0-rc3+ #1
[ +0.000003] Hardware name: Dell Inc. PowerEdge R750/06V45N, BIOS 1.3.8 08/31/2021
[ +0.000002] RIP: 0010:__list_add_valid_or_report+0x61/0xa0
[ +0.000008] Code: c7 c7 a8 97 b2 8f e8 7e e4 af ff 0f 0b 48 c7 c7 d0 97 b2 8f e8 70 e4 af ff 0f 0b 4c 89 c1 48 c7 c7 f8 97 b2 8f e8 5f e4 af ff <0f> 0b 48 89 d1 4c 89 c6 4c 89 ca 48 c7 c7 50 98 b2 8f e8 48 e4 af
[ +0.000002] RSP: 0018:ff5ebf3d22093d20 EFLAGS: 00010246
[ +0.000003] RAX: 0000000000000075 RBX: ff1d7c54143a1330 RCX: 0000000000000000
[ +0.000002] RDX: 0000000000000000 RSI: ff1d7c81f06a0bc0 RDI: ff1d7c81f06a0bc0
[ +0.000001] RBP: ff1d7c83030097d8 R08: 0000000000000000 R09: ff5ebf3d22093bd8
[ +0.000002] R10: ff5ebf3d22093bd0 R11: ffffffff901debc8 R12: ff1d7c5367d61330
[ +0.000001] R13: ff1d7c830300c6f0 R14: 0000000000000000 R15: 0000000000000000
[ +0.000002] FS: 00007fea5e4e4740(0000) GS:ff1d7c81f0680000(0000) knlGS:0000000000000000
[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ +0.000001] CR2: 0000562ef57c7608 CR3: 000000019037c002 CR4: 0000000000773ef0
[ +0.000002] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ +0.000001] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ +0.000001] PKRU: 55555554
[ +0.000002] Call Trace:
[ +0.000003] <TASK>
[ +0.000002] ? die+0x37/0x90
[ +0.000007] ? do_trap+0xdd/0x100
[ +0.000004] ? __list_add_valid_or_report+0x61/0xa0
[ +0.000003] ? do_error_trap+0x65/0x80
[ +0.000002] ? __list_add_valid_or_report+0x61/0xa0
[ +0.000003] ? exc_invalid_op+0x52/0x70
[ +0.000005] ? __list_add_valid_or_report+0x61/0xa0
[ +0.000002] ? asm_exc_invalid_op+0x1a/0x20
[ +0.000007] ? __list_add_valid_or_report+0x61/0xa0
[ +0.000005] ice_mbx_init_vf_info+0x3c/0x60 [ice]
[ +0.000076] ice_initialize_vf_entry+0x99/0xa0 [ice]
Regards,
Sujai B
Powered by blists - more mailing lists