mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-09-27 03:36:09 +08:00
hotfix: handle not found route packet with gVisor instead of drop it
This commit is contained in:
@@ -88,7 +88,11 @@ func (h *gvisorTCPHandler) readFromTCPConnWriteToEndpoint(ctx context.Context, c
|
|||||||
|
|
||||||
h.addToRouteMapTCP(ctx, src, conn)
|
h.addToRouteMapTCP(ctx, src, conn)
|
||||||
// inner ip like 198.19.0.100/102/103 connect each other
|
// inner ip like 198.19.0.100/102/103 connect each other
|
||||||
if config.CIDR.Contains(dst) || config.CIDR6.Contains(dst) {
|
// for issue 594, sometimes k8s service network CIDR also use CIDR 198.19.151.170
|
||||||
|
// if we can find dst in route map, just trade packet as inner communicate
|
||||||
|
// if not find dst in route map, just trade packet as k8s service/pod ip
|
||||||
|
_, found := h.routeMapTCP.Load(dst.String())
|
||||||
|
if found && (config.CIDR.Contains(dst) || config.CIDR6.Contains(dst)) {
|
||||||
err = h.handlePacket(ctx, buf, read, src, dst, layers.IPProtocol(ipProtocol).String())
|
err = h.handlePacket(ctx, buf, read, src, dst, layers.IPProtocol(ipProtocol).String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
plog.G(ctx).Errorf("[TCP-GVISOR] Failed to handle packet: %v", err)
|
plog.G(ctx).Errorf("[TCP-GVISOR] Failed to handle packet: %v", err)
|
||||||
|
Reference in New Issue
Block a user