diff --git a/configs/open5gs/amf.yaml.in b/configs/open5gs/amf.yaml.in index 4a1ef0a5f..978979c2c 100644 --- a/configs/open5gs/amf.yaml.in +++ b/configs/open5gs/amf.yaml.in @@ -326,10 +326,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/ausf.yaml.in b/configs/open5gs/ausf.yaml.in index 79083742f..bfab59872 100644 --- a/configs/open5gs/ausf.yaml.in +++ b/configs/open5gs/ausf.yaml.in @@ -161,10 +161,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/bsf.yaml.in b/configs/open5gs/bsf.yaml.in index 1e9ccc3ec..f5e4def20 100644 --- a/configs/open5gs/bsf.yaml.in +++ b/configs/open5gs/bsf.yaml.in @@ -163,10 +163,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/hss.yaml.in b/configs/open5gs/hss.yaml.in index 9c65227aa..81f69a44f 100644 --- a/configs/open5gs/hss.yaml.in +++ b/configs/open5gs/hss.yaml.in @@ -45,9 +45,9 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/mme.yaml.in b/configs/open5gs/mme.yaml.in index 720f9762a..bcaf15951 100644 --- a/configs/open5gs/mme.yaml.in +++ b/configs/open5gs/mme.yaml.in @@ -391,10 +391,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/nrf.yaml.in b/configs/open5gs/nrf.yaml.in index b9b02579f..c29148fbb 100644 --- a/configs/open5gs/nrf.yaml.in +++ b/configs/open5gs/nrf.yaml.in @@ -111,10 +111,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/nssf.yaml.in b/configs/open5gs/nssf.yaml.in index 28adb4c35..a178da7c2 100644 --- a/configs/open5gs/nssf.yaml.in +++ b/configs/open5gs/nssf.yaml.in @@ -204,10 +204,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/pcf.yaml.in b/configs/open5gs/pcf.yaml.in index 7d0a7bc55..7c01d858b 100644 --- a/configs/open5gs/pcf.yaml.in +++ b/configs/open5gs/pcf.yaml.in @@ -165,10 +165,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/pcrf.yaml.in b/configs/open5gs/pcrf.yaml.in index 25da8a2ef..688d6b1ac 100644 --- a/configs/open5gs/pcrf.yaml.in +++ b/configs/open5gs/pcrf.yaml.in @@ -42,9 +42,9 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/scp.yaml.in b/configs/open5gs/scp.yaml.in index 371e98ae4..282f40600 100644 --- a/configs/open5gs/scp.yaml.in +++ b/configs/open5gs/scp.yaml.in @@ -184,10 +184,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/sgwc.yaml.in b/configs/open5gs/sgwc.yaml.in index 886009ef6..87710d1d6 100644 --- a/configs/open5gs/sgwc.yaml.in +++ b/configs/open5gs/sgwc.yaml.in @@ -142,10 +142,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # o Maximum Number of GTP peer nodes per SGWC/SMF # gtp_peer: 64 # diff --git a/configs/open5gs/sgwu.yaml.in b/configs/open5gs/sgwu.yaml.in index d50000b00..8ccf94378 100644 --- a/configs/open5gs/sgwu.yaml.in +++ b/configs/open5gs/sgwu.yaml.in @@ -131,10 +131,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/smf.yaml.in b/configs/open5gs/smf.yaml.in index 74b3f948c..798a7421e 100644 --- a/configs/open5gs/smf.yaml.in +++ b/configs/open5gs/smf.yaml.in @@ -536,10 +536,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # o Maximum Number of GTP peer nodes per SGWC/SMF # gtp_peer: 64 # diff --git a/configs/open5gs/udm.yaml.in b/configs/open5gs/udm.yaml.in index d4f18db3f..38bca839b 100644 --- a/configs/open5gs/udm.yaml.in +++ b/configs/open5gs/udm.yaml.in @@ -163,10 +163,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/udr.yaml.in b/configs/open5gs/udr.yaml.in index eb072edc7..7ef337530 100644 --- a/configs/open5gs/udr.yaml.in +++ b/configs/open5gs/udr.yaml.in @@ -163,10 +163,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/configs/open5gs/upf.yaml.in b/configs/open5gs/upf.yaml.in index efa6dcebb..eaac4a107 100644 --- a/configs/open5gs/upf.yaml.in +++ b/configs/open5gs/upf.yaml.in @@ -205,10 +205,10 @@ parameter: # # max: # -# o Maximum Number of UE per AMF/MME +# o Maximum Number of UE # ue: 1024 -# o Maximum Number of gNB/eNB per AMF/MME -# gnb: 64 +# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI) +# peer: 64 # max: diff --git a/lib/app/ogs-context.c b/lib/app/ogs-context.c index 603655c67..55be30f3e 100644 --- a/lib/app/ogs-context.c +++ b/lib/app/ogs-context.c @@ -72,10 +72,9 @@ static void recalculate_pool_size(void) self.pool.tunnel = self.pool.bearer * MAX_NUM_OF_TUNNEL; #define OGS_MAX_NUM_OF_NF_SUBSCRIPTION 4 /* Num of Subscription per NF */ - self.pool.nf_service = self.max.gnb * OGS_MAX_NUM_OF_NF_SERVICE; + self.pool.nf_service = self.max.peer * OGS_MAX_NUM_OF_NF_SERVICE; #define POOL_NUM_PER_UE 16 -#define POOL_NUM_PER_GNB 8 self.pool.timer = self.max.ue * POOL_NUM_PER_UE; self.pool.message = self.max.ue * POOL_NUM_PER_UE; self.pool.event = self.max.ue * POOL_NUM_PER_UE; @@ -83,10 +82,10 @@ static void recalculate_pool_size(void) self.pool.subscription = self.max.ue * POOL_NUM_PER_UE; self.pool.xact = self.max.ue * POOL_NUM_PER_UE; - self.pool.nf = self.max.gnb; - -#define MAX_CSMAP_POOL 128 - self.pool.csmap = MAX_CSMAP_POOL; /* Num of TAI-LAI Mapping Table */ +#define POOL_NUM_PER_PEER 8 + self.pool.nf = self.max.peer * POOL_NUM_PER_PEER; + /* Num of TAI-LAI Mapping Table */ + self.pool.csmap = self.max.peer * POOL_NUM_PER_PEER; #define MAX_NUM_OF_IMPU 8 self.pool.impi = self.max.ue; @@ -179,11 +178,12 @@ static void app_context_prepare(void) self.sockopt.no_delay = true; -#define MAX_NUM_OF_UE 1024 /* Num of UE per AMF/MME */ -#define MAX_NUM_OF_GNB 64 /* Num of gNB per AMF/MME */ +#define MAX_NUM_OF_UE 1024 /* Num of UEs */ +#define MAX_NUM_OF_PEER 64 /* Num of Peer */ - self.max.gnb = MAX_NUM_OF_GNB; self.max.ue = MAX_NUM_OF_UE; + self.max.peer = MAX_NUM_OF_PEER; + self.max.gtp_peer = MAX_NUM_OF_PEER; ogs_pkbuf_default_init(&self.pool.defconfig); @@ -427,10 +427,14 @@ int ogs_app_context_parse_config(void) if (!strcmp(max_key, "ue")) { const char *v = ogs_yaml_iter_value(&max_iter); if (v) self.max.ue = atoi(v); - } else if (!strcmp(max_key, "gnb") || + } else if (!strcmp(max_key, "peer") || !strcmp(max_key, "enb")) { const char *v = ogs_yaml_iter_value(&max_iter); - if (v) self.max.gnb = atoi(v); + if (v) self.max.peer = atoi(v); + } else if (!strcmp(max_key, "gtp_peer") || + !strcmp(max_key, "enb")) { + const char *v = ogs_yaml_iter_value(&max_iter); + if (v) self.max.gtp_peer = atoi(v); } else ogs_warn("unknown key `%s`", max_key); } diff --git a/lib/app/ogs-context.h b/lib/app/ogs-context.h index 7fa5e820b..f030c9aa3 100644 --- a/lib/app/ogs-context.h +++ b/lib/app/ogs-context.h @@ -103,7 +103,7 @@ typedef struct ogs_app_context_s { struct { uint64_t ue; - uint64_t gnb; + uint64_t peer; uint64_t gtp_peer; } max; diff --git a/src/amf/context.c b/src/amf/context.c index 23e08155a..92cf2942a 100644 --- a/src/amf/context.c +++ b/src/amf/context.c @@ -56,7 +56,7 @@ void amf_context_init(void) ogs_list_init(&self.ngap_list6); /* Allocate TWICE the pool to check if maximum number of gNBs is reached */ - ogs_pool_init(&amf_gnb_pool, ogs_app()->max.gnb*2); + ogs_pool_init(&amf_gnb_pool, ogs_app()->max.peer*2); ogs_pool_init(&amf_ue_pool, ogs_app()->max.ue); ogs_pool_init(&ran_ue_pool, ogs_app()->max.ue); ogs_pool_init(&amf_sess_pool, ogs_app()->pool.sess); diff --git a/src/amf/ngap-handler.c b/src/amf/ngap-handler.c index f1f4defa0..b8cd84803 100644 --- a/src/amf/ngap-handler.c +++ b/src/amf/ngap-handler.c @@ -94,7 +94,7 @@ static bool maximum_number_of_gnbs_is_reached(void) } } - return number_of_gnbs_online >= ogs_app()->max.gnb; + return number_of_gnbs_online >= ogs_app()->max.peer; } void ngap_handle_ng_setup_request(amf_gnb_t *gnb, ogs_ngap_message_t *message) diff --git a/src/mme/mme-context.c b/src/mme/mme-context.c index 9ed82d792..9fcdc3e8e 100644 --- a/src/mme/mme-context.c +++ b/src/mme/mme-context.c @@ -97,7 +97,7 @@ void mme_context_init() ogs_pool_init(&mme_csmap_pool, ogs_app()->pool.csmap); /* Allocate TWICE the pool to check if maximum number of eNBs is reached */ - ogs_pool_init(&mme_enb_pool, ogs_app()->max.gnb*2); + ogs_pool_init(&mme_enb_pool, ogs_app()->max.peer*2); ogs_pool_init(&mme_ue_pool, ogs_app()->max.ue); ogs_pool_init(&enb_ue_pool, ogs_app()->max.ue); diff --git a/src/mme/s1ap-handler.c b/src/mme/s1ap-handler.c index 0ebdc57c1..6cce02a4b 100644 --- a/src/mme/s1ap-handler.c +++ b/src/mme/s1ap-handler.c @@ -61,7 +61,7 @@ static bool maximum_number_of_enbs_is_reached(void) } } - return number_of_enbs_online >= ogs_app()->max.gnb; + return number_of_enbs_online >= ogs_app()->max.peer; } void s1ap_handle_s1_setup_request(mme_enb_t *enb, ogs_s1ap_message_t *message)