ipv6: make not implemented errors more descriptive

Change-Id: I4710227d104330fa28a563530bd93a3ae8a6c070
Reviewed-on: https://go-review.googlesource.com/c/149877
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/ipv6/control_windows.go b/ipv6/control_windows.go
index ef2563b..8882d81 100644
--- a/ipv6/control_windows.go
+++ b/ipv6/control_windows.go
@@ -4,13 +4,9 @@
 
 package ipv6
 
-import (
-	"syscall"
-
-	"golang.org/x/net/internal/socket"
-)
+import "golang.org/x/net/internal/socket"
 
 func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error {
 	// TODO(mikio): implement this
-	return syscall.EWINDOWS
+	return errNotImplemented
 }
diff --git a/ipv6/helper.go b/ipv6/helper.go
index 7ac5352..44b5866 100644
--- a/ipv6/helper.go
+++ b/ipv6/helper.go
@@ -7,6 +7,7 @@
 import (
 	"errors"
 	"net"
+	"runtime"
 )
 
 var (
@@ -16,6 +17,7 @@
 	errInvalidConnType = errors.New("invalid conn type")
 	errOpNoSupport     = errors.New("operation not supported")
 	errNoSuchInterface = errors.New("no such interface")
+	errNotImplemented  = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH)
 )
 
 func boolint(b bool) int {