static void virtio_net_vhost_status(VirtIONet *n, uint8_t status)

{

    VirtIODevice *vdev = VIRTIO_DEVICE(n);

    NetClientState *nc = qemu_get_queue(n->nic);

    int queues = n->multiqueue ? n->max_queues : 1;



    if (!get_vhost_net(nc->peer)) {

        return;

    }



    if (!!n->vhost_started ==

        (virtio_net_started(n, status) && !nc->peer->link_down)) {

        return;

    }

    if (!n->vhost_started) {

        int r;

        if (!vhost_net_query(get_vhost_net(nc->peer), vdev)) {

            return;

        }

        n->vhost_started = 1;

        r = vhost_net_start(vdev, n->nic->ncs, queues);

        if (r < 0) {

            error_report("unable to start vhost net: %d: "

                         "falling back on userspace virtio", -r);

            n->vhost_started = 0;

        }

    } else {

        vhost_net_stop(vdev, n->nic->ncs, queues);

        n->vhost_started = 0;

    }

}

static void virtio_net_vhost_status(VirtIONet *n, uint8_t status)

{

    VirtIODevice *vdev = VIRTIO_DEVICE(n);

    NetClientState *nc = qemu_get_queue(n->nic);

    int queues = n->multiqueue ? n->max_queues : 1;



    if (!get_vhost_net(nc->peer)) {

        return;

    }



    if (!!n->vhost_started ==

        (virtio_net_started(n, status) && !nc->peer->link_down)) {

        return;

    }

    if (!n->vhost_started) {

        int r;

        if (!vhost_net_query(get_vhost_net(nc->peer), vdev)) {

            return;

        }

        n->vhost_started = 1;

        r = vhost_net_start(vdev, n->nic->ncs, queues);

        if (r < 0) {

            error_report("unable to start vhost net: %d: "

                         "falling back on userspace virtio", -r);

            n->vhost_started = 0;

        }

    } else {

        vhost_net_stop(vdev, n->nic->ncs, queues);

        n->vhost_started = 0;

    }

}

static void FUNC_0(VirtIONet *VAR_0, uint8_t VAR_1)

{

    VirtIODevice *vdev = VIRTIO_DEVICE(VAR_0);

    NetClientState *nc = qemu_get_queue(VAR_0->nic);

    int VAR_2 = VAR_0->multiqueue ? VAR_0->max_queues : 1;



    if (!get_vhost_net(nc->peer)) {

        return;

    }



    if (!!VAR_0->vhost_started ==

        (virtio_net_started(VAR_0, VAR_1) && !nc->peer->link_down)) {

        return;

    }

    if (!VAR_0->vhost_started) {

        int VAR_3;

        if (!vhost_net_query(get_vhost_net(nc->peer), vdev)) {

            return;

        }

        VAR_0->vhost_started = 1;

        VAR_3 = vhost_net_start(vdev, VAR_0->nic->ncs, VAR_2);

        if (VAR_3 < 0) {

            error_report("unable to start vhost net: %d: "

                         "falling back on userspace virtio", -VAR_3);

            VAR_0->vhost_started = 0;

        }

    } else {

        vhost_net_stop(vdev, VAR_0->nic->ncs, VAR_2);

        VAR_0->vhost_started = 0;

    }

}

static void FUNC_0(VirtIONet *VAR_0, uint8_t VAR_1)
{ VirtIODevice *vdev = VIRTIO_DEVICE(VAR_0); NetClientState *nc = qemu_get_queue(VAR_0->nic); int VAR_2 = VAR_0->multiqueue ? VAR_0->max_queues : 1; if (!get_vhost_net(nc->peer)) { return; } if (!!VAR_0->vhost_started ==
(virtio_net_started(VAR_0, VAR_1) && !nc->peer->link_down)) { return; } if (!VAR_0->vhost_started) { int VAR_3; if (!vhost_net_query(get_vhost_net(nc->peer), vdev)) { return; } VAR_0->vhost_started = 1; VAR_3 = vhost_net_start(vdev, VAR_0->nic->ncs, VAR_2); if (VAR_3 < 0) { error_report("unable to start vhost net: %d: "
"falling back on userspace virtio", -VAR_3); VAR_0->vhost_started = 0; } } else { vhost_net_stop(vdev, VAR_0->nic->ncs, VAR_2); VAR_0->vhost_started = 0; } }