diff --git a/libgo/go/net/sockopt_aix.go b/libgo/go/net/sockopt_aix.go
index 6bdba04..7aef64b 100644
--- a/libgo/go/net/sockopt_aix.go
+++ b/libgo/go/net/sockopt_aix.go
@@ -4,14 +4,31 @@
 
 package net
 
+import (
+	"os"
+	"syscall"
+)
+
+// This was copied from sockopt_linux.go
+
 func setDefaultSockopts(s, family, sotype int, ipv6only bool) error {
-	return syscall.ENOPROTOOPT
+	if family == syscall.AF_INET6 && sotype != syscall.SOCK_RAW {
+		// Allow both IP versions even if the OS default
+		// is otherwise. Note that some operating systems
+		// never admit this option.
+		syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, boolint(ipv6only))
+	}
+	// Allow broadcast.
+	return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1))
 }
 
 func setDefaultListenerSockopts(s int) error {
-	return syscall.ENOPROTOOPT
+	// Allow reuse of recently-used addresses.
+	return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1))
 }
 
 func setDefaultMulticastSockopts(s int) error {
-	return syscall.ENOPROTOOPT
+	// Allow multicast UDP and raw IP datagram sockets to listen
+	// concurrently across multiple listeners.
+	return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1))
 }
