brintos

brintos / linux-shallow public Read only

0
0
Text · 2.4 KiB · 37c6f61 Raw
96 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * Copyright (c) 2016, Amir Vadai <amir@vadai.me>4 * Copyright (c) 2016, Mellanox Technologies. All rights reserved.5 */6 7#ifndef __LINUX_TC_TUNNEL_KEY_H8#define __LINUX_TC_TUNNEL_KEY_H9 10#include <linux/pkt_cls.h>11 12#define TCA_TUNNEL_KEY_ACT_SET	    113#define TCA_TUNNEL_KEY_ACT_RELEASE  214 15struct tc_tunnel_key {16	tc_gen;17	int t_action;18};19 20enum {21	TCA_TUNNEL_KEY_UNSPEC,22	TCA_TUNNEL_KEY_TM,23	TCA_TUNNEL_KEY_PARMS,24	TCA_TUNNEL_KEY_ENC_IPV4_SRC,	/* be32 */25	TCA_TUNNEL_KEY_ENC_IPV4_DST,	/* be32 */26	TCA_TUNNEL_KEY_ENC_IPV6_SRC,	/* struct in6_addr */27	TCA_TUNNEL_KEY_ENC_IPV6_DST,	/* struct in6_addr */28	TCA_TUNNEL_KEY_ENC_KEY_ID,	/* be64 */29	TCA_TUNNEL_KEY_PAD,30	TCA_TUNNEL_KEY_ENC_DST_PORT,	/* be16 */31	TCA_TUNNEL_KEY_NO_CSUM,		/* u8 */32	TCA_TUNNEL_KEY_ENC_OPTS,	/* Nested TCA_TUNNEL_KEY_ENC_OPTS_33					 * attributes34					 */35	TCA_TUNNEL_KEY_ENC_TOS,		/* u8 */36	TCA_TUNNEL_KEY_ENC_TTL,		/* u8 */37	TCA_TUNNEL_KEY_NO_FRAG,		/* flag */38	__TCA_TUNNEL_KEY_MAX,39};40 41#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)42 43enum {44	TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC,45	TCA_TUNNEL_KEY_ENC_OPTS_GENEVE,		/* Nested46						 * TCA_TUNNEL_KEY_ENC_OPTS_47						 * attributes48						 */49	TCA_TUNNEL_KEY_ENC_OPTS_VXLAN,		/* Nested50						 * TCA_TUNNEL_KEY_ENC_OPTS_51						 * attributes52						 */53	TCA_TUNNEL_KEY_ENC_OPTS_ERSPAN,		/* Nested54						 * TCA_TUNNEL_KEY_ENC_OPTS_55						 * attributes56						 */57	__TCA_TUNNEL_KEY_ENC_OPTS_MAX,58};59 60#define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1)61 62enum {63	TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC,64	TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS,		/* be16 */65	TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE,		/* u8 */66	TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA,		/* 4 to 128 bytes */67 68	__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX,69};70 71#define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \72	(__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1)73 74enum {75	TCA_TUNNEL_KEY_ENC_OPT_VXLAN_UNSPEC,76	TCA_TUNNEL_KEY_ENC_OPT_VXLAN_GBP,		/* u32 */77	__TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX,78};79 80#define TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX \81	(__TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX - 1)82 83enum {84	TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_UNSPEC,85	TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_VER,		/* u8 */86	TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX,		/* be32 */87	TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR,		/* u8 */88	TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID,		/* u8 */89	__TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX,90};91 92#define TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX \93	(__TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX - 1)94 95#endif96