ipv4: use all socket option consts from x/sys/unix

Remove the remaining local definitions of the IP_RECVDSTADDR, IP_RECVIF
and IP_RECVTTL socket option constants and use the constants defined in
the golang.org/x/sys/unix package instead.

Change-Id: I5308f5c5b3586e9d5c050e6cf126aeba48b47ba7
Reviewed-on: https://go-review.googlesource.com/c/net/+/311289
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/ipv4/control_bsd.go b/ipv4/control_bsd.go
index 6fef740..b7385df 100644
--- a/ipv4/control_bsd.go
+++ b/ipv4/control_bsd.go
@@ -14,11 +14,13 @@
 
 	"golang.org/x/net/internal/iana"
 	"golang.org/x/net/internal/socket"
+
+	"golang.org/x/sys/unix"
 )
 
 func marshalDst(b []byte, cm *ControlMessage) []byte {
 	m := socket.ControlMessage(b)
-	m.MarshalHeader(iana.ProtocolIP, sysIP_RECVDSTADDR, net.IPv4len)
+	m.MarshalHeader(iana.ProtocolIP, unix.IP_RECVDSTADDR, net.IPv4len)
 	return m.Next(net.IPv4len)
 }
 
@@ -31,7 +33,7 @@
 
 func marshalInterface(b []byte, cm *ControlMessage) []byte {
 	m := socket.ControlMessage(b)
-	m.MarshalHeader(iana.ProtocolIP, sysIP_RECVIF, syscall.SizeofSockaddrDatalink)
+	m.MarshalHeader(iana.ProtocolIP, sockoptReceiveInterface, syscall.SizeofSockaddrDatalink)
 	return m.Next(syscall.SizeofSockaddrDatalink)
 }
 
diff --git a/ipv4/control_unix.go b/ipv4/control_unix.go
index edce30f..2413e02 100644
--- a/ipv4/control_unix.go
+++ b/ipv4/control_unix.go
@@ -12,6 +12,8 @@
 
 	"golang.org/x/net/internal/iana"
 	"golang.org/x/net/internal/socket"
+
+	"golang.org/x/sys/unix"
 )
 
 func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error {
@@ -65,7 +67,7 @@
 
 func marshalTTL(b []byte, cm *ControlMessage) []byte {
 	m := socket.ControlMessage(b)
-	m.MarshalHeader(iana.ProtocolIP, sysIP_RECVTTL, 1)
+	m.MarshalHeader(iana.ProtocolIP, unix.IP_RECVTTL, 1)
 	return m.Next(1)
 }
 
diff --git a/ipv4/defs_aix.go b/ipv4/defs_aix.go
index 244dceb..b70b618 100644
--- a/ipv4/defs_aix.go
+++ b/ipv4/defs_aix.go
@@ -15,12 +15,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	// IP_RECVIF is defined on AIX but doesn't work.
-	// IP_RECVINTERFACE must be used instead.
-	sysIP_RECVIF  = C.IP_RECVINTERFACE
-	sysIP_RECVTTL = C.IP_RECVTTL
-
 	sizeofIPMreq = C.sizeof_struct_ip_mreq
 )
 
diff --git a/ipv4/defs_darwin.go b/ipv4/defs_darwin.go
index 162f310..3d0e0aa 100644
--- a/ipv4/defs_darwin.go
+++ b/ipv4/defs_darwin.go
@@ -17,10 +17,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	sysIP_RECVIF      = C.IP_RECVIF
-	sysIP_RECVTTL     = C.IP_RECVTTL
-
 	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
 	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
 	sizeofInetPktinfo     = C.sizeof_struct_in_pktinfo
diff --git a/ipv4/defs_dragonfly.go b/ipv4/defs_dragonfly.go
index 21fe7f4..a84630c 100644
--- a/ipv4/defs_dragonfly.go
+++ b/ipv4/defs_dragonfly.go
@@ -15,10 +15,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	sysIP_RECVIF      = C.IP_RECVIF
-	sysIP_RECVTTL     = C.IP_RECVTTL
-
 	sizeofIPMreq = C.sizeof_struct_ip_mreq
 )
 
diff --git a/ipv4/defs_freebsd.go b/ipv4/defs_freebsd.go
index 45152d4..6defc8c 100644
--- a/ipv4/defs_freebsd.go
+++ b/ipv4/defs_freebsd.go
@@ -17,10 +17,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	sysIP_RECVIF      = C.IP_RECVIF
-	sysIP_RECVTTL     = C.IP_RECVTTL
-
 	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
 	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
 
diff --git a/ipv4/defs_linux.go b/ipv4/defs_linux.go
index 31bdd60..adaae03 100644
--- a/ipv4/defs_linux.go
+++ b/ipv4/defs_linux.go
@@ -21,8 +21,6 @@
 import "C"
 
 const (
-	sysIP_RECVTTL = C.IP_RECVTTL
-
 	sizeofKernelSockaddrStorage = C.sizeof_struct___kernel_sockaddr_storage
 	sizeofSockaddrInet          = C.sizeof_struct_sockaddr_in
 	sizeofInetPktinfo           = C.sizeof_struct_in_pktinfo
diff --git a/ipv4/defs_netbsd.go b/ipv4/defs_netbsd.go
index 21fe7f4..a84630c 100644
--- a/ipv4/defs_netbsd.go
+++ b/ipv4/defs_netbsd.go
@@ -15,10 +15,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	sysIP_RECVIF      = C.IP_RECVIF
-	sysIP_RECVTTL     = C.IP_RECVTTL
-
 	sizeofIPMreq = C.sizeof_struct_ip_mreq
 )
 
diff --git a/ipv4/defs_openbsd.go b/ipv4/defs_openbsd.go
index 21fe7f4..a84630c 100644
--- a/ipv4/defs_openbsd.go
+++ b/ipv4/defs_openbsd.go
@@ -15,10 +15,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	sysIP_RECVIF      = C.IP_RECVIF
-	sysIP_RECVTTL     = C.IP_RECVTTL
-
 	sizeofIPMreq = C.sizeof_struct_ip_mreq
 )
 
diff --git a/ipv4/defs_solaris.go b/ipv4/defs_solaris.go
index daf74e5..0ceadfc 100644
--- a/ipv4/defs_solaris.go
+++ b/ipv4/defs_solaris.go
@@ -17,10 +17,6 @@
 import "C"
 
 const (
-	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
-	sysIP_RECVIF      = C.IP_RECVIF
-	sysIP_RECVTTL     = C.IP_RECVTTL
-
 	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
 	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
 	sizeofInetPktinfo     = C.sizeof_struct_in_pktinfo
diff --git a/ipv4/sys_aix.go b/ipv4/sys_aix.go
index 7b65dd6..02730cd 100644
--- a/ipv4/sys_aix.go
+++ b/ipv4/sys_aix.go
@@ -18,6 +18,9 @@
 	"golang.org/x/sys/unix"
 )
 
+// IP_RECVIF is defined on AIX but doesn't work. IP_RECVINTERFACE must be used instead.
+const sockoptReceiveInterface = unix.IP_RECVINTERFACE
+
 var (
 	ctlOpts = [ctlMax]ctlOpt{
 		ctlTTL:       {unix.IP_RECVTTL, 1, marshalTTL, parseTTL},
diff --git a/ipv4/sys_bsd.go b/ipv4/sys_bsd.go
index e8299b4..e191b2f 100644
--- a/ipv4/sys_bsd.go
+++ b/ipv4/sys_bsd.go
@@ -17,6 +17,8 @@
 	"golang.org/x/sys/unix"
 )
 
+const sockoptReceiveInterface = unix.IP_RECVIF
+
 var (
 	ctlOpts = [ctlMax]ctlOpt{
 		ctlTTL:       {unix.IP_RECVTTL, 1, marshalTTL, parseTTL},
diff --git a/ipv4/sys_darwin.go b/ipv4/sys_darwin.go
index f6bf8ed..c5527ac 100644
--- a/ipv4/sys_darwin.go
+++ b/ipv4/sys_darwin.go
@@ -15,6 +15,8 @@
 	"golang.org/x/sys/unix"
 )
 
+const sockoptReceiveInterface = unix.IP_RECVIF
+
 var (
 	ctlOpts = [ctlMax]ctlOpt{
 		ctlTTL:        {unix.IP_RECVTTL, 1, marshalTTL, parseTTL},
diff --git a/ipv4/sys_dragonfly.go b/ipv4/sys_dragonfly.go
index f34925c..0620d0e 100644
--- a/ipv4/sys_dragonfly.go
+++ b/ipv4/sys_dragonfly.go
@@ -14,6 +14,8 @@
 	"golang.org/x/sys/unix"
 )
 
+const sockoptReceiveInterface = unix.IP_RECVIF
+
 var (
 	ctlOpts = [ctlMax]ctlOpt{
 		ctlTTL:       {unix.IP_RECVTTL, 1, marshalTTL, parseTTL},
diff --git a/ipv4/sys_freebsd.go b/ipv4/sys_freebsd.go
index cba9063..7457bfd 100644
--- a/ipv4/sys_freebsd.go
+++ b/ipv4/sys_freebsd.go
@@ -17,6 +17,8 @@
 	"golang.org/x/sys/unix"
 )
 
+const sockoptReceiveInterface = unix.IP_RECVIF
+
 var (
 	ctlOpts = [ctlMax]ctlOpt{
 		ctlTTL:       {unix.IP_RECVTTL, 1, marshalTTL, parseTTL},
diff --git a/ipv4/sys_solaris.go b/ipv4/sys_solaris.go
index b79b695..0bb9f3e 100644
--- a/ipv4/sys_solaris.go
+++ b/ipv4/sys_solaris.go
@@ -15,6 +15,8 @@
 	"golang.org/x/sys/unix"
 )
 
+const sockoptReceiveInterface = unix.IP_RECVIF
+
 var (
 	ctlOpts = [ctlMax]ctlOpt{
 		ctlTTL:        {unix.IP_RECVTTL, 4, marshalTTL, parseTTL},
diff --git a/ipv4/zsys_aix_ppc64.go b/ipv4/zsys_aix_ppc64.go
index 42a8186..b7f2d6e 100644
--- a/ipv4/zsys_aix_ppc64.go
+++ b/ipv4/zsys_aix_ppc64.go
@@ -8,10 +8,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x20
-	sysIP_RECVTTL     = 0x22
-
 	sizeofIPMreq = 0x8
 )
 
diff --git a/ipv4/zsys_darwin.go b/ipv4/zsys_darwin.go
index d14b871..9c35f97 100644
--- a/ipv4/zsys_darwin.go
+++ b/ipv4/zsys_darwin.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x18
-
 	sizeofSockaddrStorage = 0x80
 	sizeofSockaddrInet    = 0x10
 	sizeofInetPktinfo     = 0xc
diff --git a/ipv4/zsys_dragonfly.go b/ipv4/zsys_dragonfly.go
index 9631421..2155df1 100644
--- a/ipv4/zsys_dragonfly.go
+++ b/ipv4/zsys_dragonfly.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x41
-
 	sizeofIPMreq = 0x8
 )
 
diff --git a/ipv4/zsys_freebsd_386.go b/ipv4/zsys_freebsd_386.go
index 9a0e328..b2208a4 100644
--- a/ipv4/zsys_freebsd_386.go
+++ b/ipv4/zsys_freebsd_386.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x41
-
 	sizeofSockaddrStorage = 0x80
 	sizeofSockaddrInet    = 0x10
 
diff --git a/ipv4/zsys_freebsd_amd64.go b/ipv4/zsys_freebsd_amd64.go
index 143623b..6719f19 100644
--- a/ipv4/zsys_freebsd_amd64.go
+++ b/ipv4/zsys_freebsd_amd64.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x41
-
 	sizeofSockaddrStorage = 0x80
 	sizeofSockaddrInet    = 0x10
 
diff --git a/ipv4/zsys_freebsd_arm.go b/ipv4/zsys_freebsd_arm.go
index 143623b..6719f19 100644
--- a/ipv4/zsys_freebsd_arm.go
+++ b/ipv4/zsys_freebsd_arm.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x41
-
 	sizeofSockaddrStorage = 0x80
 	sizeofSockaddrInet    = 0x10
 
diff --git a/ipv4/zsys_freebsd_arm64.go b/ipv4/zsys_freebsd_arm64.go
index 1be7023..07a5f5d 100644
--- a/ipv4/zsys_freebsd_arm64.go
+++ b/ipv4/zsys_freebsd_arm64.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x41
-
 	sizeofSockaddrStorage = 0x80
 	sizeofSockaddrInet    = 0x10
 
diff --git a/ipv4/zsys_linux_386.go b/ipv4/zsys_linux_386.go
index 8c5795e..a8e3c26 100644
--- a/ipv4/zsys_linux_386.go
+++ b/ipv4/zsys_linux_386.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_amd64.go b/ipv4/zsys_linux_amd64.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_amd64.go
+++ b/ipv4/zsys_linux_amd64.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_arm.go b/ipv4/zsys_linux_arm.go
index 8c5795e..a8e3c26 100644
--- a/ipv4/zsys_linux_arm.go
+++ b/ipv4/zsys_linux_arm.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_arm64.go b/ipv4/zsys_linux_arm64.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_arm64.go
+++ b/ipv4/zsys_linux_arm64.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_mips.go b/ipv4/zsys_linux_mips.go
index 8c5795e..a8e3c26 100644
--- a/ipv4/zsys_linux_mips.go
+++ b/ipv4/zsys_linux_mips.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_mips64.go b/ipv4/zsys_linux_mips64.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_mips64.go
+++ b/ipv4/zsys_linux_mips64.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_mips64le.go b/ipv4/zsys_linux_mips64le.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_mips64le.go
+++ b/ipv4/zsys_linux_mips64le.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_mipsle.go b/ipv4/zsys_linux_mipsle.go
index 8c5795e..a8e3c26 100644
--- a/ipv4/zsys_linux_mipsle.go
+++ b/ipv4/zsys_linux_mipsle.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_ppc.go b/ipv4/zsys_linux_ppc.go
index 2c9e7e3..b9adb2a 100644
--- a/ipv4/zsys_linux_ppc.go
+++ b/ipv4/zsys_linux_ppc.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_ppc64.go b/ipv4/zsys_linux_ppc64.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_ppc64.go
+++ b/ipv4/zsys_linux_ppc64.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_ppc64le.go b/ipv4/zsys_linux_ppc64le.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_ppc64le.go
+++ b/ipv4/zsys_linux_ppc64le.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_riscv64.go b/ipv4/zsys_linux_riscv64.go
index b31766a..b24d264 100644
--- a/ipv4/zsys_linux_riscv64.go
+++ b/ipv4/zsys_linux_riscv64.go
@@ -7,8 +7,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_linux_s390x.go b/ipv4/zsys_linux_s390x.go
index 7b40aa1..7291f96 100644
--- a/ipv4/zsys_linux_s390x.go
+++ b/ipv4/zsys_linux_s390x.go
@@ -4,8 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVTTL = 0xc
-
 	sizeofKernelSockaddrStorage = 0x80
 	sizeofSockaddrInet          = 0x10
 	sizeofInetPktinfo           = 0xc
diff --git a/ipv4/zsys_netbsd.go b/ipv4/zsys_netbsd.go
index df99ef6..a2ef2f6 100644
--- a/ipv4/zsys_netbsd.go
+++ b/ipv4/zsys_netbsd.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x14
-	sysIP_RECVTTL     = 0x17
-
 	sizeofIPMreq = 0x8
 )
 
diff --git a/ipv4/zsys_openbsd.go b/ipv4/zsys_openbsd.go
index 9052a9b..b293a33 100644
--- a/ipv4/zsys_openbsd.go
+++ b/ipv4/zsys_openbsd.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x1e
-	sysIP_RECVTTL     = 0x1f
-
 	sizeofIPMreq = 0x8
 )
 
diff --git a/ipv4/zsys_solaris.go b/ipv4/zsys_solaris.go
index 1cdc45c..e1a961b 100644
--- a/ipv4/zsys_solaris.go
+++ b/ipv4/zsys_solaris.go
@@ -4,10 +4,6 @@
 package ipv4
 
 const (
-	sysIP_RECVDSTADDR = 0x7
-	sysIP_RECVIF      = 0x9
-	sysIP_RECVTTL     = 0xb
-
 	sizeofSockaddrStorage = 0x100
 	sizeofSockaddrInet    = 0x10
 	sizeofInetPktinfo     = 0xc