Demote close error levels

This commit is contained in:
Viktor Liu
2025-01-05 14:44:04 +01:00
parent 474fb33305
commit 290e6992a8
4 changed files with 14 additions and 20 deletions

View File

@ -139,7 +139,7 @@ func (t *ICMPTracker) cleanup() {
t.ipPool.Put(conn.DestIP)
delete(t.connections, key)
t.logger.Debug("ICMPTracker: removed connection %v", key)
t.logger.Debug("Removed ICMP connection %v (timeout)", key)
}
}
}

View File

@ -124,7 +124,7 @@ func (t *UDPTracker) cleanup() {
t.ipPool.Put(conn.DestIP)
delete(t.connections, key)
t.logger.Trace("UDP connection timed out: %v", conn)
t.logger.Trace("Removed UDP connection %v (timeout)", conn)
}
}
}

View File

@ -33,7 +33,7 @@ func (f *Forwarder) handleTCP(r *tcp.ForwarderRequest) {
if epErr != nil {
f.logger.Error("forwarder: failed to create TCP endpoint: %v", epErr)
if err := outConn.Close(); err != nil {
f.logger.Error("forwarder: outConn close error: %v", err)
f.logger.Debug("forwarder: outConn close error: %v", err)
}
r.Complete(true)
return
@ -52,10 +52,10 @@ func (f *Forwarder) handleTCP(r *tcp.ForwarderRequest) {
func (f *Forwarder) proxyTCP(id stack.TransportEndpointID, inConn *gonet.TCPConn, outConn net.Conn, ep tcpip.Endpoint) {
defer func() {
if err := inConn.Close(); err != nil {
f.logger.Error("forwarder: inConn close error: %v", err)
f.logger.Debug("forwarder: inConn close error: %v", err)
}
if err := outConn.Close(); err != nil {
f.logger.Error("forwarder: outConn close error: %v", err)
f.logger.Debug("forwarder: outConn close error: %v", err)
}
ep.Close()
}()
@ -67,18 +67,12 @@ func (f *Forwarder) proxyTCP(id stack.TransportEndpointID, inConn *gonet.TCPConn
errChan := make(chan error, 2)
go func() {
n, err := io.Copy(outConn, inConn)
if err != nil && !isClosedError(err) {
f.logger.Error("inbound->outbound copy error after %d bytes: %v", n, err)
}
_, err := io.Copy(outConn, inConn)
errChan <- err
}()
go func() {
n, err := io.Copy(inConn, outConn)
if err != nil && !isClosedError(err) {
f.logger.Error("outbound->inbound copy error after %d bytes: %v", n, err)
}
_, err := io.Copy(inConn, outConn)
errChan <- err
}()

View File

@ -73,10 +73,10 @@ func (f *udpForwarder) Stop() {
for id, conn := range f.conns {
conn.cancel()
if err := conn.conn.Close(); err != nil {
f.logger.Error("forwarder: UDP conn close error for %v: %v", id, err)
f.logger.Debug("forwarder: UDP conn close error for %v: %v", id, err)
}
if err := conn.outConn.Close(); err != nil {
f.logger.Error("forwarder: UDP outConn close error for %v: %v", id, err)
f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err)
}
conn.ep.Close()
@ -107,10 +107,10 @@ func (f *udpForwarder) cleanup() {
for _, idle := range idleConns {
idle.conn.cancel()
if err := idle.conn.conn.Close(); err != nil {
f.logger.Error("forwarder: UDP conn close error for %v: %v", idle.id, err)
f.logger.Debug("forwarder: UDP conn close error for %v: %v", idle.id, err)
}
if err := idle.conn.outConn.Close(); err != nil {
f.logger.Error("forwarder: UDP outConn close error for %v: %v", idle.id, err)
f.logger.Debug("forwarder: UDP outConn close error for %v: %v", idle.id, err)
}
idle.conn.ep.Close()
@ -154,7 +154,7 @@ func (f *Forwarder) handleUDP(r *udp.ForwarderRequest) {
wq := waiter.Queue{}
ep, epErr := r.CreateEndpoint(&wq)
if epErr != nil {
f.logger.Error("forwarder: failed to create UDP endpoint: %v", epErr)
f.logger.Debug("forwarder: failed to create UDP endpoint: %v", epErr)
if err := outConn.Close(); err != nil {
f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err)
}
@ -196,10 +196,10 @@ func (f *Forwarder) proxyUDP(ctx context.Context, pConn *udpPacketConn, id stack
defer func() {
pConn.cancel()
if err := pConn.conn.Close(); err != nil {
f.logger.Error("forwarder: UDP inConn close error for %v: %v", id, err)
f.logger.Debug("forwarder: UDP inConn close error for %v: %v", id, err)
}
if err := pConn.outConn.Close(); err != nil {
f.logger.Error("forwarder: UDP outConn close error for %v: %v", id, err)
f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err)
}
ep.Close()