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