RE: [Intel-wired-lan] [PATCH net-next 2/2] i40e: Wait for pending VF reset in VF set callbacks
From: Romanowski, Rafal
Date: Thu Jun 29 2023 - 09:40:10 EST
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
> Simon Horman
> Sent: środa, 14 czerwca 2023 10:27
> To: ivecera <ivecera@xxxxxxxxxx>
> Cc: Ma Yuying <yuma@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; Brandeburg,
> Jesse <jesse.brandeburg@xxxxxxxxx>; open list <linux-
> kernel@xxxxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Nguyen,
> Anthony L <anthony.l.nguyen@xxxxxxxxx>; moderated list:INTEL ETHERNET
> DRIVERS <intel-wired-lan@xxxxxxxxxxxxxxxx>; Jakub Kicinski
> <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; David S. Miller
> <davem@xxxxxxxxxxxxx>
> Subject: Re: [Intel-wired-lan] [PATCH net-next 2/2] i40e: Wait for pending VF
> reset in VF set callbacks
>
> On Tue, Jun 13, 2023 at 02:16:10PM +0200, Ivan Vecera wrote:
> > Commit 028daf80117376 ("i40e: Fix attach VF to VM issue") fixed a race
> > between i40e_ndo_set_vf_mac() and i40e_reset_vf() during an
> attachment
> > of VF device to VM. This issue is not related to setting MAC address
> > only but also VLAN assignment to particular VF because the newer
> > libvirt sets configured MAC address as well as an optional VLAN. The
> > same behavior is also for i40e's .ndo_set_vf_rate and
> > .ndo_set_vf_spoofchk where the callbacks just check if the VF was
> > initialized but not wait for the finish of pending reset.
> >
> > Reproducer:
> > [root@host ~]# virsh attach-interface guest hostdev --managed
> > 0000:02:02.0 --mac 52:54:00:b4:aa:bb
> > error: Failed to attach interface
> > error: Cannot set interface MAC/vlanid to 52:54:00:b4:aa:bb/0 for
> > ifname enp2s0f0 vf 0: Resource temporarily unavailable
> >
> > Fix this issue by using i40e_check_vf_init_timeout() helper to check
> > whether a reset of particular VF was finished in i40e's
> > .ndo_set_vf_vlan, .ndo_set_vf_rate and .ndo_set_vf_spoofchk callbacks.
> >
> > Tested-by: Ma Yuying <yuma@xxxxxxxxxx>
> > Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx>
>
> Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxx>
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@xxxxxxxxxx
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
Tested-by: Rafal Romanowski <rafal.romanowski@xxxxxxxxx>