openvswitch.h revision 106b3a8a7dc03c19a45e322de425ac56aafac358
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI__LINUX_OPENVSWITCH_H
20#define _UAPI__LINUX_OPENVSWITCH_H 1
21#include <linux/types.h>
22#include <linux/if_ether.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24struct ovs_header {
25  int dp_ifindex;
26};
27#define OVS_DATAPATH_FAMILY "ovs_datapath"
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define OVS_DATAPATH_MCGROUP "ovs_datapath"
30#define OVS_DATAPATH_VERSION 2
31#define OVS_DP_VER_FEATURES 2
32enum ovs_datapath_cmd {
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  OVS_DP_CMD_UNSPEC,
35  OVS_DP_CMD_NEW,
36  OVS_DP_CMD_DEL,
37  OVS_DP_CMD_GET,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  OVS_DP_CMD_SET
40};
41enum ovs_datapath_attr {
42  OVS_DP_ATTR_UNSPEC,
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  OVS_DP_ATTR_NAME,
45  OVS_DP_ATTR_UPCALL_PID,
46  OVS_DP_ATTR_STATS,
47  OVS_DP_ATTR_MEGAFLOW_STATS,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  OVS_DP_ATTR_USER_FEATURES,
50  OVS_DP_ATTR_PAD,
51  __OVS_DP_ATTR_MAX
52};
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define OVS_DP_ATTR_MAX (__OVS_DP_ATTR_MAX - 1)
55struct ovs_dp_stats {
56  __u64 n_hit;
57  __u64 n_missed;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  __u64 n_lost;
60  __u64 n_flows;
61};
62struct ovs_dp_megaflow_stats {
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  __u64 n_mask_hit;
65  __u32 n_masks;
66  __u32 pad0;
67  __u64 pad1;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  __u64 pad2;
70};
71struct ovs_vport_stats {
72  __u64 rx_packets;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  __u64 tx_packets;
75  __u64 rx_bytes;
76  __u64 tx_bytes;
77  __u64 rx_errors;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  __u64 tx_errors;
80  __u64 rx_dropped;
81  __u64 tx_dropped;
82};
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define OVS_DP_F_UNALIGNED (1 << 0)
85#define OVS_DP_F_VPORT_PIDS (1 << 1)
86#define OVSP_LOCAL ((__u32) 0)
87#define OVS_PACKET_FAMILY "ovs_packet"
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define OVS_PACKET_VERSION 0x1
90enum ovs_packet_cmd {
91  OVS_PACKET_CMD_UNSPEC,
92  OVS_PACKET_CMD_MISS,
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  OVS_PACKET_CMD_ACTION,
95  OVS_PACKET_CMD_EXECUTE
96};
97enum ovs_packet_attr {
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  OVS_PACKET_ATTR_UNSPEC,
100  OVS_PACKET_ATTR_PACKET,
101  OVS_PACKET_ATTR_KEY,
102  OVS_PACKET_ATTR_ACTIONS,
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  OVS_PACKET_ATTR_USERDATA,
105  OVS_PACKET_ATTR_EGRESS_TUN_KEY,
106  OVS_PACKET_ATTR_UNUSED1,
107  OVS_PACKET_ATTR_UNUSED2,
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  OVS_PACKET_ATTR_PROBE,
110  OVS_PACKET_ATTR_MRU,
111  __OVS_PACKET_ATTR_MAX
112};
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define OVS_PACKET_ATTR_MAX (__OVS_PACKET_ATTR_MAX - 1)
115#define OVS_VPORT_FAMILY "ovs_vport"
116#define OVS_VPORT_MCGROUP "ovs_vport"
117#define OVS_VPORT_VERSION 0x1
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119enum ovs_vport_cmd {
120  OVS_VPORT_CMD_UNSPEC,
121  OVS_VPORT_CMD_NEW,
122  OVS_VPORT_CMD_DEL,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  OVS_VPORT_CMD_GET,
125  OVS_VPORT_CMD_SET
126};
127enum ovs_vport_type {
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  OVS_VPORT_TYPE_UNSPEC,
130  OVS_VPORT_TYPE_NETDEV,
131  OVS_VPORT_TYPE_INTERNAL,
132  OVS_VPORT_TYPE_GRE,
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  OVS_VPORT_TYPE_VXLAN,
135  OVS_VPORT_TYPE_GENEVE,
136  __OVS_VPORT_TYPE_MAX
137};
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define OVS_VPORT_TYPE_MAX (__OVS_VPORT_TYPE_MAX - 1)
140enum ovs_vport_attr {
141  OVS_VPORT_ATTR_UNSPEC,
142  OVS_VPORT_ATTR_PORT_NO,
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  OVS_VPORT_ATTR_TYPE,
145  OVS_VPORT_ATTR_NAME,
146  OVS_VPORT_ATTR_OPTIONS,
147  OVS_VPORT_ATTR_UPCALL_PID,
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  OVS_VPORT_ATTR_STATS,
150  OVS_VPORT_ATTR_PAD,
151  __OVS_VPORT_ATTR_MAX
152};
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)
155enum {
156  OVS_VXLAN_EXT_UNSPEC,
157  OVS_VXLAN_EXT_GBP,
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  __OVS_VXLAN_EXT_MAX,
160};
161#define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1)
162enum {
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  OVS_TUNNEL_ATTR_UNSPEC,
165  OVS_TUNNEL_ATTR_DST_PORT,
166  OVS_TUNNEL_ATTR_EXTENSION,
167  __OVS_TUNNEL_ATTR_MAX
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169};
170#define OVS_TUNNEL_ATTR_MAX (__OVS_TUNNEL_ATTR_MAX - 1)
171#define OVS_FLOW_FAMILY "ovs_flow"
172#define OVS_FLOW_MCGROUP "ovs_flow"
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define OVS_FLOW_VERSION 0x1
175enum ovs_flow_cmd {
176  OVS_FLOW_CMD_UNSPEC,
177  OVS_FLOW_CMD_NEW,
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  OVS_FLOW_CMD_DEL,
180  OVS_FLOW_CMD_GET,
181  OVS_FLOW_CMD_SET
182};
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184struct ovs_flow_stats {
185  __u64 n_packets;
186  __u64 n_bytes;
187};
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189enum ovs_key_attr {
190  OVS_KEY_ATTR_UNSPEC,
191  OVS_KEY_ATTR_ENCAP,
192  OVS_KEY_ATTR_PRIORITY,
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  OVS_KEY_ATTR_IN_PORT,
195  OVS_KEY_ATTR_ETHERNET,
196  OVS_KEY_ATTR_VLAN,
197  OVS_KEY_ATTR_ETHERTYPE,
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  OVS_KEY_ATTR_IPV4,
200  OVS_KEY_ATTR_IPV6,
201  OVS_KEY_ATTR_TCP,
202  OVS_KEY_ATTR_UDP,
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  OVS_KEY_ATTR_ICMP,
205  OVS_KEY_ATTR_ICMPV6,
206  OVS_KEY_ATTR_ARP,
207  OVS_KEY_ATTR_ND,
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  OVS_KEY_ATTR_SKB_MARK,
210  OVS_KEY_ATTR_TUNNEL,
211  OVS_KEY_ATTR_SCTP,
212  OVS_KEY_ATTR_TCP_FLAGS,
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  OVS_KEY_ATTR_DP_HASH,
215  OVS_KEY_ATTR_RECIRC_ID,
216  OVS_KEY_ATTR_MPLS,
217  OVS_KEY_ATTR_CT_STATE,
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  OVS_KEY_ATTR_CT_ZONE,
220  OVS_KEY_ATTR_CT_MARK,
221  OVS_KEY_ATTR_CT_LABELS,
222  __OVS_KEY_ATTR_MAX
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224};
225#define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1)
226enum ovs_tunnel_key_attr {
227  OVS_TUNNEL_KEY_ATTR_ID,
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  OVS_TUNNEL_KEY_ATTR_IPV4_SRC,
230  OVS_TUNNEL_KEY_ATTR_IPV4_DST,
231  OVS_TUNNEL_KEY_ATTR_TOS,
232  OVS_TUNNEL_KEY_ATTR_TTL,
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT,
235  OVS_TUNNEL_KEY_ATTR_CSUM,
236  OVS_TUNNEL_KEY_ATTR_OAM,
237  OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS,
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  OVS_TUNNEL_KEY_ATTR_TP_SRC,
240  OVS_TUNNEL_KEY_ATTR_TP_DST,
241  OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS,
242  OVS_TUNNEL_KEY_ATTR_IPV6_SRC,
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  OVS_TUNNEL_KEY_ATTR_IPV6_DST,
245  OVS_TUNNEL_KEY_ATTR_PAD,
246  __OVS_TUNNEL_KEY_ATTR_MAX
247};
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249#define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1)
250enum ovs_frag_type {
251  OVS_FRAG_TYPE_NONE,
252  OVS_FRAG_TYPE_FIRST,
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  OVS_FRAG_TYPE_LATER,
255  __OVS_FRAG_TYPE_MAX
256};
257#define OVS_FRAG_TYPE_MAX (__OVS_FRAG_TYPE_MAX - 1)
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259struct ovs_key_ethernet {
260  __u8 eth_src[ETH_ALEN];
261  __u8 eth_dst[ETH_ALEN];
262};
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264struct ovs_key_mpls {
265  __be32 mpls_lse;
266};
267struct ovs_key_ipv4 {
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  __be32 ipv4_src;
270  __be32 ipv4_dst;
271  __u8 ipv4_proto;
272  __u8 ipv4_tos;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __u8 ipv4_ttl;
275  __u8 ipv4_frag;
276};
277struct ovs_key_ipv6 {
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  __be32 ipv6_src[4];
280  __be32 ipv6_dst[4];
281  __be32 ipv6_label;
282  __u8 ipv6_proto;
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  __u8 ipv6_tclass;
285  __u8 ipv6_hlimit;
286  __u8 ipv6_frag;
287};
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289struct ovs_key_tcp {
290  __be16 tcp_src;
291  __be16 tcp_dst;
292};
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294struct ovs_key_udp {
295  __be16 udp_src;
296  __be16 udp_dst;
297};
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299struct ovs_key_sctp {
300  __be16 sctp_src;
301  __be16 sctp_dst;
302};
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304struct ovs_key_icmp {
305  __u8 icmp_type;
306  __u8 icmp_code;
307};
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309struct ovs_key_icmpv6 {
310  __u8 icmpv6_type;
311  __u8 icmpv6_code;
312};
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314struct ovs_key_arp {
315  __be32 arp_sip;
316  __be32 arp_tip;
317  __be16 arp_op;
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  __u8 arp_sha[ETH_ALEN];
320  __u8 arp_tha[ETH_ALEN];
321};
322struct ovs_key_nd {
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  __be32 nd_target[4];
325  __u8 nd_sll[ETH_ALEN];
326  __u8 nd_tll[ETH_ALEN];
327};
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329#define OVS_CT_LABELS_LEN 16
330struct ovs_key_ct_labels {
331  __u8 ct_labels[OVS_CT_LABELS_LEN];
332};
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334#define OVS_CS_F_NEW 0x01
335#define OVS_CS_F_ESTABLISHED 0x02
336#define OVS_CS_F_RELATED 0x04
337#define OVS_CS_F_REPLY_DIR 0x08
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339#define OVS_CS_F_INVALID 0x10
340#define OVS_CS_F_TRACKED 0x20
341#define OVS_CS_F_SRC_NAT 0x40
342#define OVS_CS_F_DST_NAT 0x80
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344#define OVS_CS_F_NAT_MASK (OVS_CS_F_SRC_NAT | OVS_CS_F_DST_NAT)
345enum ovs_flow_attr {
346  OVS_FLOW_ATTR_UNSPEC,
347  OVS_FLOW_ATTR_KEY,
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  OVS_FLOW_ATTR_ACTIONS,
350  OVS_FLOW_ATTR_STATS,
351  OVS_FLOW_ATTR_TCP_FLAGS,
352  OVS_FLOW_ATTR_USED,
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354  OVS_FLOW_ATTR_CLEAR,
355  OVS_FLOW_ATTR_MASK,
356  OVS_FLOW_ATTR_PROBE,
357  OVS_FLOW_ATTR_UFID,
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  OVS_FLOW_ATTR_UFID_FLAGS,
360  OVS_FLOW_ATTR_PAD,
361  __OVS_FLOW_ATTR_MAX
362};
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1)
365#define OVS_UFID_F_OMIT_KEY (1 << 0)
366#define OVS_UFID_F_OMIT_MASK (1 << 1)
367#define OVS_UFID_F_OMIT_ACTIONS (1 << 2)
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369enum ovs_sample_attr {
370  OVS_SAMPLE_ATTR_UNSPEC,
371  OVS_SAMPLE_ATTR_PROBABILITY,
372  OVS_SAMPLE_ATTR_ACTIONS,
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  __OVS_SAMPLE_ATTR_MAX,
375};
376#define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1)
377enum ovs_userspace_attr {
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  OVS_USERSPACE_ATTR_UNSPEC,
380  OVS_USERSPACE_ATTR_PID,
381  OVS_USERSPACE_ATTR_USERDATA,
382  OVS_USERSPACE_ATTR_EGRESS_TUN_PORT,
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384  OVS_USERSPACE_ATTR_ACTIONS,
385  __OVS_USERSPACE_ATTR_MAX
386};
387#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1)
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389struct ovs_action_push_mpls {
390  __be32 mpls_lse;
391  __be16 mpls_ethertype;
392};
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394struct ovs_action_push_vlan {
395  __be16 vlan_tpid;
396  __be16 vlan_tci;
397};
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399enum ovs_hash_alg {
400  OVS_HASH_ALG_L4,
401};
402struct ovs_action_hash {
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  uint32_t hash_alg;
405  uint32_t hash_basis;
406};
407enum ovs_ct_attr {
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409  OVS_CT_ATTR_UNSPEC,
410  OVS_CT_ATTR_COMMIT,
411  OVS_CT_ATTR_ZONE,
412  OVS_CT_ATTR_MARK,
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  OVS_CT_ATTR_LABELS,
415  OVS_CT_ATTR_HELPER,
416  OVS_CT_ATTR_NAT,
417  __OVS_CT_ATTR_MAX
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419};
420#define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1)
421enum ovs_nat_attr {
422  OVS_NAT_ATTR_UNSPEC,
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  OVS_NAT_ATTR_SRC,
425  OVS_NAT_ATTR_DST,
426  OVS_NAT_ATTR_IP_MIN,
427  OVS_NAT_ATTR_IP_MAX,
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429  OVS_NAT_ATTR_PROTO_MIN,
430  OVS_NAT_ATTR_PROTO_MAX,
431  OVS_NAT_ATTR_PERSISTENT,
432  OVS_NAT_ATTR_PROTO_HASH,
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434  OVS_NAT_ATTR_PROTO_RANDOM,
435  __OVS_NAT_ATTR_MAX,
436};
437#define OVS_NAT_ATTR_MAX (__OVS_NAT_ATTR_MAX - 1)
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439enum ovs_action_attr {
440  OVS_ACTION_ATTR_UNSPEC,
441  OVS_ACTION_ATTR_OUTPUT,
442  OVS_ACTION_ATTR_USERSPACE,
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  OVS_ACTION_ATTR_SET,
445  OVS_ACTION_ATTR_PUSH_VLAN,
446  OVS_ACTION_ATTR_POP_VLAN,
447  OVS_ACTION_ATTR_SAMPLE,
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  OVS_ACTION_ATTR_RECIRC,
450  OVS_ACTION_ATTR_HASH,
451  OVS_ACTION_ATTR_PUSH_MPLS,
452  OVS_ACTION_ATTR_POP_MPLS,
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454  OVS_ACTION_ATTR_SET_MASKED,
455  OVS_ACTION_ATTR_CT,
456  __OVS_ACTION_ATTR_MAX,
457};
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
460#endif
461