Hop ports when missing E2E2E connectivity, even if downlink working.
This commit is contained in:
@@ -360,6 +360,8 @@ string Connection::recv( void )
|
|||||||
uint16_t now = timestamp16();
|
uint16_t now = timestamp16();
|
||||||
double R = timestamp_diff( now, p.timestamp_reply );
|
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 ( R < 5000 ) { /* ignore large values, e.g. server was Ctrl-Zed */
|
||||||
if ( !RTT_hit ) { /* first measurement */
|
if ( !RTT_hit ) { /* first measurement */
|
||||||
SRTT = R;
|
SRTT = R;
|
||||||
@@ -377,7 +379,7 @@ string Connection::recv( void )
|
|||||||
|
|
||||||
/* auto-adjust to remote host */
|
/* auto-adjust to remote host */
|
||||||
has_remote_addr = true;
|
has_remote_addr = true;
|
||||||
last_heard = last_association = timestamp();
|
last_association = timestamp();
|
||||||
|
|
||||||
if ( server ) { /* only client can roam */
|
if ( server ) { /* only client can roam */
|
||||||
if ( (remote_addr.sin_addr.s_addr != packet_remote_addr.sin_addr.s_addr)
|
if ( (remote_addr.sin_addr.s_addr != packet_remote_addr.sin_addr.s_addr)
|
||||||
|
|||||||
Reference in New Issue
Block a user