1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef _UAPI_ERSPAN_H
14 #define _UAPI_ERSPAN_H
15
16 #include <linux/types.h>
17 #include <asm/byteorder.h>
18
19
20 struct erspan_md2 {
21 __be32 timestamp;
22 __be16 sgt;
23 #if defined(__LITTLE_ENDIAN_BITFIELD)
24 __u8 hwid_upper:2,
25 ft:5,
26 p:1;
27 __u8 o:1,
28 gra:2,
29 dir:1,
30 hwid:4;
31 #elif defined(__BIG_ENDIAN_BITFIELD)
32 __u8 p:1,
33 ft:5,
34 hwid_upper:2;
35 __u8 hwid:4,
36 dir:1,
37 gra:2,
38 o:1;
39 #else
40 #error "Please fix <asm/byteorder.h>"
41 #endif
42 };
43
44 struct erspan_metadata {
45 int version;
46 union {
47 __be32 index;
48 struct erspan_md2 md2;
49 } u;
50 };
51
52 #endif