Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
netlinkCancel *rwcancel.RWCancel
port uint16 // listening port
fwmark uint32 // mark value (0 = disabled)
+ brokenRoaming bool
}
staticIdentity struct {
package device
+// DisableSomeRoamingForBrokenMobileSemantics should ideally be called before peers are created,
+// though it will try to deal with it, and race maybe, if called after.
func (device *Device) DisableSomeRoamingForBrokenMobileSemantics() {
+ device.net.brokenRoaming = true
device.peers.RLock()
for _, peer := range device.peers.keyMap {
peer.Lock()
if peer.Peer == nil {
return
}
+ peer.disableRoaming = peer.device.net.brokenRoaming && peer.endpoint != nil
if !peer.dummy && peer.device.isUp() {
peer.Start()
if peer.pkaOn {