virtio-net.c (791e3837c1105aec4e328674aad32e34056957e2) virtio-net.c (9379ea9db3c0064fa2787db0794a23a30f7b2d2d)
1/*
2 * Virtio Network Device
3 *
4 * Copyright IBM, Corp. 2007
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 3050 unchanged lines hidden (view full) ---

3059 int max = multiqueue ? n->max_queue_pairs : 1;
3060
3061 n->multiqueue = multiqueue;
3062 virtio_net_change_num_queue_pairs(n, max);
3063
3064 virtio_net_set_queue_pairs(n);
3065}
3066
1/*
2 * Virtio Network Device
3 *
4 * Copyright IBM, Corp. 2007
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 3050 unchanged lines hidden (view full) ---

3059 int max = multiqueue ? n->max_queue_pairs : 1;
3060
3061 n->multiqueue = multiqueue;
3062 virtio_net_change_num_queue_pairs(n, max);
3063
3064 virtio_net_set_queue_pairs(n);
3065}
3066
3067static int virtio_net_pre_load_queues(VirtIODevice *vdev)
3068{
3069 virtio_net_set_multiqueue(VIRTIO_NET(vdev),
3070 virtio_has_feature(vdev->guest_features, VIRTIO_NET_F_RSS) ||
3071 virtio_has_feature(vdev->guest_features, VIRTIO_NET_F_MQ));
3072
3073 return 0;
3074}
3075
3067static int virtio_net_post_load_device(void *opaque, int version_id)
3068{
3069 VirtIONet *n = opaque;
3070 VirtIODevice *vdev = VIRTIO_DEVICE(n);
3071 int i, link_down;
3072
3073 trace_virtio_net_post_load_device();
3074 virtio_net_set_mrg_rx_bufs(n, n->mergeable_rx_bufs,

--- 993 unchanged lines hidden (view full) ---

4068 vdc->bad_features = virtio_net_bad_features;
4069 vdc->reset = virtio_net_reset;
4070 vdc->queue_reset = virtio_net_queue_reset;
4071 vdc->queue_enable = virtio_net_queue_enable;
4072 vdc->set_status = virtio_net_set_status;
4073 vdc->guest_notifier_mask = virtio_net_guest_notifier_mask;
4074 vdc->guest_notifier_pending = virtio_net_guest_notifier_pending;
4075 vdc->legacy_features |= (0x1 << VIRTIO_NET_F_GSO);
3076static int virtio_net_post_load_device(void *opaque, int version_id)
3077{
3078 VirtIONet *n = opaque;
3079 VirtIODevice *vdev = VIRTIO_DEVICE(n);
3080 int i, link_down;
3081
3082 trace_virtio_net_post_load_device();
3083 virtio_net_set_mrg_rx_bufs(n, n->mergeable_rx_bufs,

--- 993 unchanged lines hidden (view full) ---

4077 vdc->bad_features = virtio_net_bad_features;
4078 vdc->reset = virtio_net_reset;
4079 vdc->queue_reset = virtio_net_queue_reset;
4080 vdc->queue_enable = virtio_net_queue_enable;
4081 vdc->set_status = virtio_net_set_status;
4082 vdc->guest_notifier_mask = virtio_net_guest_notifier_mask;
4083 vdc->guest_notifier_pending = virtio_net_guest_notifier_pending;
4084 vdc->legacy_features |= (0x1 << VIRTIO_NET_F_GSO);
4085 vdc->pre_load_queues = virtio_net_pre_load_queues;
4076 vdc->post_load = virtio_net_post_load_virtio;
4077 vdc->vmsd = &vmstate_virtio_net_device;
4078 vdc->primary_unplug_pending = primary_unplug_pending;
4079 vdc->get_vhost = virtio_net_get_vhost;
4080 vdc->toggle_device_iotlb = vhost_toggle_device_iotlb;
4081}
4082
4083static const TypeInfo virtio_net_info = {

--- 13 unchanged lines hidden ---
4086 vdc->post_load = virtio_net_post_load_virtio;
4087 vdc->vmsd = &vmstate_virtio_net_device;
4088 vdc->primary_unplug_pending = primary_unplug_pending;
4089 vdc->get_vhost = virtio_net_get_vhost;
4090 vdc->toggle_device_iotlb = vhost_toggle_device_iotlb;
4091}
4092
4093static const TypeInfo virtio_net_info = {

--- 13 unchanged lines hidden ---