liuxiaolong
2022-06-28 37714b1093c04061e636e5b1d27179652e671c0a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs defs_linux.go
 
package ipv6
 
const (
    sysIPV6_ADDRFORM       = 0x1
    sysIPV6_2292PKTINFO    = 0x2
    sysIPV6_2292HOPOPTS    = 0x3
    sysIPV6_2292DSTOPTS    = 0x4
    sysIPV6_2292RTHDR      = 0x5
    sysIPV6_2292PKTOPTIONS = 0x6
    sysIPV6_CHECKSUM       = 0x7
    sysIPV6_2292HOPLIMIT   = 0x8
    sysIPV6_NEXTHOP        = 0x9
    sysIPV6_FLOWINFO       = 0xb
 
    sysIPV6_UNICAST_HOPS        = 0x10
    sysIPV6_MULTICAST_IF        = 0x11
    sysIPV6_MULTICAST_HOPS      = 0x12
    sysIPV6_MULTICAST_LOOP      = 0x13
    sysIPV6_ADD_MEMBERSHIP      = 0x14
    sysIPV6_DROP_MEMBERSHIP     = 0x15
    sysMCAST_JOIN_GROUP         = 0x2a
    sysMCAST_LEAVE_GROUP        = 0x2d
    sysMCAST_JOIN_SOURCE_GROUP  = 0x2e
    sysMCAST_LEAVE_SOURCE_GROUP = 0x2f
    sysMCAST_BLOCK_SOURCE       = 0x2b
    sysMCAST_UNBLOCK_SOURCE     = 0x2c
    sysMCAST_MSFILTER           = 0x30
    sysIPV6_ROUTER_ALERT        = 0x16
    sysIPV6_MTU_DISCOVER        = 0x17
    sysIPV6_MTU                 = 0x18
    sysIPV6_RECVERR             = 0x19
    sysIPV6_V6ONLY              = 0x1a
    sysIPV6_JOIN_ANYCAST        = 0x1b
    sysIPV6_LEAVE_ANYCAST       = 0x1c
 
    sysIPV6_FLOWLABEL_MGR = 0x20
    sysIPV6_FLOWINFO_SEND = 0x21
 
    sysIPV6_IPSEC_POLICY = 0x22
    sysIPV6_XFRM_POLICY  = 0x23
 
    sysIPV6_RECVPKTINFO  = 0x31
    sysIPV6_PKTINFO      = 0x32
    sysIPV6_RECVHOPLIMIT = 0x33
    sysIPV6_HOPLIMIT     = 0x34
    sysIPV6_RECVHOPOPTS  = 0x35
    sysIPV6_HOPOPTS      = 0x36
    sysIPV6_RTHDRDSTOPTS = 0x37
    sysIPV6_RECVRTHDR    = 0x38
    sysIPV6_RTHDR        = 0x39
    sysIPV6_RECVDSTOPTS  = 0x3a
    sysIPV6_DSTOPTS      = 0x3b
    sysIPV6_RECVPATHMTU  = 0x3c
    sysIPV6_PATHMTU      = 0x3d
    sysIPV6_DONTFRAG     = 0x3e
 
    sysIPV6_RECVTCLASS = 0x42
    sysIPV6_TCLASS     = 0x43
 
    sysIPV6_ADDR_PREFERENCES = 0x48
 
    sysIPV6_PREFER_SRC_TMP            = 0x1
    sysIPV6_PREFER_SRC_PUBLIC         = 0x2
    sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100
    sysIPV6_PREFER_SRC_COA            = 0x4
    sysIPV6_PREFER_SRC_HOME           = 0x400
    sysIPV6_PREFER_SRC_CGA            = 0x8
    sysIPV6_PREFER_SRC_NONCGA         = 0x800
 
    sysIPV6_MINHOPCOUNT = 0x49
 
    sysIPV6_ORIGDSTADDR     = 0x4a
    sysIPV6_RECVORIGDSTADDR = 0x4a
    sysIPV6_TRANSPARENT     = 0x4b
    sysIPV6_UNICAST_IF      = 0x4c
 
    sysICMPV6_FILTER = 0x1
 
    sysICMPV6_FILTER_BLOCK       = 0x1
    sysICMPV6_FILTER_PASS        = 0x2
    sysICMPV6_FILTER_BLOCKOTHERS = 0x3
    sysICMPV6_FILTER_PASSONLY    = 0x4
 
    sysSOL_SOCKET       = 0x1
    sysSO_ATTACH_FILTER = 0x1a
 
    sizeofKernelSockaddrStorage = 0x80
    sizeofSockaddrInet6         = 0x1c
    sizeofInet6Pktinfo          = 0x14
    sizeofIPv6Mtuinfo           = 0x20
    sizeofIPv6FlowlabelReq      = 0x20
 
    sizeofIPv6Mreq       = 0x14
    sizeofGroupReq       = 0x84
    sizeofGroupSourceReq = 0x104
 
    sizeofICMPv6Filter = 0x20
 
    sizeofSockFprog = 0x8
)
 
type kernelSockaddrStorage struct {
    Family  uint16
    X__data [126]int8
}
 
type sockaddrInet6 struct {
    Family   uint16
    Port     uint16
    Flowinfo uint32
    Addr     [16]byte /* in6_addr */
    Scope_id uint32
}
 
type inet6Pktinfo struct {
    Addr    [16]byte /* in6_addr */
    Ifindex int32
}
 
type ipv6Mtuinfo struct {
    Addr sockaddrInet6
    Mtu  uint32
}
 
type ipv6FlowlabelReq struct {
    Dst        [16]byte /* in6_addr */
    Label      uint32
    Action     uint8
    Share      uint8
    Flags      uint16
    Expires    uint16
    Linger     uint16
    X__flr_pad uint32
}
 
type ipv6Mreq struct {
    Multiaddr [16]byte /* in6_addr */
    Ifindex   int32
}
 
type groupReq struct {
    Interface uint32
    Group     kernelSockaddrStorage
}
 
type groupSourceReq struct {
    Interface uint32
    Group     kernelSockaddrStorage
    Source    kernelSockaddrStorage
}
 
type icmpv6Filter struct {
    Data [8]uint32
}
 
type sockFProg struct {
    Len       uint16
    Pad_cgo_0 [2]byte
    Filter    *sockFilter
}
 
type sockFilter struct {
    Code uint16
    Jt   uint8
    Jf   uint8
    K    uint32
}