azure-container-networking icon indicating copy to clipboard operation
azure-container-networking copied to clipboard

Prefix on nicv6 support

Open NihaNallappagari opened this issue 5 months ago • 2 comments

Reason for Change: Current Problem: VNET currently limits scaling to 64K IP addresses per VNET due to per-IP route mappings. To support larger AKS clusters, the platform is introducing per-prefix (CIDR) route mapping, allowing a single mapping to represent multiple IPs (e.g., /24 enables 256 IPs per mapping). This enables scaling up to 16 million IPs per VNET without impacting the underlying platform.

Change needed: Prefix on NIC v4 is supported in Swiftv1, but Swiftv1 does not support IPv6. This change upgrades Prefix on NIC v4 functionality to Swiftv2 and introduces IPv6 support in Swiftv2.

Changes This PR has changes specific to Prefix on NICv6 CNS --Consuming PrimaryIPv6, GatewayIPv6, MacAddress (DelegatedNIC) from NNC CRD because of dualstack NC --IP allocation: Assign IPs of each IPFamily as part of RequestIPs api request (Currently when a pod is created, IPAM RequestsIPs from CNS where CNS picks one IP from each NC and hands it over to IPAM.

IPAM --Change RequestIPs response parsing to read GatewayIPv6 and MacAddress --Populates Interfaces with MacAddress which is used by CNI to plumb routes to send traffic

Design doc for pocv6 with sample NNC Requirements:

Notes:

NihaNallappagari avatar May 13 '25 22:05 NihaNallappagari