Skip to content

Commit fc4aabc

Browse files
committed
ipv4, ipv6: use SockFprog definitions from x/sys/unix
This fixes the mips{,64}{,le} builders failing the bpf-related tests and also avoids duplicating these consts/types across packages. Fixes golang/go#35669 Change-Id: I1ea96817464e3040e8cc00bff63c168fa5e75a71 Reviewed-on: https://go-review.googlesource.com/c/net/+/207286 Reviewed-by: Ian Lance Taylor <iant@golang.org>
1 parent d06c31c commit fc4aabc

32 files changed

+12
-492
lines changed

ipv4/defs_linux.go

-9
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ const (
7878
sysSO_EE_ORIGIN_TXSTATUS = C.SO_EE_ORIGIN_TXSTATUS
7979
sysSO_EE_ORIGIN_TIMESTAMPING = C.SO_EE_ORIGIN_TIMESTAMPING
8080

81-
sysSOL_SOCKET = C.SOL_SOCKET
82-
sysSO_ATTACH_FILTER = C.SO_ATTACH_FILTER
83-
8481
sizeofKernelSockaddrStorage = C.sizeof_struct___kernel_sockaddr_storage
8582
sizeofSockaddrInet = C.sizeof_struct_sockaddr_in
8683
sizeofInetPktinfo = C.sizeof_struct_in_pktinfo
@@ -93,8 +90,6 @@ const (
9390
sizeofGroupSourceReq = C.sizeof_struct_group_source_req
9491

9592
sizeofICMPFilter = C.sizeof_struct_icmp_filter
96-
97-
sizeofSockFprog = C.sizeof_struct_sock_fprog
9893
)
9994

10095
type kernelSockaddrStorage C.struct___kernel_sockaddr_storage
@@ -116,7 +111,3 @@ type groupReq C.struct_group_req
116111
type groupSourceReq C.struct_group_source_req
117112

118113
type icmpFilter C.struct_icmp_filter
119-
120-
type sockFProg C.struct_sock_fprog
121-
122-
type sockFilter C.struct_sock_filter

ipv4/sys_bpf.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ import (
1111

1212
"golang.org/x/net/bpf"
1313
"golang.org/x/net/internal/socket"
14+
"golang.org/x/sys/unix"
1415
)
1516

1617
func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
17-
prog := sockFProg{
18+
prog := unix.SockFprog{
1819
Len: uint16(len(f)),
19-
Filter: (*sockFilter)(unsafe.Pointer(&f[0])),
20+
Filter: (*unix.SockFilter)(unsafe.Pointer(&f[0])),
2021
}
21-
b := (*[sizeofSockFprog]byte)(unsafe.Pointer(&prog))[:sizeofSockFprog]
22+
b := (*[unix.SizeofSockFprog]byte)(unsafe.Pointer(&prog))[:unix.SizeofSockFprog]
2223
return so.Set(c, b)
2324
}

ipv4/sys_linux.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"golang.org/x/net/internal/iana"
1313
"golang.org/x/net/internal/socket"
14+
"golang.org/x/sys/unix"
1415
)
1516

1617
var (
@@ -35,7 +36,7 @@ var (
3536
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
3637
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
3738
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
38-
ssoAttachFilter: {Option: socket.Option{Level: sysSOL_SOCKET, Name: sysSO_ATTACH_FILTER, Len: sizeofSockFprog}},
39+
ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}},
3940
}
4041
)
4142

ipv4/zsys_linux_386.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_amd64.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_arm.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_arm64.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_mips.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_mips64.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_mips64le.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_mipsle.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ipv4/zsys_linux_ppc.go

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)