Hi Venu, On 2019/1/9 上午1:25, Venu Busireddy wrote: > On 2019-01-09 00:56:38 +0800, Dongli Zhang wrote: >> I am not familiar with libvirt and I would like to play with this only with >> qemu. >> >> With failover, we need to hotplug the VF on destination server to VM after >> live >> migration. However, the VF on destination server would have different mac >> address. >> >> How can we specify the mac for the new VF to hotplug via qemu, as VF is only >> a >> vfio pci device? > > How is the VF device on the destination host any different from the VF > on the source host? > > As you do on the source host, you first assign the MAC address of > 00:00:00:00:00:00 to the VF. After the migration, you assign the same > MAC address as that of the virtio_net device to the VF, and hotadd the VF
This was what I was wondering. How the mac address is configured for VF (or any NIC like PF) after it is assigned to vfio? Thank you very much! Dongli Zhang > device to the VM. And then, after you receive the FAILOVER_PRIMARY_CHANGED > event, set the macvtap device to down state. > > Venu > >> >> I am trying to play with this with only qemu (w/o libvirt). >> >> Thank you very much! >> >> Dongli Zhang >> >> On 01/08/2019 06:29 AM, Venu Busireddy wrote: >>> From: Sridhar Samudrala <sridhar.samudr...@intel.com> >>> >>> This feature bit can be used by a hypervisor to indicate to the virtio_net >>> device that it can act as a standby for another device with the same MAC >>> address. >>> >>> Signed-off-by: Sridhar Samudrala <sridhar.samudr...@intel.com> >>> Signed-off-by: Venu Busireddy <venu.busire...@oracle.com> >>> --- >>> hw/net/virtio-net.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c >>> index 385b1a0..411f8fb 100644 >>> --- a/hw/net/virtio-net.c >>> +++ b/hw/net/virtio-net.c >>> @@ -2198,6 +2198,8 @@ static Property virtio_net_properties[] = { >>> true), >>> DEFINE_PROP_INT32("speed", VirtIONet, net_conf.speed, SPEED_UNKNOWN), >>> DEFINE_PROP_STRING("duplex", VirtIONet, net_conf.duplex_str), >>> + DEFINE_PROP_BIT64("standby", VirtIONet, host_features, >>> VIRTIO_NET_F_STANDBY, >>> + false), >>> DEFINE_PROP_END_OF_LIST(), >>> }; >>> >>> >