diff --git a/peer/remotefsm.go b/peer/remotefsm.go index 14d9261..9f6a442 100644 --- a/peer/remotefsm.go +++ b/peer/remotefsm.go @@ -212,6 +212,8 @@ func (r *remoteFSM) stateServer_onProbe(msg controlMsg[packetProbe]) { func (r *remoteFSM) stateServer_onPingTimer() { conf := r.conf() if time.Since(r.lastSeen) > timeoutInterval && conf.Up { + // Reset trace ID to ensure connection goes up on next SYN. + r.traceID = 0 conf.Up = false r.updateConf(conf) r.logf("Timeout.")