From 70e9f8cc5bb87fa74b21bc48d9984dba57b4bb62 Mon Sep 17 00:00:00 2001 From: Kshitija Murudi Date: Wed, 3 Jul 2024 01:16:54 -0700 Subject: [PATCH] add prefix length from mtpnc to podipinfo & gatewayip --- cns/middlewares/k8sSwiftV2.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/cns/middlewares/k8sSwiftV2.go b/cns/middlewares/k8sSwiftV2.go index 1580ac8200..e9511736f7 100644 --- a/cns/middlewares/k8sSwiftV2.go +++ b/cns/middlewares/k8sSwiftV2.go @@ -182,6 +182,11 @@ func (k *K8sSWIFTv2Middleware) getIPConfig(ctx context.Context, podInfo cns.PodI if prefixSize != prefixLength { return nil, errors.Wrapf(errInvalidMTPNCPrefixLength, "mtpnc primaryIP prefix length is %d", prefixSize) } + // Parse MTPNC SubnetAddressSpace to get the subnet prefix length + subnet, subnetPrefix, err := utils.ParseIPAndPrefix(interfaceInfo.PrimaryIP) + if err != nil { + return nil, errors.Wrap(err, "failed to parse mtpnc subnetAddressSpace prefix") + } var nicType cns.NICType switch { @@ -204,7 +209,16 @@ func (k *K8sSWIFTv2Middleware) getIPConfig(ctx context.Context, podInfo cns.PodI NICType: nicType, SkipDefaultRoutes: false, HostPrimaryIPInfo: cns.HostIPInfo{ - Gateway: interfaceInfo.GatewayIP, + Gateway: interfaceInfo.GatewayIP, + PrimaryIP: ip, + Subnet: interfaceInfo.SubnetAddressSpace, + }, + NetworkContainerPrimaryIPConfig: cns.IPConfiguration{ + IPSubnet: cns.IPSubnet{ + IPAddress: subnet, + PrefixLength: uint8(subnetPrefix), + }, + GatewayIPAddress: interfaceInfo.GatewayIP, }, } }