logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

tc_mpls.h (1024B)


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