Messages in this thread | | | Date | Sat, 15 Jul 2023 11:43:17 +0100 | From | Simon Horman <> | 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@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@redhat.com> > Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
| |