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) t.ipPool.Put(conn.DestIP)
delete(t.connections, key) 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) t.ipPool.Put(conn.DestIP)
delete(t.connections, key) 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 { if epErr != nil {
f.logger.Error("forwarder: failed to create TCP endpoint: %v", epErr) f.logger.Error("forwarder: failed to create TCP endpoint: %v", epErr)
if err := outConn.Close(); err != nil { 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) r.Complete(true)
return 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) { func (f *Forwarder) proxyTCP(id stack.TransportEndpointID, inConn *gonet.TCPConn, outConn net.Conn, ep tcpip.Endpoint) {
defer func() { defer func() {
if err := inConn.Close(); err != nil { 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 { 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() ep.Close()
}() }()
@@ -67,18 +67,12 @@ func (f *Forwarder) proxyTCP(id stack.TransportEndpointID, inConn *gonet.TCPConn
errChan := make(chan error, 2) errChan := make(chan error, 2)
go func() { go func() {
n, err := io.Copy(outConn, inConn) _, err := io.Copy(outConn, inConn)
if err != nil && !isClosedError(err) {
f.logger.Error("inbound->outbound copy error after %d bytes: %v", n, err)
}
errChan <- err errChan <- err
}() }()
go func() { go func() {
n, err := io.Copy(inConn, outConn) _, err := io.Copy(inConn, outConn)
if err != nil && !isClosedError(err) {
f.logger.Error("outbound->inbound copy error after %d bytes: %v", n, err)
}
errChan <- err errChan <- err
}() }()

View File

@@ -73,10 +73,10 @@ func (f *udpForwarder) Stop() {
for id, conn := range f.conns { for id, conn := range f.conns {
conn.cancel() conn.cancel()
if err := conn.conn.Close(); err != nil { 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 { 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() conn.ep.Close()
@@ -107,10 +107,10 @@ func (f *udpForwarder) cleanup() {
for _, idle := range idleConns { for _, idle := range idleConns {
idle.conn.cancel() idle.conn.cancel()
if err := idle.conn.conn.Close(); err != nil { 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 { 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() idle.conn.ep.Close()
@@ -154,7 +154,7 @@ func (f *Forwarder) handleUDP(r *udp.ForwarderRequest) {
wq := waiter.Queue{} wq := waiter.Queue{}
ep, epErr := r.CreateEndpoint(&wq) ep, epErr := r.CreateEndpoint(&wq)
if epErr != nil { 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 { if err := outConn.Close(); err != nil {
f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err) 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() { defer func() {
pConn.cancel() pConn.cancel()
if err := pConn.conn.Close(); err != nil { 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 { 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() ep.Close()