From: Christopher Wedgwood Date: Mon, 24 May 2010 23:53:23 +0000 (-0700) Subject: net: udp, implement BindToDevice X-Git-Tag: weekly.2010-05-27~18 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5c19c4e5e31849c7a597adf88617e26a180ec4fb;p=gostls13.git net: udp, implement BindToDevice R=rsc CC=golang-dev, r https://golang.org/cl/1271041 --- 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)) +}