svc/conntrack.in: Don't track the local IP address any more.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 27 Jun 2011 13:47:04 +0000 (14:47 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 21 Mar 2012 15:54:35 +0000 (15:54 +0000)
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).

svc/conntrack.in

index a743132..78141e6 100644 (file)
@@ -214,7 +214,6 @@ def localaddr(peer):
 
 _kick = T.Queue()
 def kickpeers():
-  lastip = {}
   while True:
     upness, reason = _kick.get()
 
@@ -280,14 +279,13 @@ def kickpeers():
           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: