If we need to change the peer name, we still need a full renegotiation;
otherwise we can let the mobile-peer machinery deal with us. This will,
with a little luck, result in a smoother handover when a mobile peer
roams between networks (or gets screwed by NAT).
_kick = T.Queue()
def kickpeers():
- lastip = {}
while True:
upness, reason = _kick.get()
changes.append(_)
## Start the right one if necessary.
- if want is not None and (not found or ip != lastip.get(g, None)):
+ if want is not None and not found:
def _(want = want):
try:
SM.svcsubmit('connect', 'active', want)
except T.TripeError, exc:
SM.warn('conntrack', 'connect-failed', want, *exc.args)
changes.append(_)
- lastip[g] = ip
## Commit the changes.
if changes: