static void virtio_net_set_features(VirtIODevice *vdev, uint64_t features)

{

    VirtIONet *n = VIRTIO_NET(vdev);

    int i;



    virtio_net_set_multiqueue(n,

                              __virtio_has_feature(features, VIRTIO_NET_F_MQ));



    virtio_net_set_mrg_rx_bufs(n,

                               __virtio_has_feature(features,

                                                    VIRTIO_NET_F_MRG_RXBUF),

                               __virtio_has_feature(features,

                                                    VIRTIO_F_VERSION_1));



    if (n->has_vnet_hdr) {

        n->curr_guest_offloads =

            virtio_net_guest_offloads_by_features(features);

        virtio_net_apply_guest_offloads(n);

    }



    for (i = 0;  i < n->max_queues; i++) {

        NetClientState *nc = qemu_get_subqueue(n->nic, i);



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

            continue;

        }

        vhost_net_ack_features(get_vhost_net(nc->peer), features);

    }



    if (__virtio_has_feature(features, VIRTIO_NET_F_CTRL_VLAN)) {

        memset(n->vlans, 0, MAX_VLAN >> 3);

    } else {

        memset(n->vlans, 0xff, MAX_VLAN >> 3);

    }

}

static void virtio_net_set_features(VirtIODevice *vdev, uint64_t features)

{

    VirtIONet *n = VIRTIO_NET(vdev);

    int i;



    virtio_net_set_multiqueue(n,

                              __virtio_has_feature(features, VIRTIO_NET_F_MQ));



    virtio_net_set_mrg_rx_bufs(n,

                               __virtio_has_feature(features,

                                                    VIRTIO_NET_F_MRG_RXBUF),

                               __virtio_has_feature(features,

                                                    VIRTIO_F_VERSION_1));



    if (n->has_vnet_hdr) {

        n->curr_guest_offloads =

            virtio_net_guest_offloads_by_features(features);

        virtio_net_apply_guest_offloads(n);

    }



    for (i = 0;  i < n->max_queues; i++) {

        NetClientState *nc = qemu_get_subqueue(n->nic, i);



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

            continue;

        }

        vhost_net_ack_features(get_vhost_net(nc->peer), features);

    }



    if (__virtio_has_feature(features, VIRTIO_NET_F_CTRL_VLAN)) {

        memset(n->vlans, 0, MAX_VLAN >> 3);

    } else {

        memset(n->vlans, 0xff, MAX_VLAN >> 3);

    }

}

static void FUNC_0(VirtIODevice *VAR_0, uint64_t VAR_1)

{

    VirtIONet *n = VIRTIO_NET(VAR_0);

    int VAR_2;



    virtio_net_set_multiqueue(n,

                              __virtio_has_feature(VAR_1, VIRTIO_NET_F_MQ));



    virtio_net_set_mrg_rx_bufs(n,

                               __virtio_has_feature(VAR_1,

                                                    VIRTIO_NET_F_MRG_RXBUF),

                               __virtio_has_feature(VAR_1,

                                                    VIRTIO_F_VERSION_1));



    if (n->has_vnet_hdr) {

        n->curr_guest_offloads =

            virtio_net_guest_offloads_by_features(VAR_1);

        virtio_net_apply_guest_offloads(n);

    }



    for (VAR_2 = 0;  VAR_2 < n->max_queues; VAR_2++) {

        NetClientState *nc = qemu_get_subqueue(n->nic, VAR_2);



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

            continue;

        }

        vhost_net_ack_features(get_vhost_net(nc->peer), VAR_1);

    }



    if (__virtio_has_feature(VAR_1, VIRTIO_NET_F_CTRL_VLAN)) {

        memset(n->vlans, 0, MAX_VLAN >> 3);

    } else {

        memset(n->vlans, 0xff, MAX_VLAN >> 3);

    }

}

static void FUNC_0(VirtIODevice *VAR_0, uint64_t VAR_1)
{ VirtIONet *n = VIRTIO_NET(VAR_0); int VAR_2; virtio_net_set_multiqueue(n,
__virtio_has_feature(VAR_1, VIRTIO_NET_F_MQ)); virtio_net_set_mrg_rx_bufs(n,
__virtio_has_feature(VAR_1,
VIRTIO_NET_F_MRG_RXBUF),
__virtio_has_feature(VAR_1,
VIRTIO_F_VERSION_1)); if (n->has_vnet_hdr) { n->curr_guest_offloads =
virtio_net_guest_offloads_by_features(VAR_1); virtio_net_apply_guest_offloads(n); } for (VAR_2 = 0;  VAR_2 < n->max_queues; VAR_2++) { NetClientState *nc = qemu_get_subqueue(n->nic, VAR_2); if (!get_vhost_net(nc->peer)) { continue; } vhost_net_ack_features(get_vhost_net(nc->peer), VAR_1); } if (__virtio_has_feature(VAR_1, VIRTIO_NET_F_CTRL_VLAN)) { memset(n->vlans, 0, MAX_VLAN >> 3); } else { memset(n->vlans, 0xff, MAX_VLAN >> 3); } }