diff --git a/device/bindsocketshim.go b/device/bindsocketshim.go index 68e1504..896c7d2 100644 --- a/device/bindsocketshim.go +++ b/device/bindsocketshim.go @@ -34,27 +34,3 @@ func (device *Device) BindSocketToInterface6(interfaceIndex uint32, blackhole bo } return nil } - -// TODO(crawshaw): this method is a compatibility shim. Replace with direct use of conn. -func (device *Device) PeekLookAtSocketFd4() (fd int, err error) { - if device.net.bind == nil { - return -1, errors.New("Bind is not yet initialized") - } - - if iface, ok := device.net.bind.(conn.PeekLookAtSocketFd); ok { - return iface.PeekLookAtSocketFd4() - } - return -1, errors.New("unimplemented") -} - -// TODO(crawshaw): this method is a compatibility shim. Replace with direct use of conn. -func (device *Device) PeekLookAtSocketFd6() (fd int, err error) { - if device.net.bind == nil { - return -1, errors.New("Bind is not yet initialized") - } - - if iface, ok := device.net.bind.(conn.PeekLookAtSocketFd); ok { - return iface.PeekLookAtSocketFd6() - } - return -1, errors.New("unimplemented") -} diff --git a/device/device.go b/device/device.go index 11119f9..c64432e 100644 --- a/device/device.go +++ b/device/device.go @@ -430,6 +430,12 @@ func unsafeCloseBind(device *Device) error { return err } +func (device *Device) Bind() conn.Bind { + device.net.Lock() + defer device.net.Unlock() + return device.net.bind +} + func (device *Device) BindSetMark(mark uint32) error { device.net.Lock()