diff --git a/management/client/grpc.go b/management/client/grpc.go index 568c15313..eaadcd317 100644 --- a/management/client/grpc.go +++ b/management/client/grpc.go @@ -334,8 +334,11 @@ func (c *GrpcClient) login(serverKey wgtypes.Key, req *proto.LoginRequest) (*pro Body: loginReq, }) if err != nil { - log.Printf("Login error: %v", err) - return err + // retry only on context canceled + if s, ok := gstatus.FromError(err); ok && s.Code() == codes.Canceled { + return err + } + return backoff.Permanent(err) } return nil