@@ -3622,6 +3622,19 @@ static bool virtio_net_check_vdpa_mac(NetClientState *nc, VirtIONet *n,
return true;
}
}
+ /*
+ * 3.The hardware MAC address is 0,
+ * and the MAC address in the QEMU command line is also 0.
+ * In this situation, qemu will generate a random mac address
+ * QEMU will try to use CVQ/set_config to set this address to
+ * device
+ */
+ if ((memcmp(&hwcfg.mac, &zero, sizeof(MACAddr)) == 0) &&
+ (memcmp(cmdline_mac, &zero, sizeof(MACAddr)) == 0)) {
+ memcpy(&n->mac[0], &n->nic_conf.macaddr, sizeof(n->mac));
+
+ return true;
+ }
error_setg(errp,
"vDPA device's mac %02x:%02x:%02x:%02x:%02x:%02x"
While the hardware MAC address is 0 and the MAC address in the QEMU command line is also 0, this configuration is acceptable. Signed-off-by: Cindy Lu <lulu@redhat.com> --- hw/net/virtio-net.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)