[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZLJ4RQlmTvOS/9+d@corigine.com>
Date: Sat, 15 Jul 2023 11:43:17 +0100
From: Simon Horman <simon.horman@...igine.com>
To: Ivan Vecera <ivecera@...hat.com>
Cc: netdev@...r.kernel.org, Rafal Romanowski <rafal.romanowski@...el.com>,
Leon Romanovsky <leon@...nel.org>, Jakub Kicinski <kuba@...nel.org>,
Ma Yuying <yuma@...hat.com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>,
Tony Nguyen <anthony.l.nguyen@...el.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>,
"moderated list:INTEL ETHERNET DRIVERS" <intel-wired-lan@...ts.osuosl.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next v3 2/2] i40e: Wait for pending VF reset in VF
set callbacks
On Thu, Jul 13, 2023 at 04:57:55PM +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@...t ~]# 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@...hat.com>
> Signed-off-by: Ivan Vecera <ivecera@...hat.com>
Reviewed-by: Simon Horman <simon.horman@...igine.com>
Powered by blists - more mailing lists