[libvirt] [PATCH] Fix issue of PF brought down if VF is 8021.Qbh and pci passthrough

Stefan Berger stefanb at linux.vnet.ibm.com
Thu Aug 30 19:21:48 UTC 2012


On 08/30/2012 03:05 PM, Nishank Trivedi wrote:
> If a 8021.Qbh network device supports SRIOV and its VF is being used
> in pci passthrough mode, when the guest is shutdown or destroyed, the
> PF inteface is also brought down. qemuDomainHostdevNetConfigRestore()
> finds out the PF for provided hostdev (which is VF) and passes it to
> virNetDevPortProfileDisassociate() as linkdev. Later, linkdev gets passed
> to virNetDevSetOnline() where the interface is brought down by clearing
> IFF_UP flag.
>
> Bringing down a PF, when only VF is being brought down is not expected
> behavior. This patch adds a check so that virNetDevSetOnline() is called
> only for PF and not if device is a VF.
>
> Signed-off-by: Nishank Trivedi <nistrive at cisco.com>
> ---
>   src/util/virnetdevvportprofile.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/util/virnetdevvportprofile.c b/src/util/virnetdevvportprofile.c
> index 5213378..e231fca 100644
> --- a/src/util/virnetdevvportprofile.c
> +++ b/src/util/virnetdevvportprofile.c
> @@ -1235,7 +1235,8 @@ virNetDevVPortProfileDisassociate(const char *macvtap_ifname,
>           /* avoid disassociating twice */
>           if (vmOp == VIR_NETDEV_VPORT_PROFILE_OP_MIGRATE_IN_FINISH)
>               break;
> -        ignore_value(virNetDevSetOnline(linkdev, false));
> +	if (vf < 0)
> +        	ignore_value(virNetDevSetOnline(linkdev, false));
>           rc = virNetDevVPortProfileOp8021Qbh(linkdev, macvtap_macaddr, vf,
>                                               virtPort, NULL,
>                                               VIR_NETDEV_VPORT_PROFILE_LINK_OP_DISASSOCIATE);

ACK -- will fix the tab with spaces, add you to the list of authors and 
push the patch

    Stefan





More information about the libvir-list mailing list