Message ID | 20221124173314.2123015-2-eperezma@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Guest announce feature emulation using Shadow VirtQueue | expand |
On Fri, Nov 25, 2022 at 1:33 AM Eugenio Pérez <eperezma@redhat.com> wrote: > > Next patches introduce more code on vhost-vdpa branch, with already have > too much indentation. > > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com> Thanks > --- > hw/net/virtio-net.c | 28 +++++++++++++++------------- > 1 file changed, 15 insertions(+), 13 deletions(-) > > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > index aba12759d5..eed629766f 100644 > --- a/hw/net/virtio-net.c > +++ b/hw/net/virtio-net.c > @@ -168,20 +168,22 @@ static void virtio_net_get_config(VirtIODevice *vdev, uint8_t *config) > if (nc->peer && nc->peer->info->type == NET_CLIENT_DRIVER_VHOST_VDPA) { > ret = vhost_net_get_config(get_vhost_net(nc->peer), (uint8_t *)&netcfg, > n->config_size); > - if (ret != -1) { > - /* > - * Some NIC/kernel combinations present 0 as the mac address. As > - * that is not a legal address, try to proceed with the > - * address from the QEMU command line in the hope that the > - * address has been configured correctly elsewhere - just not > - * reported by the device. > - */ > - if (memcmp(&netcfg.mac, &zero, sizeof(zero)) == 0) { > - info_report("Zero hardware mac address detected. Ignoring."); > - memcpy(netcfg.mac, n->mac, ETH_ALEN); > - } > - memcpy(config, &netcfg, n->config_size); > + if (ret == -1) { > + return; > } > + > + /* > + * Some NIC/kernel combinations present 0 as the mac address. As that > + * is not a legal address, try to proceed with the address from the > + * QEMU command line in the hope that the address has been configured > + * correctly elsewhere - just not reported by the device. > + */ > + if (memcmp(&netcfg.mac, &zero, sizeof(zero)) == 0) { > + info_report("Zero hardware mac address detected. Ignoring."); > + memcpy(netcfg.mac, n->mac, ETH_ALEN); > + } > + > + memcpy(config, &netcfg, n->config_size); > } > } > > -- > 2.31.1 >
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index aba12759d5..eed629766f 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -168,20 +168,22 @@ static void virtio_net_get_config(VirtIODevice *vdev, uint8_t *config) if (nc->peer && nc->peer->info->type == NET_CLIENT_DRIVER_VHOST_VDPA) { ret = vhost_net_get_config(get_vhost_net(nc->peer), (uint8_t *)&netcfg, n->config_size); - if (ret != -1) { - /* - * Some NIC/kernel combinations present 0 as the mac address. As - * that is not a legal address, try to proceed with the - * address from the QEMU command line in the hope that the - * address has been configured correctly elsewhere - just not - * reported by the device. - */ - if (memcmp(&netcfg.mac, &zero, sizeof(zero)) == 0) { - info_report("Zero hardware mac address detected. Ignoring."); - memcpy(netcfg.mac, n->mac, ETH_ALEN); - } - memcpy(config, &netcfg, n->config_size); + if (ret == -1) { + return; } + + /* + * Some NIC/kernel combinations present 0 as the mac address. As that + * is not a legal address, try to proceed with the address from the + * QEMU command line in the hope that the address has been configured + * correctly elsewhere - just not reported by the device. + */ + if (memcmp(&netcfg.mac, &zero, sizeof(zero)) == 0) { + info_report("Zero hardware mac address detected. Ignoring."); + memcpy(netcfg.mac, n->mac, ETH_ALEN); + } + + memcpy(config, &netcfg, n->config_size); } }