diff --git a/handshake_manager.go b/handshake_manager.go index b246aa48..b4bebdc7 100644 --- a/handshake_manager.go +++ b/handshake_manager.go @@ -295,7 +295,13 @@ func (hm *HandshakeManager) handleOutbound(vpnIp netip.Addr, lighthouseTriggered hm.messageMetrics.Tx(header.Handshake, hh.machine.Subtype(), 1) err := hm.outside.WriteTo(stage0, addr) if err != nil { - hostinfo.logger(hm.l).Error("Failed to send handshake message", + // These repeat every attempt, so match the success log below and only shout when the remotes changed + level := slog.LevelDebug + if remotesHaveChanged { + level = slog.LevelError + } + + hostinfo.logger(hm.l).Log(context.Background(), level, "Failed to send handshake message", "udpAddr", addr, "initiatorIndex", hostinfo.localIndexId, "handshake", hsFields, diff --git a/inside.go b/inside.go index 163a6034..a80b2e96 100644 --- a/inside.go +++ b/inside.go @@ -408,7 +408,7 @@ func (f *Interface) sendNoMetrics(t header.MessageType, st header.MessageSubType if err != nil { hostinfo.logger(f.l).Error("Failed to write outgoing packet", "error", err, - "udpAddr", remote, + "udpAddr", hr, ) } } else {