193b230b5SDonald Hunter# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
293b230b5SDonald Hunter
393b230b5SDonald Huntername: ovs_flow
493b230b5SDonald Hunterversion: 1
593b230b5SDonald Hunterprotocol: genetlink-legacy
66907217aSDonald Hunteruapi-header: linux/openvswitch.h
793b230b5SDonald Hunter
893b230b5SDonald Hunterdoc:
993b230b5SDonald Hunter  OVS flow configuration over generic netlink.
1093b230b5SDonald Hunter
1193b230b5SDonald Hunterdefinitions:
1293b230b5SDonald Hunter  -
1393b230b5SDonald Hunter    name: ovs-header
1493b230b5SDonald Hunter    type: struct
1593b230b5SDonald Hunter    doc: |
1693b230b5SDonald Hunter      Header for OVS Generic Netlink messages.
1793b230b5SDonald Hunter    members:
1893b230b5SDonald Hunter      -
1993b230b5SDonald Hunter        name: dp-ifindex
2093b230b5SDonald Hunter        type: u32
2193b230b5SDonald Hunter        doc: |
2293b230b5SDonald Hunter          ifindex of local port for datapath (0 to make a request not specific
2393b230b5SDonald Hunter          to a datapath).
2493b230b5SDonald Hunter  -
2593b230b5SDonald Hunter    name: ovs-flow-stats
2693b230b5SDonald Hunter    type: struct
2793b230b5SDonald Hunter    members:
2893b230b5SDonald Hunter      -
2993b230b5SDonald Hunter        name: n-packets
3093b230b5SDonald Hunter        type: u64
3193b230b5SDonald Hunter        doc: Number of matched packets.
3293b230b5SDonald Hunter      -
3393b230b5SDonald Hunter        name: n-bytes
3493b230b5SDonald Hunter        type: u64
3593b230b5SDonald Hunter        doc: Number of matched bytes.
3693b230b5SDonald Hunter  -
37*334f39ceSDonald Hunter    name: ovs-key-ethernet
38*334f39ceSDonald Hunter    type: struct
39*334f39ceSDonald Hunter    members:
40*334f39ceSDonald Hunter      -
41*334f39ceSDonald Hunter        name: eth-src
42*334f39ceSDonald Hunter        type: binary
43*334f39ceSDonald Hunter        len: 6
44*334f39ceSDonald Hunter        display-hint: mac
45*334f39ceSDonald Hunter      -
46*334f39ceSDonald Hunter        name: eth-dst
47*334f39ceSDonald Hunter        type: binary
48*334f39ceSDonald Hunter        len: 6
49*334f39ceSDonald Hunter        display-hint: mac
50*334f39ceSDonald Hunter  -
5193b230b5SDonald Hunter    name: ovs-key-mpls
5293b230b5SDonald Hunter    type: struct
5393b230b5SDonald Hunter    members:
5493b230b5SDonald Hunter      -
5593b230b5SDonald Hunter        name: mpls-lse
5693b230b5SDonald Hunter        type: u32
5793b230b5SDonald Hunter        byte-order: big-endian
5893b230b5SDonald Hunter  -
5993b230b5SDonald Hunter    name: ovs-key-ipv4
6093b230b5SDonald Hunter    type: struct
6193b230b5SDonald Hunter    members:
6293b230b5SDonald Hunter      -
6393b230b5SDonald Hunter        name: ipv4-src
6493b230b5SDonald Hunter        type: u32
6593b230b5SDonald Hunter        byte-order: big-endian
66*334f39ceSDonald Hunter        display-hint: ipv4
6793b230b5SDonald Hunter      -
6893b230b5SDonald Hunter        name: ipv4-dst
6993b230b5SDonald Hunter        type: u32
7093b230b5SDonald Hunter        byte-order: big-endian
71*334f39ceSDonald Hunter        display-hint: ipv4
7293b230b5SDonald Hunter      -
7393b230b5SDonald Hunter        name: ipv4-proto
7493b230b5SDonald Hunter        type: u8
7593b230b5SDonald Hunter      -
7693b230b5SDonald Hunter        name: ipv4-tos
7793b230b5SDonald Hunter        type: u8
7893b230b5SDonald Hunter      -
7993b230b5SDonald Hunter        name: ipv4-ttl
8093b230b5SDonald Hunter        type: u8
8193b230b5SDonald Hunter      -
8293b230b5SDonald Hunter        name: ipv4-frag
8393b230b5SDonald Hunter        type: u8
8493b230b5SDonald Hunter        enum: ovs-frag-type
8593b230b5SDonald Hunter  -
86*334f39ceSDonald Hunter    name: ovs-key-ipv6
87*334f39ceSDonald Hunter    type: struct
88*334f39ceSDonald Hunter    members:
89*334f39ceSDonald Hunter      -
90*334f39ceSDonald Hunter        name: ipv6-src
91*334f39ceSDonald Hunter        type: binary
92*334f39ceSDonald Hunter        len: 16
93*334f39ceSDonald Hunter        byte-order: big-endian
94*334f39ceSDonald Hunter        display-hint: ipv6
95*334f39ceSDonald Hunter      -
96*334f39ceSDonald Hunter        name: ipv6-dst
97*334f39ceSDonald Hunter        type: binary
98*334f39ceSDonald Hunter        len: 16
99*334f39ceSDonald Hunter        byte-order: big-endian
100*334f39ceSDonald Hunter        display-hint: ipv6
101*334f39ceSDonald Hunter      -
102*334f39ceSDonald Hunter        name: ipv6-label
103*334f39ceSDonald Hunter        type: u32
104*334f39ceSDonald Hunter        byte-order: big-endian
105*334f39ceSDonald Hunter      -
106*334f39ceSDonald Hunter        name: ipv6-proto
107*334f39ceSDonald Hunter        type: u8
108*334f39ceSDonald Hunter      -
109*334f39ceSDonald Hunter        name: ipv6-tclass
110*334f39ceSDonald Hunter        type: u8
111*334f39ceSDonald Hunter      -
112*334f39ceSDonald Hunter        name: ipv6-hlimit
113*334f39ceSDonald Hunter        type: u8
114*334f39ceSDonald Hunter      -
115*334f39ceSDonald Hunter        name: ipv6-frag
116*334f39ceSDonald Hunter        type: u8
117*334f39ceSDonald Hunter  -
118*334f39ceSDonald Hunter    name: ovs-key-ipv6-exthdrs
119*334f39ceSDonald Hunter    type: struct
120*334f39ceSDonald Hunter    members:
121*334f39ceSDonald Hunter      -
122*334f39ceSDonald Hunter        name: hdrs
123*334f39ceSDonald Hunter        type: u16
124*334f39ceSDonald Hunter  -
12593b230b5SDonald Hunter    name: ovs-frag-type
1266907217aSDonald Hunter    name-prefix: ovs-frag-type-
12793b230b5SDonald Hunter    type: enum
12893b230b5SDonald Hunter    entries:
12993b230b5SDonald Hunter      -
13093b230b5SDonald Hunter        name: none
13193b230b5SDonald Hunter        doc: Packet is not a fragment.
13293b230b5SDonald Hunter      -
13393b230b5SDonald Hunter        name: first
13493b230b5SDonald Hunter        doc: Packet is a fragment with offset 0.
13593b230b5SDonald Hunter      -
13693b230b5SDonald Hunter        name: later
13793b230b5SDonald Hunter        doc: Packet is a fragment with nonzero offset.
13893b230b5SDonald Hunter      -
13993b230b5SDonald Hunter        name: any
14093b230b5SDonald Hunter        value: 255
14193b230b5SDonald Hunter  -
14293b230b5SDonald Hunter    name: ovs-key-tcp
14393b230b5SDonald Hunter    type: struct
14493b230b5SDonald Hunter    members:
14593b230b5SDonald Hunter      -
14693b230b5SDonald Hunter        name: tcp-src
14793b230b5SDonald Hunter        type: u16
14893b230b5SDonald Hunter        byte-order: big-endian
14993b230b5SDonald Hunter      -
15093b230b5SDonald Hunter        name: tcp-dst
15193b230b5SDonald Hunter        type: u16
15293b230b5SDonald Hunter        byte-order: big-endian
15393b230b5SDonald Hunter  -
15493b230b5SDonald Hunter    name: ovs-key-udp
15593b230b5SDonald Hunter    type: struct
15693b230b5SDonald Hunter    members:
15793b230b5SDonald Hunter      -
15893b230b5SDonald Hunter        name: udp-src
15993b230b5SDonald Hunter        type: u16
16093b230b5SDonald Hunter        byte-order: big-endian
16193b230b5SDonald Hunter      -
16293b230b5SDonald Hunter        name: udp-dst
16393b230b5SDonald Hunter        type: u16
16493b230b5SDonald Hunter        byte-order: big-endian
16593b230b5SDonald Hunter  -
16693b230b5SDonald Hunter    name: ovs-key-sctp
16793b230b5SDonald Hunter    type: struct
16893b230b5SDonald Hunter    members:
16993b230b5SDonald Hunter      -
17093b230b5SDonald Hunter        name: sctp-src
17193b230b5SDonald Hunter        type: u16
17293b230b5SDonald Hunter        byte-order: big-endian
17393b230b5SDonald Hunter      -
17493b230b5SDonald Hunter        name: sctp-dst
17593b230b5SDonald Hunter        type: u16
17693b230b5SDonald Hunter        byte-order: big-endian
17793b230b5SDonald Hunter  -
17893b230b5SDonald Hunter    name: ovs-key-icmp
17993b230b5SDonald Hunter    type: struct
18093b230b5SDonald Hunter    members:
18193b230b5SDonald Hunter      -
18293b230b5SDonald Hunter        name: icmp-type
18393b230b5SDonald Hunter        type: u8
18493b230b5SDonald Hunter      -
18593b230b5SDonald Hunter        name: icmp-code
18693b230b5SDonald Hunter        type: u8
18793b230b5SDonald Hunter  -
188*334f39ceSDonald Hunter    name: ovs-key-arp
189*334f39ceSDonald Hunter    type: struct
190*334f39ceSDonald Hunter    members:
191*334f39ceSDonald Hunter      -
192*334f39ceSDonald Hunter        name: arp-sip
193*334f39ceSDonald Hunter        type: u32
194*334f39ceSDonald Hunter        byte-order: big-endian
195*334f39ceSDonald Hunter      -
196*334f39ceSDonald Hunter        name: arp-tip
197*334f39ceSDonald Hunter        type: u32
198*334f39ceSDonald Hunter        byte-order: big-endian
199*334f39ceSDonald Hunter      -
200*334f39ceSDonald Hunter        name: arp-op
201*334f39ceSDonald Hunter        type: u16
202*334f39ceSDonald Hunter        byte-order: big-endian
203*334f39ceSDonald Hunter      -
204*334f39ceSDonald Hunter        name: arp-sha
205*334f39ceSDonald Hunter        type: binary
206*334f39ceSDonald Hunter        len: 6
207*334f39ceSDonald Hunter        display-hint: mac
208*334f39ceSDonald Hunter      -
209*334f39ceSDonald Hunter        name: arp-tha
210*334f39ceSDonald Hunter        type: binary
211*334f39ceSDonald Hunter        len: 6
212*334f39ceSDonald Hunter        display-hint: mac
213*334f39ceSDonald Hunter  -
214*334f39ceSDonald Hunter    name: ovs-key-nd
215*334f39ceSDonald Hunter    type: struct
216*334f39ceSDonald Hunter    members:
217*334f39ceSDonald Hunter      -
218*334f39ceSDonald Hunter        name: nd_target
219*334f39ceSDonald Hunter        type: binary
220*334f39ceSDonald Hunter        len: 16
221*334f39ceSDonald Hunter        byte-order: big-endian
222*334f39ceSDonald Hunter      -
223*334f39ceSDonald Hunter        name: nd-sll
224*334f39ceSDonald Hunter        type: binary
225*334f39ceSDonald Hunter        len: 6
226*334f39ceSDonald Hunter        display-hint: mac
227*334f39ceSDonald Hunter      -
228*334f39ceSDonald Hunter        name: nd-tll
229*334f39ceSDonald Hunter        type: binary
230*334f39ceSDonald Hunter        len: 6
231*334f39ceSDonald Hunter        display-hint: mac
232*334f39ceSDonald Hunter  -
23393b230b5SDonald Hunter    name: ovs-key-ct-tuple-ipv4
23493b230b5SDonald Hunter    type: struct
23593b230b5SDonald Hunter    members:
23693b230b5SDonald Hunter      -
23793b230b5SDonald Hunter        name: ipv4-src
23893b230b5SDonald Hunter        type: u32
23993b230b5SDonald Hunter        byte-order: big-endian
24093b230b5SDonald Hunter      -
24193b230b5SDonald Hunter        name: ipv4-dst
24293b230b5SDonald Hunter        type: u32
24393b230b5SDonald Hunter        byte-order: big-endian
24493b230b5SDonald Hunter      -
24593b230b5SDonald Hunter        name: src-port
24693b230b5SDonald Hunter        type: u16
24793b230b5SDonald Hunter        byte-order: big-endian
24893b230b5SDonald Hunter      -
24993b230b5SDonald Hunter        name: dst-port
25093b230b5SDonald Hunter        type: u16
25193b230b5SDonald Hunter        byte-order: big-endian
25293b230b5SDonald Hunter      -
25393b230b5SDonald Hunter        name: ipv4-proto
25493b230b5SDonald Hunter        type: u8
25593b230b5SDonald Hunter  -
25693b230b5SDonald Hunter    name: ovs-action-push-vlan
25793b230b5SDonald Hunter    type: struct
25893b230b5SDonald Hunter    members:
25993b230b5SDonald Hunter      -
26093b230b5SDonald Hunter        name: vlan_tpid
26193b230b5SDonald Hunter        type: u16
26293b230b5SDonald Hunter        byte-order: big-endian
26393b230b5SDonald Hunter        doc: Tag protocol identifier (TPID) to push.
26493b230b5SDonald Hunter      -
26593b230b5SDonald Hunter        name: vlan_tci
26693b230b5SDonald Hunter        type: u16
26793b230b5SDonald Hunter        byte-order: big-endian
26893b230b5SDonald Hunter        doc: Tag control identifier (TCI) to push.
26993b230b5SDonald Hunter  -
27093b230b5SDonald Hunter    name: ovs-ufid-flags
2716907217aSDonald Hunter    name-prefix: ovs-ufid-f-
27293b230b5SDonald Hunter    type: flags
27393b230b5SDonald Hunter    entries:
27493b230b5SDonald Hunter      - omit-key
27593b230b5SDonald Hunter      - omit-mask
27693b230b5SDonald Hunter      - omit-actions
27793b230b5SDonald Hunter  -
27893b230b5SDonald Hunter    name: ovs-action-hash
27993b230b5SDonald Hunter    type: struct
28093b230b5SDonald Hunter    members:
28193b230b5SDonald Hunter      -
2826907217aSDonald Hunter        name: hash-alg
28393b230b5SDonald Hunter        type: u32
28493b230b5SDonald Hunter        doc: Algorithm used to compute hash prior to recirculation.
28593b230b5SDonald Hunter      -
28693b230b5SDonald Hunter        name: hash-basis
28793b230b5SDonald Hunter        type: u32
28893b230b5SDonald Hunter        doc: Basis used for computing hash.
28993b230b5SDonald Hunter  -
29093b230b5SDonald Hunter    name: ovs-hash-alg
29193b230b5SDonald Hunter    type: enum
29293b230b5SDonald Hunter    doc: |
29393b230b5SDonald Hunter      Data path hash algorithm for computing Datapath hash. The algorithm type only specifies
29493b230b5SDonald Hunter      the fields in a flow will be used as part of the hash. Each datapath is free to use its
29593b230b5SDonald Hunter      own hash algorithm. The hash value will be opaque to the user space daemon.
29693b230b5SDonald Hunter    entries:
29793b230b5SDonald Hunter      - ovs-hash-alg-l4
29893b230b5SDonald Hunter
29993b230b5SDonald Hunter  -
30093b230b5SDonald Hunter    name: ovs-action-push-mpls
30193b230b5SDonald Hunter    type: struct
30293b230b5SDonald Hunter    members:
30393b230b5SDonald Hunter      -
3046907217aSDonald Hunter        name: mpls-lse
30593b230b5SDonald Hunter        type: u32
30693b230b5SDonald Hunter        byte-order: big-endian
30793b230b5SDonald Hunter        doc: |
30893b230b5SDonald Hunter          MPLS label stack entry to push
30993b230b5SDonald Hunter      -
3106907217aSDonald Hunter        name: mpls-ethertype
31193b230b5SDonald Hunter        type: u32
31293b230b5SDonald Hunter        byte-order: big-endian
31393b230b5SDonald Hunter        doc: |
31493b230b5SDonald Hunter          Ethertype to set in the encapsulating ethernet frame.  The only values
31593b230b5SDonald Hunter          ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC,
31693b230b5SDonald Hunter          indicating MPLS unicast or multicast. Other are rejected.
31793b230b5SDonald Hunter  -
31893b230b5SDonald Hunter    name: ovs-action-add-mpls
31993b230b5SDonald Hunter    type: struct
32093b230b5SDonald Hunter    members:
32193b230b5SDonald Hunter      -
3226907217aSDonald Hunter        name: mpls-lse
32393b230b5SDonald Hunter        type: u32
32493b230b5SDonald Hunter        byte-order: big-endian
32593b230b5SDonald Hunter        doc: |
32693b230b5SDonald Hunter          MPLS label stack entry to push
32793b230b5SDonald Hunter      -
3286907217aSDonald Hunter        name: mpls-ethertype
32993b230b5SDonald Hunter        type: u32
33093b230b5SDonald Hunter        byte-order: big-endian
33193b230b5SDonald Hunter        doc: |
33293b230b5SDonald Hunter          Ethertype to set in the encapsulating ethernet frame.  The only values
33393b230b5SDonald Hunter          ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC,
33493b230b5SDonald Hunter          indicating MPLS unicast or multicast. Other are rejected.
33593b230b5SDonald Hunter      -
33693b230b5SDonald Hunter        name: tun-flags
33793b230b5SDonald Hunter        type: u16
33893b230b5SDonald Hunter        doc: |
33993b230b5SDonald Hunter          MPLS tunnel attributes.
34093b230b5SDonald Hunter  -
34193b230b5SDonald Hunter    name: ct-state-flags
34293b230b5SDonald Hunter    type: flags
3436907217aSDonald Hunter    name-prefix: ovs-cs-f-
34493b230b5SDonald Hunter    entries:
34593b230b5SDonald Hunter      -
34693b230b5SDonald Hunter        name: new
34793b230b5SDonald Hunter        doc: Beginning of a new connection.
34893b230b5SDonald Hunter      -
34993b230b5SDonald Hunter        name: established
35093b230b5SDonald Hunter        doc: Part of an existing connenction
35193b230b5SDonald Hunter      -
35293b230b5SDonald Hunter        name: related
35393b230b5SDonald Hunter        doc: Related to an existing connection.
35493b230b5SDonald Hunter      -
35593b230b5SDonald Hunter        name: reply-dir
35693b230b5SDonald Hunter        doc: Flow is in the reply direction.
35793b230b5SDonald Hunter      -
35893b230b5SDonald Hunter        name: invalid
35993b230b5SDonald Hunter        doc: Could not track the connection.
36093b230b5SDonald Hunter      -
36193b230b5SDonald Hunter        name: tracked
36293b230b5SDonald Hunter        doc: Conntrack has occurred.
36393b230b5SDonald Hunter      -
36493b230b5SDonald Hunter        name: src-nat
36593b230b5SDonald Hunter        doc: Packet's source address/port was mangled by NAT.
36693b230b5SDonald Hunter      -
36793b230b5SDonald Hunter        name: dst-nat
36893b230b5SDonald Hunter        doc: Packet's destination address/port was mangled by NAT.
36993b230b5SDonald Hunter
37093b230b5SDonald Hunterattribute-sets:
37193b230b5SDonald Hunter  -
37293b230b5SDonald Hunter    name: flow-attrs
3736907217aSDonald Hunter    enum-name: ovs-flow-attr
3746907217aSDonald Hunter    name-prefix: ovs-flow-attr-
37593b230b5SDonald Hunter    attributes:
37693b230b5SDonald Hunter      -
37793b230b5SDonald Hunter        name: key
37893b230b5SDonald Hunter        type: nest
37993b230b5SDonald Hunter        nested-attributes: key-attrs
38093b230b5SDonald Hunter        doc: |
38193b230b5SDonald Hunter          Nested attributes specifying the flow key. Always present in
38293b230b5SDonald Hunter          notifications. Required for all requests (except dumps).
38393b230b5SDonald Hunter      -
38493b230b5SDonald Hunter        name: actions
38593b230b5SDonald Hunter        type: nest
38693b230b5SDonald Hunter        nested-attributes: action-attrs
38793b230b5SDonald Hunter        doc: |
38893b230b5SDonald Hunter          Nested attributes specifying the actions to take for packets that
38993b230b5SDonald Hunter          match the key. Always present in notifications. Required for
39093b230b5SDonald Hunter          OVS_FLOW_CMD_NEW requests, optional for OVS_FLOW_CMD_SET requests.  An
39193b230b5SDonald Hunter          OVS_FLOW_CMD_SET without OVS_FLOW_ATTR_ACTIONS will not modify the
39293b230b5SDonald Hunter          actions.  To clear the actions, an OVS_FLOW_ATTR_ACTIONS without any
39393b230b5SDonald Hunter          nested attributes must be given.
39493b230b5SDonald Hunter      -
39593b230b5SDonald Hunter        name: stats
39693b230b5SDonald Hunter        type: binary
39793b230b5SDonald Hunter        struct: ovs-flow-stats
39893b230b5SDonald Hunter        doc: |
39993b230b5SDonald Hunter          Statistics for this flow. Present in notifications if the stats would
40093b230b5SDonald Hunter          be nonzero. Ignored in requests.
40193b230b5SDonald Hunter      -
40293b230b5SDonald Hunter        name: tcp-flags
40393b230b5SDonald Hunter        type: u8
40493b230b5SDonald Hunter        doc: |
40593b230b5SDonald Hunter          An 8-bit value giving the ORed value of all of the TCP flags seen on
40693b230b5SDonald Hunter          packets in this flow. Only present in notifications for TCP flows, and
40793b230b5SDonald Hunter          only if it would be nonzero. Ignored in requests.
40893b230b5SDonald Hunter      -
40993b230b5SDonald Hunter        name: used
41093b230b5SDonald Hunter        type: u64
41193b230b5SDonald Hunter        doc: |
41293b230b5SDonald Hunter          A 64-bit integer giving the time, in milliseconds on the system
41393b230b5SDonald Hunter          monotonic clock, at which a packet was last processed for this
41493b230b5SDonald Hunter          flow. Only present in notifications if a packet has been processed for
41593b230b5SDonald Hunter          this flow. Ignored in requests.
41693b230b5SDonald Hunter      -
41793b230b5SDonald Hunter        name: clear
41893b230b5SDonald Hunter        type: flag
41993b230b5SDonald Hunter        doc: |
42093b230b5SDonald Hunter          If present in a OVS_FLOW_CMD_SET request, clears the last-used time,
42193b230b5SDonald Hunter          accumulated TCP flags, and statistics for this flow.  Otherwise
42293b230b5SDonald Hunter          ignored in requests. Never present in notifications.
42393b230b5SDonald Hunter      -
42493b230b5SDonald Hunter        name: mask
42593b230b5SDonald Hunter        type: nest
42693b230b5SDonald Hunter        nested-attributes: key-attrs
42793b230b5SDonald Hunter        doc: |
42893b230b5SDonald Hunter          Nested attributes specifying the mask bits for wildcarded flow
42993b230b5SDonald Hunter          match. Mask bit value '1' specifies exact match with corresponding
43093b230b5SDonald Hunter          flow key bit, while mask bit value '0' specifies a wildcarded
43193b230b5SDonald Hunter          match. Omitting attribute is treated as wildcarding all corresponding
43293b230b5SDonald Hunter          fields. Optional for all requests. If not present, all flow key bits
43393b230b5SDonald Hunter          are exact match bits.
43493b230b5SDonald Hunter      -
43593b230b5SDonald Hunter        name: probe
43693b230b5SDonald Hunter        type: binary
43793b230b5SDonald Hunter        doc: |
43893b230b5SDonald Hunter          Flow operation is a feature probe, error logging should be suppressed.
43993b230b5SDonald Hunter      -
44093b230b5SDonald Hunter        name: ufid
44193b230b5SDonald Hunter        type: binary
44293b230b5SDonald Hunter        doc: |
44393b230b5SDonald Hunter          A value between 1-16 octets specifying a unique identifier for the
44493b230b5SDonald Hunter          flow. Causes the flow to be indexed by this value rather than the
44593b230b5SDonald Hunter          value of the OVS_FLOW_ATTR_KEY attribute. Optional for all
44693b230b5SDonald Hunter          requests. Present in notifications if the flow was created with this
44793b230b5SDonald Hunter          attribute.
448*334f39ceSDonald Hunter        display-hint: uuid
44993b230b5SDonald Hunter      -
45093b230b5SDonald Hunter        name: ufid-flags
45193b230b5SDonald Hunter        type: u32
45293b230b5SDonald Hunter        enum: ovs-ufid-flags
45393b230b5SDonald Hunter        doc: |
45493b230b5SDonald Hunter          A 32-bit value of ORed flags that provide alternative semantics for
45593b230b5SDonald Hunter          flow installation and retrieval. Optional for all requests.
45693b230b5SDonald Hunter      -
45793b230b5SDonald Hunter        name: pad
45893b230b5SDonald Hunter        type: binary
45993b230b5SDonald Hunter
46093b230b5SDonald Hunter  -
46193b230b5SDonald Hunter    name: key-attrs
4626907217aSDonald Hunter    enum-name: ovs-key-attr
4636907217aSDonald Hunter    name-prefix: ovs-key-attr-
46493b230b5SDonald Hunter    attributes:
46593b230b5SDonald Hunter      -
46693b230b5SDonald Hunter        name: encap
46793b230b5SDonald Hunter        type: nest
46893b230b5SDonald Hunter        nested-attributes: key-attrs
46993b230b5SDonald Hunter      -
47093b230b5SDonald Hunter        name: priority
47193b230b5SDonald Hunter        type: u32
47293b230b5SDonald Hunter      -
47393b230b5SDonald Hunter        name: in-port
47493b230b5SDonald Hunter        type: u32
47593b230b5SDonald Hunter      -
47693b230b5SDonald Hunter        name: ethernet
47793b230b5SDonald Hunter        type: binary
478*334f39ceSDonald Hunter        struct: ovs-key-ethernet
47993b230b5SDonald Hunter        doc: struct ovs_key_ethernet
48093b230b5SDonald Hunter      -
48193b230b5SDonald Hunter        name: vlan
48293b230b5SDonald Hunter        type: u16
48393b230b5SDonald Hunter        byte-order: big-endian
48493b230b5SDonald Hunter      -
48593b230b5SDonald Hunter        name: ethertype
48693b230b5SDonald Hunter        type: u16
48793b230b5SDonald Hunter        byte-order: big-endian
48893b230b5SDonald Hunter      -
48993b230b5SDonald Hunter        name: ipv4
49093b230b5SDonald Hunter        type: binary
49193b230b5SDonald Hunter        struct: ovs-key-ipv4
49293b230b5SDonald Hunter      -
49393b230b5SDonald Hunter        name: ipv6
49493b230b5SDonald Hunter        type: binary
495*334f39ceSDonald Hunter        struct: ovs-key-ipv6
49693b230b5SDonald Hunter        doc: struct ovs_key_ipv6
49793b230b5SDonald Hunter      -
49893b230b5SDonald Hunter        name: tcp
49993b230b5SDonald Hunter        type: binary
50093b230b5SDonald Hunter        struct: ovs-key-tcp
50193b230b5SDonald Hunter      -
50293b230b5SDonald Hunter        name: udp
50393b230b5SDonald Hunter        type: binary
50493b230b5SDonald Hunter        struct: ovs-key-udp
50593b230b5SDonald Hunter      -
50693b230b5SDonald Hunter        name: icmp
50793b230b5SDonald Hunter        type: binary
50893b230b5SDonald Hunter        struct: ovs-key-icmp
50993b230b5SDonald Hunter      -
51093b230b5SDonald Hunter        name: icmpv6
51193b230b5SDonald Hunter        type: binary
51293b230b5SDonald Hunter        struct: ovs-key-icmp
51393b230b5SDonald Hunter      -
51493b230b5SDonald Hunter        name: arp
51593b230b5SDonald Hunter        type: binary
516*334f39ceSDonald Hunter        struct: ovs-key-arp
51793b230b5SDonald Hunter        doc: struct ovs_key_arp
51893b230b5SDonald Hunter      -
51993b230b5SDonald Hunter        name: nd
52093b230b5SDonald Hunter        type: binary
521*334f39ceSDonald Hunter        struct: ovs-key-nd
52293b230b5SDonald Hunter        doc: struct ovs_key_nd
52393b230b5SDonald Hunter      -
52493b230b5SDonald Hunter        name: skb-mark
52593b230b5SDonald Hunter        type: u32
52693b230b5SDonald Hunter      -
52793b230b5SDonald Hunter        name: tunnel
52893b230b5SDonald Hunter        type: nest
52993b230b5SDonald Hunter        nested-attributes: tunnel-key-attrs
53093b230b5SDonald Hunter      -
53193b230b5SDonald Hunter        name: sctp
53293b230b5SDonald Hunter        type: binary
53393b230b5SDonald Hunter        struct: ovs-key-sctp
53493b230b5SDonald Hunter      -
53593b230b5SDonald Hunter        name: tcp-flags
53693b230b5SDonald Hunter        type: u16
53793b230b5SDonald Hunter        byte-order: big-endian
53893b230b5SDonald Hunter      -
53993b230b5SDonald Hunter        name: dp-hash
54093b230b5SDonald Hunter        type: u32
54193b230b5SDonald Hunter        doc: Value 0 indicates the hash is not computed by the datapath.
54293b230b5SDonald Hunter      -
54393b230b5SDonald Hunter        name: recirc-id
54493b230b5SDonald Hunter        type: u32
54593b230b5SDonald Hunter      -
54693b230b5SDonald Hunter        name: mpls
54793b230b5SDonald Hunter        type: binary
54893b230b5SDonald Hunter        struct: ovs-key-mpls
54993b230b5SDonald Hunter      -
55093b230b5SDonald Hunter        name: ct-state
55193b230b5SDonald Hunter        type: u32
55293b230b5SDonald Hunter        enum: ct-state-flags
55393b230b5SDonald Hunter        enum-as-flags: true
55493b230b5SDonald Hunter      -
55593b230b5SDonald Hunter        name: ct-zone
55693b230b5SDonald Hunter        type: u16
55793b230b5SDonald Hunter        doc: connection tracking zone
55893b230b5SDonald Hunter      -
55993b230b5SDonald Hunter        name: ct-mark
56093b230b5SDonald Hunter        type: u32
56193b230b5SDonald Hunter        doc: connection tracking mark
56293b230b5SDonald Hunter      -
56393b230b5SDonald Hunter        name: ct-labels
56493b230b5SDonald Hunter        type: binary
565*334f39ceSDonald Hunter        display-hint: hex
56693b230b5SDonald Hunter        doc: 16-octet connection tracking label
56793b230b5SDonald Hunter      -
56893b230b5SDonald Hunter        name: ct-orig-tuple-ipv4
56993b230b5SDonald Hunter        type: binary
57093b230b5SDonald Hunter        struct: ovs-key-ct-tuple-ipv4
57193b230b5SDonald Hunter      -
57293b230b5SDonald Hunter        name: ct-orig-tuple-ipv6
57393b230b5SDonald Hunter        type: binary
57493b230b5SDonald Hunter        doc: struct ovs_key_ct_tuple_ipv6
57593b230b5SDonald Hunter      -
57693b230b5SDonald Hunter        name: nsh
57793b230b5SDonald Hunter        type: nest
57893b230b5SDonald Hunter        nested-attributes: ovs-nsh-key-attrs
57993b230b5SDonald Hunter      -
58093b230b5SDonald Hunter        name: packet-type
58193b230b5SDonald Hunter        type: u32
58293b230b5SDonald Hunter        byte-order: big-endian
58393b230b5SDonald Hunter        doc: Should not be sent to the kernel
58493b230b5SDonald Hunter      -
58593b230b5SDonald Hunter        name: nd-extensions
58693b230b5SDonald Hunter        type: binary
58793b230b5SDonald Hunter        doc: Should not be sent to the kernel
58893b230b5SDonald Hunter      -
58993b230b5SDonald Hunter        name: tunnel-info
59093b230b5SDonald Hunter        type: binary
59193b230b5SDonald Hunter        doc: struct ip_tunnel_info
59293b230b5SDonald Hunter      -
59393b230b5SDonald Hunter        name: ipv6-exthdrs
59493b230b5SDonald Hunter        type: binary
595*334f39ceSDonald Hunter        struct: ovs-key-ipv6-exthdrs
59693b230b5SDonald Hunter        doc: struct ovs_key_ipv6_exthdr
59793b230b5SDonald Hunter  -
59893b230b5SDonald Hunter    name: action-attrs
5996907217aSDonald Hunter    enum-name: ovs-action-attr
6006907217aSDonald Hunter    name-prefix: ovs-action-attr-
60193b230b5SDonald Hunter    attributes:
60293b230b5SDonald Hunter      -
60393b230b5SDonald Hunter        name: output
60493b230b5SDonald Hunter        type: u32
60593b230b5SDonald Hunter        doc: ovs port number in datapath
60693b230b5SDonald Hunter      -
60793b230b5SDonald Hunter        name: userspace
60893b230b5SDonald Hunter        type: nest
60993b230b5SDonald Hunter        nested-attributes: userspace-attrs
61093b230b5SDonald Hunter      -
61193b230b5SDonald Hunter        name: set
61293b230b5SDonald Hunter        type: nest
61393b230b5SDonald Hunter        nested-attributes: key-attrs
61493b230b5SDonald Hunter        doc: Replaces the contents of an existing header. The single nested attribute specifies a header to modify and its value.
61593b230b5SDonald Hunter      -
61693b230b5SDonald Hunter        name: push-vlan
61793b230b5SDonald Hunter        type: binary
61893b230b5SDonald Hunter        struct: ovs-action-push-vlan
61993b230b5SDonald Hunter        doc: Push a new outermost 802.1Q or 802.1ad header onto the packet.
62093b230b5SDonald Hunter      -
62193b230b5SDonald Hunter        name: pop-vlan
62293b230b5SDonald Hunter        type: flag
62393b230b5SDonald Hunter        doc: Pop the outermost 802.1Q or 802.1ad header from the packet.
62493b230b5SDonald Hunter      -
62593b230b5SDonald Hunter        name: sample
62693b230b5SDonald Hunter        type: nest
62793b230b5SDonald Hunter        nested-attributes: sample-attrs
62893b230b5SDonald Hunter        doc: |
62993b230b5SDonald Hunter          Probabilistically executes actions, as specified in the nested attributes.
63093b230b5SDonald Hunter      -
63193b230b5SDonald Hunter        name: recirc
63293b230b5SDonald Hunter        type: u32
63393b230b5SDonald Hunter        doc: recirc id
63493b230b5SDonald Hunter      -
63593b230b5SDonald Hunter        name: hash
63693b230b5SDonald Hunter        type: binary
63793b230b5SDonald Hunter        struct: ovs-action-hash
63893b230b5SDonald Hunter      -
63993b230b5SDonald Hunter        name: push-mpls
64093b230b5SDonald Hunter        type: binary
64193b230b5SDonald Hunter        struct: ovs-action-push-mpls
64293b230b5SDonald Hunter        doc: |
64393b230b5SDonald Hunter          Push a new MPLS label stack entry onto the top of the packets MPLS
64493b230b5SDonald Hunter          label stack. Set the ethertype of the encapsulating frame to either
64593b230b5SDonald Hunter          ETH_P_MPLS_UC or ETH_P_MPLS_MC to indicate the new packet contents.
64693b230b5SDonald Hunter      -
64793b230b5SDonald Hunter        name: pop-mpls
64893b230b5SDonald Hunter        type: u16
64993b230b5SDonald Hunter        byte-order: big-endian
65093b230b5SDonald Hunter        doc: ethertype
65193b230b5SDonald Hunter      -
65293b230b5SDonald Hunter        name: set-masked
65393b230b5SDonald Hunter        type: nest
65493b230b5SDonald Hunter        nested-attributes: key-attrs
65593b230b5SDonald Hunter        doc: |
65693b230b5SDonald Hunter          Replaces the contents of an existing header. A nested attribute
65793b230b5SDonald Hunter          specifies a header to modify, its value, and a mask. For every bit set
65893b230b5SDonald Hunter          in the mask, the corresponding bit value is copied from the value to
65993b230b5SDonald Hunter          the packet header field, rest of the bits are left unchanged. The
66093b230b5SDonald Hunter          non-masked value bits must be passed in as zeroes. Masking is not
66193b230b5SDonald Hunter          supported for the OVS_KEY_ATTR_TUNNEL attribute.
66293b230b5SDonald Hunter      -
66393b230b5SDonald Hunter        name: ct
66493b230b5SDonald Hunter        type: nest
66593b230b5SDonald Hunter        nested-attributes: ct-attrs
66693b230b5SDonald Hunter        doc: |
66793b230b5SDonald Hunter          Track the connection. Populate the conntrack-related entries
66893b230b5SDonald Hunter          in the flow key.
66993b230b5SDonald Hunter      -
67093b230b5SDonald Hunter        name: trunc
67193b230b5SDonald Hunter        type: u32
67293b230b5SDonald Hunter        doc: struct ovs_action_trunc is a u32 max length
67393b230b5SDonald Hunter      -
67493b230b5SDonald Hunter        name: push-eth
67593b230b5SDonald Hunter        type: binary
67693b230b5SDonald Hunter        doc: struct ovs_action_push_eth
67793b230b5SDonald Hunter      -
67893b230b5SDonald Hunter        name: pop-eth
67993b230b5SDonald Hunter        type: flag
68093b230b5SDonald Hunter      -
68193b230b5SDonald Hunter        name: ct-clear
68293b230b5SDonald Hunter        type: flag
68393b230b5SDonald Hunter      -
68493b230b5SDonald Hunter        name: push-nsh
68593b230b5SDonald Hunter        type: nest
68693b230b5SDonald Hunter        nested-attributes: ovs-nsh-key-attrs
68793b230b5SDonald Hunter        doc: |
68893b230b5SDonald Hunter          Push NSH header to the packet.
68993b230b5SDonald Hunter      -
69093b230b5SDonald Hunter        name: pop-nsh
69193b230b5SDonald Hunter        type: flag
69293b230b5SDonald Hunter        doc: |
69393b230b5SDonald Hunter          Pop the outermost NSH header off the packet.
69493b230b5SDonald Hunter      -
69593b230b5SDonald Hunter        name: meter
69693b230b5SDonald Hunter        type: u32
69793b230b5SDonald Hunter        doc: |
69893b230b5SDonald Hunter          Run packet through a meter, which may drop the packet, or modify the
69993b230b5SDonald Hunter          packet (e.g., change the DSCP field)
70093b230b5SDonald Hunter      -
70193b230b5SDonald Hunter        name: clone
70293b230b5SDonald Hunter        type: nest
70393b230b5SDonald Hunter        nested-attributes: action-attrs
70493b230b5SDonald Hunter        doc: |
70593b230b5SDonald Hunter          Make a copy of the packet and execute a list of actions without
70693b230b5SDonald Hunter          affecting the original packet and key.
70793b230b5SDonald Hunter      -
70893b230b5SDonald Hunter        name: check-pkt-len
70993b230b5SDonald Hunter        type: nest
71093b230b5SDonald Hunter        nested-attributes: check-pkt-len-attrs
71193b230b5SDonald Hunter        doc: |
71293b230b5SDonald Hunter          Check the packet length and execute a set of actions if greater than
71393b230b5SDonald Hunter          the specified packet length, else execute another set of actions.
71493b230b5SDonald Hunter      -
71593b230b5SDonald Hunter        name: add-mpls
71693b230b5SDonald Hunter        type: binary
71793b230b5SDonald Hunter        struct: ovs-action-add-mpls
71893b230b5SDonald Hunter        doc: |
71993b230b5SDonald Hunter          Push a new MPLS label stack entry at the start of the packet or at the
72093b230b5SDonald Hunter          start of the l3 header depending on the value of l3 tunnel flag in the
72193b230b5SDonald Hunter          tun_flags field of this OVS_ACTION_ATTR_ADD_MPLS argument.
72293b230b5SDonald Hunter      -
72393b230b5SDonald Hunter        name: dec-ttl
72493b230b5SDonald Hunter        type: nest
72593b230b5SDonald Hunter        nested-attributes: dec-ttl-attrs
72693b230b5SDonald Hunter  -
72793b230b5SDonald Hunter    name: tunnel-key-attrs
7286907217aSDonald Hunter    enum-name: ovs-tunnel-key-attr
7296907217aSDonald Hunter    name-prefix: ovs-tunnel-key-attr-
73093b230b5SDonald Hunter    attributes:
73193b230b5SDonald Hunter      -
73293b230b5SDonald Hunter        name: id
73393b230b5SDonald Hunter        type: u64
73493b230b5SDonald Hunter        byte-order: big-endian
73593b230b5SDonald Hunter        value: 0
73693b230b5SDonald Hunter      -
73793b230b5SDonald Hunter        name: ipv4-src
73893b230b5SDonald Hunter        type: u32
73993b230b5SDonald Hunter        byte-order: big-endian
74093b230b5SDonald Hunter      -
74193b230b5SDonald Hunter        name: ipv4-dst
74293b230b5SDonald Hunter        type: u32
74393b230b5SDonald Hunter        byte-order: big-endian
74493b230b5SDonald Hunter      -
74593b230b5SDonald Hunter        name: tos
74693b230b5SDonald Hunter        type: u8
74793b230b5SDonald Hunter      -
74893b230b5SDonald Hunter        name: ttl
74993b230b5SDonald Hunter        type: u8
75093b230b5SDonald Hunter      -
75193b230b5SDonald Hunter        name: dont-fragment
75293b230b5SDonald Hunter        type: flag
75393b230b5SDonald Hunter      -
75493b230b5SDonald Hunter        name: csum
75593b230b5SDonald Hunter        type: flag
75693b230b5SDonald Hunter      -
75793b230b5SDonald Hunter        name: oam
75893b230b5SDonald Hunter        type: flag
75993b230b5SDonald Hunter      -
76093b230b5SDonald Hunter        name: geneve-opts
76193b230b5SDonald Hunter        type: binary
76293b230b5SDonald Hunter        sub-type: u32
76393b230b5SDonald Hunter      -
76493b230b5SDonald Hunter        name: tp-src
76593b230b5SDonald Hunter        type: u16
76693b230b5SDonald Hunter        byte-order: big-endian
76793b230b5SDonald Hunter      -
76893b230b5SDonald Hunter        name: tp-dst
76993b230b5SDonald Hunter        type: u16
77093b230b5SDonald Hunter        byte-order: big-endian
77193b230b5SDonald Hunter      -
77293b230b5SDonald Hunter        name: vxlan-opts
77393b230b5SDonald Hunter        type: nest
77493b230b5SDonald Hunter        nested-attributes: vxlan-ext-attrs
77593b230b5SDonald Hunter      -
77693b230b5SDonald Hunter        name: ipv6-src
77793b230b5SDonald Hunter        type: binary
77893b230b5SDonald Hunter        doc: |
77993b230b5SDonald Hunter          struct in6_addr source IPv6 address
78093b230b5SDonald Hunter      -
78193b230b5SDonald Hunter        name: ipv6-dst
78293b230b5SDonald Hunter        type: binary
78393b230b5SDonald Hunter        doc: |
78493b230b5SDonald Hunter          struct in6_addr destination IPv6 address
78593b230b5SDonald Hunter      -
78693b230b5SDonald Hunter        name: pad
78793b230b5SDonald Hunter        type: binary
78893b230b5SDonald Hunter      -
78993b230b5SDonald Hunter        name: erspan-opts
79093b230b5SDonald Hunter        type: binary
79193b230b5SDonald Hunter        doc: |
79293b230b5SDonald Hunter          struct erspan_metadata
79393b230b5SDonald Hunter      -
79493b230b5SDonald Hunter        name: ipv4-info-bridge
79593b230b5SDonald Hunter        type: flag
79693b230b5SDonald Hunter  -
79793b230b5SDonald Hunter    name: check-pkt-len-attrs
7986907217aSDonald Hunter    enum-name: ovs-check-pkt-len-attr
7996907217aSDonald Hunter    name-prefix: ovs-check-pkt-len-attr-
80093b230b5SDonald Hunter    attributes:
80193b230b5SDonald Hunter      -
80293b230b5SDonald Hunter        name: pkt-len
80393b230b5SDonald Hunter        type: u16
80493b230b5SDonald Hunter      -
80593b230b5SDonald Hunter        name: actions-if-greater
80693b230b5SDonald Hunter        type: nest
80793b230b5SDonald Hunter        nested-attributes: action-attrs
80893b230b5SDonald Hunter      -
80993b230b5SDonald Hunter        name: actions-if-less-equal
81093b230b5SDonald Hunter        type: nest
81193b230b5SDonald Hunter        nested-attributes: action-attrs
81293b230b5SDonald Hunter  -
81393b230b5SDonald Hunter    name: sample-attrs
8146907217aSDonald Hunter    enum-name: ovs-sample-attr
8156907217aSDonald Hunter    name-prefix: ovs-sample-attr-
81693b230b5SDonald Hunter    attributes:
81793b230b5SDonald Hunter      -
81893b230b5SDonald Hunter        name: probability
81993b230b5SDonald Hunter        type: u32
82093b230b5SDonald Hunter      -
82193b230b5SDonald Hunter        name: actions
82293b230b5SDonald Hunter        type: nest
82393b230b5SDonald Hunter        nested-attributes: action-attrs
82493b230b5SDonald Hunter  -
82593b230b5SDonald Hunter    name: userspace-attrs
8266907217aSDonald Hunter    enum-name: ovs-userspace-attr
8276907217aSDonald Hunter    name-prefix: ovs-userspace-attr-
82893b230b5SDonald Hunter    attributes:
82993b230b5SDonald Hunter      -
83093b230b5SDonald Hunter        name: pid
83193b230b5SDonald Hunter        type: u32
83293b230b5SDonald Hunter      -
83393b230b5SDonald Hunter        name: userdata
83493b230b5SDonald Hunter        type: binary
83593b230b5SDonald Hunter      -
83693b230b5SDonald Hunter        name: egress-tun-port
83793b230b5SDonald Hunter        type: u32
83893b230b5SDonald Hunter      -
83993b230b5SDonald Hunter        name: actions
84093b230b5SDonald Hunter        type: flag
84193b230b5SDonald Hunter  -
84293b230b5SDonald Hunter    name: ovs-nsh-key-attrs
8436907217aSDonald Hunter    enum-name: ovs-nsh-key-attr
8446907217aSDonald Hunter    name-prefix: ovs-nsh-key-attr-
84593b230b5SDonald Hunter    attributes:
84693b230b5SDonald Hunter      -
84793b230b5SDonald Hunter        name: base
84893b230b5SDonald Hunter        type: binary
84993b230b5SDonald Hunter      -
85093b230b5SDonald Hunter        name: md1
85193b230b5SDonald Hunter        type: binary
85293b230b5SDonald Hunter      -
85393b230b5SDonald Hunter        name: md2
85493b230b5SDonald Hunter        type: binary
85593b230b5SDonald Hunter  -
85693b230b5SDonald Hunter    name: ct-attrs
8576907217aSDonald Hunter    enum-name: ovs-ct-attr
8586907217aSDonald Hunter    name-prefix: ovs-ct-attr-
85993b230b5SDonald Hunter    attributes:
86093b230b5SDonald Hunter      -
86193b230b5SDonald Hunter        name: commit
86293b230b5SDonald Hunter        type: flag
86393b230b5SDonald Hunter      -
86493b230b5SDonald Hunter        name: zone
86593b230b5SDonald Hunter        type: u16
86693b230b5SDonald Hunter      -
86793b230b5SDonald Hunter        name: mark
86893b230b5SDonald Hunter        type: binary
86993b230b5SDonald Hunter      -
87093b230b5SDonald Hunter        name: labels
87193b230b5SDonald Hunter        type: binary
87293b230b5SDonald Hunter      -
87393b230b5SDonald Hunter        name: helper
87493b230b5SDonald Hunter        type: string
87593b230b5SDonald Hunter      -
87693b230b5SDonald Hunter        name: nat
87793b230b5SDonald Hunter        type: nest
87893b230b5SDonald Hunter        nested-attributes: nat-attrs
87993b230b5SDonald Hunter      -
88093b230b5SDonald Hunter        name: force-commit
88193b230b5SDonald Hunter        type: flag
88293b230b5SDonald Hunter      -
88393b230b5SDonald Hunter        name: eventmask
88493b230b5SDonald Hunter        type: u32
88593b230b5SDonald Hunter      -
88693b230b5SDonald Hunter        name: timeout
88793b230b5SDonald Hunter        type: string
88893b230b5SDonald Hunter  -
88993b230b5SDonald Hunter    name: nat-attrs
8906907217aSDonald Hunter    enum-name: ovs-nat-attr
8916907217aSDonald Hunter    name-prefix: ovs-nat-attr-
89293b230b5SDonald Hunter    attributes:
89393b230b5SDonald Hunter      -
89493b230b5SDonald Hunter        name: src
8956907217aSDonald Hunter        type: flag
89693b230b5SDonald Hunter      -
89793b230b5SDonald Hunter        name: dst
8986907217aSDonald Hunter        type: flag
89993b230b5SDonald Hunter      -
90093b230b5SDonald Hunter        name: ip-min
90193b230b5SDonald Hunter        type: binary
90293b230b5SDonald Hunter      -
90393b230b5SDonald Hunter        name: ip-max
90493b230b5SDonald Hunter        type: binary
90593b230b5SDonald Hunter      -
90693b230b5SDonald Hunter        name: proto-min
9076907217aSDonald Hunter        type: u16
90893b230b5SDonald Hunter      -
90993b230b5SDonald Hunter        name: proto-max
9106907217aSDonald Hunter        type: u16
91193b230b5SDonald Hunter      -
91293b230b5SDonald Hunter        name: persistent
9136907217aSDonald Hunter        type: flag
91493b230b5SDonald Hunter      -
91593b230b5SDonald Hunter        name: proto-hash
9166907217aSDonald Hunter        type: flag
91793b230b5SDonald Hunter      -
91893b230b5SDonald Hunter        name: proto-random
9196907217aSDonald Hunter        type: flag
92093b230b5SDonald Hunter  -
92193b230b5SDonald Hunter    name: dec-ttl-attrs
9226907217aSDonald Hunter    enum-name: ovs-dec-ttl-attr
9236907217aSDonald Hunter    name-prefix: ovs-dec-ttl-attr-
92493b230b5SDonald Hunter    attributes:
92593b230b5SDonald Hunter      -
92693b230b5SDonald Hunter        name: action
92793b230b5SDonald Hunter        type: nest
92893b230b5SDonald Hunter        nested-attributes: action-attrs
92993b230b5SDonald Hunter  -
93093b230b5SDonald Hunter    name: vxlan-ext-attrs
9316907217aSDonald Hunter    enum-name: ovs-vxlan-ext-
9326907217aSDonald Hunter    name-prefix: ovs-vxlan-ext-
93393b230b5SDonald Hunter    attributes:
93493b230b5SDonald Hunter      -
93593b230b5SDonald Hunter        name: gbp
93693b230b5SDonald Hunter        type: u32
93793b230b5SDonald Hunter
93893b230b5SDonald Hunteroperations:
9396907217aSDonald Hunter  name-prefix: ovs-flow-cmd-
94093b230b5SDonald Hunter  fixed-header: ovs-header
94193b230b5SDonald Hunter  list:
94293b230b5SDonald Hunter    -
9436907217aSDonald Hunter      name: get
94493b230b5SDonald Hunter      doc: Get / dump OVS flow configuration and state
94593b230b5SDonald Hunter      value: 3
94693b230b5SDonald Hunter      attribute-set: flow-attrs
94793b230b5SDonald Hunter      do: &flow-get-op
94893b230b5SDonald Hunter        request:
94993b230b5SDonald Hunter          attributes:
95093b230b5SDonald Hunter            - dp-ifindex
95193b230b5SDonald Hunter            - key
95293b230b5SDonald Hunter            - ufid
95393b230b5SDonald Hunter            - ufid-flags
95493b230b5SDonald Hunter        reply:
95593b230b5SDonald Hunter          attributes:
95693b230b5SDonald Hunter            - dp-ifindex
95793b230b5SDonald Hunter            - key
95893b230b5SDonald Hunter            - ufid
95993b230b5SDonald Hunter            - mask
96093b230b5SDonald Hunter            - stats
96193b230b5SDonald Hunter            - actions
96293b230b5SDonald Hunter      dump: *flow-get-op
9636907217aSDonald Hunter    -
9646907217aSDonald Hunter      name: new
9656907217aSDonald Hunter      doc: Create OVS flow configuration in a data path
9666907217aSDonald Hunter      value: 1
9676907217aSDonald Hunter      attribute-set: flow-attrs
9686907217aSDonald Hunter      do:
9696907217aSDonald Hunter        request:
9706907217aSDonald Hunter          attributes:
9716907217aSDonald Hunter            - dp-ifindex
9726907217aSDonald Hunter            - key
9736907217aSDonald Hunter            - ufid
9746907217aSDonald Hunter            - mask
9756907217aSDonald Hunter            - actions
97693b230b5SDonald Hunter
97793b230b5SDonald Huntermcast-groups:
97893b230b5SDonald Hunter  list:
97993b230b5SDonald Hunter    -
98093b230b5SDonald Hunter      name: ovs_flow
981