root/include/uapi/linux/tc_act/tc_tunnel_key.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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  * 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_TUNNEL_KEY_ACT_SET      1
  18 #define TCA_TUNNEL_KEY_ACT_RELEASE  2
  19 
  20 struct tc_tunnel_key {
  21         tc_gen;
  22         int t_action;
  23 };
  24 
  25 enum {
  26         TCA_TUNNEL_KEY_UNSPEC,
  27         TCA_TUNNEL_KEY_TM,
  28         TCA_TUNNEL_KEY_PARMS,
  29         TCA_TUNNEL_KEY_ENC_IPV4_SRC,    /* be32 */
  30         TCA_TUNNEL_KEY_ENC_IPV4_DST,    /* be32 */
  31         TCA_TUNNEL_KEY_ENC_IPV6_SRC,    /* struct in6_addr */
  32         TCA_TUNNEL_KEY_ENC_IPV6_DST,    /* struct in6_addr */
  33         TCA_TUNNEL_KEY_ENC_KEY_ID,      /* be64 */
  34         TCA_TUNNEL_KEY_PAD,
  35         TCA_TUNNEL_KEY_ENC_DST_PORT,    /* be16 */
  36         TCA_TUNNEL_KEY_NO_CSUM,         /* u8 */
  37         TCA_TUNNEL_KEY_ENC_OPTS,        /* Nested TCA_TUNNEL_KEY_ENC_OPTS_
  38                                          * attributes
  39                                          */
  40         TCA_TUNNEL_KEY_ENC_TOS,         /* u8 */
  41         TCA_TUNNEL_KEY_ENC_TTL,         /* u8 */
  42         __TCA_TUNNEL_KEY_MAX,
  43 };
  44 
  45 #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
  46 
  47 enum {
  48         TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC,
  49         TCA_TUNNEL_KEY_ENC_OPTS_GENEVE,         /* Nested
  50                                                  * TCA_TUNNEL_KEY_ENC_OPTS_
  51                                                  * attributes
  52                                                  */
  53         __TCA_TUNNEL_KEY_ENC_OPTS_MAX,
  54 };
  55 
  56 #define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1)
  57 
  58 enum {
  59         TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC,
  60         TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS,            /* be16 */
  61         TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE,             /* u8 */
  62         TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA,             /* 4 to 128 bytes */
  63 
  64         __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX,
  65 };
  66 
  67 #define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \
  68         (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1)
  69 
  70 #endif

/* [<][>][^][v][top][bottom][index][help] */