blob: 72bbefe5d1d12234fcf34f00fd32acb0a3555fcb [file] [log] [blame]
Christopher Ferris25981132017-11-14 16:53:49 -08001/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
Christopher Ferris33185402017-01-13 13:28:52 -08002/*
3 * Copyright (c) 2016, Amir Vadai <amir@vadai.me>
4 * Copyright (c) 2016, Mellanox Technologies. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
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, /* be32 */
32 TCA_TUNNEL_KEY_ENC_IPV4_DST, /* be32 */
33 TCA_TUNNEL_KEY_ENC_IPV6_SRC, /* struct in6_addr */
34 TCA_TUNNEL_KEY_ENC_IPV6_DST, /* struct in6_addr */
35 TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */
36 TCA_TUNNEL_KEY_PAD,
Christopher Ferris2fd4b3c2017-02-21 12:32:08 -080037 TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */
Christopher Ferris25981132017-11-14 16:53:49 -080038 TCA_TUNNEL_KEY_NO_CSUM, /* u8 */
Christopher Ferris33185402017-01-13 13:28:52 -080039 __TCA_TUNNEL_KEY_MAX,
40};
41
42#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
43
44#endif