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>
This commit is contained in:
Matt Layher 2022-06-15 16:21:07 -04:00 committed by Gopher Robot
parent e43eebdab8
commit d5efd0dd63
4 changed files with 21 additions and 0 deletions

1
api/next/51766.txt Normal file
View File

@ -0,0 +1 @@
pkg net/netip, func IPv6LinkLocalAllRouters() Addr #51766

1
api/next/51777.txt Normal file
View File

@ -0,0 +1 @@
pkg net/netip, func IPv6Loopback() Addr #51777

View File

@ -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} }

View File

@ -784,6 +784,16 @@ func TestAddrWellKnown(t *testing.T) {
ip: IPv6LinkLocalAllNodes(),
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(),
@ -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