Commit Graph

179 Commits

Author SHA1 Message Date
Bryan C. Mills
f80d34dcf0 ipv4: shut down the PacketConn on failure in TestPacketConnConcurrentReadWriteUnicast
This avoids a deadlock (observed in golang/go#51342) that may
otherwise swallow the error logs from a failure, which may help us
better diagnose the underlying problem.

This is a port of CL 376094 to the "ipv4" package.

For golang/go#51342

Change-Id: I7b5ba25fcbdd1ec0b319fe35b558d9dcbf8054c6
Reviewed-on: https://go-review.googlesource.com/c/net/+/387915
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2022-02-25 14:31:37 +00:00
Guoqi Chen
d55c255bac ipv4, ipv6, internal/socket: add loong64 support
Change-Id: I5419445ef15b0c080fb3b5c2bd413d74ac52bdd4
Co-authored-by: limeidan <limeidan@loongson.cn>
Co-authored-by: liuxiaodong <liuxiaodong@loongson.cn>
Reviewed-on: https://go-review.googlesource.com/c/net/+/355549
Trust: Damien Neil <dneil@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-01-11 09:31:09 +00:00
Tobias Klauser
5f58ad60dd ipv4: use type IPMreqn from x/sys/unix
Use the IPMreqn type and the SizeofIPMreqn defined in the
golang.org/x/sys/unix package instead of locally duplicating them.

Change-Id: I98768e01fd4b0d1018892d5ed49455366a7356bb
Reviewed-on: https://go-review.googlesource.com/c/net/+/312490
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>
2021-04-23 18:45:38 +00:00
Tobias Klauser
d25e304258 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>
2021-04-20 07:25:03 +00:00
Tobias Klauser
41e92686df ipv4: use socket option consts from x/sys/unix on dragonfly
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_RECVDSTADDR, sysIP_RECVIF and sysIP_RECVTTL
still need to be defined because they are used in code shared with other
platforms.

Change-Id: Icd77a4ab16019fec259030b26a8c7ee9ac8d3e6f
Reviewed-on: https://go-review.googlesource.com/c/net/+/304369
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>
2021-03-31 21:21:55 +00:00
Tobias Klauser
c8897c278d ipv4: use IP_PKTINFO const from x/sys/unix
Change-Id: I9b9bbebe0cfe36585709e9cbc7b8216d6427376a
Reviewed-on: https://go-review.googlesource.com/c/net/+/305590
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2021-03-30 14:28:15 +00:00
Tobias Klauser
61e056675e ipv4: use socket option consts from x/sys/unix on zos
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Change-Id: I737c5b391ec20cf6ffc791cd713c3653d38e75f5
Reviewed-on: https://go-review.googlesource.com/c/net/+/304713
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>
2021-03-26 22:08:55 +00:00
Tobias Klauser
6ef6e9bdcb ipv4: use socket option consts from x/sys/unix on aix
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_RECVDSTADDR, sysIP_RECVIF and sysIP_RECVTTL
still need to be defined because they are used in code shared with other
platforms.

Change-Id: I2b3b8621108c9399f1d36bab97c65fd349fa0839
Reviewed-on: https://go-review.googlesource.com/c/net/+/304712
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>
2021-03-26 22:08:43 +00:00
Tobias Klauser
6b15177628 ipv4: use socket option consts from x/sys/unix on solaris
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_RECVDSTADDR, sysIP_RECVIF, sysIP_RECVTTL and
sysIP_PKTINFO still need to be defined because they are used in code
shared with other platforms.

Change-Id: I900ac4460d350d5d8959d34db339831657b7e03f
Reviewed-on: https://go-review.googlesource.com/c/net/+/304711
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>
2021-03-26 06:03:03 +00:00
Tobias Klauser
ef31e18dbd ipv4: use socket option consts from x/sys/unix on netbsd and openbsd
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_RECVDSTADDR, sysIP_RECVIF and sysIP_RECVTTL
still need to be defined because they are used in code shared with other
platforms.

Change-Id: I6a6b39e94ec123889c08b55bc469ad51107399cb
Reviewed-on: https://go-review.googlesource.com/c/net/+/304710
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>
2021-03-26 06:02:29 +00:00
Tobias Klauser
f475aed52b ipv4: use socket option consts from x/sys/unix on freebsd
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_RECVDSTADDR, sysIP_RECVIF and sysIP_RECVTTL
still need to be defined because they are used in code shared with other
platforms.

Change-Id: Ic937ccbc0a554c8dd6e0b9f36b1601ba86f62f5f
Reviewed-on: https://go-review.googlesource.com/c/net/+/304709
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-03-26 06:01:27 +00:00
Tobias Klauser
d1beb07c20 ipv4: use socket option consts from x/sys/unix on linux
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_PKTINFO and sysIP_RECVTTL are still needed
because they are used in code shared with other platforms.

Change-Id: Iae627111837a3707fc9079d490d11e34ee3365cf
Reviewed-on: https://go-review.googlesource.com/c/net/+/304330
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>
2021-03-24 20:56:30 +00:00
Tobias Klauser
2c4c8ecb78 ipv4: use socket option consts from x/sys/unix on darwin
Use the socket option constants defined in the golang.org/x/sys/unix
package instead of duplicating them in this package.

Note that for now, sysIP_RECVDSTADDR, sysIP_RECVIF, sysIP_RECVTTL and
sysIP_PKTINFO still need to be defined because they are used in code
shared with other platforms.

Change-Id: I9bb953dc72dea19e9e9d84dc641346fe95bad070
Reviewed-on: https://go-review.googlesource.com/c/net/+/303909
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-03-24 05:16:36 +00:00
Tobias Klauser
d523dce5a7 ipv4, ipv6: use IP_* socket option constants from x/sys/windows
Use the IP_* socket option constants defined in the
golang.org/x/sys/windows package instead of defining them locally.

Change-Id: Ie6e79b7984795c409a01bd57134090bb720ea4b3
Reviewed-on: https://go-review.googlesource.com/c/net/+/301810
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-03-16 09:26:52 +00:00
Tobias Klauser
34ac3e1c20 ipv4: remove unused type inetPktinfo
This type is not used in this package on windows and it is no
corresponding C type defined in the Windows API C headers.

Change-Id: Ic581331d1f04599369361e26d8b38cf2e32241ab
Reviewed-on: https://go-review.googlesource.com/c/net/+/301809
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-03-15 17:06:53 +00:00
Russ Cox
5f55cee0dc all: go fmt ./...
Make all our package sources use Go 1.17 gofmt format
(adding //go:build lines).

Not strictly necessary but will avoid spurious changes
as files are edited.

Part of //go:build change (#41184).
See https://golang.org/design/draft-gobuild

Change-Id: I5b2b7d93424e828a3c5f76ae3f30ab825aca388e
Reviewed-on: https://go-review.googlesource.com/c/net/+/294371
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-02-20 03:31:24 +00:00
billofarrell
146b70c837 all: add support for zos/s390x
This adds net support for zos/s390x. These changes should not affect other platforms.

Fixes golang/go#42130

Change-Id: Ia7faa29de76b7c5713120657b296106c2e27bfd2
Reviewed-on: https://go-review.googlesource.com/c/net/+/264028
Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
2020-10-26 09:15:29 +00:00
Tamir Duberstein
dbdefad45b ipv4: refactor multicast tests to use subtests
- Improve error discipline
- Narrow test types from net.UDPAddr to net.IPAddr where possible

Change-Id: I6c403ae69685ac3f35e427f56027fe4a29fde540
Reviewed-on: https://go-review.googlesource.com/c/net/+/260679
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
2020-10-09 03:24:41 +00:00
Cherry Zhang
328152dc79 all: add GOOS=ios
Following CL 254740, this CL does it on x/net.

Updates golang/go#38485.

Change-Id: I80831dd0faa6f216d8d3b8f1af0af811aacce43f
Reviewed-on: https://go-review.googlesource.com/c/net/+/255537
Trust: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2020-09-23 18:22:12 +00:00
Tobias Klauser
7e3656a080 ipv4: remove unused const maxHeaderLen
It's unused since CL 162598.

Change-Id: I434dbc9950bb535167c40498ed7c15589db74eaf
Reviewed-on: https://go-review.googlesource.com/c/net/+/232537
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2020-05-06 14:57:44 +00:00
Tobias Klauser
f229aea8fa ipv4, ipv6: remove or move unused err* vars
errNoSuchInterface is only used in ipv4/sys_asmreq.go which is not built
e.g. on Linux, so move it there.

Change-Id: I18b2e2ec8f321db3df164dcc6a69b8c92e6ab68c
Reviewed-on: https://go-review.googlesource.com/c/net/+/220097
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2020-02-19 18:36:38 +00:00
Tobias Klauser
fc4aabc6c9 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>
2019-11-19 07:31:36 +00:00
Brad Fitzpatrick
fe3aa8a452 ipv4: use unsafe.Sizeof on struct size, not pointer size
Fix for CL 203400.

Change-Id: Ia0006cdeff4992a218c7a355bd83354138706833
Reviewed-on: https://go-review.googlesource.com/c/net/+/203777
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-10-28 08:55:09 +00:00
Cuong Manh Le
d64ee3fa51 ipv4: fix unsafe pointer conversion in parseInterface
Fixes golang/go#35174

Change-Id: I01ae0ec25c90da0d05b1b262b33a32233f88260f
Reviewed-on: https://go-review.googlesource.com/c/net/+/203400
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-10-27 21:20:02 +00:00
Dmitri Goutnik
83d349e8ac ipv4, ipv6: add support for freebsd/arm64
Updates golang/go#35183

Change-Id: I3d820a1638526197ca7b5e622f6f6f1317141f7b
Reviewed-on: https://go-review.googlesource.com/c/net/+/203518
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2019-10-27 09:30:00 +00:00
Tobias Klauser
3b0461eec8 internal/socket, ipv4, ipv6: add support for GOOS=illumos
Treat it like GOOS=solaris for now.

Change-Id: I2b99427e80058f6c7308fe3752de21610457a3ba
Reviewed-on: https://go-review.googlesource.com/c/net/+/183277
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2019-06-20 20:02:07 +00:00
Tobias Klauser
d28f0bde59 all: follow convention for generated code comment
Follow the convertion (https://golang.org/s/generatedcode) for generated
code.

Change-Id: I3101fb91db42644ead179ffaeffe0211359ac886
Reviewed-on: https://go-review.googlesource.com/c/net/+/182137
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-06-13 19:41:53 +00:00
CarlosEDP
018c4d40a1 ipv4, ipv6, internal/socket: add riscv64 support
Updates golang/go#27532

Change-Id: I64285280680e5d1d3903c352454f2c67cc653c88
GitHub-Last-Rev: 3747f61487
GitHub-Pull-Request: golang/net#43
Reviewed-on: https://go-review.googlesource.com/c/net/+/177997
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2019-05-20 21:01:07 +00:00
Mikio Hara
afa5a82059 ipv4: clarify the range of broken freebsd kernel versions
Change-Id: Ic37732f28e747c98cb513e100983d685efd3928d
Reviewed-on: https://go-review.googlesource.com/c/net/+/173077
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-04-20 06:30:19 +00:00
chigotc
c98bf442cc ipv4: add port for aix/ppc64
Change-Id: Ida9aed579c9a33883dadfef094c30a658edce88e
Reviewed-on: https://go-review.googlesource.com/c/net/+/170558
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Mikio Hara <mikioh.public.networking@gmail.com>
2019-04-19 01:02:24 +00:00
Yuval Pavel Zholkover
4a65cf94b6 ipv4: work around FreeBSD 12.0 kernel running COMPAT_FREEBSD32
Followup for CL 168297, a fix was released for the kernel bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236737

https://svnweb.freebsd.org/base?view=revision&revision=345741
https://svnweb.freebsd.org/base?view=revision&revision=346019
https://svnweb.freebsd.org/base?view=revision&revision=346020

Thus the bug won't affect 11.3-RELEASE and 12.1-RELEASE when they are out.

Update adjustFreeBSD32 to handle only FreeBSD 12.0-RELEASE ranges of freebsdVersion.

Updates golang/go#30899

Change-Id: I6beeaa55023dbe86a3d6fd8d6d5094516ec6978a
Reviewed-on: https://go-review.googlesource.com/c/net/+/171937
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-04-15 10:05:56 +00:00
Mikio Hara
63eda1eb06 all: use of nettest, remove internal/nettest
This change uses the nettest package where possible and removes the
internal/nettest package.

Change-Id: I5615a3ab7957183fecea6b5646df99dbb7c186e2
Reviewed-on: https://go-review.googlesource.com/c/net/+/123057
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2019-03-27 21:43:58 +00:00
Mikio Hara
1272bf9dcd ipv4: work around FreeBSD 11.3 or 12 kernel running COMPAT_FREEBSD32
On FreeBSD 11.3 or 12 kernel running COMPAT_FREEBSD32, it looks like the
system call recvmsg always returns an incorrect length for the
out-of-band data. This change adjusts the length when it looks incorrect
and the running kernel is FreeBSD 11.3 or above.

Fixes golang/go#30899.

Change-Id: Ia58d8b4bd4caf3783d2e38161ee4afd1a64ca522
Reviewed-on: https://go-review.googlesource.com/c/net/+/168297
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-03-20 06:40:53 +00:00
Mikio Hara
d196dffd7c Revert "ipv4: work around FreeBSD 12 kernel running COMPAT_FREEBSD32"
This reverts commit 7a92b5139a.

Reason for revert: not completely functional on FreeBSD 12 or above and
broke FreeBSD 11 or below.

Change-Id: Icd43d9ecebc0059a577751802e589a6e5f0cd363
Reviewed-on: https://go-review.googlesource.com/c/net/+/168078
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
Reviewed-by: Mikio Hara <mikioh.public.networking@gmail.com>
2019-03-18 22:16:13 +00:00
Mikio Hara
7a92b5139a ipv4: work around FreeBSD 12 kernel running COMPAT_FREEBSD32
On FreeBSD 12 kernel running COMPAT_FREEBSD32, it looks like the system
call recvmsg always returns an incorrect​ length for the out-of-band
data. This change adjusts the length when it looks incorrect.

Fixes golang/go#30899.

Change-Id: Ibb0cbcf9b1f5f959279c20395916d47bd75d289c
Reviewed-on: https://go-review.googlesource.com/c/net/+/168077
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-03-18 21:45:11 +00:00
Mikio Hara
7949ac6f08 ipv4: skip tests on aix, fuchsia and hurd
Also marks test helper functions.

Change-Id: I3417885fb81c8ab27cdfbe80c83270b94b878862
Reviewed-on: https://go-review.googlesource.com/c/net/+/167339
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2019-03-13 22:01:53 +00:00
Mikio Hara
511f7948e3 ipv4: replace errOpNoSupport with errNotImplemented
Change-Id: Ia1ba33c01c571cfca14921e6fe963b63e10dec3c
Reviewed-on: https://go-review.googlesource.com/c/net/+/167337
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2019-03-13 21:54:35 +00:00
Mikio Hara
784e4c8c97 ipv4: drop support for go1.8 or below
Change-Id: I27e30dbb0cbbd5c3dd53333882a794f0ef1092ff
Reviewed-on: https://go-review.googlesource.com/c/net/+/162598
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
2019-03-10 07:45:25 +00:00
Mikio Hara
b774fd8d5c ipv4: fix error values on header manipulation
This change makes header manipulation methods and functions return a nil
header error if the receiver or wire header is nil, a header too short
error if the header length field value of receiver or wire header is
short, and a extension header error if the wire extnsion header is
short.

Also replaces syscall.EWINDOWS or syscall.EPLAN9 with more descriptive,
platform independent error values.

Change-Id: I923fb60b1d68857cffc9df20f3f6cb2babbcdb1f
Reviewed-on: https://go-review.googlesource.com/c/net/+/129136
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2019-03-10 01:40:29 +00:00
sergeydobrodey
e86916475b ipv4: fix typo in comment
Change-Id: I60db66b5bbe25b434d8ec1fbc031438a16720dfa
GitHub-Last-Rev: 152f0ce49b
GitHub-Pull-Request: golang/net#30
Reviewed-on: https://go-review.googlesource.com/c/163865
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-27 15:44:36 +00:00
Mikio Hara
1ea17d6c21 ipv4: rename freebsd32o64 with compatFreeBSD32 for consistency
The variable name compatFreeBSD32 refers to the kernel configuration
directive COMPAT_FREEBSD32 and is also used in route and ipv4 packages.

Change-Id: Ia6f123833af0c11398f46dfa31c3e5c5ab121fc0
Reviewed-on: https://go-review.googlesource.com/c/149878
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-02-27 02:21:04 +00:00
Tobias Klauser
be88a9aa50 ipv4, ipv6: directly initialize ctlOpts and sockOpts
After CL 156597 it's no longer necessary to initialize the ctlOpts and
sockOpts tables in the init func. Instead, just directly initialize them.

Change-Id: I62b4dd980b3cb87e3cbc71ea4874f6512b5cfefa
Reviewed-on: https://go-review.googlesource.com/c/156797
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-08 15:08:41 +00:00
Tobias Klauser
45ffb0cd1b ipv4, ipv6: drop support for macOS 10.7 and earlier
Drop the check for macOS 10.7 and earlier. Go 1.11 requires at least
macOS 10.10 and macOS 10.7 is no longer supported by Apple anyhow.

Change-Id: Ie7d9d27e0b9156ea478bf560734f4a85dfa163d6
Reviewed-on: https://go-review.googlesource.com/c/156597
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-01-07 21:02:23 +00:00
Mikio Hara
10aee18199 icmp, ipv4, ipv6: re-adjust build constraints
Also updates package documentation for AIX.

Change-Id: I4809a334f0a4b8f3fb5345749477394b8f3e7546
Reviewed-on: https://go-review.googlesource.com/c/147678
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-11-06 06:57:22 +00:00
Mikio Hara
b6095f65a0 ipv4: clarify the format used by raw IP socket
On BSD variants, for some historical reason, the data format used by raw
IP socket may differ from the IPv4 wire format. This change clarifies
that input and output of Header type must conform to the raw IP socket
format.

Change-Id: I6ca363f7ea9a3d7645ee81b588785204dee00cba
Reviewed-on: https://go-review.googlesource.com/128215
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-08-08 00:41:02 +00:00
Mikio Hara
27e6fde75f ipv4: fix a typo
Change-Id: I7012df3e9083f5a158367009d5f41fc2517ac486
Reviewed-on: https://go-review.googlesource.com/126639
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2018-07-30 21:41:24 +00:00
Mikio Hara
4d581e05a3 all: re-adjust build constraints for JS and NaCl
This change fixes the build breakage of h2i on JS and NaCl, and avoids
using unintentional code path on JS.

Change-Id: Ib08f0f6d1d79aecc9bf1e9ee7de52b0a57c22baf
Reviewed-on: https://go-review.googlesource.com/122539
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-07-09 03:26:41 +00:00
Mikio Hara
c0ac1a5574 ipv4: drop the use of syscall package in platform-independent code
Change-Id: I5a8eac6e80fd2c9f4604231d51cb91d3b8514fea
Reviewed-on: https://go-review.googlesource.com/121882
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-07-02 21:24:22 +00:00
Mikio Hara
4721d2d970 ipv4: don't fail test on JS
Change-Id: Ie3df352e1b59b7035bdf50a5b06feb3d1859de2a
Reviewed-on: https://go-review.googlesource.com/121556
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-06-29 03:53:19 +00:00
Matt Layher
2491c5de34 ipv4: fix typo in Header.Parse documentation
Change-Id: I889a02587b39e448ccdc5d723183ab550104ec5b
Reviewed-on: https://go-review.googlesource.com/112816
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-05-11 17:46:49 +00:00