mirror of
https://github.com/qemu/qemu.git
synced 2024-12-22 19:53:41 +08:00
26ec4e53f2
The current doc generation doesn't care much about indentation levels, but we would like to switch to an rST format, and rST does care about indentation. Make the doc comments more strongly consistent about indentation for multiline constructs like: @arg: description line 1 description line 2 Returns: line one line 2 so that there is always exactly one space after the colon, and subsequent lines align with the first. This commit is a purely whitespace change, and it does not alter the generated .texi files (because the texi generation code strips away all the extra whitespace). This does mean that we end up with some over-length lines. Note that when the documentation for an argument fits on a single line like this: @arg: one line only then stray extra spaces after the ':' don't affect the rST output, so I have not attempted to methodically fix them, though the preference is a single space here too. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20200213175647.17628-10-peter.maydell@linaro.org> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Commit message tweaked] Signed-off-by: Markus Armbruster <armbru@redhat.com>
342 lines
7.6 KiB
Python
342 lines
7.6 KiB
Python
# -*- Mode: 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.
|
|
#
|
|
# Returns: @Rocker information
|
|
#
|
|
# Since: 2.4
|
|
#
|
|
# Example:
|
|
#
|
|
# -> { "execute": "query-rocker", "arguments": { "name": "sw1" } }
|
|
# <- { "return": {"name": "sw1", "ports": 2, "id": 1327446905938}}
|
|
#
|
|
##
|
|
{ 'command': 'query-rocker',
|
|
'data': { 'name': 'str' },
|
|
'returns': 'RockerSwitch' }
|
|
|
|
##
|
|
# @RockerPortDuplex:
|
|
#
|
|
# An eumeration of port duplex states.
|
|
#
|
|
# @half: half duplex
|
|
#
|
|
# @full: full duplex
|
|
#
|
|
# Since: 2.4
|
|
##
|
|
{ 'enum': 'RockerPortDuplex', 'data': [ 'half', 'full' ] }
|
|
|
|
##
|
|
# @RockerPortAutoneg:
|
|
#
|
|
# An eumeration 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.
|
|
#
|
|
# Returns: a list of @RockerPort information
|
|
#
|
|
# Since: 2.4
|
|
#
|
|
# 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
|
|
#
|
|
# 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}
|
|
# },
|
|
# {...more...},
|
|
# ]}
|
|
#
|
|
##
|
|
{ '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
|
|
#
|
|
# 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'] }
|