mirror of
https://github.com/qemu/qemu.git
synced 2025-08-20 13:46:08 +00:00

The new qapidoc.py can generate "Returns" statements with type information just fine, so we can remove it from the source where it doesn't add anything particularly novel or helpful and just repeats the type info. This patch is fairly "gentle" and doesn't aggressively touch other "Returns" lines that could be rephrased to omit repeating type information; it only removes lines that appear appropriate to wholly remove. To help facilitate auto-generated placement, a few doc blocks have a "TODO:" line inserted to help the placement algorithm differentiate the introductory paragraph(s) from the rest of the documentation. The auto-generated returns are in the exact same spot, except for query-migrationthreads, query-machines, and x-query-virtio-queue-element. These auto-generation moves to a better spot. Signed-off-by: John Snow <jsnow@redhat.com> Message-ID: <20250711051045.51110-4-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Two more Returns: removed, commit message amended to explain auto-generated returns generated into a different spot] Signed-off-by: Markus Armbruster <armbru@redhat.com>
341 lines
7.7 KiB
Python
341 lines
7.7 KiB
Python
# -*- Mode: Python -*-
|
|
# vim: filetype=python
|
|
|
|
##
|
|
# ********************
|
|
# Rocker switch device
|
|
# ********************
|
|
##
|
|
|
|
##
|
|
# @RockerSwitch:
|
|
#
|
|
# Rocker switch information.
|
|
#
|
|
# @name: switch name
|
|
#
|
|
# @id: switch ID
|
|
#
|
|
# @ports: number of front-panel ports
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerSwitch',
|
|
'data': { 'name': 'str', 'id': 'uint64', 'ports': 'uint32' } }
|
|
|
|
##
|
|
# @query-rocker:
|
|
#
|
|
# Return rocker switch information.
|
|
#
|
|
# @name: switch name
|
|
#
|
|
# Since: 2.4
|
|
#
|
|
# .. qmp-example::
|
|
#
|
|
# -> { "execute": "query-rocker", "arguments": { "name": "sw1" } }
|
|
# <- { "return": {"name": "sw1", "ports": 2, "id": 1327446905938}}
|
|
##
|
|
{ 'command': 'query-rocker',
|
|
'data': { 'name': 'str' },
|
|
'returns': 'RockerSwitch' }
|
|
|
|
##
|
|
# @RockerPortDuplex:
|
|
#
|
|
# An enumeration of port duplex states.
|
|
#
|
|
# @half: half duplex
|
|
#
|
|
# @full: full duplex
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'enum': 'RockerPortDuplex', 'data': [ 'half', 'full' ] }
|
|
|
|
##
|
|
# @RockerPortAutoneg:
|
|
#
|
|
# An enumeration of port autoneg states.
|
|
#
|
|
# @off: autoneg is off
|
|
#
|
|
# @on: autoneg is on
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'enum': 'RockerPortAutoneg', 'data': [ 'off', 'on' ] }
|
|
|
|
##
|
|
# @RockerPort:
|
|
#
|
|
# Rocker switch port information.
|
|
#
|
|
# @name: port name
|
|
#
|
|
# @enabled: port is enabled for I/O
|
|
#
|
|
# @link-up: physical link is UP on port
|
|
#
|
|
# @speed: port link speed in Mbps
|
|
#
|
|
# @duplex: port link duplex
|
|
#
|
|
# @autoneg: port link autoneg
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerPort',
|
|
'data': { 'name': 'str', 'enabled': 'bool', 'link-up': 'bool',
|
|
'speed': 'uint32', 'duplex': 'RockerPortDuplex',
|
|
'autoneg': 'RockerPortAutoneg' } }
|
|
|
|
##
|
|
# @query-rocker-ports:
|
|
#
|
|
# Return rocker switch port information.
|
|
#
|
|
# @name: port name
|
|
#
|
|
# Since: 2.4
|
|
#
|
|
# .. qmp-example::
|
|
#
|
|
# -> { "execute": "query-rocker-ports", "arguments": { "name": "sw1" } }
|
|
# <- { "return": [ {"duplex": "full", "enabled": true, "name": "sw1.1",
|
|
# "autoneg": "off", "link-up": true, "speed": 10000},
|
|
# {"duplex": "full", "enabled": true, "name": "sw1.2",
|
|
# "autoneg": "off", "link-up": true, "speed": 10000}
|
|
# ]}
|
|
##
|
|
{ 'command': 'query-rocker-ports',
|
|
'data': { 'name': 'str' },
|
|
'returns': ['RockerPort'] }
|
|
|
|
##
|
|
# @RockerOfDpaFlowKey:
|
|
#
|
|
# Rocker switch OF-DPA flow key
|
|
#
|
|
# @priority: key priority, 0 being lowest priority
|
|
#
|
|
# @tbl-id: flow table ID
|
|
#
|
|
# @in-pport: physical input port
|
|
#
|
|
# @tunnel-id: tunnel ID
|
|
#
|
|
# @vlan-id: VLAN ID
|
|
#
|
|
# @eth-type: Ethernet header type
|
|
#
|
|
# @eth-src: Ethernet header source MAC address
|
|
#
|
|
# @eth-dst: Ethernet header destination MAC address
|
|
#
|
|
# @ip-proto: IP Header protocol field
|
|
#
|
|
# @ip-tos: IP header TOS field
|
|
#
|
|
# @ip-dst: IP header destination address
|
|
#
|
|
# .. note:: Optional members may or may not appear in the flow key
|
|
# depending if they're relevant to the flow key.
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerOfDpaFlowKey',
|
|
'data' : { 'priority': 'uint32', 'tbl-id': 'uint32', '*in-pport': 'uint32',
|
|
'*tunnel-id': 'uint32', '*vlan-id': 'uint16',
|
|
'*eth-type': 'uint16', '*eth-src': 'str', '*eth-dst': 'str',
|
|
'*ip-proto': 'uint8', '*ip-tos': 'uint8', '*ip-dst': 'str' } }
|
|
|
|
##
|
|
# @RockerOfDpaFlowMask:
|
|
#
|
|
# Rocker switch OF-DPA flow mask
|
|
#
|
|
# @in-pport: physical input port
|
|
#
|
|
# @tunnel-id: tunnel ID
|
|
#
|
|
# @vlan-id: VLAN ID
|
|
#
|
|
# @eth-src: Ethernet header source MAC address
|
|
#
|
|
# @eth-dst: Ethernet header destination MAC address
|
|
#
|
|
# @ip-proto: IP Header protocol field
|
|
#
|
|
# @ip-tos: IP header TOS field
|
|
#
|
|
# .. note:: Optional members may or may not appear in the flow mask
|
|
# depending if they're relevant to the flow mask.
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerOfDpaFlowMask',
|
|
'data' : { '*in-pport': 'uint32', '*tunnel-id': 'uint32',
|
|
'*vlan-id': 'uint16', '*eth-src': 'str', '*eth-dst': 'str',
|
|
'*ip-proto': 'uint8', '*ip-tos': 'uint8' } }
|
|
|
|
##
|
|
# @RockerOfDpaFlowAction:
|
|
#
|
|
# Rocker switch OF-DPA flow action
|
|
#
|
|
# @goto-tbl: next table ID
|
|
#
|
|
# @group-id: group ID
|
|
#
|
|
# @tunnel-lport: tunnel logical port ID
|
|
#
|
|
# @vlan-id: VLAN ID
|
|
#
|
|
# @new-vlan-id: new VLAN ID
|
|
#
|
|
# @out-pport: physical output port
|
|
#
|
|
# .. note:: Optional members may or may not appear in the flow action
|
|
# depending if they're relevant to the flow action.
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerOfDpaFlowAction',
|
|
'data' : { '*goto-tbl': 'uint32', '*group-id': 'uint32',
|
|
'*tunnel-lport': 'uint32', '*vlan-id': 'uint16',
|
|
'*new-vlan-id': 'uint16', '*out-pport': 'uint32' } }
|
|
|
|
##
|
|
# @RockerOfDpaFlow:
|
|
#
|
|
# Rocker switch OF-DPA flow
|
|
#
|
|
# @cookie: flow unique cookie ID
|
|
#
|
|
# @hits: count of matches (hits) on flow
|
|
#
|
|
# @key: flow key
|
|
#
|
|
# @mask: flow mask
|
|
#
|
|
# @action: flow action
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerOfDpaFlow',
|
|
'data': { 'cookie': 'uint64', 'hits': 'uint64', 'key': 'RockerOfDpaFlowKey',
|
|
'mask': 'RockerOfDpaFlowMask', 'action': 'RockerOfDpaFlowAction' } }
|
|
|
|
##
|
|
# @query-rocker-of-dpa-flows:
|
|
#
|
|
# Return rocker OF-DPA flow information.
|
|
#
|
|
# @name: switch name
|
|
#
|
|
# @tbl-id: flow table ID. If tbl-id is not specified, returns flow
|
|
# information for all tables.
|
|
#
|
|
# Returns: rocker OF-DPA flow information
|
|
#
|
|
# Since: 2.4
|
|
#
|
|
# .. qmp-example::
|
|
#
|
|
# -> { "execute": "query-rocker-of-dpa-flows",
|
|
# "arguments": { "name": "sw1" } }
|
|
# <- { "return": [ {"key": {"in-pport": 0, "priority": 1, "tbl-id": 0},
|
|
# "hits": 138,
|
|
# "cookie": 0,
|
|
# "action": {"goto-tbl": 10},
|
|
# "mask": {"in-pport": 4294901760}
|
|
# },
|
|
# ...
|
|
# ]}
|
|
##
|
|
{ 'command': 'query-rocker-of-dpa-flows',
|
|
'data': { 'name': 'str', '*tbl-id': 'uint32' },
|
|
'returns': ['RockerOfDpaFlow'] }
|
|
|
|
##
|
|
# @RockerOfDpaGroup:
|
|
#
|
|
# Rocker switch OF-DPA group
|
|
#
|
|
# @id: group unique ID
|
|
#
|
|
# @type: group type
|
|
#
|
|
# @vlan-id: VLAN ID
|
|
#
|
|
# @pport: physical port number
|
|
#
|
|
# @index: group index, unique with group type
|
|
#
|
|
# @out-pport: output physical port number
|
|
#
|
|
# @group-id: next group ID
|
|
#
|
|
# @set-vlan-id: VLAN ID to set
|
|
#
|
|
# @pop-vlan: pop VLAN headr from packet
|
|
#
|
|
# @group-ids: list of next group IDs
|
|
#
|
|
# @set-eth-src: set source MAC address in Ethernet header
|
|
#
|
|
# @set-eth-dst: set destination MAC address in Ethernet header
|
|
#
|
|
# @ttl-check: perform TTL check
|
|
#
|
|
# .. note:: Optional members may or may not appear in the group
|
|
# depending if they're relevant to the group type.
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'struct': 'RockerOfDpaGroup',
|
|
'data': { 'id': 'uint32', 'type': 'uint8', '*vlan-id': 'uint16',
|
|
'*pport': 'uint32', '*index': 'uint32', '*out-pport': 'uint32',
|
|
'*group-id': 'uint32', '*set-vlan-id': 'uint16',
|
|
'*pop-vlan': 'uint8', '*group-ids': ['uint32'],
|
|
'*set-eth-src': 'str', '*set-eth-dst': 'str',
|
|
'*ttl-check': 'uint8' } }
|
|
|
|
##
|
|
# @query-rocker-of-dpa-groups:
|
|
#
|
|
# Return rocker OF-DPA group information.
|
|
#
|
|
# @name: switch name
|
|
#
|
|
# @type: group type. If type is not specified, returns group
|
|
# information for all group types.
|
|
#
|
|
# Returns: rocker OF-DPA group information
|
|
#
|
|
# Since: 2.4
|
|
#
|
|
# .. qmp-example::
|
|
#
|
|
# -> { "execute": "query-rocker-of-dpa-groups",
|
|
# "arguments": { "name": "sw1" } }
|
|
# <- { "return": [ {"type": 0, "out-pport": 2,
|
|
# "pport": 2, "vlan-id": 3841,
|
|
# "pop-vlan": 1, "id": 251723778},
|
|
# {"type": 0, "out-pport": 0,
|
|
# "pport": 0, "vlan-id": 3841,
|
|
# "pop-vlan": 1, "id": 251723776},
|
|
# {"type": 0, "out-pport": 1,
|
|
# "pport": 1, "vlan-id": 3840,
|
|
# "pop-vlan": 1, "id": 251658241},
|
|
# {"type": 0, "out-pport": 0,
|
|
# "pport": 0, "vlan-id": 3840,
|
|
# "pop-vlan": 1, "id": 251658240}
|
|
# ]}
|
|
##
|
|
{ 'command': 'query-rocker-of-dpa-groups',
|
|
'data': { 'name': 'str', '*type': 'uint8' },
|
|
'returns': ['RockerOfDpaGroup'] }
|