1
2 #ifndef _IP6T_SRH_H
3 #define _IP6T_SRH_H
4
5 #include <linux/types.h>
6 #include <linux/netfilter.h>
7
8
9 #define IP6T_SRH_NEXTHDR 0x0001
10 #define IP6T_SRH_LEN_EQ 0x0002
11 #define IP6T_SRH_LEN_GT 0x0004
12 #define IP6T_SRH_LEN_LT 0x0008
13 #define IP6T_SRH_SEGS_EQ 0x0010
14 #define IP6T_SRH_SEGS_GT 0x0020
15 #define IP6T_SRH_SEGS_LT 0x0040
16 #define IP6T_SRH_LAST_EQ 0x0080
17 #define IP6T_SRH_LAST_GT 0x0100
18 #define IP6T_SRH_LAST_LT 0x0200
19 #define IP6T_SRH_TAG 0x0400
20 #define IP6T_SRH_PSID 0x0800
21 #define IP6T_SRH_NSID 0x1000
22 #define IP6T_SRH_LSID 0x2000
23 #define IP6T_SRH_MASK 0x3FFF
24
25
26 #define IP6T_SRH_INV_NEXTHDR 0x0001
27 #define IP6T_SRH_INV_LEN_EQ 0x0002
28 #define IP6T_SRH_INV_LEN_GT 0x0004
29 #define IP6T_SRH_INV_LEN_LT 0x0008
30 #define IP6T_SRH_INV_SEGS_EQ 0x0010
31 #define IP6T_SRH_INV_SEGS_GT 0x0020
32 #define IP6T_SRH_INV_SEGS_LT 0x0040
33 #define IP6T_SRH_INV_LAST_EQ 0x0080
34 #define IP6T_SRH_INV_LAST_GT 0x0100
35 #define IP6T_SRH_INV_LAST_LT 0x0200
36 #define IP6T_SRH_INV_TAG 0x0400
37 #define IP6T_SRH_INV_PSID 0x0800
38 #define IP6T_SRH_INV_NSID 0x1000
39 #define IP6T_SRH_INV_LSID 0x2000
40 #define IP6T_SRH_INV_MASK 0x3FFF
41
42
43
44
45
46
47
48
49
50
51
52
53 struct ip6t_srh {
54 __u8 next_hdr;
55 __u8 hdr_len;
56 __u8 segs_left;
57 __u8 last_entry;
58 __u16 tag;
59 __u16 mt_flags;
60 __u16 mt_invflags;
61 };
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 struct ip6t_srh1 {
81 __u8 next_hdr;
82 __u8 hdr_len;
83 __u8 segs_left;
84 __u8 last_entry;
85 __u16 tag;
86 struct in6_addr psid_addr;
87 struct in6_addr nsid_addr;
88 struct in6_addr lsid_addr;
89 struct in6_addr psid_msk;
90 struct in6_addr nsid_msk;
91 struct in6_addr lsid_msk;
92 __u16 mt_flags;
93 __u16 mt_invflags;
94 };
95
96 #endif