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_CSUMVIRTIO_NET_F_GUEST_CSUMVIRTIO_NET_F_CTRL_GUEST_OFFLOADSVIRTIO_NET_F_MTUVIRTIO_NET_F_MACVIRTIO_NET_F_HOST_TSO4VIRTIO_NET_F_HOST_TSO6VIRTIO_NET_F_MRG_RXBUFVIRTIO_NET_F_STATUSVIRTIO_NET_F_CTRL_VQVIRTIO_NET_F_CTRL_RXVIRTIO_NET_F_CTRL_VLANVIRTIO_NET_F_GUEST_ANNOUNCEVIRTIO_NET_F_MQVIRTIO_NET_F_CTRL_MAC_ADDRVIRTIO_F_VERSION_1VIRTIO_F_IOMMU_PLATFORMVIRTIO_F_RING_PACKEDVIRTIO_F_ORDER_PLATFORMVIRTIO_F_SR_IOVVIRTIO_F_NOTIFICATION_DATAVIRTIO_F_RING_RESETVIRTIO_F_ADMIN_VQVIRTIO_NET_F_HOST_USOVIRTIO_NET_F_HASH_REPORTVIRTIO_NET_F_GUEST_HDRLENVIRTIO_NET_F_SPEED_DUPLEX
For more information on these bits, refer to the VIRTIO Version 1.2 Specifications.