1
2
3
4
5
6
7
8
9
10
11
12#ifndef __LINUX_TC_TUNNEL_KEY_H
13#define __LINUX_TC_TUNNEL_KEY_H
14
15#include <linux/pkt_cls.h>
16
17#define TCA_ACT_TUNNEL_KEY 17
18
19#define TCA_TUNNEL_KEY_ACT_SET 1
20#define TCA_TUNNEL_KEY_ACT_RELEASE 2
21
22struct tc_tunnel_key {
23 tc_gen;
24 int t_action;
25};
26
27enum {
28 TCA_TUNNEL_KEY_UNSPEC,
29 TCA_TUNNEL_KEY_TM,
30 TCA_TUNNEL_KEY_PARMS,
31 TCA_TUNNEL_KEY_ENC_IPV4_SRC,
32 TCA_TUNNEL_KEY_ENC_IPV4_DST,
33 TCA_TUNNEL_KEY_ENC_IPV6_SRC,
34 TCA_TUNNEL_KEY_ENC_IPV6_DST,
35 TCA_TUNNEL_KEY_ENC_KEY_ID,
36 TCA_TUNNEL_KEY_PAD,
37 TCA_TUNNEL_KEY_ENC_DST_PORT,
38 TCA_TUNNEL_KEY_NO_CSUM,
39 TCA_TUNNEL_KEY_ENC_OPTS,
40
41
42 TCA_TUNNEL_KEY_ENC_TOS,
43 TCA_TUNNEL_KEY_ENC_TTL,
44 __TCA_TUNNEL_KEY_MAX,
45};
46
47#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
48
49enum {
50 TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC,
51 TCA_TUNNEL_KEY_ENC_OPTS_GENEVE,
52
53
54
55 __TCA_TUNNEL_KEY_ENC_OPTS_MAX,
56};
57
58#define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1)
59
60enum {
61 TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC,
62 TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS,
63 TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE,
64 TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA,
65
66 __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX,
67};
68
69#define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \
70 (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1)
71
72#endif
73