diff --git a/wgengine/pendopen.go b/wgengine/pendopen.go index f21ef75ec..d4ba30a99 100644 --- a/wgengine/pendopen.go +++ b/wgengine/pendopen.go @@ -146,13 +146,15 @@ func (e *userspaceEngine) onOpenTimeout(flow flowtrack.Tuple) { return } n := pip.Node - if n.DiscoKey.IsZero() { - e.logf("open-conn-track: timeout opening %v; peer node %v running pre-0.100", flow, n.Key.ShortString()) - return - } - if n.DERP == "" { - e.logf("open-conn-track: timeout opening %v; peer node %v not connected to any DERP relay", flow, n.Key.ShortString()) - return + if !n.IsWireGuardOnly { + if n.DiscoKey.IsZero() { + e.logf("open-conn-track: timeout opening %v; peer node %v running pre-0.100", flow, n.Key.ShortString()) + return + } + if n.DERP == "" { + e.logf("open-conn-track: timeout opening %v; peer node %v not connected to any DERP relay", flow, n.Key.ShortString()) + return + } } ps, found := e.getPeerStatusLite(n.Key) @@ -187,15 +189,19 @@ func (e *userspaceEngine) onOpenTimeout(flow flowtrack.Tuple) { _ = ps.LastHandshake online := "?" - if n.Online != nil { - if *n.Online { - online = "yes" - } else { - online = "no" + if n.IsWireGuardOnly { + online = "wg" + } else { + if n.Online != nil { + if *n.Online { + online = "yes" + } else { + online = "no" + } + } + if n.LastSeen != nil && online != "yes" { + online += fmt.Sprintf(", lastseen=%v", durFmt(*n.LastSeen)) } - } - if n.LastSeen != nil && online != "yes" { - online += fmt.Sprintf(", lastseen=%v", durFmt(*n.LastSeen)) } e.logf("open-conn-track: timeout opening %v to node %v; online=%v, lastRecv=%v", flow, n.Key.ShortString(),