Virtio-net Feature Bits
Per virtio spec, virtio the device negotiates with the virtio driver on the supported features when the driver probes the device. The final negotiated features are a subset of the features supported by the device.
From the controller's perspective, all feature bits can be supported by a device are populated by virtnet list. Each individual virtio-net device is able to choose the feature bits supported by itself.
The following is a list of the feature bits currently supported by controller:
VIRTIO_NET_F_CSUM
VIRTIO_NET_F_GUEST_CSUM
VIRTIO_NET_F_CTRL_GUEST_OFFLOADS
VIRTIO_NET_F_MTU
VIRTIO_NET_F_MAC
VIRTIO_NET_F_HOST_TSO4
VIRTIO_NET_F_HOST_TSO6
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_F_VERSION_1
VIRTIO_F_IOMMU_PLATFORM
VIRTIO_F_RING_PACKED
VIRTIO_F_ORDER_PLATFORM
VIRTIO_F_SR_IOV
VIRTIO_F_NOTIFICATION_DATA
VIRTIO_F_RING_RESET
VIRTIO_F_ADMIN_VQ
VIRTIO_NET_F_HOST_USO
VIRTIO_NET_F_HASH_REPORT
VIRTIO_NET_F_GUEST_HDRLEN
VIRTIO_NET_F_SPEED_DUPLEX
For more information on these bits, refer to the VIRTIO Version 1.2 Specifications.