diff --git a/lib/app/ogs-context.c b/lib/app/ogs-context.c index 55be30f3e..aadbac09d 100644 --- a/lib/app/ogs-context.c +++ b/lib/app/ogs-context.c @@ -82,10 +82,13 @@ 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; -#define POOL_NUM_PER_PEER 8 - self.pool.nf = self.max.peer * POOL_NUM_PER_PEER; + self.pool.nf = self.max.peer; + self.pool.gtp_node = self.pool.nf; + if (self.max.gtp_peer) + self.pool.gtp_node = self.max.gtp_peer; + /* Num of TAI-LAI Mapping Table */ - self.pool.csmap = self.max.peer * POOL_NUM_PER_PEER; + self.pool.csmap = self.pool.nf; #define MAX_NUM_OF_IMPU 8 self.pool.impi = self.max.ue; @@ -183,7 +186,6 @@ static void app_context_prepare(void) 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); diff --git a/lib/app/ogs-context.h b/lib/app/ogs-context.h index f030c9aa3..c05d7afef 100644 --- a/lib/app/ogs-context.h +++ b/lib/app/ogs-context.h @@ -126,6 +126,7 @@ typedef struct ogs_app_context_s { uint64_t xact; uint64_t nf; + uint64_t gtp_node; uint64_t csmap; diff --git a/lib/gtp/context.c b/lib/gtp/context.c index 54eebfb2f..506d5e9b0 100644 --- a/lib/gtp/context.c +++ b/lib/gtp/context.c @@ -35,7 +35,7 @@ void ogs_gtp_context_init(int num_of_gtpu_resource) ogs_log_install_domain(&__ogs_gtp_domain, "gtp", ogs_core()->log.level); - ogs_pool_init(&pool, ogs_app()->pool.nf); + ogs_pool_init(&pool, ogs_app()->pool.gtp_node); ogs_pool_init(&ogs_gtpu_resource_pool, num_of_gtpu_resource); context_initialized = 1;