4 # Rocker switch information.
10 # @ports: number of front-panel ports
14 { 'struct': 'RockerSwitch',
15 'data': { 'name': 'str', 'id': 'uint64', 'ports': 'uint32' } }
20 # Return rocker switch information.
22 # Returns: @Rocker information
26 { 'command': 'query-rocker',
27 'data': { 'name': 'str' },
28 'returns': 'RockerSwitch' }
33 # An eumeration of port duplex states.
41 { 'enum': 'RockerPortDuplex', 'data': [ 'half', 'full' ] }
46 # An eumeration of port autoneg states.
48 # @off: autoneg is off
54 { 'enum': 'RockerPortAutoneg', 'data': [ 'off', 'on' ] }
59 # Rocker switch port information.
63 # @enabled: port is enabled for I/O
65 # @link-up: physical link is UP on port
67 # @speed: port link speed in Mbps
69 # @duplex: port link duplex
71 # @autoneg: port link autoneg
75 { 'struct': 'RockerPort',
76 'data': { 'name': 'str', 'enabled': 'bool', 'link-up': 'bool',
77 'speed': 'uint32', 'duplex': 'RockerPortDuplex',
78 'autoneg': 'RockerPortAutoneg' } }
81 # @query-rocker-ports:
83 # Return rocker switch information.
85 # Returns: @Rocker information
89 { 'command': 'query-rocker-ports',
90 'data': { 'name': 'str' },
91 'returns': ['RockerPort'] }
94 # @RockerOfDpaFlowKey:
96 # Rocker switch OF-DPA flow key
98 # @priority: key priority, 0 being lowest priority
100 # @tbl-id: flow table ID
102 # @in-pport: #optional physical input port
104 # @tunnel-id: #optional tunnel ID
106 # @vlan-id: #optional VLAN ID
108 # @eth-type: #optional Ethernet header type
110 # @eth-src: #optional Ethernet header source MAC address
112 # @eth-dst: #optional Ethernet header destination MAC address
114 # @ip-proto: #optional IP Header protocol field
116 # @ip-tos: #optional IP header TOS field
118 # @ip-dst: #optional IP header destination address
120 # Note: fields are marked #optional to indicate that they may or may not
121 # appear in the flow key depending if they're relevant to the flow key.
125 { 'struct': 'RockerOfDpaFlowKey',
126 'data' : { 'priority': 'uint32', 'tbl-id': 'uint32', '*in-pport': 'uint32',
127 '*tunnel-id': 'uint32', '*vlan-id': 'uint16',
128 '*eth-type': 'uint16', '*eth-src': 'str', '*eth-dst': 'str',
129 '*ip-proto': 'uint8', '*ip-tos': 'uint8', '*ip-dst': 'str' } }
132 # @RockerOfDpaFlowMask:
134 # Rocker switch OF-DPA flow mask
136 # @in-pport: #optional physical input port
138 # @tunnel-id: #optional tunnel ID
140 # @vlan-id: #optional VLAN ID
142 # @eth-src: #optional Ethernet header source MAC address
144 # @eth-dst: #optional Ethernet header destination MAC address
146 # @ip-proto: #optional IP Header protocol field
148 # @ip-tos: #optional IP header TOS field
150 # Note: fields are marked #optional to indicate that they may or may not
151 # appear in the flow mask depending if they're relevant to the flow mask.
155 { 'struct': 'RockerOfDpaFlowMask',
156 'data' : { '*in-pport': 'uint32', '*tunnel-id': 'uint32',
157 '*vlan-id': 'uint16', '*eth-src': 'str', '*eth-dst': 'str',
158 '*ip-proto': 'uint8', '*ip-tos': 'uint8' } }
161 # @RockerOfDpaFlowAction:
163 # Rocker switch OF-DPA flow action
165 # @goto-tbl: #optional next table ID
167 # @group-id: #optional group ID
169 # @tunnel-lport: #optional tunnel logical port ID
171 # @vlan-id: #optional VLAN ID
173 # @new-vlan-id: #optional new VLAN ID
175 # @out-pport: #optional physical output port
177 # Note: fields are marked #optional to indicate that they may or may not
178 # appear in the flow action depending if they're relevant to the flow action.
182 { 'struct': 'RockerOfDpaFlowAction',
183 'data' : { '*goto-tbl': 'uint32', '*group-id': 'uint32',
184 '*tunnel-lport': 'uint32', '*vlan-id': 'uint16',
185 '*new-vlan-id': 'uint16', '*out-pport': 'uint32' } }
190 # Rocker switch OF-DPA flow
192 # @cookie: flow unique cookie ID
194 # @hits: count of matches (hits) on flow
200 # @action: flow action
204 { 'struct': 'RockerOfDpaFlow',
205 'data': { 'cookie': 'uint64', 'hits': 'uint64', 'key': 'RockerOfDpaFlowKey',
206 'mask': 'RockerOfDpaFlowMask', 'action': 'RockerOfDpaFlowAction' } }
209 # @query-rocker-of-dpa-flows:
211 # Return rocker OF-DPA flow information.
215 # @tbl-id: #optional flow table ID. If tbl-id is not specified, returns
216 # flow information for all tables.
218 # Returns: @Rocker OF-DPA flow information
222 { 'command': 'query-rocker-of-dpa-flows',
223 'data': { 'name': 'str', '*tbl-id': 'uint32' },
224 'returns': ['RockerOfDpaFlow'] }
229 # Rocker switch OF-DPA group
231 # @id: group unique ID
235 # @vlan-id: #optional VLAN ID
237 # @pport: #optional physical port number
239 # @index: #optional group index, unique with group type
241 # @out-pport: #optional output physical port number
243 # @group-id: #optional next group ID
245 # @set-vlan-id: #optional VLAN ID to set
247 # @pop-vlan: #optional pop VLAN headr from packet
249 # @group-ids: #optional list of next group IDs
251 # @set-eth-src: #optional set source MAC address in Ethernet header
253 # @set-eth-dst: #optional set destination MAC address in Ethernet header
255 # @ttl-check: #optional perform TTL check
257 # Note: fields are marked #optional to indicate that they may or may not
258 # appear in the group depending if they're relevant to the group type.
262 { 'struct': 'RockerOfDpaGroup',
263 'data': { 'id': 'uint32', 'type': 'uint8', '*vlan-id': 'uint16',
264 '*pport': 'uint32', '*index': 'uint32', '*out-pport': 'uint32',
265 '*group-id': 'uint32', '*set-vlan-id': 'uint16',
266 '*pop-vlan': 'uint8', '*group-ids': ['uint32'],
267 '*set-eth-src': 'str', '*set-eth-dst': 'str',
268 '*ttl-check': 'uint8' } }
271 # @query-rocker-of-dpa-groups:
273 # Return rocker OF-DPA group information.
277 # @type: #optional group type. If type is not specified, returns
278 # group information for all group types.
280 # Returns: @Rocker OF-DPA group information
284 { 'command': 'query-rocker-of-dpa-groups',
285 'data': { 'name': 'str', '*type': 'uint8' },
286 'returns': ['RockerOfDpaGroup'] }