Skip to content

Commit 42e0574

Browse files
authored
distinguish nat ip for central subnet with ecmp and active-standby (#3100)
1 parent a27ce4c commit 42e0574

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

pkg/daemon/gateway.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,11 @@ func (c *Controller) getEgressNatIpByNode(nodeName string) (map[string]string, e
239239
for _, cidr := range strings.Split(subnet.Spec.CIDRBlock, ",") {
240240
for _, gw := range strings.Split(subnet.Spec.GatewayNode, ",") {
241241
if strings.Contains(gw, ":") && util.GatewayContains(gw, nodeName) && util.CheckProtocol(cidr) == util.CheckProtocol(strings.Split(gw, ":")[1]) {
242-
subnetsNatIp[cidr] = strings.TrimSpace(strings.Split(gw, ":")[1])
242+
if subnet.Spec.EnableEcmp {
243+
subnetsNatIp[cidr] = strings.TrimSpace(strings.Split(gw, ":")[1])
244+
} else if subnet.Status.ActivateGateway == nodeName {
245+
subnetsNatIp[cidr] = strings.TrimSpace(strings.Split(gw, ":")[1])
246+
}
243247
break
244248
}
245249
}

0 commit comments

Comments
 (0)