1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_ERSPAN_H 7 #define _UAPI_ERSPAN_H 8 #include <linux/types.h> 9 #include <asm/byteorder.h> 10 struct erspan_md2 { 11 __be32 timestamp; 12 __be16 sgt; 13 #if defined(__LITTLE_ENDIAN_BITFIELD) 14 __u8 hwid_upper:2, 15 ft:5, 16 p:1; 17 __u8 o:1, 18 gra:2, 19 dir:1, 20 hwid:4; 21 #elif defined(__BIG_ENDIAN_BITFIELD) 22 __u8 p:1, 23 ft:5, 24 hwid_upper:2; 25 __u8 hwid:4, 26 dir:1, 27 gra:2, 28 o:1; 29 #else 30 #error "Please fix <asm/byteorder.h>" 31 #endif 32 }; 33 struct erspan_metadata { 34 int version; 35 union { 36 __be32 index; 37 struct erspan_md2 md2; 38 } u; 39 }; 40 #endif 41