From f885c17007baac280c5db859901d1c39a34aa0e3 Mon Sep 17 00:00:00 2001 From: Balaji Vijayakumar Date: Fri, 4 Jul 2025 10:11:54 +0530 Subject: [PATCH] Fix tunneling of connection when keepalive is set Signed-off-by: Balaji Vijayakumar --- pkg/portfwd/client.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/portfwd/client.go b/pkg/portfwd/client.go index d76bfe9e716..81c5c21e17b 100644 --- a/pkg/portfwd/client.go +++ b/pkg/portfwd/client.go @@ -10,9 +10,9 @@ import ( "time" "github.com/containers/gvisor-tap-vsock/pkg/services/forwarder" + "github.com/containers/gvisor-tap-vsock/pkg/tcpproxy" "github.com/sirupsen/logrus" - "github.com/lima-vm/lima/pkg/bicopy" "github.com/lima-vm/lima/pkg/guestagent/api" guestagentclient "github.com/lima-vm/lima/pkg/guestagent/api/client" ) @@ -33,7 +33,10 @@ func HandleTCPConnection(ctx context.Context, client *guestagentclient.GuestAgen } rw := &GrpcClientRW{stream: stream, id: id, addr: guestAddr, protocol: "tcp"} - bicopy.Bicopy(rw, conn, nil) + proxy := tcpproxy.DialProxy{DialContext: func(_ context.Context, _, _ string) (net.Conn, error) { + return conn, nil + }} + proxy.HandleConn(rw) } func HandleUDPConnection(ctx context.Context, client *guestagentclient.GuestAgentClient, conn net.PacketConn, guestAddr string) {