aboutsummaryrefslogtreecommitdiff
path: root/qapi/virtio.json
diff options
context:
space:
mode:
Diffstat (limited to 'qapi/virtio.json')
-rw-r--r--qapi/virtio.json794
1 files changed, 397 insertions, 397 deletions
diff --git a/qapi/virtio.json b/qapi/virtio.json
index 19c7c36e36..a79013fe89 100644
--- a/qapi/virtio.json
+++ b/qapi/virtio.json
@@ -36,30 +36,30 @@
#
# Example:
#
-# -> { "execute": "x-query-virtio" }
-# <- { "return": [
-# {
-# "name": "virtio-input",
-# "path": "/machine/peripheral-anon/device[4]/virtio-backend"
-# },
-# {
-# "name": "virtio-crypto",
-# "path": "/machine/peripheral/crypto0/virtio-backend"
-# },
-# {
-# "name": "virtio-scsi",
-# "path": "/machine/peripheral-anon/device[2]/virtio-backend"
-# },
-# {
-# "name": "virtio-net",
-# "path": "/machine/peripheral-anon/device[1]/virtio-backend"
-# },
-# {
-# "name": "virtio-serial",
-# "path": "/machine/peripheral-anon/device[0]/virtio-backend"
-# }
-# ]
-# }
+# -> { "execute": "x-query-virtio" }
+# <- { "return": [
+# {
+# "name": "virtio-input",
+# "path": "/machine/peripheral-anon/device[4]/virtio-backend"
+# },
+# {
+# "name": "virtio-crypto",
+# "path": "/machine/peripheral/crypto0/virtio-backend"
+# },
+# {
+# "name": "virtio-scsi",
+# "path": "/machine/peripheral-anon/device[2]/virtio-backend"
+# },
+# {
+# "name": "virtio-net",
+# "path": "/machine/peripheral-anon/device[1]/virtio-backend"
+# },
+# {
+# "name": "virtio-serial",
+# "path": "/machine/peripheral-anon/device[0]/virtio-backend"
+# }
+# ]
+# }
##
{ 'command': 'x-query-virtio',
'returns': [ 'VirtioInfo' ],
@@ -205,229 +205,229 @@
#
# Examples:
#
-# 1. Poll for the status of virtio-crypto (no vhost-crypto active)
-#
-# -> { "execute": "x-query-virtio-status",
-# "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend" }
-# }
-# <- { "return": {
-# "device-endian": "little",
-# "bus-name": "",
-# "disable-legacy-check": false,
-# "name": "virtio-crypto",
-# "started": true,
-# "device-id": 20,
-# "backend-features": {
-# "transports": [],
-# "dev-features": []
-# },
-# "start-on-kick": false,
-# "isr": 1,
-# "broken": false,
-# "status": {
-# "statuses": [
-# "VIRTIO_CONFIG_S_ACKNOWLEDGE: Valid virtio device found",
-# "VIRTIO_CONFIG_S_DRIVER: Guest OS compatible with device",
-# "VIRTIO_CONFIG_S_FEATURES_OK: Feature negotiation complete",
-# "VIRTIO_CONFIG_S_DRIVER_OK: Driver setup and ready"
-# ]
-# },
-# "num-vqs": 2,
-# "guest-features": {
-# "dev-features": [],
-# "transports": [
-# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
-# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"
-# ]
-# },
-# "host-features": {
-# "unknown-dev-features": 1073741824,
-# "dev-features": [],
-# "transports": [
-# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
-# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
-# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
-# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
-# ]
-# },
-# "use-guest-notifier-mask": true,
-# "vm-running": true,
-# "queue-sel": 1,
-# "disabled": false,
-# "vhost-started": false,
-# "use-started": true
-# }
-# }
-#
-# 2. Poll for the status of virtio-net (vhost-net is active)
-#
-# -> { "execute": "x-query-virtio-status",
-# "arguments": { "path": "/machine/peripheral-anon/device[1]/virtio-backend" }
-# }
-# <- { "return": {
-# "device-endian": "little",
-# "bus-name": "",
-# "disabled-legacy-check": false,
-# "name": "virtio-net",
-# "started": true,
-# "device-id": 1,
-# "vhost-dev": {
-# "n-tmp-sections": 4,
-# "n-mem-sections": 4,
-# "max-queues": 1,
-# "backend-cap": 2,
-# "log-size": 0,
+# 1. Poll for the status of virtio-crypto (no vhost-crypto active)
+#
+# -> { "execute": "x-query-virtio-status",
+# "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend" }
+# }
+# <- { "return": {
+# "device-endian": "little",
+# "bus-name": "",
+# "disable-legacy-check": false,
+# "name": "virtio-crypto",
+# "started": true,
+# "device-id": 20,
# "backend-features": {
+# "transports": [],
+# "dev-features": []
+# },
+# "start-on-kick": false,
+# "isr": 1,
+# "broken": false,
+# "status": {
+# "statuses": [
+# "VIRTIO_CONFIG_S_ACKNOWLEDGE: Valid virtio device found",
+# "VIRTIO_CONFIG_S_DRIVER: Guest OS compatible with device",
+# "VIRTIO_CONFIG_S_FEATURES_OK: Feature negotiation complete",
+# "VIRTIO_CONFIG_S_DRIVER_OK: Driver setup and ready"
+# ]
+# },
+# "num-vqs": 2,
+# "guest-features": {
# "dev-features": [],
-# "transports": []
+# "transports": [
+# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
+# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
+# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"
+# ]
# },
-# "nvqs": 2,
-# "protocol-features": {
-# "protocols": []
+# "host-features": {
+# "unknown-dev-features": 1073741824,
+# "dev-features": [],
+# "transports": [
+# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
+# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
+# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
+# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
+# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
+# ]
# },
-# "vq-index": 0,
-# "log-enabled": false,
-# "acked-features": {
+# "use-guest-notifier-mask": true,
+# "vm-running": true,
+# "queue-sel": 1,
+# "disabled": false,
+# "vhost-started": false,
+# "use-started": true
+# }
+# }
+#
+# 2. Poll for the status of virtio-net (vhost-net is active)
+#
+# -> { "execute": "x-query-virtio-status",
+# "arguments": { "path": "/machine/peripheral-anon/device[1]/virtio-backend" }
+# }
+# <- { "return": {
+# "device-endian": "little",
+# "bus-name": "",
+# "disabled-legacy-check": false,
+# "name": "virtio-net",
+# "started": true,
+# "device-id": 1,
+# "vhost-dev": {
+# "n-tmp-sections": 4,
+# "n-mem-sections": 4,
+# "max-queues": 1,
+# "backend-cap": 2,
+# "log-size": 0,
+# "backend-features": {
+# "dev-features": [],
+# "transports": []
+# },
+# "nvqs": 2,
+# "protocol-features": {
+# "protocols": []
+# },
+# "vq-index": 0,
+# "log-enabled": false,
+# "acked-features": {
+# "dev-features": [
+# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers"
+# ],
+# "transports": [
+# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
+# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
+# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"
+# ]
+# },
+# "features": {
+# "dev-features": [
+# "VHOST_F_LOG_ALL: Logging write descriptors supported",
+# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers"
+# ],
+# "transports": [
+# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
+# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
+# "VIRTIO_F_IOMMU_PLATFORM: Device can be used on IOMMU platform",
+# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
+# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
+# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
+# ]
+# }
+# },
+# "backend-features": {
# "dev-features": [
-# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers"
+# "VHOST_USER_F_PROTOCOL_FEATURES: Vhost-user protocol features negotiation supported",
+# "VIRTIO_NET_F_GSO: Handling GSO-type packets supported",
+# "VIRTIO_NET_F_CTRL_MAC_ADDR: MAC address set through control channel",
+# "VIRTIO_NET_F_GUEST_ANNOUNCE: Driver sending gratuitous packets supported",
+# "VIRTIO_NET_F_CTRL_RX_EXTRA: Extra RX mode control supported",
+# "VIRTIO_NET_F_CTRL_VLAN: Control channel VLAN filtering supported",
+# "VIRTIO_NET_F_CTRL_RX: Control channel RX mode supported",
+# "VIRTIO_NET_F_CTRL_VQ: Control channel available",
+# "VIRTIO_NET_F_STATUS: Configuration status field available",
+# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers",
+# "VIRTIO_NET_F_HOST_UFO: Device can receive UFO",
+# "VIRTIO_NET_F_HOST_ECN: Device can receive TSO with ECN",
+# "VIRTIO_NET_F_HOST_TSO6: Device can receive TSOv6",
+# "VIRTIO_NET_F_HOST_TSO4: Device can receive TSOv4",
+# "VIRTIO_NET_F_GUEST_UFO: Driver can receive UFO",
+# "VIRTIO_NET_F_GUEST_ECN: Driver can receive TSO with ECN",
+# "VIRTIO_NET_F_GUEST_TSO6: Driver can receive TSOv6",
+# "VIRTIO_NET_F_GUEST_TSO4: Driver can receive TSOv4",
+# "VIRTIO_NET_F_MAC: Device has given MAC address",
+# "VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: Control channel offloading reconfig. supported",
+# "VIRTIO_NET_F_GUEST_CSUM: Driver handling packets with partial checksum supported",
+# "VIRTIO_NET_F_CSUM: Device handling packets with partial checksum supported"
# ],
# "transports": [
# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"
+# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
+# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
+# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
# ]
# },
-# "features": {
+# "start-on-kick": false,
+# "isr": 1,
+# "broken": false,
+# "status": {
+# "statuses": [
+# "VIRTIO_CONFIG_S_ACKNOWLEDGE: Valid virtio device found",
+# "VIRTIO_CONFIG_S_DRIVER: Guest OS compatible with device",
+# "VIRTIO_CONFIG_S_FEATURES_OK: Feature negotiation complete",
+# "VIRTIO_CONFIG_S_DRIVER_OK: Driver setup and ready"
+# ]
+# },
+# "num-vqs": 3,
+# "guest-features": {
# "dev-features": [
-# "VHOST_F_LOG_ALL: Logging write descriptors supported",
-# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers"
+# "VIRTIO_NET_F_CTRL_MAC_ADDR: MAC address set through control channel",
+# "VIRTIO_NET_F_GUEST_ANNOUNCE: Driver sending gratuitous packets supported",
+# "VIRTIO_NET_F_CTRL_VLAN: Control channel VLAN filtering supported",
+# "VIRTIO_NET_F_CTRL_RX: Control channel RX mode supported",
+# "VIRTIO_NET_F_CTRL_VQ: Control channel available",
+# "VIRTIO_NET_F_STATUS: Configuration status field available",
+# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers",
+# "VIRTIO_NET_F_HOST_UFO: Device can receive UFO",
+# "VIRTIO_NET_F_HOST_ECN: Device can receive TSO with ECN",
+# "VIRTIO_NET_F_HOST_TSO6: Device can receive TSOv6",
+# "VIRTIO_NET_F_HOST_TSO4: Device can receive TSOv4",
+# "VIRTIO_NET_F_GUEST_UFO: Driver can receive UFO",
+# "VIRTIO_NET_F_GUEST_ECN: Driver can receive TSO with ECN",
+# "VIRTIO_NET_F_GUEST_TSO6: Driver can receive TSOv6",
+# "VIRTIO_NET_F_GUEST_TSO4: Driver can receive TSOv4",
+# "VIRTIO_NET_F_MAC: Device has given MAC address",
+# "VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: Control channel offloading reconfig. supported",
+# "VIRTIO_NET_F_GUEST_CSUM: Driver handling packets with partial checksum supported",
+# "VIRTIO_NET_F_CSUM: Device handling packets with partial checksum supported"
+# ],
+# "transports": [
+# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
+# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
+# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"
+# ]
+# },
+# "host-features": {
+# "dev-features": [
+# "VHOST_USER_F_PROTOCOL_FEATURES: Vhost-user protocol features negotiation supported",
+# "VIRTIO_NET_F_GSO: Handling GSO-type packets supported",
+# "VIRTIO_NET_F_CTRL_MAC_ADDR: MAC address set through control channel",
+# "VIRTIO_NET_F_GUEST_ANNOUNCE: Driver sending gratuitous packets supported",
+# "VIRTIO_NET_F_CTRL_RX_EXTRA: Extra RX mode control supported",
+# "VIRTIO_NET_F_CTRL_VLAN: Control channel VLAN filtering supported",
+# "VIRTIO_NET_F_CTRL_RX: Control channel RX mode supported",
+# "VIRTIO_NET_F_CTRL_VQ: Control channel available",
+# "VIRTIO_NET_F_STATUS: Configuration status field available",
+# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers",
+# "VIRTIO_NET_F_HOST_UFO: Device can receive UFO",
+# "VIRTIO_NET_F_HOST_ECN: Device can receive TSO with ECN",
+# "VIRTIO_NET_F_HOST_TSO6: Device can receive TSOv6",
+# "VIRTIO_NET_F_HOST_TSO4: Device can receive TSOv4",
+# "VIRTIO_NET_F_GUEST_UFO: Driver can receive UFO",
+# "VIRTIO_NET_F_GUEST_ECN: Driver can receive TSO with ECN",
+# "VIRTIO_NET_F_GUEST_TSO6: Driver can receive TSOv6",
+# "VIRTIO_NET_F_GUEST_TSO4: Driver can receive TSOv4",
+# "VIRTIO_NET_F_MAC: Device has given MAC address",
+# "VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: Control channel offloading reconfig. supported",
+# "VIRTIO_NET_F_GUEST_CSUM: Driver handling packets with partial checksum supported",
+# "VIRTIO_NET_F_CSUM: Device handling packets with partial checksum supported"
# ],
# "transports": [
# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_IOMMU_PLATFORM: Device can be used on IOMMU platform",
# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
-# ]
-# }
-# },
-# "backend-features": {
-# "dev-features": [
-# "VHOST_USER_F_PROTOCOL_FEATURES: Vhost-user protocol features negotiation supported",
-# "VIRTIO_NET_F_GSO: Handling GSO-type packets supported",
-# "VIRTIO_NET_F_CTRL_MAC_ADDR: MAC address set through control channel",
-# "VIRTIO_NET_F_GUEST_ANNOUNCE: Driver sending gratuitous packets supported",
-# "VIRTIO_NET_F_CTRL_RX_EXTRA: Extra RX mode control supported",
-# "VIRTIO_NET_F_CTRL_VLAN: Control channel VLAN filtering supported",
-# "VIRTIO_NET_F_CTRL_RX: Control channel RX mode supported",
-# "VIRTIO_NET_F_CTRL_VQ: Control channel available",
-# "VIRTIO_NET_F_STATUS: Configuration status field available",
-# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers",
-# "VIRTIO_NET_F_HOST_UFO: Device can receive UFO",
-# "VIRTIO_NET_F_HOST_ECN: Device can receive TSO with ECN",
-# "VIRTIO_NET_F_HOST_TSO6: Device can receive TSOv6",
-# "VIRTIO_NET_F_HOST_TSO4: Device can receive TSOv4",
-# "VIRTIO_NET_F_GUEST_UFO: Driver can receive UFO",
-# "VIRTIO_NET_F_GUEST_ECN: Driver can receive TSO with ECN",
-# "VIRTIO_NET_F_GUEST_TSO6: Driver can receive TSOv6",
-# "VIRTIO_NET_F_GUEST_TSO4: Driver can receive TSOv4",
-# "VIRTIO_NET_F_MAC: Device has given MAC address",
-# "VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: Control channel offloading reconfig. supported",
-# "VIRTIO_NET_F_GUEST_CSUM: Driver handling packets with partial checksum supported",
-# "VIRTIO_NET_F_CSUM: Device handling packets with partial checksum supported"
-# ],
-# "transports": [
-# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
-# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
-# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
-# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
-# ]
-# },
-# "start-on-kick": false,
-# "isr": 1,
-# "broken": false,
-# "status": {
-# "statuses": [
-# "VIRTIO_CONFIG_S_ACKNOWLEDGE: Valid virtio device found",
-# "VIRTIO_CONFIG_S_DRIVER: Guest OS compatible with device",
-# "VIRTIO_CONFIG_S_FEATURES_OK: Feature negotiation complete",
-# "VIRTIO_CONFIG_S_DRIVER_OK: Driver setup and ready"
-# ]
-# },
-# "num-vqs": 3,
-# "guest-features": {
-# "dev-features": [
-# "VIRTIO_NET_F_CTRL_MAC_ADDR: MAC address set through control channel",
-# "VIRTIO_NET_F_GUEST_ANNOUNCE: Driver sending gratuitous packets supported",
-# "VIRTIO_NET_F_CTRL_VLAN: Control channel VLAN filtering supported",
-# "VIRTIO_NET_F_CTRL_RX: Control channel RX mode supported",
-# "VIRTIO_NET_F_CTRL_VQ: Control channel available",
-# "VIRTIO_NET_F_STATUS: Configuration status field available",
-# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers",
-# "VIRTIO_NET_F_HOST_UFO: Device can receive UFO",
-# "VIRTIO_NET_F_HOST_ECN: Device can receive TSO with ECN",
-# "VIRTIO_NET_F_HOST_TSO6: Device can receive TSOv6",
-# "VIRTIO_NET_F_HOST_TSO4: Device can receive TSOv4",
-# "VIRTIO_NET_F_GUEST_UFO: Driver can receive UFO",
-# "VIRTIO_NET_F_GUEST_ECN: Driver can receive TSO with ECN",
-# "VIRTIO_NET_F_GUEST_TSO6: Driver can receive TSOv6",
-# "VIRTIO_NET_F_GUEST_TSO4: Driver can receive TSOv4",
-# "VIRTIO_NET_F_MAC: Device has given MAC address",
-# "VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: Control channel offloading reconfig. supported",
-# "VIRTIO_NET_F_GUEST_CSUM: Driver handling packets with partial checksum supported",
-# "VIRTIO_NET_F_CSUM: Device handling packets with partial checksum supported"
-# ],
-# "transports": [
-# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
-# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"
-# ]
-# },
-# "host-features": {
-# "dev-features": [
-# "VHOST_USER_F_PROTOCOL_FEATURES: Vhost-user protocol features negotiation supported",
-# "VIRTIO_NET_F_GSO: Handling GSO-type packets supported",
-# "VIRTIO_NET_F_CTRL_MAC_ADDR: MAC address set through control channel",
-# "VIRTIO_NET_F_GUEST_ANNOUNCE: Driver sending gratuitous packets supported",
-# "VIRTIO_NET_F_CTRL_RX_EXTRA: Extra RX mode control supported",
-# "VIRTIO_NET_F_CTRL_VLAN: Control channel VLAN filtering supported",
-# "VIRTIO_NET_F_CTRL_RX: Control channel RX mode supported",
-# "VIRTIO_NET_F_CTRL_VQ: Control channel available",
-# "VIRTIO_NET_F_STATUS: Configuration status field available",
-# "VIRTIO_NET_F_MRG_RXBUF: Driver can merge receive buffers",
-# "VIRTIO_NET_F_HOST_UFO: Device can receive UFO",
-# "VIRTIO_NET_F_HOST_ECN: Device can receive TSO with ECN",
-# "VIRTIO_NET_F_HOST_TSO6: Device can receive TSOv6",
-# "VIRTIO_NET_F_HOST_TSO4: Device can receive TSOv4",
-# "VIRTIO_NET_F_GUEST_UFO: Driver can receive UFO",
-# "VIRTIO_NET_F_GUEST_ECN: Driver can receive TSO with ECN",
-# "VIRTIO_NET_F_GUEST_TSO6: Driver can receive TSOv6",
-# "VIRTIO_NET_F_GUEST_TSO4: Driver can receive TSOv4",
-# "VIRTIO_NET_F_MAC: Device has given MAC address",
-# "VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: Control channel offloading reconfig. supported",
-# "VIRTIO_NET_F_GUEST_CSUM: Driver handling packets with partial checksum supported",
-# "VIRTIO_NET_F_CSUM: Device handling packets with partial checksum supported"
-# ],
-# "transports": [
-# "VIRTIO_RING_F_EVENT_IDX: Used & avail. event fields enabled",
-# "VIRTIO_RING_F_INDIRECT_DESC: Indirect descriptors supported",
-# "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)",
-# "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts",
-# "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avail. descs. on VQ"
-# ]
-# },
-# "use-guest-notifier-mask": true,
-# "vm-running": true,
-# "queue-sel": 2,
-# "disabled": false,
-# "vhost-started": true,
-# "use-started": true
-# }
-# }
+# ]
+# },
+# "use-guest-notifier-mask": true,
+# "vm-running": true,
+# "queue-sel": 2,
+# "disabled": false,
+# "vhost-started": true,
+# "use-started": true
+# }
+# }
##
{ 'command': 'x-query-virtio-status',
'data': { 'path': 'str' },
@@ -570,52 +570,52 @@
#
# Examples:
#
-# 1. Get VirtQueueStatus for virtio-vsock (vhost-vsock running)
-#
-# -> { "execute": "x-query-virtio-queue-status",
-# "arguments": { "path": "/machine/peripheral/vsock0/virtio-backend",
-# "queue": 1 }
-# }
-# <- { "return": {
-# "signalled-used": 0,
-# "inuse": 0,
-# "name": "vhost-vsock",
-# "vring-align": 4096,
-# "vring-desc": 5217370112,
-# "signalled-used-valid": false,
-# "vring-num-default": 128,
-# "vring-avail": 5217372160,
-# "queue-index": 1,
-# "last-avail-idx": 0,
-# "vring-used": 5217372480,
-# "used-idx": 0,
-# "vring-num": 128
-# }
-# }
-#
-# 2. Get VirtQueueStatus for virtio-serial (no vhost)
-#
-# -> { "execute": "x-query-virtio-queue-status",
-# "arguments": { "path": "/machine/peripheral-anon/device[0]/virtio-backend",
-# "queue": 20 }
-# }
-# <- { "return": {
-# "signalled-used": 0,
-# "inuse": 0,
-# "name": "virtio-serial",
-# "vring-align": 4096,
-# "vring-desc": 5182074880,
-# "signalled-used-valid": false,
-# "vring-num-default": 128,
-# "vring-avail": 5182076928,
-# "queue-index": 20,
-# "last-avail-idx": 0,
-# "vring-used": 5182077248,
-# "used-idx": 0,
-# "shadow-avail-idx": 0,
-# "vring-num": 128
-# }
-# }
+# 1. Get VirtQueueStatus for virtio-vsock (vhost-vsock running)
+#
+# -> { "execute": "x-query-virtio-queue-status",
+# "arguments": { "path": "/machine/peripheral/vsock0/virtio-backend",
+# "queue": 1 }
+# }
+# <- { "return": {
+# "signalled-used": 0,
+# "inuse": 0,
+# "name": "vhost-vsock",
+# "vring-align": 4096,
+# "vring-desc": 5217370112,
+# "signalled-used-valid": false,
+# "vring-num-default": 128,
+# "vring-avail": 5217372160,
+# "queue-index": 1,
+# "last-avail-idx": 0,
+# "vring-used": 5217372480,
+# "used-idx": 0,
+# "vring-num": 128
+# }
+# }
+#
+# 2. Get VirtQueueStatus for virtio-serial (no vhost)
+#
+# -> { "execute": "x-query-virtio-queue-status",
+# "arguments": { "path": "/machine/peripheral-anon/device[0]/virtio-backend",
+# "queue": 20 }
+# }
+# <- { "return": {
+# "signalled-used": 0,
+# "inuse": 0,
+# "name": "virtio-serial",
+# "vring-align": 4096,
+# "vring-desc": 5182074880,
+# "signalled-used-valid": false,
+# "vring-num-default": 128,
+# "vring-avail": 5182076928,
+# "queue-index": 20,
+# "last-avail-idx": 0,
+# "vring-used": 5182077248,
+# "used-idx": 0,
+# "shadow-avail-idx": 0,
+# "vring-num": 128
+# }
+# }
##
{ 'command': 'x-query-virtio-queue-status',
'data': { 'path': 'str', 'queue': 'uint16' },
@@ -690,51 +690,51 @@
#
# Examples:
#
-# 1. Get vhost_virtqueue status for vhost-crypto
-#
-# -> { "execute": "x-query-virtio-vhost-queue-status",
-# "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend",
-# "queue": 0 }
-# }
-# <- { "return": {
-# "avail-phys": 5216124928,
-# "name": "virtio-crypto",
-# "used-phys": 5216127040,
-# "avail-size": 2054,
-# "desc-size": 16384,
-# "used-size": 8198,
-# "desc": 140141447430144,
-# "num": 1024,
-# "call": 0,
-# "avail": 140141447446528,
-# "desc-phys": 5216108544,
-# "used": 140141447448640,
-# "kick": 0
-# }
-# }
-#
-# 2. Get vhost_virtqueue status for vhost-vsock
-#
-# -> { "execute": "x-query-virtio-vhost-queue-status",
-# "arguments": { "path": "/machine/peripheral/vsock0/virtio-backend",
-# "queue": 0 }
-# }
-# <- { "return": {
-# "avail-phys": 5182261248,
-# "name": "vhost-vsock",
-# "used-phys": 5182261568,
-# "avail-size": 262,
-# "desc-size": 2048,
-# "used-size": 1030,
-# "desc": 140141413580800,
-# "num": 128,
-# "call": 0,
-# "avail": 140141413582848,
-# "desc-phys": 5182259200,
-# "used": 140141413583168,
-# "kick": 0
-# }
-# }
+# 1. Get vhost_virtqueue status for vhost-crypto
+#
+# -> { "execute": "x-query-virtio-vhost-queue-status",
+# "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend",
+# "queue": 0 }
+# }
+# <- { "return": {
+# "avail-phys": 5216124928,
+# "name": "virtio-crypto",
+# "used-phys": 5216127040,
+# "avail-size": 2054,
+# "desc-size": 16384,
+# "used-size": 8198,
+# "desc": 140141447430144,
+# "num": 1024,
+# "call": 0,
+# "avail": 140141447446528,
+# "desc-phys": 5216108544,
+# "used": 140141447448640,
+# "kick": 0
+# }
+# }
+#
+# 2. Get vhost_virtqueue status for vhost-vsock
+#
+# -> { "execute": "x-query-virtio-vhost-queue-status",
+# "arguments": { "path": "/machine/peripheral/vsock0/virtio-backend",
+# "queue": 0 }
+# }
+# <- { "return": {
+# "avail-phys": 5182261248,
+# "name": "vhost-vsock",
+# "used-phys": 5182261568,
+# "avail-size": 262,
+# "desc-size": 2048,
+# "used-size": 1030,
+# "desc": 140141413580800,
+# "num": 128,
+# "call": 0,
+# "avail": 140141413582848,
+# "desc-phys": 5182259200,
+# "used": 140141413583168,
+# "kick": 0
+# }
+# }
##
{ 'command': 'x-query-virtio-vhost-queue-status',
'data': { 'path': 'str', 'queue': 'uint16' },
@@ -839,90 +839,90 @@
#
# Examples:
#
-# 1. Introspect on virtio-net's VirtQueue 0 at index 5
-#
-# -> { "execute": "x-query-virtio-queue-element",
-# "arguments": { "path": "/machine/peripheral-anon/device[1]/virtio-backend",
-# "queue": 0,
-# "index": 5 }
-# }
-# <- { "return": {
-# "index": 5,
-# "name": "virtio-net",
-# "descs": [
-# {
-# "flags": ["write"],
-# "len": 1536,
-# "addr": 5257305600
+# 1. Introspect on virtio-net's VirtQueue 0 at index 5
+#
+# -> { "execute": "x-query-virtio-queue-element",
+# "arguments": { "path": "/machine/peripheral-anon/device[1]/virtio-backend",
+# "queue": 0,
+# "index": 5 }
+# }
+# <- { "return": {
+# "index": 5,
+# "name": "virtio-net",
+# "descs": [
+# {
+# "flags": ["write"],
+# "len": 1536,
+# "addr": 5257305600
+# }
+# ],
+# "avail": {
+# "idx": 256,
+# "flags": 0,
+# "ring": 5
+# },
+# "used": {
+# "idx": 13,
+# "flags": 0
# }
-# ],
-# "avail": {
-# "idx": 256,
-# "flags": 0,
-# "ring": 5
-# },
-# "used": {
-# "idx": 13,
-# "flags": 0
# }
-# }
-# }
-#
-# 2. Introspect on virtio-crypto's VirtQueue 1 at head
-#
-# -> { "execute": "x-query-virtio-queue-element",
-# "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend",
-# "queue": 1 }
-# }
-# <- { "return": {
-# "index": 0,
-# "name": "virtio-crypto",
-# "descs": [
-# {
-# "flags": [],
-# "len": 0,
-# "addr": 8080268923184214134
+# }
+#
+# 2. Introspect on virtio-crypto's VirtQueue 1 at head
+#
+# -> { "execute": "x-query-virtio-queue-element",
+# "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend",
+# "queue": 1 }
+# }
+# <- { "return": {
+# "index": 0,
+# "name": "virtio-crypto",
+# "descs": [
+# {
+# "flags": [],
+# "len": 0,
+# "addr": 8080268923184214134
+# }
+# ],
+# "avail": {
+# "idx": 280,
+# "flags": 0,
+# "ring": 0
+# },
+# "used": {
+# "idx": 280,
+# "flags": 0
# }
-# ],
-# "avail": {
-# "idx": 280,
-# "flags": 0,
-# "ring": 0
-# },
-# "used": {
-# "idx": 280,
-# "flags": 0
# }
-# }
-# }
-#
-# 3. Introspect on virtio-scsi's VirtQueue 2 at head
-#
-# -> { "execute": "x-query-virtio-queue-element",
-# "arguments": { "path": "/machine/peripheral-anon/device[2]/virtio-backend",
-# "queue": 2 }
-# }
-# <- { "return": {
-# "index": 19,
-# "name": "virtio-scsi",
-# "descs": [
-# {
-# "flags": ["used", "indirect", "write"],
-# "len": 4099327944,
-# "addr": 12055409292258155293
+# }
+#
+# 3. Introspect on virtio-scsi's VirtQueue 2 at head
+#
+# -> { "execute": "x-query-virtio-queue-element",
+# "arguments": { "path": "/machine/peripheral-anon/device[2]/virtio-backend",
+# "queue": 2 }
+# }
+# <- { "return": {
+# "index": 19,
+# "name": "virtio-scsi",
+# "descs": [
+# {
+# "flags": ["used", "indirect", "write"],
+# "len": 4099327944,
+# "addr": 12055409292258155293
+# }
+# ],
+# "avail": {
+# "idx": 1147,
+# "flags": 0,
+# "ring": 19
+# },
+# "used": {
+# "idx": 280,
+# "flags": 0
# }
-# ],
-# "avail": {
-# "idx": 1147,
-# "flags": 0,
-# "ring": 19
-# },
-# "used": {
-# "idx": 280,
-# "flags": 0
# }
-# }
-# }
+# }
##
{ 'command': 'x-query-virtio-queue-element',
'data': { 'path': 'str', 'queue': 'uint16', '*index': 'uint16' },