aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Wedgwood <cw@f00f.org>2010-05-24 16:53:23 -0700
committerRuss Cox <rsc@golang.org>2010-05-24 16:53:23 -0700
commit5c19c4e5e31849c7a597adf88617e26a180ec4fb (patch)
treef493c4bd207cc43c8e80b8b9f0c9498b7c60be77
parent751fc425ee51645646ce5a731f74a72c254ac75a (diff)
downloadgo-5c19c4e5e31849c7a597adf88617e26a180ec4fb.tar.gz
go-5c19c4e5e31849c7a597adf88617e26a180ec4fb.zip
net: udp, implement BindToDevice
R=rsc CC=golang-dev, r https://golang.org/cl/1271041
-rw-r--r--src/pkg/net/udpsock.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/pkg/net/udpsock.go b/src/pkg/net/udpsock.go
index 6de69a9c9b..5e22c778d9 100644
--- a/src/pkg/net/udpsock.go
+++ b/src/pkg/net/udpsock.go
@@ -259,3 +259,13 @@ func ListenUDP(net string, laddr *UDPAddr) (c *UDPConn, err os.Error) {
}
return newUDPConn(fd), nil
}
+
+// BindToDevice binds a UDPConn to a network interface.
+func (c *UDPConn) BindToDevice(device string) os.Error {
+ if !c.ok() {
+ return os.EINVAL
+ }
+ c.fd.incref()
+ defer c.fd.decref()
+ return os.NewSyscallError("setsockopt", syscall.BindToDevice(c.fd.sysfd, device))
+}