virtio_with_feature
if (virtio_with_feature(_dev, _feature)) { \
wc = virtio_with_feature(sc->vtblk_dev, VIRTIO_BLK_F_FLUSH);
if (virtio_with_feature(dev, VIRTIO_BLK_F_SIZE_MAX)) {
if (virtio_with_feature(dev, VIRTIO_RING_F_INDIRECT_DESC))
if (virtio_with_feature(dev, VIRTIO_BLK_F_CONFIG_WCE))
if (virtio_with_feature(dev, VIRTIO_BLK_F_BARRIER))
if (virtio_with_feature(dev, VIRTIO_BLK_F_SEG_MAX)) {
if (virtio_with_feature(dev, VIRTIO_BLK_F_RO))
if (virtio_with_feature(dev, VIRTIO_BLK_F_FLUSH))
if (virtio_with_feature(dev, VIRTIO_BLK_F_BLK_SIZE))
if (virtio_with_feature(dev, VIRTIO_BLK_F_GEOMETRY)) {
if (virtio_with_feature(dev, VIRTIO_BLK_F_TOPOLOGY) &&
if (virtio_with_feature(dev, VIRTIO_BLK_F_DISCARD)) {
if (virtio_with_feature(dev, VIRTIO_CONSOLE_F_SIZE))
if (virtio_with_feature(dev, VIRTIO_CONSOLE_F_MULTIPORT))
if (virtio_with_feature(_dev, _feature)) { \
if (virtio_with_feature(dev, VIRTIO_NET_F_STATUS))
if (virtio_with_feature(dev, VIRTIO_NET_F_CSUM)) {
gso = virtio_with_feature(dev, VIRTIO_NET_F_GSO);
if (gso || virtio_with_feature(dev, VIRTIO_NET_F_HOST_TSO4))
if (gso || virtio_with_feature(dev, VIRTIO_NET_F_HOST_TSO6))
if (gso || virtio_with_feature(dev, VIRTIO_NET_F_HOST_ECN))
if (virtio_with_feature(dev, VIRTIO_NET_F_GUEST_CSUM)) {
if (virtio_with_feature(dev, VIRTIO_NET_F_MTU)) {
if (virtio_with_feature(dev, VIRTIO_NET_F_MQ)) {
if (virtio_with_feature(dev, VTNET_LRO_FEATURES) &&
virtio_with_feature(dev, VIRTIO_NET_F_MRG_RXBUF) == 0) {
if (!virtio_with_feature(dev, VIRTIO_RING_F_INDIRECT_DESC)) {
if (virtio_with_feature(dev, VIRTIO_F_VERSION_1))
if (virtio_with_feature(dev, VIRTIO_RING_F_INDIRECT_DESC))
if (virtio_with_feature(dev, VIRTIO_RING_F_EVENT_IDX))
if (virtio_with_feature(dev, VIRTIO_NET_F_MAC)) {
if (virtio_with_feature(dev, VIRTIO_NET_F_MTU)) {
if (virtio_with_feature(dev, VIRTIO_NET_F_MRG_RXBUF)) {
if (virtio_with_feature(dev, VIRTIO_NET_F_GUEST_TSO4) == 0 &&
virtio_with_feature(dev, VIRTIO_NET_F_GUEST_TSO6) == 0)
if (virtio_with_feature(dev, VIRTIO_NET_F_GSO) ||
virtio_with_feature(dev, VIRTIO_NET_F_HOST_TSO4) ||
virtio_with_feature(dev, VIRTIO_NET_F_HOST_TSO6))
if (virtio_with_feature(dev, VIRTIO_NET_F_CTRL_VQ)) {
if (virtio_with_feature(dev, VIRTIO_NET_F_CTRL_RX))
if (virtio_with_feature(dev, VIRTIO_NET_F_CTRL_VLAN))
if (virtio_with_feature(dev, VIRTIO_NET_F_CTRL_MAC_ADDR))
if (virtio_with_feature(dev, VIRTIO_NET_F_MQ)) {
if (virtio_with_feature(dev, VIRTIO_9PNET_F_MOUNT_TAG))
if (virtio_with_feature(dev, VIRTIO_SCMI_F_P2A_CHANNELS))
if (virtio_with_feature(dev, VIRTIO_SCMI_F_SHARED_MEMORY))
if (virtio_with_feature(dev, VIRTIO_RING_F_INDIRECT_DESC))
if (virtio_with_feature(dev, VIRTIO_SCSI_F_INOUT))
if (virtio_with_feature(dev, VIRTIO_SCSI_F_HOTPLUG))
bool virtio_with_feature(device_t dev, uint64_t feature);