From 78624a50bdf135d73cd7be5d0105ae7e335645af Mon Sep 17 00:00:00 2001 From: hzma Date: Thu, 3 Aug 2023 11:58:54 +0800 Subject: [PATCH] distinguish nat ip for central subnet with ecmp and active-standby (#3100) --- pkg/daemon/gateway.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/daemon/gateway.go b/pkg/daemon/gateway.go index b63def16944d..d6b424964e41 100644 --- a/pkg/daemon/gateway.go +++ b/pkg/daemon/gateway.go @@ -216,7 +216,11 @@ func (c *Controller) getEgressNatIpByNode(nodeName string) (map[string]string, e for _, cidr := range strings.Split(subnet.Spec.CIDRBlock, ",") { for _, gw := range strings.Split(subnet.Spec.GatewayNode, ",") { if strings.Contains(gw, ":") && util.GatewayContains(gw, nodeName) && util.CheckProtocol(cidr) == util.CheckProtocol(strings.Split(gw, ":")[1]) { - subnetsNatIp[cidr] = strings.TrimSpace(strings.Split(gw, ":")[1]) + if subnet.Spec.EnableEcmp { + subnetsNatIp[cidr] = strings.TrimSpace(strings.Split(gw, ":")[1]) + } else if subnet.Status.ActivateGateway == nodeName { + subnetsNatIp[cidr] = strings.TrimSpace(strings.Split(gw, ":")[1]) + } break } }