device: export Bind and remove socketfd shims for android

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
This commit is contained in:
David Crawshaw 2020-06-22 10:42:28 +10:00
parent dfb28757f7
commit b84f1d4db2
2 changed files with 6 additions and 24 deletions

View file

@ -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")
}

View file

@ -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()