diff --git a/supervisor/tunnel.go b/supervisor/tunnel.go index fcbace54..8d3fe9f0 100644 --- a/supervisor/tunnel.go +++ b/supervisor/tunnel.go @@ -141,11 +141,10 @@ type DefaultAddrFallback struct { func (f DefaultAddrFallback) ShouldGetNewAddress(err error) (needsNewAddress bool, isConnectivityError bool) { switch err.(type) { case nil: // maintain current IP address - // DupConnRegisterTunnelError should indicate to get a new address immediately - case connection.DupConnRegisterTunnelError: - return true, false - // Try the next address if it was a quic.IdleTimeoutError + // Try the next address if it was a quic.IdleTimeoutError or + // dupConnRegisterTunnelError case *quic.IdleTimeoutError, + connection.DupConnRegisterTunnelError, edgediscovery.DialError, *connection.EdgeQuicDialError: // Wait for two failures before falling back to a new address