CNDP  22.08.0
cne_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 _CNE_MPLS_H_
6 #define _CNE_MPLS_H_
7 
14 #include <stdint.h>
15 #include <endian.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
24 struct cne_mpls_hdr {
25  uint16_t tag_msb;
26 #if BYTE_ORDER == BIG_ENDIAN
27  uint8_t tag_lsb : 4;
28  uint8_t tc : 3;
29  uint8_t bs : 1;
30 #else
31  uint8_t bs : 1;
32  uint8_t tc : 3;
33  uint8_t tag_lsb : 4;
34 #endif
35  uint8_t ttl;
36 } __attribute__((__packed__));
37 
38 #ifdef __cplusplus
39 }
40 #endif
41 
42 #endif /* CNE_MPLS_H_ */
uint8_t tag_lsb
Definition: cne_mpls.h:27
uint8_t ttl
Definition: cne_mpls.h:35
uint8_t tc
Definition: cne_mpls.h:28
uint16_t tag_msb
Definition: cne_mpls.h:25
uint8_t bs
Definition: cne_mpls.h:29