aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Keith Winstein <keithw@mit.edu>2012-08-13 14:26:53 +0300
committerGravatar Keith Winstein <keithw@mit.edu>2012-08-13 14:26:53 +0300
commit82830344ca4f45a28ed358fa34272ca00f809ca8 (patch)
tree8b8e310a9b4512f855df19fa3830279a62c65988
parent89da6105aa4c94e563661a0c684d457c5427c54e (diff)
Hop ports when missing E2E2E connectivity, even if downlink working.
-rw-r--r--src/network/network.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/network/network.cc b/src/network/network.cc
index a5cc510..dbfd585 100644
--- a/src/network/network.cc
+++ b/src/network/network.cc
@@ -360,6 +360,8 @@ string Connection::recv( void )
uint16_t now = timestamp16();
double R = timestamp_diff( now, p.timestamp_reply );
+ last_heard = timestamp(); /* trigger on end-to-end-to-end connectivity */
+
if ( R < 5000 ) { /* ignore large values, e.g. server was Ctrl-Zed */
if ( !RTT_hit ) { /* first measurement */
SRTT = R;
@@ -377,7 +379,7 @@ string Connection::recv( void )
/* auto-adjust to remote host */
has_remote_addr = true;
- last_heard = last_association = timestamp();
+ last_association = timestamp();
if ( server ) { /* only client can roam */
if ( (remote_addr.sin_addr.s_addr != packet_remote_addr.sin_addr.s_addr)