aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatt Layher <mdlayher@gmail.com>2022-06-15 16:21:07 -0400
committerGopher Robot <gobot@golang.org>2022-10-21 20:14:41 +0000
commitd5efd0dd63a8beb5cc57ae7d25f9c60d5dea5c65 (patch)
treec59b1fd526ed0ace0ad1a6d44c88dc9788fb5775 /src
parente43eebdab8a6df71e4b5262bcfb650ee8439870f (diff)
downloadgo-d5efd0dd63a8beb5cc57ae7d25f9c60d5dea5c65.tar.xz
net/netip: add IPv6LinkLocalAllRouters and IPv6Loopback
Fixes #51766 Fixes #51777 Change-Id: I0510175c20c06442d78b2581cfe218e66be1c35b Reviewed-on: https://go-review.googlesource.com/c/go/+/412475 Auto-Submit: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Damien Neil <dneil@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Matt Layher <mdlayher@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Auto-Submit: Damien Neil <dneil@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/net/netip/netip.go7
-rw-r--r--src/net/netip/netip_test.go12
2 files changed, 19 insertions, 0 deletions
diff --git a/src/net/netip/netip.go b/src/net/netip/netip.go
index b5d55acdb3..2d7c838499 100644
--- a/src/net/netip/netip.go
+++ b/src/net/netip/netip.go
@@ -75,6 +75,13 @@ var (
// address ff02::1.
func IPv6LinkLocalAllNodes() Addr { return AddrFrom16([16]byte{0: 0xff, 1: 0x02, 15: 0x01}) }
+// IPv6LinkLocalAllRouters returns the IPv6 link-local all routers multicast
+// address ff02::2.
+func IPv6LinkLocalAllRouters() Addr { return AddrFrom16([16]byte{0: 0xff, 1: 0x02, 15: 0x02}) }
+
+// IPv6Loopback returns the IPv6 loopback address ::1.
+func IPv6Loopback() Addr { return AddrFrom16([16]byte{15: 0x01}) }
+
// IPv6Unspecified returns the IPv6 unspecified address "::".
func IPv6Unspecified() Addr { return Addr{z: z6noz} }
diff --git a/src/net/netip/netip_test.go b/src/net/netip/netip_test.go
index fcd2501b3e..b915b240ea 100644
--- a/src/net/netip/netip_test.go
+++ b/src/net/netip/netip_test.go
@@ -785,6 +785,16 @@ func TestAddrWellKnown(t *testing.T) {
std: net.IPv6linklocalallnodes,
},
{
+ name: "IPv6 link-local all routers",
+ ip: IPv6LinkLocalAllRouters(),
+ std: net.IPv6linklocalallrouters,
+ },
+ {
+ name: "IPv6 loopback",
+ ip: IPv6Loopback(),
+ std: net.IPv6loopback,
+ },
+ {
name: "IPv6 unspecified",
ip: IPv6Unspecified(),
std: net.IPv6unspecified,
@@ -1867,6 +1877,8 @@ func TestNoAllocs(t *testing.T) {
test("ParseAddr/6", func() { sinkIP = panicIP(ParseAddr("::1")) })
test("MustParseAddr", func() { sinkIP = MustParseAddr("1.2.3.4") })
test("IPv6LinkLocalAllNodes", func() { sinkIP = IPv6LinkLocalAllNodes() })
+ test("IPv6LinkLocalAllRouters", func() { sinkIP = IPv6LinkLocalAllRouters() })
+ test("IPv6Loopback", func() { sinkIP = IPv6Loopback() })
test("IPv6Unspecified", func() { sinkIP = IPv6Unspecified() })
// IP methods