From 44bde6b85a0ceb4041ca7fd91d47614a446fbb91 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 5 Jan 2023 17:23:26 +0100 Subject: Move global ggsn_list into struct sgsn_instance Change-Id: I9d4c74476b777a866af2796dd376ed50da7b5d01 --- src/sgsn/gprs_sgsn.c | 2 +- src/sgsn/gtp_ggsn.c | 6 +++--- src/sgsn/sgsn_vty.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 5afddb4d5..ea0786282 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -64,7 +64,6 @@ extern void *tall_sgsn_ctx; extern struct osmo_tdef sgsn_T_defs[]; LLIST_HEAD(sgsn_mm_ctxts); -LLIST_HEAD(sgsn_ggsn_ctxts); LLIST_HEAD(sgsn_apn_ctxts); LLIST_HEAD(sgsn_pdp_ctxts); @@ -918,6 +917,7 @@ struct sgsn_instance *sgsn_instance_alloc(void *talloc_ctx) inst->rate_ctrs = rate_ctr_group_alloc(inst, &sgsn_ctrg_desc, 0); OSMO_ASSERT(inst->rate_ctrs); + INIT_LLIST_HEAD(&inst->ggsn_list); INIT_LLIST_HEAD(&inst->mme_list); osmo_timer_setup(&inst->llme_timer, sgsn_llme_check_cb, NULL); diff --git a/src/sgsn/gtp_ggsn.c b/src/sgsn/gtp_ggsn.c index 0a670e151..f8e09e892 100644 --- a/src/sgsn/gtp_ggsn.c +++ b/src/sgsn/gtp_ggsn.c @@ -73,7 +73,7 @@ struct sgsn_ggsn_ctx *sgsn_ggsn_ctx_alloc(uint32_t id) ggc->gsn = sgsn->gsn; INIT_LLIST_HEAD(&ggc->pdp_list); osmo_timer_setup(&ggc->echo_timer, echo_timer_cb, ggc); - llist_add(&ggc->list, &sgsn_ggsn_ctxts); + llist_add(&ggc->list, &sgsn->ggsn_list); return ggc; } @@ -89,7 +89,7 @@ struct sgsn_ggsn_ctx *sgsn_ggsn_ctx_by_id(uint32_t id) { struct sgsn_ggsn_ctx *ggc; - llist_for_each_entry(ggc, &sgsn_ggsn_ctxts, list) { + llist_for_each_entry(ggc, &sgsn->ggsn_list, list) { if (id == ggc->id) return ggc; } @@ -100,7 +100,7 @@ struct sgsn_ggsn_ctx *sgsn_ggsn_ctx_by_addr(struct in_addr *addr) { struct sgsn_ggsn_ctx *ggc; - llist_for_each_entry(ggc, &sgsn_ggsn_ctxts, list) { + llist_for_each_entry(ggc, &sgsn->ggsn_list, list) { if (!memcmp(addr, &ggc->remote_addr, sizeof(*addr))) return ggc; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 4affa9f20..b678f07ed 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -252,7 +252,7 @@ static int config_write_sgsn(struct vty *vty) vty_out(vty, " gtp local-ip %s%s", inet_ntoa(g_cfg->gtp_listenaddr.sin_addr), VTY_NEWLINE); - llist_for_each_entry(gctx, &sgsn_ggsn_ctxts, list) { + llist_for_each_entry(gctx, &sgsn->ggsn_list, list) { if (gctx->id == UINT32_MAX) continue; -- cgit v1.2.3