summaryrefslogtreecommitdiffhomepage
path: root/wgengine/netstack
diff options
context:
space:
mode:
Diffstat (limited to 'wgengine/netstack')
-rw-r--r--wgengine/netstack/netstack.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/wgengine/netstack/netstack.go b/wgengine/netstack/netstack.go
index 852c2a720..8d48e6933 100644
--- a/wgengine/netstack/netstack.go
+++ b/wgengine/netstack/netstack.go
@@ -734,11 +734,15 @@ func (ns *Impl) forwardTCP(client *gonet.TCPConn, clientRemoteIP netaddr.IP, wq
_, err := io.Copy(client, server)
connClosed <- err
}()
- err = <-connClosed
- if err != nil {
- ns.logf("proxy connection closed with error: %v", err)
+ select {
+ case err := <-connClosed:
+ if err != nil {
+ ns.logf("proxy connection closed with error: %v", err)
+ }
+ ns.logf("[v2] netstack: forwarder connection to %s closed", dialAddrStr)
+ case <-ctx.Done():
+ ns.logf("[v2] netstack: context done, closing TCP forward conn to %s", dialAddrStr)
}
- ns.logf("[v2] netstack: forwarder connection to %s closed", dialAddrStr)
}
func (ns *Impl) acceptUDP(r *udp.ForwarderRequest) {