DPDK  18.11.11
rte_mpls.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016 6WIND S.A.
3  */
4 
5 #ifndef _RTE_MPLS_H_
6 #define _RTE_MPLS_H_
7 
14 #include <stdint.h>
15 #include <rte_byteorder.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
24 __extension__
25 struct mpls_hdr {
26  uint16_t tag_msb;
27 #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
28  uint8_t tag_lsb:4;
29  uint8_t tc:3;
30  uint8_t bs:1;
31 #else
32  uint8_t bs:1;
33  uint8_t tc:3;
34  uint8_t tag_lsb:4;
35 #endif
36  uint8_t ttl;
37 } __attribute__((__packed__));
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif /* RTE_MPLS_H_ */
uint8_t bs
Definition: rte_mpls.h:30
uint8_t tag_lsb
Definition: rte_mpls.h:28
uint8_t tc
Definition: rte_mpls.h:29
uint16_t tag_msb
Definition: rte_mpls.h:26
uint8_t ttl
Definition: rte_mpls.h:36