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 __LINUX_TC_TUNNEL_KEY_H
20 #define __LINUX_TC_TUNNEL_KEY_H
21 #include <linux/pkt_cls.h>
22 #define TCA_TUNNEL_KEY_ACT_SET 1
23 #define TCA_TUNNEL_KEY_ACT_RELEASE 2
24 struct tc_tunnel_key {
25   tc_gen;
26   int t_action;
27 };
28 enum {
29   TCA_TUNNEL_KEY_UNSPEC,
30   TCA_TUNNEL_KEY_TM,
31   TCA_TUNNEL_KEY_PARMS,
32   TCA_TUNNEL_KEY_ENC_IPV4_SRC,
33   TCA_TUNNEL_KEY_ENC_IPV4_DST,
34   TCA_TUNNEL_KEY_ENC_IPV6_SRC,
35   TCA_TUNNEL_KEY_ENC_IPV6_DST,
36   TCA_TUNNEL_KEY_ENC_KEY_ID,
37   TCA_TUNNEL_KEY_PAD,
38   TCA_TUNNEL_KEY_ENC_DST_PORT,
39   TCA_TUNNEL_KEY_NO_CSUM,
40   TCA_TUNNEL_KEY_ENC_OPTS,
41   TCA_TUNNEL_KEY_ENC_TOS,
42   TCA_TUNNEL_KEY_ENC_TTL,
43   __TCA_TUNNEL_KEY_MAX,
44 };
45 #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
46 enum {
47   TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC,
48   TCA_TUNNEL_KEY_ENC_OPTS_GENEVE,
49   TCA_TUNNEL_KEY_ENC_OPTS_VXLAN,
50   TCA_TUNNEL_KEY_ENC_OPTS_ERSPAN,
51   __TCA_TUNNEL_KEY_ENC_OPTS_MAX,
52 };
53 #define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1)
54 enum {
55   TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC,
56   TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS,
57   TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE,
58   TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA,
59   __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX,
60 };
61 #define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1)
62 enum {
63   TCA_TUNNEL_KEY_ENC_OPT_VXLAN_UNSPEC,
64   TCA_TUNNEL_KEY_ENC_OPT_VXLAN_GBP,
65   __TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX,
66 };
67 #define TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX (__TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX - 1)
68 enum {
69   TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_UNSPEC,
70   TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_VER,
71   TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX,
72   TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR,
73   TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID,
74   __TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX,
75 };
76 #define TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX (__TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX - 1)
77 #endif
78