1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linu 1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2 2 3 name: ovs_flow 3 name: ovs_flow 4 version: 1 4 version: 1 5 protocol: genetlink-legacy 5 protocol: genetlink-legacy 6 uapi-header: linux/openvswitch.h 6 uapi-header: linux/openvswitch.h 7 7 8 doc: 8 doc: 9 OVS flow configuration over generic netlink. 9 OVS flow configuration over generic netlink. 10 10 11 definitions: 11 definitions: 12 - 12 - 13 name: ovs-header 13 name: ovs-header 14 type: struct 14 type: struct 15 doc: | 15 doc: | 16 Header for OVS Generic Netlink messages. 16 Header for OVS Generic Netlink messages. 17 members: 17 members: 18 - 18 - 19 name: dp-ifindex 19 name: dp-ifindex 20 type: u32 20 type: u32 21 doc: | 21 doc: | 22 ifindex of local port for datapath ( 22 ifindex of local port for datapath (0 to make a request not specific 23 to a datapath). 23 to a datapath). 24 - 24 - 25 name: ovs-flow-stats 25 name: ovs-flow-stats 26 type: struct 26 type: struct 27 members: 27 members: 28 - 28 - 29 name: n-packets 29 name: n-packets 30 type: u64 30 type: u64 31 doc: Number of matched packets. 31 doc: Number of matched packets. 32 - 32 - 33 name: n-bytes 33 name: n-bytes 34 type: u64 34 type: u64 35 doc: Number of matched bytes. 35 doc: Number of matched bytes. 36 - 36 - 37 name: ovs-key-ethernet 37 name: ovs-key-ethernet 38 type: struct 38 type: struct 39 members: 39 members: 40 - 40 - 41 name: eth-src 41 name: eth-src 42 type: binary 42 type: binary 43 len: 6 43 len: 6 44 display-hint: mac 44 display-hint: mac 45 - 45 - 46 name: eth-dst 46 name: eth-dst 47 type: binary 47 type: binary 48 len: 6 48 len: 6 49 display-hint: mac 49 display-hint: mac 50 - 50 - 51 name: ovs-key-mpls 51 name: ovs-key-mpls 52 type: struct 52 type: struct 53 members: 53 members: 54 - 54 - 55 name: mpls-lse 55 name: mpls-lse 56 type: u32 56 type: u32 57 byte-order: big-endian 57 byte-order: big-endian 58 - 58 - 59 name: ovs-key-ipv4 59 name: ovs-key-ipv4 60 type: struct 60 type: struct 61 members: 61 members: 62 - 62 - 63 name: ipv4-src 63 name: ipv4-src 64 type: u32 64 type: u32 65 byte-order: big-endian 65 byte-order: big-endian 66 display-hint: ipv4 66 display-hint: ipv4 67 - 67 - 68 name: ipv4-dst 68 name: ipv4-dst 69 type: u32 69 type: u32 70 byte-order: big-endian 70 byte-order: big-endian 71 display-hint: ipv4 71 display-hint: ipv4 72 - 72 - 73 name: ipv4-proto 73 name: ipv4-proto 74 type: u8 74 type: u8 75 - 75 - 76 name: ipv4-tos 76 name: ipv4-tos 77 type: u8 77 type: u8 78 - 78 - 79 name: ipv4-ttl 79 name: ipv4-ttl 80 type: u8 80 type: u8 81 - 81 - 82 name: ipv4-frag 82 name: ipv4-frag 83 type: u8 83 type: u8 84 enum: ovs-frag-type 84 enum: ovs-frag-type 85 - 85 - 86 name: ovs-key-ipv6 86 name: ovs-key-ipv6 87 type: struct 87 type: struct 88 members: 88 members: 89 - 89 - 90 name: ipv6-src 90 name: ipv6-src 91 type: binary 91 type: binary 92 len: 16 92 len: 16 93 byte-order: big-endian 93 byte-order: big-endian 94 display-hint: ipv6 94 display-hint: ipv6 95 - 95 - 96 name: ipv6-dst 96 name: ipv6-dst 97 type: binary 97 type: binary 98 len: 16 98 len: 16 99 byte-order: big-endian 99 byte-order: big-endian 100 display-hint: ipv6 100 display-hint: ipv6 101 - 101 - 102 name: ipv6-label 102 name: ipv6-label 103 type: u32 103 type: u32 104 byte-order: big-endian 104 byte-order: big-endian 105 - 105 - 106 name: ipv6-proto 106 name: ipv6-proto 107 type: u8 107 type: u8 108 - 108 - 109 name: ipv6-tclass 109 name: ipv6-tclass 110 type: u8 110 type: u8 111 - 111 - 112 name: ipv6-hlimit 112 name: ipv6-hlimit 113 type: u8 113 type: u8 114 - 114 - 115 name: ipv6-frag 115 name: ipv6-frag 116 type: u8 116 type: u8 117 - 117 - 118 name: ovs-key-ipv6-exthdrs 118 name: ovs-key-ipv6-exthdrs 119 type: struct 119 type: struct 120 members: 120 members: 121 - 121 - 122 name: hdrs 122 name: hdrs 123 type: u16 123 type: u16 124 - 124 - 125 name: ovs-frag-type 125 name: ovs-frag-type 126 name-prefix: ovs-frag-type- 126 name-prefix: ovs-frag-type- 127 enum-name: ovs-frag-type << 128 type: enum 127 type: enum 129 entries: 128 entries: 130 - 129 - 131 name: none 130 name: none 132 doc: Packet is not a fragment. 131 doc: Packet is not a fragment. 133 - 132 - 134 name: first 133 name: first 135 doc: Packet is a fragment with offset 134 doc: Packet is a fragment with offset 0. 136 - 135 - 137 name: later 136 name: later 138 doc: Packet is a fragment with nonzero 137 doc: Packet is a fragment with nonzero offset. 139 - 138 - 140 name: any 139 name: any 141 value: 255 140 value: 255 142 - 141 - 143 name: ovs-key-tcp 142 name: ovs-key-tcp 144 type: struct 143 type: struct 145 members: 144 members: 146 - 145 - 147 name: tcp-src 146 name: tcp-src 148 type: u16 147 type: u16 149 byte-order: big-endian 148 byte-order: big-endian 150 - 149 - 151 name: tcp-dst 150 name: tcp-dst 152 type: u16 151 type: u16 153 byte-order: big-endian 152 byte-order: big-endian 154 - 153 - 155 name: ovs-key-udp 154 name: ovs-key-udp 156 type: struct 155 type: struct 157 members: 156 members: 158 - 157 - 159 name: udp-src 158 name: udp-src 160 type: u16 159 type: u16 161 byte-order: big-endian 160 byte-order: big-endian 162 - 161 - 163 name: udp-dst 162 name: udp-dst 164 type: u16 163 type: u16 165 byte-order: big-endian 164 byte-order: big-endian 166 - 165 - 167 name: ovs-key-sctp 166 name: ovs-key-sctp 168 type: struct 167 type: struct 169 members: 168 members: 170 - 169 - 171 name: sctp-src 170 name: sctp-src 172 type: u16 171 type: u16 173 byte-order: big-endian 172 byte-order: big-endian 174 - 173 - 175 name: sctp-dst 174 name: sctp-dst 176 type: u16 175 type: u16 177 byte-order: big-endian 176 byte-order: big-endian 178 - 177 - 179 name: ovs-key-icmp 178 name: ovs-key-icmp 180 type: struct 179 type: struct 181 members: 180 members: 182 - 181 - 183 name: icmp-type 182 name: icmp-type 184 type: u8 183 type: u8 185 - 184 - 186 name: icmp-code 185 name: icmp-code 187 type: u8 186 type: u8 188 - 187 - 189 name: ovs-key-arp 188 name: ovs-key-arp 190 type: struct 189 type: struct 191 members: 190 members: 192 - 191 - 193 name: arp-sip 192 name: arp-sip 194 type: u32 193 type: u32 195 byte-order: big-endian 194 byte-order: big-endian 196 - 195 - 197 name: arp-tip 196 name: arp-tip 198 type: u32 197 type: u32 199 byte-order: big-endian 198 byte-order: big-endian 200 - 199 - 201 name: arp-op 200 name: arp-op 202 type: u16 201 type: u16 203 byte-order: big-endian 202 byte-order: big-endian 204 - 203 - 205 name: arp-sha 204 name: arp-sha 206 type: binary 205 type: binary 207 len: 6 206 len: 6 208 display-hint: mac 207 display-hint: mac 209 - 208 - 210 name: arp-tha 209 name: arp-tha 211 type: binary 210 type: binary 212 len: 6 211 len: 6 213 display-hint: mac 212 display-hint: mac 214 - 213 - 215 name: ovs-key-nd 214 name: ovs-key-nd 216 type: struct 215 type: struct 217 members: 216 members: 218 - 217 - 219 name: nd_target 218 name: nd_target 220 type: binary 219 type: binary 221 len: 16 220 len: 16 222 byte-order: big-endian 221 byte-order: big-endian 223 - 222 - 224 name: nd-sll 223 name: nd-sll 225 type: binary 224 type: binary 226 len: 6 225 len: 6 227 display-hint: mac 226 display-hint: mac 228 - 227 - 229 name: nd-tll 228 name: nd-tll 230 type: binary 229 type: binary 231 len: 6 230 len: 6 232 display-hint: mac 231 display-hint: mac 233 - 232 - 234 name: ovs-key-ct-tuple-ipv4 233 name: ovs-key-ct-tuple-ipv4 235 type: struct 234 type: struct 236 members: 235 members: 237 - 236 - 238 name: ipv4-src 237 name: ipv4-src 239 type: u32 238 type: u32 240 byte-order: big-endian 239 byte-order: big-endian 241 - 240 - 242 name: ipv4-dst 241 name: ipv4-dst 243 type: u32 242 type: u32 244 byte-order: big-endian 243 byte-order: big-endian 245 - 244 - 246 name: src-port 245 name: src-port 247 type: u16 246 type: u16 248 byte-order: big-endian 247 byte-order: big-endian 249 - 248 - 250 name: dst-port 249 name: dst-port 251 type: u16 250 type: u16 252 byte-order: big-endian 251 byte-order: big-endian 253 - 252 - 254 name: ipv4-proto 253 name: ipv4-proto 255 type: u8 254 type: u8 256 - 255 - 257 name: ovs-action-push-vlan 256 name: ovs-action-push-vlan 258 type: struct 257 type: struct 259 members: 258 members: 260 - 259 - 261 name: vlan_tpid 260 name: vlan_tpid 262 type: u16 261 type: u16 263 byte-order: big-endian 262 byte-order: big-endian 264 doc: Tag protocol identifier (TPID) to 263 doc: Tag protocol identifier (TPID) to push. 265 - 264 - 266 name: vlan_tci 265 name: vlan_tci 267 type: u16 266 type: u16 268 byte-order: big-endian 267 byte-order: big-endian 269 doc: Tag control identifier (TCI) to p 268 doc: Tag control identifier (TCI) to push. 270 - 269 - 271 name: ovs-ufid-flags 270 name: ovs-ufid-flags 272 name-prefix: ovs-ufid-f- 271 name-prefix: ovs-ufid-f- 273 enum-name: << 274 type: flags 272 type: flags 275 entries: 273 entries: 276 - omit-key 274 - omit-key 277 - omit-mask 275 - omit-mask 278 - omit-actions 276 - omit-actions 279 - 277 - 280 name: ovs-action-hash 278 name: ovs-action-hash 281 type: struct 279 type: struct 282 members: 280 members: 283 - 281 - 284 name: hash-alg 282 name: hash-alg 285 type: u32 283 type: u32 286 doc: Algorithm used to compute hash pr 284 doc: Algorithm used to compute hash prior to recirculation. 287 - 285 - 288 name: hash-basis 286 name: hash-basis 289 type: u32 287 type: u32 290 doc: Basis used for computing hash. 288 doc: Basis used for computing hash. 291 - 289 - 292 name: ovs-hash-alg 290 name: ovs-hash-alg 293 enum-name: ovs-hash-alg << 294 type: enum 291 type: enum 295 doc: | 292 doc: | 296 Data path hash algorithm for computing D 293 Data path hash algorithm for computing Datapath hash. The algorithm type only specifies 297 the fields in a flow will be used as par 294 the fields in a flow will be used as part of the hash. Each datapath is free to use its 298 own hash algorithm. The hash value will 295 own hash algorithm. The hash value will be opaque to the user space daemon. 299 entries: 296 entries: 300 - ovs-hash-alg-l4 297 - ovs-hash-alg-l4 301 298 302 - 299 - 303 name: ovs-action-push-mpls 300 name: ovs-action-push-mpls 304 type: struct 301 type: struct 305 members: 302 members: 306 - 303 - 307 name: mpls-lse 304 name: mpls-lse 308 type: u32 305 type: u32 309 byte-order: big-endian 306 byte-order: big-endian 310 doc: | 307 doc: | 311 MPLS label stack entry to push 308 MPLS label stack entry to push 312 - 309 - 313 name: mpls-ethertype 310 name: mpls-ethertype 314 type: u32 311 type: u32 315 byte-order: big-endian 312 byte-order: big-endian 316 doc: | 313 doc: | 317 Ethertype to set in the encapsulatin 314 Ethertype to set in the encapsulating ethernet frame. The only values 318 ethertype should ever be given are E 315 ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC, 319 indicating MPLS unicast or multicast 316 indicating MPLS unicast or multicast. Other are rejected. 320 - 317 - 321 name: ovs-action-add-mpls 318 name: ovs-action-add-mpls 322 type: struct 319 type: struct 323 members: 320 members: 324 - 321 - 325 name: mpls-lse 322 name: mpls-lse 326 type: u32 323 type: u32 327 byte-order: big-endian 324 byte-order: big-endian 328 doc: | 325 doc: | 329 MPLS label stack entry to push 326 MPLS label stack entry to push 330 - 327 - 331 name: mpls-ethertype 328 name: mpls-ethertype 332 type: u32 329 type: u32 333 byte-order: big-endian 330 byte-order: big-endian 334 doc: | 331 doc: | 335 Ethertype to set in the encapsulatin 332 Ethertype to set in the encapsulating ethernet frame. The only values 336 ethertype should ever be given are E 333 ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC, 337 indicating MPLS unicast or multicast 334 indicating MPLS unicast or multicast. Other are rejected. 338 - 335 - 339 name: tun-flags 336 name: tun-flags 340 type: u16 337 type: u16 341 doc: | 338 doc: | 342 MPLS tunnel attributes. 339 MPLS tunnel attributes. 343 - 340 - 344 name: ct-state-flags 341 name: ct-state-flags 345 enum-name: << 346 type: flags 342 type: flags 347 name-prefix: ovs-cs-f- 343 name-prefix: ovs-cs-f- 348 entries: 344 entries: 349 - 345 - 350 name: new 346 name: new 351 doc: Beginning of a new connection. 347 doc: Beginning of a new connection. 352 - 348 - 353 name: established 349 name: established 354 doc: Part of an existing connenction 350 doc: Part of an existing connenction 355 - 351 - 356 name: related 352 name: related 357 doc: Related to an existing connection 353 doc: Related to an existing connection. 358 - 354 - 359 name: reply-dir 355 name: reply-dir 360 doc: Flow is in the reply direction. 356 doc: Flow is in the reply direction. 361 - 357 - 362 name: invalid 358 name: invalid 363 doc: Could not track the connection. 359 doc: Could not track the connection. 364 - 360 - 365 name: tracked 361 name: tracked 366 doc: Conntrack has occurred. 362 doc: Conntrack has occurred. 367 - 363 - 368 name: src-nat 364 name: src-nat 369 doc: Packet's source address/port was 365 doc: Packet's source address/port was mangled by NAT. 370 - 366 - 371 name: dst-nat 367 name: dst-nat 372 doc: Packet's destination address/port 368 doc: Packet's destination address/port was mangled by NAT. 373 369 374 attribute-sets: 370 attribute-sets: 375 - 371 - 376 name: flow-attrs 372 name: flow-attrs 377 enum-name: ovs-flow-attr 373 enum-name: ovs-flow-attr 378 name-prefix: ovs-flow-attr- 374 name-prefix: ovs-flow-attr- 379 attributes: 375 attributes: 380 - 376 - 381 name: key 377 name: key 382 type: nest 378 type: nest 383 nested-attributes: key-attrs 379 nested-attributes: key-attrs 384 doc: | 380 doc: | 385 Nested attributes specifying the flo 381 Nested attributes specifying the flow key. Always present in 386 notifications. Required for all requ 382 notifications. Required for all requests (except dumps). 387 - 383 - 388 name: actions 384 name: actions 389 type: nest 385 type: nest 390 nested-attributes: action-attrs 386 nested-attributes: action-attrs 391 doc: | 387 doc: | 392 Nested attributes specifying the act 388 Nested attributes specifying the actions to take for packets that 393 match the key. Always present in not 389 match the key. Always present in notifications. Required for 394 OVS_FLOW_CMD_NEW requests, optional 390 OVS_FLOW_CMD_NEW requests, optional for OVS_FLOW_CMD_SET requests. An 395 OVS_FLOW_CMD_SET without OVS_FLOW_AT 391 OVS_FLOW_CMD_SET without OVS_FLOW_ATTR_ACTIONS will not modify the 396 actions. To clear the actions, an O 392 actions. To clear the actions, an OVS_FLOW_ATTR_ACTIONS without any 397 nested attributes must be given. 393 nested attributes must be given. 398 - 394 - 399 name: stats 395 name: stats 400 type: binary 396 type: binary 401 struct: ovs-flow-stats 397 struct: ovs-flow-stats 402 doc: | 398 doc: | 403 Statistics for this flow. Present in 399 Statistics for this flow. Present in notifications if the stats would 404 be nonzero. Ignored in requests. 400 be nonzero. Ignored in requests. 405 - 401 - 406 name: tcp-flags 402 name: tcp-flags 407 type: u8 403 type: u8 408 doc: | 404 doc: | 409 An 8-bit value giving the ORed value 405 An 8-bit value giving the ORed value of all of the TCP flags seen on 410 packets in this flow. Only present i 406 packets in this flow. Only present in notifications for TCP flows, and 411 only if it would be nonzero. Ignored 407 only if it would be nonzero. Ignored in requests. 412 - 408 - 413 name: used 409 name: used 414 type: u64 410 type: u64 415 doc: | 411 doc: | 416 A 64-bit integer giving the time, in 412 A 64-bit integer giving the time, in milliseconds on the system 417 monotonic clock, at which a packet w 413 monotonic clock, at which a packet was last processed for this 418 flow. Only present in notifications 414 flow. Only present in notifications if a packet has been processed for 419 this flow. Ignored in requests. 415 this flow. Ignored in requests. 420 - 416 - 421 name: clear 417 name: clear 422 type: flag 418 type: flag 423 doc: | 419 doc: | 424 If present in a OVS_FLOW_CMD_SET req 420 If present in a OVS_FLOW_CMD_SET request, clears the last-used time, 425 accumulated TCP flags, and statistic 421 accumulated TCP flags, and statistics for this flow. Otherwise 426 ignored in requests. Never present i 422 ignored in requests. Never present in notifications. 427 - 423 - 428 name: mask 424 name: mask 429 type: nest 425 type: nest 430 nested-attributes: key-attrs 426 nested-attributes: key-attrs 431 doc: | 427 doc: | 432 Nested attributes specifying the mas 428 Nested attributes specifying the mask bits for wildcarded flow 433 match. Mask bit value '1' specifies 429 match. Mask bit value '1' specifies exact match with corresponding 434 flow key bit, while mask bit value ' 430 flow key bit, while mask bit value '0' specifies a wildcarded 435 match. Omitting attribute is treated 431 match. Omitting attribute is treated as wildcarding all corresponding 436 fields. Optional for all requests. I 432 fields. Optional for all requests. If not present, all flow key bits 437 are exact match bits. 433 are exact match bits. 438 - 434 - 439 name: probe 435 name: probe 440 type: binary 436 type: binary 441 doc: | 437 doc: | 442 Flow operation is a feature probe, e 438 Flow operation is a feature probe, error logging should be suppressed. 443 - 439 - 444 name: ufid 440 name: ufid 445 type: binary 441 type: binary 446 doc: | 442 doc: | 447 A value between 1-16 octets specifyi 443 A value between 1-16 octets specifying a unique identifier for the 448 flow. Causes the flow to be indexed 444 flow. Causes the flow to be indexed by this value rather than the 449 value of the OVS_FLOW_ATTR_KEY attri 445 value of the OVS_FLOW_ATTR_KEY attribute. Optional for all 450 requests. Present in notifications i 446 requests. Present in notifications if the flow was created with this 451 attribute. 447 attribute. 452 display-hint: uuid 448 display-hint: uuid 453 - 449 - 454 name: ufid-flags 450 name: ufid-flags 455 type: u32 451 type: u32 456 enum: ovs-ufid-flags 452 enum: ovs-ufid-flags 457 doc: | 453 doc: | 458 A 32-bit value of ORed flags that pr 454 A 32-bit value of ORed flags that provide alternative semantics for 459 flow installation and retrieval. Opt 455 flow installation and retrieval. Optional for all requests. 460 - 456 - 461 name: pad 457 name: pad 462 type: binary 458 type: binary 463 459 464 - 460 - 465 name: key-attrs 461 name: key-attrs 466 enum-name: ovs-key-attr 462 enum-name: ovs-key-attr 467 name-prefix: ovs-key-attr- 463 name-prefix: ovs-key-attr- 468 attributes: 464 attributes: 469 - 465 - 470 name: encap 466 name: encap 471 type: nest 467 type: nest 472 nested-attributes: key-attrs 468 nested-attributes: key-attrs 473 - 469 - 474 name: priority 470 name: priority 475 type: u32 471 type: u32 476 - 472 - 477 name: in-port 473 name: in-port 478 type: u32 474 type: u32 479 - 475 - 480 name: ethernet 476 name: ethernet 481 type: binary 477 type: binary 482 struct: ovs-key-ethernet 478 struct: ovs-key-ethernet 483 doc: struct ovs_key_ethernet 479 doc: struct ovs_key_ethernet 484 - 480 - 485 name: vlan 481 name: vlan 486 type: u16 482 type: u16 487 byte-order: big-endian 483 byte-order: big-endian 488 - 484 - 489 name: ethertype 485 name: ethertype 490 type: u16 486 type: u16 491 byte-order: big-endian 487 byte-order: big-endian 492 - 488 - 493 name: ipv4 489 name: ipv4 494 type: binary 490 type: binary 495 struct: ovs-key-ipv4 491 struct: ovs-key-ipv4 496 - 492 - 497 name: ipv6 493 name: ipv6 498 type: binary 494 type: binary 499 struct: ovs-key-ipv6 495 struct: ovs-key-ipv6 500 doc: struct ovs_key_ipv6 496 doc: struct ovs_key_ipv6 501 - 497 - 502 name: tcp 498 name: tcp 503 type: binary 499 type: binary 504 struct: ovs-key-tcp 500 struct: ovs-key-tcp 505 - 501 - 506 name: udp 502 name: udp 507 type: binary 503 type: binary 508 struct: ovs-key-udp 504 struct: ovs-key-udp 509 - 505 - 510 name: icmp 506 name: icmp 511 type: binary 507 type: binary 512 struct: ovs-key-icmp 508 struct: ovs-key-icmp 513 - 509 - 514 name: icmpv6 510 name: icmpv6 515 type: binary 511 type: binary 516 struct: ovs-key-icmp 512 struct: ovs-key-icmp 517 - 513 - 518 name: arp 514 name: arp 519 type: binary 515 type: binary 520 struct: ovs-key-arp 516 struct: ovs-key-arp 521 doc: struct ovs_key_arp 517 doc: struct ovs_key_arp 522 - 518 - 523 name: nd 519 name: nd 524 type: binary 520 type: binary 525 struct: ovs-key-nd 521 struct: ovs-key-nd 526 doc: struct ovs_key_nd 522 doc: struct ovs_key_nd 527 - 523 - 528 name: skb-mark 524 name: skb-mark 529 type: u32 525 type: u32 530 - 526 - 531 name: tunnel 527 name: tunnel 532 type: nest 528 type: nest 533 nested-attributes: tunnel-key-attrs 529 nested-attributes: tunnel-key-attrs 534 - 530 - 535 name: sctp 531 name: sctp 536 type: binary 532 type: binary 537 struct: ovs-key-sctp 533 struct: ovs-key-sctp 538 - 534 - 539 name: tcp-flags 535 name: tcp-flags 540 type: u16 536 type: u16 541 byte-order: big-endian 537 byte-order: big-endian 542 - 538 - 543 name: dp-hash 539 name: dp-hash 544 type: u32 540 type: u32 545 doc: Value 0 indicates the hash is not 541 doc: Value 0 indicates the hash is not computed by the datapath. 546 - 542 - 547 name: recirc-id 543 name: recirc-id 548 type: u32 544 type: u32 549 - 545 - 550 name: mpls 546 name: mpls 551 type: binary 547 type: binary 552 struct: ovs-key-mpls 548 struct: ovs-key-mpls 553 - 549 - 554 name: ct-state 550 name: ct-state 555 type: u32 551 type: u32 556 enum: ct-state-flags 552 enum: ct-state-flags 557 enum-as-flags: true 553 enum-as-flags: true 558 - 554 - 559 name: ct-zone 555 name: ct-zone 560 type: u16 556 type: u16 561 doc: connection tracking zone 557 doc: connection tracking zone 562 - 558 - 563 name: ct-mark 559 name: ct-mark 564 type: u32 560 type: u32 565 doc: connection tracking mark 561 doc: connection tracking mark 566 - 562 - 567 name: ct-labels 563 name: ct-labels 568 type: binary 564 type: binary 569 display-hint: hex 565 display-hint: hex 570 doc: 16-octet connection tracking labe 566 doc: 16-octet connection tracking label 571 - 567 - 572 name: ct-orig-tuple-ipv4 568 name: ct-orig-tuple-ipv4 573 type: binary 569 type: binary 574 struct: ovs-key-ct-tuple-ipv4 570 struct: ovs-key-ct-tuple-ipv4 575 - 571 - 576 name: ct-orig-tuple-ipv6 572 name: ct-orig-tuple-ipv6 577 type: binary 573 type: binary 578 doc: struct ovs_key_ct_tuple_ipv6 574 doc: struct ovs_key_ct_tuple_ipv6 579 - 575 - 580 name: nsh 576 name: nsh 581 type: nest 577 type: nest 582 nested-attributes: ovs-nsh-key-attrs 578 nested-attributes: ovs-nsh-key-attrs 583 - 579 - 584 name: packet-type 580 name: packet-type 585 type: u32 581 type: u32 586 byte-order: big-endian 582 byte-order: big-endian 587 doc: Should not be sent to the kernel 583 doc: Should not be sent to the kernel 588 - 584 - 589 name: nd-extensions 585 name: nd-extensions 590 type: binary 586 type: binary 591 doc: Should not be sent to the kernel 587 doc: Should not be sent to the kernel 592 - 588 - 593 name: tunnel-info 589 name: tunnel-info 594 type: binary 590 type: binary 595 doc: struct ip_tunnel_info 591 doc: struct ip_tunnel_info 596 - 592 - 597 name: ipv6-exthdrs 593 name: ipv6-exthdrs 598 type: binary 594 type: binary 599 struct: ovs-key-ipv6-exthdrs 595 struct: ovs-key-ipv6-exthdrs 600 doc: struct ovs_key_ipv6_exthdr 596 doc: struct ovs_key_ipv6_exthdr 601 - 597 - 602 name: action-attrs 598 name: action-attrs 603 enum-name: ovs-action-attr 599 enum-name: ovs-action-attr 604 name-prefix: ovs-action-attr- 600 name-prefix: ovs-action-attr- 605 attributes: 601 attributes: 606 - 602 - 607 name: output 603 name: output 608 type: u32 604 type: u32 609 doc: ovs port number in datapath 605 doc: ovs port number in datapath 610 - 606 - 611 name: userspace 607 name: userspace 612 type: nest 608 type: nest 613 nested-attributes: userspace-attrs 609 nested-attributes: userspace-attrs 614 - 610 - 615 name: set 611 name: set 616 type: nest 612 type: nest 617 nested-attributes: key-attrs 613 nested-attributes: key-attrs 618 doc: Replaces the contents of an exist 614 doc: Replaces the contents of an existing header. The single nested attribute specifies a header to modify and its value. 619 - 615 - 620 name: push-vlan 616 name: push-vlan 621 type: binary 617 type: binary 622 struct: ovs-action-push-vlan 618 struct: ovs-action-push-vlan 623 doc: Push a new outermost 802.1Q or 80 619 doc: Push a new outermost 802.1Q or 802.1ad header onto the packet. 624 - 620 - 625 name: pop-vlan 621 name: pop-vlan 626 type: flag 622 type: flag 627 doc: Pop the outermost 802.1Q or 802.1 623 doc: Pop the outermost 802.1Q or 802.1ad header from the packet. 628 - 624 - 629 name: sample 625 name: sample 630 type: nest 626 type: nest 631 nested-attributes: sample-attrs 627 nested-attributes: sample-attrs 632 doc: | 628 doc: | 633 Probabilistically executes actions, 629 Probabilistically executes actions, as specified in the nested attributes. 634 - 630 - 635 name: recirc 631 name: recirc 636 type: u32 632 type: u32 637 doc: recirc id 633 doc: recirc id 638 - 634 - 639 name: hash 635 name: hash 640 type: binary 636 type: binary 641 struct: ovs-action-hash 637 struct: ovs-action-hash 642 - 638 - 643 name: push-mpls 639 name: push-mpls 644 type: binary 640 type: binary 645 struct: ovs-action-push-mpls 641 struct: ovs-action-push-mpls 646 doc: | 642 doc: | 647 Push a new MPLS label stack entry on 643 Push a new MPLS label stack entry onto the top of the packets MPLS 648 label stack. Set the ethertype of th 644 label stack. Set the ethertype of the encapsulating frame to either 649 ETH_P_MPLS_UC or ETH_P_MPLS_MC to in 645 ETH_P_MPLS_UC or ETH_P_MPLS_MC to indicate the new packet contents. 650 - 646 - 651 name: pop-mpls 647 name: pop-mpls 652 type: u16 648 type: u16 653 byte-order: big-endian 649 byte-order: big-endian 654 doc: ethertype 650 doc: ethertype 655 - 651 - 656 name: set-masked 652 name: set-masked 657 type: nest 653 type: nest 658 nested-attributes: key-attrs 654 nested-attributes: key-attrs 659 doc: | 655 doc: | 660 Replaces the contents of an existing 656 Replaces the contents of an existing header. A nested attribute 661 specifies a header to modify, its va 657 specifies a header to modify, its value, and a mask. For every bit set 662 in the mask, the corresponding bit v 658 in the mask, the corresponding bit value is copied from the value to 663 the packet header field, rest of the 659 the packet header field, rest of the bits are left unchanged. The 664 non-masked value bits must be passed 660 non-masked value bits must be passed in as zeroes. Masking is not 665 supported for the OVS_KEY_ATTR_TUNNE 661 supported for the OVS_KEY_ATTR_TUNNEL attribute. 666 - 662 - 667 name: ct 663 name: ct 668 type: nest 664 type: nest 669 nested-attributes: ct-attrs 665 nested-attributes: ct-attrs 670 doc: | 666 doc: | 671 Track the connection. Populate the c 667 Track the connection. Populate the conntrack-related entries 672 in the flow key. 668 in the flow key. 673 - 669 - 674 name: trunc 670 name: trunc 675 type: u32 671 type: u32 676 doc: struct ovs_action_trunc is a u32 672 doc: struct ovs_action_trunc is a u32 max length 677 - 673 - 678 name: push-eth 674 name: push-eth 679 type: binary 675 type: binary 680 doc: struct ovs_action_push_eth 676 doc: struct ovs_action_push_eth 681 - 677 - 682 name: pop-eth 678 name: pop-eth 683 type: flag 679 type: flag 684 - 680 - 685 name: ct-clear 681 name: ct-clear 686 type: flag 682 type: flag 687 - 683 - 688 name: push-nsh 684 name: push-nsh 689 type: nest 685 type: nest 690 nested-attributes: ovs-nsh-key-attrs 686 nested-attributes: ovs-nsh-key-attrs 691 doc: | 687 doc: | 692 Push NSH header to the packet. 688 Push NSH header to the packet. 693 - 689 - 694 name: pop-nsh 690 name: pop-nsh 695 type: flag 691 type: flag 696 doc: | 692 doc: | 697 Pop the outermost NSH header off the 693 Pop the outermost NSH header off the packet. 698 - 694 - 699 name: meter 695 name: meter 700 type: u32 696 type: u32 701 doc: | 697 doc: | 702 Run packet through a meter, which ma 698 Run packet through a meter, which may drop the packet, or modify the 703 packet (e.g., change the DSCP field) 699 packet (e.g., change the DSCP field) 704 - 700 - 705 name: clone 701 name: clone 706 type: nest 702 type: nest 707 nested-attributes: action-attrs 703 nested-attributes: action-attrs 708 doc: | 704 doc: | 709 Make a copy of the packet and execut 705 Make a copy of the packet and execute a list of actions without 710 affecting the original packet and ke 706 affecting the original packet and key. 711 - 707 - 712 name: check-pkt-len 708 name: check-pkt-len 713 type: nest 709 type: nest 714 nested-attributes: check-pkt-len-attrs 710 nested-attributes: check-pkt-len-attrs 715 doc: | 711 doc: | 716 Check the packet length and execute 712 Check the packet length and execute a set of actions if greater than 717 the specified packet length, else ex 713 the specified packet length, else execute another set of actions. 718 - 714 - 719 name: add-mpls 715 name: add-mpls 720 type: binary 716 type: binary 721 struct: ovs-action-add-mpls 717 struct: ovs-action-add-mpls 722 doc: | 718 doc: | 723 Push a new MPLS label stack entry at 719 Push a new MPLS label stack entry at the start of the packet or at the 724 start of the l3 header depending on 720 start of the l3 header depending on the value of l3 tunnel flag in the 725 tun_flags field of this OVS_ACTION_A 721 tun_flags field of this OVS_ACTION_ATTR_ADD_MPLS argument. 726 - 722 - 727 name: dec-ttl 723 name: dec-ttl 728 type: nest 724 type: nest 729 nested-attributes: dec-ttl-attrs 725 nested-attributes: dec-ttl-attrs 730 - << 731 name: psample << 732 type: nest << 733 nested-attributes: psample-attrs << 734 doc: | << 735 Sends a packet sample to psample for << 736 - 726 - 737 name: tunnel-key-attrs 727 name: tunnel-key-attrs 738 enum-name: ovs-tunnel-key-attr 728 enum-name: ovs-tunnel-key-attr 739 name-prefix: ovs-tunnel-key-attr- 729 name-prefix: ovs-tunnel-key-attr- 740 attributes: 730 attributes: 741 - 731 - 742 name: id 732 name: id 743 type: u64 733 type: u64 744 byte-order: big-endian 734 byte-order: big-endian 745 value: 0 735 value: 0 746 - 736 - 747 name: ipv4-src 737 name: ipv4-src 748 type: u32 738 type: u32 749 byte-order: big-endian 739 byte-order: big-endian 750 - 740 - 751 name: ipv4-dst 741 name: ipv4-dst 752 type: u32 742 type: u32 753 byte-order: big-endian 743 byte-order: big-endian 754 - 744 - 755 name: tos 745 name: tos 756 type: u8 746 type: u8 757 - 747 - 758 name: ttl 748 name: ttl 759 type: u8 749 type: u8 760 - 750 - 761 name: dont-fragment 751 name: dont-fragment 762 type: flag 752 type: flag 763 - 753 - 764 name: csum 754 name: csum 765 type: flag 755 type: flag 766 - 756 - 767 name: oam 757 name: oam 768 type: flag 758 type: flag 769 - 759 - 770 name: geneve-opts 760 name: geneve-opts 771 type: binary 761 type: binary 772 sub-type: u32 762 sub-type: u32 773 - 763 - 774 name: tp-src 764 name: tp-src 775 type: u16 765 type: u16 776 byte-order: big-endian 766 byte-order: big-endian 777 - 767 - 778 name: tp-dst 768 name: tp-dst 779 type: u16 769 type: u16 780 byte-order: big-endian 770 byte-order: big-endian 781 - 771 - 782 name: vxlan-opts 772 name: vxlan-opts 783 type: nest 773 type: nest 784 nested-attributes: vxlan-ext-attrs 774 nested-attributes: vxlan-ext-attrs 785 - 775 - 786 name: ipv6-src 776 name: ipv6-src 787 type: binary 777 type: binary 788 doc: | 778 doc: | 789 struct in6_addr source IPv6 address 779 struct in6_addr source IPv6 address 790 - 780 - 791 name: ipv6-dst 781 name: ipv6-dst 792 type: binary 782 type: binary 793 doc: | 783 doc: | 794 struct in6_addr destination IPv6 add 784 struct in6_addr destination IPv6 address 795 - 785 - 796 name: pad 786 name: pad 797 type: binary 787 type: binary 798 - 788 - 799 name: erspan-opts 789 name: erspan-opts 800 type: binary 790 type: binary 801 doc: | 791 doc: | 802 struct erspan_metadata 792 struct erspan_metadata 803 - 793 - 804 name: ipv4-info-bridge 794 name: ipv4-info-bridge 805 type: flag 795 type: flag 806 - 796 - 807 name: check-pkt-len-attrs 797 name: check-pkt-len-attrs 808 enum-name: ovs-check-pkt-len-attr 798 enum-name: ovs-check-pkt-len-attr 809 name-prefix: ovs-check-pkt-len-attr- 799 name-prefix: ovs-check-pkt-len-attr- 810 attributes: 800 attributes: 811 - 801 - 812 name: pkt-len 802 name: pkt-len 813 type: u16 803 type: u16 814 - 804 - 815 name: actions-if-greater 805 name: actions-if-greater 816 type: nest 806 type: nest 817 nested-attributes: action-attrs 807 nested-attributes: action-attrs 818 - 808 - 819 name: actions-if-less-equal 809 name: actions-if-less-equal 820 type: nest 810 type: nest 821 nested-attributes: action-attrs 811 nested-attributes: action-attrs 822 - 812 - 823 name: sample-attrs 813 name: sample-attrs 824 enum-name: ovs-sample-attr 814 enum-name: ovs-sample-attr 825 name-prefix: ovs-sample-attr- 815 name-prefix: ovs-sample-attr- 826 attributes: 816 attributes: 827 - 817 - 828 name: probability 818 name: probability 829 type: u32 819 type: u32 830 - 820 - 831 name: actions 821 name: actions 832 type: nest 822 type: nest 833 nested-attributes: action-attrs 823 nested-attributes: action-attrs 834 - 824 - 835 name: userspace-attrs 825 name: userspace-attrs 836 enum-name: ovs-userspace-attr 826 enum-name: ovs-userspace-attr 837 name-prefix: ovs-userspace-attr- 827 name-prefix: ovs-userspace-attr- 838 attributes: 828 attributes: 839 - 829 - 840 name: pid 830 name: pid 841 type: u32 831 type: u32 842 - 832 - 843 name: userdata 833 name: userdata 844 type: binary 834 type: binary 845 - 835 - 846 name: egress-tun-port 836 name: egress-tun-port 847 type: u32 837 type: u32 848 - 838 - 849 name: actions 839 name: actions 850 type: flag 840 type: flag 851 - 841 - 852 name: ovs-nsh-key-attrs 842 name: ovs-nsh-key-attrs 853 enum-name: ovs-nsh-key-attr 843 enum-name: ovs-nsh-key-attr 854 name-prefix: ovs-nsh-key-attr- 844 name-prefix: ovs-nsh-key-attr- 855 attributes: 845 attributes: 856 - 846 - 857 name: base 847 name: base 858 type: binary 848 type: binary 859 - 849 - 860 name: md1 850 name: md1 861 type: binary 851 type: binary 862 - 852 - 863 name: md2 853 name: md2 864 type: binary 854 type: binary 865 - 855 - 866 name: ct-attrs 856 name: ct-attrs 867 enum-name: ovs-ct-attr 857 enum-name: ovs-ct-attr 868 name-prefix: ovs-ct-attr- 858 name-prefix: ovs-ct-attr- 869 attributes: 859 attributes: 870 - 860 - 871 name: commit 861 name: commit 872 type: flag 862 type: flag 873 - 863 - 874 name: zone 864 name: zone 875 type: u16 865 type: u16 876 - 866 - 877 name: mark 867 name: mark 878 type: binary 868 type: binary 879 - 869 - 880 name: labels 870 name: labels 881 type: binary 871 type: binary 882 - 872 - 883 name: helper 873 name: helper 884 type: string 874 type: string 885 - 875 - 886 name: nat 876 name: nat 887 type: nest 877 type: nest 888 nested-attributes: nat-attrs 878 nested-attributes: nat-attrs 889 - 879 - 890 name: force-commit 880 name: force-commit 891 type: flag 881 type: flag 892 - 882 - 893 name: eventmask 883 name: eventmask 894 type: u32 884 type: u32 895 - 885 - 896 name: timeout 886 name: timeout 897 type: string 887 type: string 898 - 888 - 899 name: nat-attrs 889 name: nat-attrs 900 enum-name: ovs-nat-attr 890 enum-name: ovs-nat-attr 901 name-prefix: ovs-nat-attr- 891 name-prefix: ovs-nat-attr- 902 attributes: 892 attributes: 903 - 893 - 904 name: src 894 name: src 905 type: flag 895 type: flag 906 - 896 - 907 name: dst 897 name: dst 908 type: flag 898 type: flag 909 - 899 - 910 name: ip-min 900 name: ip-min 911 type: binary 901 type: binary 912 - 902 - 913 name: ip-max 903 name: ip-max 914 type: binary 904 type: binary 915 - 905 - 916 name: proto-min 906 name: proto-min 917 type: u16 907 type: u16 918 - 908 - 919 name: proto-max 909 name: proto-max 920 type: u16 910 type: u16 921 - 911 - 922 name: persistent 912 name: persistent 923 type: flag 913 type: flag 924 - 914 - 925 name: proto-hash 915 name: proto-hash 926 type: flag 916 type: flag 927 - 917 - 928 name: proto-random 918 name: proto-random 929 type: flag 919 type: flag 930 - 920 - 931 name: dec-ttl-attrs 921 name: dec-ttl-attrs 932 enum-name: ovs-dec-ttl-attr 922 enum-name: ovs-dec-ttl-attr 933 name-prefix: ovs-dec-ttl-attr- 923 name-prefix: ovs-dec-ttl-attr- 934 attributes: 924 attributes: 935 - 925 - 936 name: action 926 name: action 937 type: nest 927 type: nest 938 nested-attributes: action-attrs 928 nested-attributes: action-attrs 939 - 929 - 940 name: vxlan-ext-attrs 930 name: vxlan-ext-attrs 941 enum-name: ovs-vxlan-ext- 931 enum-name: ovs-vxlan-ext- 942 name-prefix: ovs-vxlan-ext- 932 name-prefix: ovs-vxlan-ext- 943 attributes: 933 attributes: 944 - 934 - 945 name: gbp 935 name: gbp 946 type: u32 936 type: u32 947 - << 948 name: psample-attrs << 949 enum-name: ovs-psample-attr << 950 name-prefix: ovs-psample-attr- << 951 attributes: << 952 - << 953 name: group << 954 type: u32 << 955 - << 956 name: cookie << 957 type: binary << 958 937 959 operations: 938 operations: 960 name-prefix: ovs-flow-cmd- 939 name-prefix: ovs-flow-cmd- 961 fixed-header: ovs-header 940 fixed-header: ovs-header 962 list: 941 list: 963 - 942 - 964 name: get 943 name: get 965 doc: Get / dump OVS flow configuration a 944 doc: Get / dump OVS flow configuration and state 966 value: 3 945 value: 3 967 attribute-set: flow-attrs 946 attribute-set: flow-attrs 968 do: &flow-get-op 947 do: &flow-get-op 969 request: 948 request: 970 attributes: 949 attributes: >> 950 - dp-ifindex 971 - key 951 - key 972 - ufid 952 - ufid 973 - ufid-flags 953 - ufid-flags 974 reply: 954 reply: 975 attributes: 955 attributes: >> 956 - dp-ifindex 976 - key 957 - key 977 - ufid 958 - ufid 978 - mask 959 - mask 979 - stats 960 - stats 980 - actions 961 - actions 981 dump: *flow-get-op 962 dump: *flow-get-op 982 - 963 - 983 name: new 964 name: new 984 doc: Create OVS flow configuration in a 965 doc: Create OVS flow configuration in a data path 985 value: 1 966 value: 1 986 attribute-set: flow-attrs 967 attribute-set: flow-attrs 987 do: 968 do: 988 request: 969 request: 989 attributes: 970 attributes: >> 971 - dp-ifindex 990 - key 972 - key 991 - ufid 973 - ufid 992 - mask 974 - mask 993 - actions 975 - actions 994 976 995 mcast-groups: 977 mcast-groups: 996 list: 978 list: 997 - 979 - 998 name: ovs_flow 980 name: ovs_flow
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.