Skip to content
This repository has been archived by the owner on Dec 16, 2020. It is now read-only.

add RADIUS support for IP address assignment via a network manager #13

Open
spencersevilla opened this issue May 2, 2019 · 0 comments
Assignees

Comments

@spencersevilla
Copy link

Previously, the SPGW dynamically assigned IP addresses to UEs from a pool; this pool is configured in package/epc/spgw.conf as IPV4_LIST. IP address assignment took place every time a UE joined the network. This happened in pgw_lite_paa.c; see pgw_get_free_ipv4_paa_address() for assignment and pgw_release_free_ipv4_paa_address() for release.

0c7e9a7 changed this by adding new functionality that replaced this dynamic assignment with a database lookup. The new IP address assignment function is spgw_get_ip_from_imsi(). The changes in src/sgw/pgw_ue_ip_address_alloc.c show how we replaced the old functionality with the new functionality.

The new goal/design/architecture is to dynamically move between these two options and remove ALL database calls from the SPGW. Tasks are as follows:

  1. Add a RADIUS library to the SPGW, and add any needed RADIUS configuration options to spgw.conf.
  2. On start-time (main() is in src/oai_sgw/oai_sgw.c) the codebase should attempt to use these options to talk to a network manager such as haulage.
  3. Add some logic in pgw_ue_ip_address_alloc.c: If we have a RADIUS connection, use it to query the network manager to ask what the IP address should be for this IMSI. If we could not establish a RADIUS connection, fallback to dynamic assignment out of the IPV4_LIST pool.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants