1## 2# @RockerSwitch: 3# 4# Rocker switch information. 5# 6# @name: switch name 7# 8# @id: switch ID 9# 10# @ports: number of front-panel ports 11# 12# Since: 2.4 13## 14{ 'struct': 'RockerSwitch', 15 'data': { 'name': 'str', 'id': 'uint64', 'ports': 'uint32' } } 16 17## 18# @query-rocker: 19# 20# Return rocker switch information. 21# 22# Returns: @Rocker information 23# 24# Since: 2.4 25## 26{ 'command': 'query-rocker', 27 'data': { 'name': 'str' }, 28 'returns': 'RockerSwitch' } 29 30## 31# @RockerPortDuplex: 32# 33# An eumeration of port duplex states. 34# 35# @half: half duplex 36# 37# @full: full duplex 38# 39# Since: 2.4 40## 41{ 'enum': 'RockerPortDuplex', 'data': [ 'half', 'full' ] } 42 43## 44# @RockerPortAutoneg: 45# 46# An eumeration of port autoneg states. 47# 48# @off: autoneg is off 49# 50# @on: autoneg is on 51# 52# Since: 2.4 53## 54{ 'enum': 'RockerPortAutoneg', 'data': [ 'off', 'on' ] } 55 56## 57# @RockerPort: 58# 59# Rocker switch port information. 60# 61# @name: port name 62# 63# @enabled: port is enabled for I/O 64# 65# @link-up: physical link is UP on port 66# 67# @speed: port link speed in Mbps 68# 69# @duplex: port link duplex 70# 71# @autoneg: port link autoneg 72# 73# Since: 2.4 74## 75{ 'struct': 'RockerPort', 76 'data': { 'name': 'str', 'enabled': 'bool', 'link-up': 'bool', 77 'speed': 'uint32', 'duplex': 'RockerPortDuplex', 78 'autoneg': 'RockerPortAutoneg' } } 79 80## 81# @query-rocker-ports: 82# 83# Return rocker switch information. 84# 85# Returns: @Rocker information 86# 87# Since: 2.4 88## 89{ 'command': 'query-rocker-ports', 90 'data': { 'name': 'str' }, 91 'returns': ['RockerPort'] } 92 93## 94# @RockerOfDpaFlowKey: 95# 96# Rocker switch OF-DPA flow key 97# 98# @priority: key priority, 0 being lowest priority 99# 100# @tbl-id: flow table ID 101# 102# @in-pport: #optional physical input port 103# 104# @tunnel-id: #optional tunnel ID 105# 106# @vlan-id: #optional VLAN ID 107# 108# @eth-type: #optional Ethernet header type 109# 110# @eth-src: #optional Ethernet header source MAC address 111# 112# @eth-dst: #optional Ethernet header destination MAC address 113# 114# @ip-proto: #optional IP Header protocol field 115# 116# @ip-tos: #optional IP header TOS field 117# 118# @ip-dst: #optional IP header destination address 119# 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. 122# 123# Since: 2.4 124## 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' } } 130 131## 132# @RockerOfDpaFlowMask: 133# 134# Rocker switch OF-DPA flow mask 135# 136# @in-pport: #optional physical input port 137# 138# @tunnel-id: #optional tunnel ID 139# 140# @vlan-id: #optional VLAN ID 141# 142# @eth-src: #optional Ethernet header source MAC address 143# 144# @eth-dst: #optional Ethernet header destination MAC address 145# 146# @ip-proto: #optional IP Header protocol field 147# 148# @ip-tos: #optional IP header TOS field 149# 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. 152# 153# Since: 2.4 154## 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' } } 159 160## 161# @RockerOfDpaFlowAction: 162# 163# Rocker switch OF-DPA flow action 164# 165# @goto-tbl: #optional next table ID 166# 167# @group-id: #optional group ID 168# 169# @tunnel-lport: #optional tunnel logical port ID 170# 171# @vlan-id: #optional VLAN ID 172# 173# @new-vlan-id: #optional new VLAN ID 174# 175# @out-pport: #optional physical output port 176# 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. 179# 180# Since: 2.4 181## 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' } } 186 187## 188# @RockerOfDpaFlow: 189# 190# Rocker switch OF-DPA flow 191# 192# @cookie: flow unique cookie ID 193# 194# @hits: count of matches (hits) on flow 195# 196# @key: flow key 197# 198# @mask: flow mask 199# 200# @action: flow action 201# 202# Since: 2.4 203## 204{ 'struct': 'RockerOfDpaFlow', 205 'data': { 'cookie': 'uint64', 'hits': 'uint64', 'key': 'RockerOfDpaFlowKey', 206 'mask': 'RockerOfDpaFlowMask', 'action': 'RockerOfDpaFlowAction' } } 207 208## 209# @query-rocker-of-dpa-flows: 210# 211# Return rocker OF-DPA flow information. 212# 213# @name: switch name 214# 215# @tbl-id: #optional flow table ID. If tbl-id is not specified, returns 216# flow information for all tables. 217# 218# Returns: @Rocker OF-DPA flow information 219# 220# Since: 2.4 221## 222{ 'command': 'query-rocker-of-dpa-flows', 223 'data': { 'name': 'str', '*tbl-id': 'uint32' }, 224 'returns': ['RockerOfDpaFlow'] } 225 226## 227# @RockerOfDpaGroup: 228# 229# Rocker switch OF-DPA group 230# 231# @id: group unique ID 232# 233# @type: group type 234# 235# @vlan-id: #optional VLAN ID 236# 237# @pport: #optional physical port number 238# 239# @index: #optional group index, unique with group type 240# 241# @out-pport: #optional output physical port number 242# 243# @group-id: #optional next group ID 244# 245# @set-vlan-id: #optional VLAN ID to set 246# 247# @pop-vlan: #optional pop VLAN headr from packet 248# 249# @group-ids: #optional list of next group IDs 250# 251# @set-eth-src: #optional set source MAC address in Ethernet header 252# 253# @set-eth-dst: #optional set destination MAC address in Ethernet header 254# 255# @ttl-check: #optional perform TTL check 256# 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. 259# 260# Since: 2.4 261## 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' } } 269 270## 271# @query-rocker-of-dpa-groups: 272# 273# Return rocker OF-DPA group information. 274# 275# @name: switch name 276# 277# @type: #optional group type. If type is not specified, returns 278# group information for all group types. 279# 280# Returns: @Rocker OF-DPA group information 281# 282# Since: 2.4 283## 284{ 'command': 'query-rocker-of-dpa-groups', 285 'data': { 'name': 'str', '*type': 'uint8' }, 286 'returns': ['RockerOfDpaGroup'] } 287