diff mbox series

[v2,1/4] virtio_net: Modify virtio_net_get_config to early return

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

Commit Message

Eugenio Perez Martin Nov. 24, 2022, 5:33 p.m. UTC
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>
---
 hw/net/virtio-net.c | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

Comments

Jason Wang Nov. 30, 2022, 6:55 a.m. UTC | #1
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 mbox series

Patch

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);
     }
 }