How it Works
This section provides a brief of how the IPAM redundancy support per UPF feature works.
-
Peer Selection—The Node Manager peer is selected during the UPF association.
-
UPF Registration with Peer IPAM—IPAM is notified with the instance ID of the peer for the UPF during the registration of the UPF call. IPAM allocates routers from the local data for the specific DNN and checks if the peer IPAM instance is in active or inactive state.
If the peer IPAM instance is active, a REST call is sent to it to register to the same UPF in the local instance and to receive the routes as response.
If the peer IPAM instance is inactive, the local instance takes over the IPAM context of the remote instance. Then, the local instance registers to the UPF, receives the routes, and keeps the data back in the cache-pod. After the peer instance is active, it restores the same data from the cache-pod.
Routes from both the instances are sent to UPF for load-balanced address allocations from both the instances.
-
Address Allocation in Load-Balanced Model—As one UPF is registered to two IPAM servers, SMF sends the address allocation requests to any peer that is load-balanced. Respective IPAM instances assign new addresses from their local address bitmap. If one peer instance is inactive, the other peer instance handles all the requests.
-
Address-Release Request Handling—In IPAM, the Address Release request is sent to the instance that had allocated the IP the first time. If that peer is inactive, the Address Release request is sent to the peer IPAM.
The IPAM instance that receives the address releases for remote instances, keeps buffering these instances locally and updates the cache-pod periodically. After the remote peers are active, they handle the buffered address-release requests.
-
Release of the UPF—When a peer IPAM is active during the release of a UPF, a REST call is sent to clear the data. If the peer IPAM is inactive, the existing IPAM instance takes over the operational data of the remote IPAM, clears the UPF information, and updates the cache-pod.