All the dropped platforms either don't support raw sockets or the tests
pass sucessfully (e.g. ipv4.TestPacketConnReadWriteMulticastICMP on
solaris), so the tests can rely on being skipped due to
!nettest.SupportsRawSocket().
Also check for errNotImplemented to cover cases where functionality is
not available on windows.
Change-Id: Ic9107a7ca16e9d9faed4991e1148b493c646ea7d
Reviewed-on: https://go-review.googlesource.com/c/net/+/489155
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
The ipv4/ipv6 support capability is done by explicitly listening on
loopback interface. However, it can lead to false positive, especially
for ipv6 case. For example, ipv6 can be enabled, but explicitly disable
for loopback interface (for security, policy ...).
This CL changes probeStack to use another approach, by looking for any
interface that can route IP traffic and in "UP" state. If there's one,
then the platform can do ipv4/ipv6 networking functionality.
Fixesgolang/go#57386
Change-Id: If911bc223b52c5a4562d3f61b4ee1032bdbec47c
Reviewed-on: https://go-review.googlesource.com/c/net/+/458096
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Benny Siegert <bsiegert@gmail.com>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: David Chase <drchase@google.com>
This ports CL 402059 to the non-concurrent UDP and ICMP variants of
the test.
(It isn't obvious to me whether the ENOBUFS retry loop is strictly
needed for the ICMP variants, but I'm getting kind of tired of porting
this CL to different tests and would rather minimize the number of
times it has to be done again. 😩)
Fixesgolang/go#53402.
Change-Id: I8dc385fbce121c364efafd988ccf08eebe3fef28
Reviewed-on: https://go-review.googlesource.com/c/net/+/416556
Auto-Submit: 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@google.com>
This change is sheer speculation based on the failures observed in
golang/go#37319.
(A deadlock in the test prevented us from seeing the actual failure
mode of golang/go#50455 up until CL 376094, and it isn't obvious to me
that we should wait for another failure before trying a likely — and
otherwise harmless — fix.)
Fixesgolang/go#50455.
(Maybe.)
Change-Id: I7483eb2243832d07cb1f815da196b3978a50c6b3
Reviewed-on: https://go-review.googlesource.com/c/net/+/376095
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>
In golang/go#37319, TestPacketConnReadWriteMulticastUDP was observed
to occasionally fail with ENOBUFS on macOS.
This change adds a retry loop for that test function. There are some
other related test functions that may also wrap sendmsg, but I have
not observed any ENOBUFS failures for them — I suspect that some
difference in protocol or traffic class prevents this failure mode,
but we can always add more retry loops if we discover that they are
actually needed.
Fixesgolang/go#37319.
Change-Id: I99fce94ff10c6f3c09d493712eba782ec8707a58
Reviewed-on: https://go-review.googlesource.com/c/net/+/369742
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>
These deadlines were added back in CL 21080043, apparently in an
attempt to increase code coverage numbers. However, nothing in the
tests actually exercises the deadline logic: the tests would pass even
if these methods were no-ops. Their only apparent effect is to make
the tests flaky on slower builders, and to destroy goroutine traces
if the test should ever happen to deadlock.
Updates golang/go#42064
For golang/go#37319
Change-Id: I530a8f3cb80d6d93d1625bc88f0ec7958d4ec35e
Reviewed-on: https://go-review.googlesource.com/c/net/+/366181
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>
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, sysIPV6_TCLASS, sysIPV6_PATHMTU, sysIPV6_PKTINFO,
sysIPV6_HOPLIMIT and sysIPV6_NEXTHOP still need to be defined because
they are used in code shared with other platforms.
Change-Id: I40896c6c191aade35e3f9f1fb1a624f772e7479a
Reviewed-on: https://go-review.googlesource.com/c/net/+/306071
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
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, sysIPV6_TCLASS, sysIPV6_PATHMTU, sysIPV6_PKTINFO,
sysIPV6_HOPLIMIT and sysIPV6_NEXTHOP still need to be defined because
they are used in code shared with other platforms.
Change-Id: I5de2fa26dea61b0de94cbe48575c1d842c973ff5
Reviewed-on: https://go-review.googlesource.com/c/net/+/306070
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
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, sysIPV6_TCLASS, sysIPV6_PATHMTU, sysIPV6_PKTINFO,
sysIPV6_HOPLIMIT and sysIPV6_NEXTHOP still need to be defined because
they are used in code shared with other platforms.
Change-Id: Ide4f882ca57661bba0fb88de55375ee36a412deb
Reviewed-on: https://go-review.googlesource.com/c/net/+/305589
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>
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, sysIPV6_TCLASS, sysIPV6_PATHMTU, sysIPV6_PKTINFO,
sysIPV6_HOPLIMIT and sysIPV6_NEXTHOP still need to be defined because
they are used in code shared with other platforms.
Change-Id: I03b539ef23899b395fa9bc082f28e0299e47c9c8
Reviewed-on: https://go-review.googlesource.com/c/net/+/305349
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>
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, sysIPV6_TCLASS, sysIPV6_PATHMTU, sysIPV6_PKTINFO,
sysIPV6_HOPLIMIT and sysIPV6_NEXTHOP still need to be defined because
they are used in code shared with other platforms.
Change-Id: Iba40f51959c4c0e61557322d00c4621b783cd8c0
Reviewed-on: https://go-review.googlesource.com/c/net/+/305389
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>
These tests are known to be failing on OpenBSD 6.8 and need
investigation. The OpenBSD 6.8 builders are default TryBots
now, so skip them to prevent people working on other packages
from constantly getting a failure.
Issue 42064 remains open to do the work of determining if the
ipv6 package needs to be fixed, or if OpenBSD 6.8 has a problem
and the test can be permanently skipped as unsupported.
For golang/go#11811.
Updates golang/go#42064.
Updates golang/go#35712.
Change-Id: I59883384e4dbce679cb1a4e8e2c3f0fa7983010b
Reviewed-on: https://go-review.googlesource.com/c/net/+/280052
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
This fixes the mips{,64}{,le} builders failing the bpf-related
tests and also avoids duplicating these consts/types across packages.
Fixesgolang/go#35669
Change-Id: I1ea96817464e3040e8cc00bff63c168fa5e75a71
Reviewed-on: https://go-review.googlesource.com/c/net/+/207286
Reviewed-by: Ian Lance Taylor <iant@golang.org>
- DragonFly BSD removed RTM_OLDADD and RTM_OLDDEL
constants on Aug 4th, 2017 and are now gone in both master
branch and RELEASE 5.6. It also removed IPV6_IPSEC_POLICY
constant since IPSEC was removed from base and kernel.
Change-Id: I99fbdfcb95fb276374f7b2dbd5fa30fe3f30f709
GitHub-Last-Rev: 1f27a0e26e
GitHub-Pull-Request: golang/net#54
Reviewed-on: https://go-review.googlesource.com/c/net/+/197599
Reviewed-by: Benny Siegert <bsiegert@gmail.com>
Run-TryBot: Benny Siegert <bsiegert@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
The variable name compatFreeBSD32 refers to the kernel configuration
directive COMPAT_FREEBSD32 and is also used in route and ipv6 packages.
Change-Id: I00e6de390c25b7df45b76e772719a83fa6b0843b
Reviewed-on: https://go-review.googlesource.com/c/149879
Reviewed-by: Ian Lance Taylor <iant@golang.org>