@@ -8,8 +8,7 @@ package route
8
8
9
9
import (
10
10
"runtime"
11
-
12
- "golang.org/x/sys/unix"
11
+ "syscall"
13
12
)
14
13
15
14
// An Addr represents an address associated with packet routing.
@@ -26,7 +25,7 @@ type LinkAddr struct {
26
25
}
27
26
28
27
// Family implements the Family method of Addr interface.
29
- func (a * LinkAddr ) Family () int { return unix .AF_LINK }
28
+ func (a * LinkAddr ) Family () int { return syscall .AF_LINK }
30
29
31
30
func (a * LinkAddr ) lenAndSpace () (int , int ) {
32
31
l := 8 + len (a .Name ) + len (a .Addr )
@@ -43,7 +42,7 @@ func (a *LinkAddr) marshal(b []byte) (int, error) {
43
42
return 0 , errInvalidAddr
44
43
}
45
44
b [0 ] = byte (l )
46
- b [1 ] = unix .AF_LINK
45
+ b [1 ] = syscall .AF_LINK
47
46
if a .Index > 0 {
48
47
nativeEndian .PutUint16 (b [2 :4 ], uint16 (a .Index ))
49
48
}
@@ -65,7 +64,7 @@ func parseLinkAddr(b []byte) (Addr, error) {
65
64
if len (b ) < 8 {
66
65
return nil , errInvalidAddr
67
66
}
68
- _ , a , err := parseKernelLinkAddr (unix .AF_LINK , b [4 :])
67
+ _ , a , err := parseKernelLinkAddr (syscall .AF_LINK , b [4 :])
69
68
if err != nil {
70
69
return nil , err
71
70
}
@@ -125,10 +124,10 @@ type Inet4Addr struct {
125
124
}
126
125
127
126
// Family implements the Family method of Addr interface.
128
- func (a * Inet4Addr ) Family () int { return unix .AF_INET }
127
+ func (a * Inet4Addr ) Family () int { return syscall .AF_INET }
129
128
130
129
func (a * Inet4Addr ) lenAndSpace () (int , int ) {
131
- return unix . SizeofSockaddrInet4 , roundup (unix . SizeofSockaddrInet4 )
130
+ return sizeofSockaddrInet , roundup (sizeofSockaddrInet )
132
131
}
133
132
134
133
func (a * Inet4Addr ) marshal (b []byte ) (int , error ) {
@@ -137,7 +136,7 @@ func (a *Inet4Addr) marshal(b []byte) (int, error) {
137
136
return 0 , errShortBuffer
138
137
}
139
138
b [0 ] = byte (l )
140
- b [1 ] = unix .AF_INET
139
+ b [1 ] = syscall .AF_INET
141
140
copy (b [4 :8 ], a .IP [:])
142
141
return ll , nil
143
142
}
@@ -149,10 +148,10 @@ type Inet6Addr struct {
149
148
}
150
149
151
150
// Family implements the Family method of Addr interface.
152
- func (a * Inet6Addr ) Family () int { return unix .AF_INET6 }
151
+ func (a * Inet6Addr ) Family () int { return syscall .AF_INET6 }
153
152
154
153
func (a * Inet6Addr ) lenAndSpace () (int , int ) {
155
- return unix . SizeofSockaddrInet6 , roundup (unix . SizeofSockaddrInet6 )
154
+ return sizeofSockaddrInet6 , roundup (sizeofSockaddrInet6 )
156
155
}
157
156
158
157
func (a * Inet6Addr ) marshal (b []byte ) (int , error ) {
@@ -161,7 +160,7 @@ func (a *Inet6Addr) marshal(b []byte) (int, error) {
161
160
return 0 , errShortBuffer
162
161
}
163
162
b [0 ] = byte (l )
164
- b [1 ] = unix .AF_INET6
163
+ b [1 ] = syscall .AF_INET6
165
164
copy (b [8 :24 ], a .IP [:])
166
165
if a .ZoneID > 0 {
167
166
nativeEndian .PutUint32 (b [24 :28 ], uint32 (a .ZoneID ))
@@ -176,7 +175,7 @@ func parseInetAddr(af int, b []byte) (Addr, error) {
176
175
off6 = 8 // offset of in6_addr
177
176
)
178
177
switch af {
179
- case unix .AF_INET :
178
+ case syscall .AF_INET :
180
179
if len (b ) < (off4 + 1 ) || len (b ) < int (b [0 ]) || b [0 ] == 0 {
181
180
return nil , errInvalidAddr
182
181
}
@@ -188,7 +187,7 @@ func parseInetAddr(af int, b []byte) (Addr, error) {
188
187
}
189
188
copy (a .IP [:], b [off4 :n ])
190
189
return a , nil
191
- case unix .AF_INET6 :
190
+ case syscall .AF_INET6 :
192
191
if len (b ) < (off6 + 1 ) || len (b ) < int (b [0 ]) || b [0 ] == 0 {
193
192
return nil , errInvalidAddr
194
193
}
@@ -198,7 +197,7 @@ func parseInetAddr(af int, b []byte) (Addr, error) {
198
197
n = sockAddrLen
199
198
}
200
199
a := & Inet6Addr {}
201
- if sockAddrLen == unix . SizeofSockaddrInet6 {
200
+ if sockAddrLen == sizeofSockaddrInet6 {
202
201
a .ZoneID = int (nativeEndian .Uint32 (b [24 :28 ]))
203
202
}
204
203
copy (a .IP [:], b [off6 :n ])
@@ -261,19 +260,19 @@ func parseKernelInetAddr(af int, b []byte) (int, Addr, error) {
261
260
off6 = 8 // offset of in6_addr
262
261
)
263
262
switch {
264
- case b [0 ] == unix . SizeofSockaddrInet6 :
263
+ case b [0 ] == sizeofSockaddrInet6 :
265
264
a := & Inet6Addr {}
266
265
copy (a .IP [:], b [off6 :off6 + 16 ])
267
266
return int (b [0 ]), a , nil
268
- case af == unix .AF_INET6 :
267
+ case af == syscall .AF_INET6 :
269
268
a := & Inet6Addr {}
270
269
if l - 1 < off6 {
271
270
copy (a .IP [:], b [1 :l ])
272
271
} else {
273
272
copy (a .IP [:], b [l - off6 :l ])
274
273
}
275
274
return int (b [0 ]), a , nil
276
- case b [0 ] == unix . SizeofSockaddrInet4 :
275
+ case b [0 ] == sizeofSockaddrInet :
277
276
a := & Inet4Addr {}
278
277
copy (a .IP [:], b [off4 :off4 + 4 ])
279
278
return int (b [0 ]), a , nil
@@ -385,15 +384,15 @@ func marshalAddrs(b []byte, as []Addr) (uint, error) {
385
384
}
386
385
387
386
func parseAddrs (attrs uint , fn func (int , []byte ) (int , Addr , error ), b []byte ) ([]Addr , error ) {
388
- var as [unix .RTAX_MAX ]Addr
389
- af := int (unix .AF_UNSPEC )
390
- for i := uint (0 ); i < unix .RTAX_MAX && len (b ) >= roundup (0 ); i ++ {
387
+ var as [syscall .RTAX_MAX ]Addr
388
+ af := int (syscall .AF_UNSPEC )
389
+ for i := uint (0 ); i < syscall .RTAX_MAX && len (b ) >= roundup (0 ); i ++ {
391
390
if attrs & (1 << i ) == 0 {
392
391
continue
393
392
}
394
- if i <= unix .RTAX_BRD {
393
+ if i <= syscall .RTAX_BRD {
395
394
switch b [1 ] {
396
- case unix .AF_LINK :
395
+ case syscall .AF_LINK :
397
396
a , err := parseLinkAddr (b )
398
397
if err != nil {
399
398
return nil , err
@@ -404,7 +403,7 @@ func parseAddrs(attrs uint, fn func(int, []byte) (int, Addr, error), b []byte) (
404
403
return nil , errMessageTooShort
405
404
}
406
405
b = b [l :]
407
- case unix .AF_INET , unix .AF_INET6 :
406
+ case syscall .AF_INET , syscall .AF_INET6 :
408
407
// #70528: if the sockaddrlen is 0, no address to parse inside,
409
408
// skip over the record.
410
409
if b [0 ] > 0 {
0 commit comments