From 61d1fee68e57c6510265ac26f96fdc416ee7330d Mon Sep 17 00:00:00 2001 From: Spencer Sevilla Date: Wed, 17 Jan 2024 13:46:31 -0800 Subject: [PATCH] [core] increase max served tac/tai from 16 to 256 --- README.md | 3 +++ lib/app/ogs-config.c | 2 +- lib/proto/types.h | 2 +- tests/common/context.h | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 672cb1ea88..7316148c23 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,6 @@ This is our (Althea's) branch of [open5gs](https://github.com/open5gs/open5gs). The `main` (default) branch contains our most stable version of open5gs, and is generally in active deployment by our team. `dev` and `hotfix` are sometimes used for rapid testing and deployment, but come with no guarantees w.r.t code stability or branch consistency (i.e. they could deleted). Tagged releases (e.g. `v2.4.7`) come straight from plain vanilla `open5gs` and can be considered a "starting off point" for our modifications. The corresponding branch with `_althea` at the end (e.g. `v2.4.7_althea`) is a tightly-curated (and sometimes rebased) branch that is designed to be easy for the open5gs community to read/follow. Whereas `main` might have multiple commits for a given feature as we expand utility over time and find/catch bugs, the `_althea` branch will have just one commit for a given issue. + +## Number of Served TAC/TAI +open5gs has a limit of 16 different served TAIs hard-coded in OGS_MAX_NUM_OF_SERVED_TAI. Althea's KeyLTE architecture relies on many more than that: each edge KeyLTE router has its own TAC/TAI. We have currently set OGS_MAX_NUM_OF_SERVED_TAI to 256; this might increase again in the future. diff --git a/lib/app/ogs-config.c b/lib/app/ogs-config.c index a4ccb95825..a641d5617f 100644 --- a/lib/app/ogs-config.c +++ b/lib/app/ogs-config.c @@ -110,7 +110,7 @@ static int global_conf_prepare(void) global_conf.sockopt.no_delay = true; #define MAX_NUM_OF_UE 1024 /* Num of UEs */ -#define MAX_NUM_OF_PEER 64 /* Num of Peer */ +#define MAX_NUM_OF_PEER 256 /* Num of Peer */ global_conf.max.ue = MAX_NUM_OF_UE; global_conf.max.peer = MAX_NUM_OF_PEER; diff --git a/lib/proto/types.h b/lib/proto/types.h index 78b013a158..6a8d005f7a 100644 --- a/lib/proto/types.h +++ b/lib/proto/types.h @@ -106,7 +106,7 @@ extern "C" { #define OGS_MAX_NUM_OF_PLMN 12 /* maxnoofPLMNs(AMF): 12 */ #define OGS_MAX_NUM_OF_BPLMN OGS_MAX_NUM_OF_PLMN -#define OGS_MAX_NUM_OF_TAI 16 +#define OGS_MAX_NUM_OF_TAI 256 #define OGS_MAX_NUM_OF_SLICE 8 #define OGS_NEXT_ID(__id, __min, __max) \ diff --git a/tests/common/context.h b/tests/common/context.h index 46b65ae04d..b6fd4c4554 100644 --- a/tests/common/context.h +++ b/tests/common/context.h @@ -73,7 +73,7 @@ typedef struct test_context_s { } plmn_support[OGS_MAX_NUM_OF_PLMN]; /* Served EPC TAI */ - uint8_t num_of_e_served_tai; + uint16_t num_of_e_served_tai; struct { ogs_eps_tai0_list_t list0; ogs_eps_tai1_list_t list1; @@ -83,7 +83,7 @@ typedef struct test_context_s { ogs_eps_tai_t e_tai; /* Served 5GC TAI */ - uint8_t num_of_nr_served_tai; + uint16_t num_of_nr_served_tai; struct { ogs_5gs_tai0_list_t list0; ogs_5gs_tai1_list_t list1;