|
@@ -2038,23 +2038,33 @@ static struct virtio_device_id id_table[] = {
|
|
|
{ 0 },
|
|
|
};
|
|
|
|
|
|
+#define VIRTNET_FEATURES \
|
|
|
+ VIRTIO_NET_F_CSUM, VIRTIO_NET_F_GUEST_CSUM, \
|
|
|
+ VIRTIO_NET_F_MAC, \
|
|
|
+ VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_UFO, VIRTIO_NET_F_HOST_TSO6, \
|
|
|
+ VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6, \
|
|
|
+ VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_UFO, \
|
|
|
+ VIRTIO_NET_F_MRG_RXBUF, VIRTIO_NET_F_STATUS, VIRTIO_NET_F_CTRL_VQ, \
|
|
|
+ VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \
|
|
|
+ VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \
|
|
|
+ VIRTIO_NET_F_CTRL_MAC_ADDR, \
|
|
|
+ VIRTIO_NET_F_MTU
|
|
|
+
|
|
|
static unsigned int features[] = {
|
|
|
- VIRTIO_NET_F_CSUM, VIRTIO_NET_F_GUEST_CSUM,
|
|
|
- VIRTIO_NET_F_GSO, VIRTIO_NET_F_MAC,
|
|
|
- VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_UFO, VIRTIO_NET_F_HOST_TSO6,
|
|
|
- VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6,
|
|
|
- VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_UFO,
|
|
|
- VIRTIO_NET_F_MRG_RXBUF, VIRTIO_NET_F_STATUS, VIRTIO_NET_F_CTRL_VQ,
|
|
|
- VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN,
|
|
|
- VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ,
|
|
|
- VIRTIO_NET_F_CTRL_MAC_ADDR,
|
|
|
+ VIRTNET_FEATURES,
|
|
|
+};
|
|
|
+
|
|
|
+static unsigned int features_legacy[] = {
|
|
|
+ VIRTNET_FEATURES,
|
|
|
+ VIRTIO_NET_F_GSO,
|
|
|
VIRTIO_F_ANY_LAYOUT,
|
|
|
- VIRTIO_NET_F_MTU,
|
|
|
};
|
|
|
|
|
|
static struct virtio_driver virtio_net_driver = {
|
|
|
.feature_table = features,
|
|
|
.feature_table_size = ARRAY_SIZE(features),
|
|
|
+ .feature_table_legacy = features_legacy,
|
|
|
+ .feature_table_size_legacy = ARRAY_SIZE(features_legacy),
|
|
|
.driver.name = KBUILD_MODNAME,
|
|
|
.driver.owner = THIS_MODULE,
|
|
|
.id_table = id_table,
|