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

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 /* Copyright (C) 2019 Netronome Systems, Inc. */
   3 
   4 #ifndef __LINUX_TC_MPLS_H
   5 #define __LINUX_TC_MPLS_H
   6 
   7 #include <linux/pkt_cls.h>
   8 
   9 #define TCA_MPLS_ACT_POP        1
  10 #define TCA_MPLS_ACT_PUSH       2
  11 #define TCA_MPLS_ACT_MODIFY     3
  12 #define TCA_MPLS_ACT_DEC_TTL    4
  13 
  14 struct tc_mpls {
  15         tc_gen;         /* generic TC action fields. */
  16         int m_action;   /* action of type TCA_MPLS_ACT_*. */
  17 };
  18 
  19 enum {
  20         TCA_MPLS_UNSPEC,
  21         TCA_MPLS_TM,    /* struct tcf_t; time values associated with action. */
  22         TCA_MPLS_PARMS, /* struct tc_mpls; action type and general TC fields. */
  23         TCA_MPLS_PAD,
  24         TCA_MPLS_PROTO, /* be16; eth_type of pushed or next (for pop) header. */
  25         TCA_MPLS_LABEL, /* u32; MPLS label. Lower 20 bits are used. */
  26         TCA_MPLS_TC,    /* u8; MPLS TC field. Lower 3 bits are used. */
  27         TCA_MPLS_TTL,   /* u8; MPLS TTL field. Must not be 0. */
  28         TCA_MPLS_BOS,   /* u8; MPLS BOS field. Either 1 or 0. */
  29         __TCA_MPLS_MAX,
  30 };
  31 #define TCA_MPLS_MAX (__TCA_MPLS_MAX - 1)
  32 
  33 #endif

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