diff --git a/pkg/agent/manager/loadbalancer/loadbalancer.go b/pkg/agent/manager/loadbalancer/loadbalancer.go index 8c63515..74eeb09 100644 --- a/pkg/agent/manager/loadbalancer/loadbalancer.go +++ b/pkg/agent/manager/loadbalancer/loadbalancer.go @@ -826,11 +826,12 @@ func (m *Manager) addLoadBalancer(svc *corev1.Service) error { klog.Infof("Secondary IP Pairs %v", m.lbCache[cacheKey].SecIPs) } + privateIP, _, _ := net.ParseCIDR(m.networkConfig.PrivateCIDR) for _, ingSvcPair := range ingSvcPairs { var errChList []chan error lbArgs := LbArgs{ externalIP: ingSvcPair.IPString, - privateIP: m.networkConfig.PrivateCIDR, + privateIP: privateIP.String(), livenessCheck: m.lbCache[cacheKey].ActCheck, lbMode: m.lbCache[cacheKey].LbMode, timeout: m.lbCache[cacheKey].Timeout, @@ -1547,6 +1548,7 @@ func (m *Manager) makeLoxiLoadBalancerModel(lbArgs *LbArgs, svc *corev1.Service, return api.LoadBalancerModel{ Service: api.LoadBalancerService{ ExternalIP: lbArgs.externalIP, + PrivateIP: lbArgs.privateIP, Port: uint16(port.Port), Protocol: strings.ToLower(string(port.Protocol)), BGP: bgpMode, diff --git a/pkg/api/lb.go b/pkg/api/lb.go index 3eed851..b2ca03e 100644 --- a/pkg/api/lb.go +++ b/pkg/api/lb.go @@ -44,6 +44,7 @@ func (lbModel *LoadBalancerModel) GetKeyStruct() LoxiModel { type LoadBalancerService struct { ExternalIP string `json:"externalIP" key:"externalipaddress"` + PrivateIP string `json:"privateIP" key:"privateipaddress"` Port uint16 `json:"port" key:"port"` Protocol string `json:"protocol" key:"protocol"` Sel EpSelect `json:"sel"`