gbproxy: Rename gbproxy_cfg.nses to gbproxy_cfg.bss_nses

We will soon also have a list of sgsn-side NSEs, and we need to
differentiate those.

Change-Id: If5accec0c70c01b88927ea07beba6f6488bd9d5a
Related: OS#4472
This commit is contained in:
Harald Welte 2020-12-04 23:58:20 +01:00
parent 560bdb37cc
commit 2b7b1bbbdc
6 changed files with 27 additions and 27 deletions

View File

@ -101,8 +101,8 @@ struct gbproxy_config {
/* NS instance of libosmogb */
struct gprs_ns2_inst *nsi;
/* Linked list of all Gb peers (except SGSN) */
struct llist_head nses;
/* Linked list of all BSS side Gb peers */
struct llist_head bss_nses;
/* Counter */
struct rate_ctr_group *ctrg;
@ -175,7 +175,7 @@ struct gbproxy_bvc {
/* one NS Entity that we interact with (BSS/PCU) */
struct gbproxy_nse {
/* linked to gbproxy_config.nses */
/* linked to gbproxy_config.bss_nses */
struct llist_head list;
/* point back to the config */

View File

@ -1203,7 +1203,7 @@ static int gbprox_rx_paging(struct gbproxy_config *cfg, struct msgb *msg, struct
} else if (TLVP_PRES_LEN(tp, BSSGP_IE_ROUTEING_AREA, 6)) {
errctr = GBPROX_GLOB_CTR_INV_RAI;
/* iterate over all bvcs and dispatch the paging to each matching one */
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
llist_for_each_entry(bvc, &nse->bvcs, list) {
if (!memcmp(bvc->ra, TLVP_VAL(tp, BSSGP_IE_ROUTEING_AREA), 6)) {
LOGPNSE(nse, LOGL_INFO, "routing to NSE (RAI match)\n");
@ -1217,7 +1217,7 @@ static int gbprox_rx_paging(struct gbproxy_config *cfg, struct msgb *msg, struct
} else if (TLVP_PRES_LEN(tp, BSSGP_IE_LOCATION_AREA, 5)) {
errctr = GBPROX_GLOB_CTR_INV_LAI;
/* iterate over all bvcs and dispatch the paging to each matching one */
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
llist_for_each_entry(bvc, &nse->bvcs, list) {
if (!memcmp(bvc->ra, TLVP_VAL(tp, BSSGP_IE_LOCATION_AREA), 5)) {
LOGPNSE(nse, LOGL_INFO, "routing to NSE (LAI match)\n");
@ -1230,7 +1230,7 @@ static int gbprox_rx_paging(struct gbproxy_config *cfg, struct msgb *msg, struct
}
} else if (TLVP_PRES_LEN(tp, BSSGP_IE_BSS_AREA_ID, 1)) {
/* iterate over all bvcs and dispatch the paging to each matching one */
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
llist_for_each_entry(bvc, &nse->bvcs, list) {
LOGPNSE(nse, LOGL_INFO, "routing to NSE (broadcast)\n");
gbprox_relay2nse(msg, nse, ns_bvci);
@ -1291,7 +1291,7 @@ static int rx_reset_from_sgsn(struct gbproxy_config *cfg,
* from the SGSN. As the signalling BVCI is shared
* among all the BSS's that we multiplex, it needs to
* be relayed */
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
llist_for_each_entry(bvc, &nse->bvcs, list)
gbprox_relay2peer(msg, bvc, ns_bvci);
}
@ -1425,7 +1425,7 @@ static int gbprox_rx_sig_from_sgsn(struct gbproxy_config *cfg,
LOGP(DGPRS, LOGL_DEBUG,
"NSE(%05u/SGSN) BSSGP %s: broadcasting\n", nsei, bssgp_pdu_str(pdu_type));
/* broadcast to all BSS-side bvcs */
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
gbprox_relay2nse(msg, nse, 0);
}
break;
@ -1620,7 +1620,7 @@ void gbprox_reset(struct gbproxy_config *cfg)
{
struct gbproxy_nse *nse, *ntmp;
llist_for_each_entry_safe(nse, ntmp, &cfg->nses, list) {
llist_for_each_entry_safe(nse, ntmp, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc, *tmp;
llist_for_each_entry_safe(bvc, tmp, &nse->bvcs, list)
gbproxy_bvc_free(bvc);
@ -1636,7 +1636,7 @@ int gbproxy_init_config(struct gbproxy_config *cfg)
{
struct timespec tp;
INIT_LLIST_HEAD(&cfg->nses);
INIT_LLIST_HEAD(&cfg->bss_nses);
cfg->ctrg = rate_ctr_group_alloc(tall_sgsn_ctx, &global_ctrg_desc, 0);
if (!cfg->ctrg) {
LOGP(DGPRS, LOGL_ERROR, "Cannot allocate global counter group!\n");

View File

@ -69,7 +69,7 @@ static int get_nsvc_state(struct ctrl_cmd *cmd, void *data)
gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd);
/* NS-VCs for BSS peers */
llist_for_each_entry(nse_peer, &cfg->nses, list) {
llist_for_each_entry(nse_peer, &cfg->bss_nses, list) {
nse = gprs_ns2_nse_by_nsei(nsi, nse_peer->nsei);
if (nse)
gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd);
@ -87,7 +87,7 @@ static int get_gbproxy_state(struct ctrl_cmd *cmd, void *data)
cmd->reply = talloc_strdup(cmd, "");
llist_for_each_entry(nse_peer, &cfg->nses, list) {
llist_for_each_entry(nse_peer, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse_peer->bvcs, list) {
struct gprs_ra_id raid;
@ -112,7 +112,7 @@ static int get_num_peers(struct ctrl_cmd *cmd, void *data)
struct gbproxy_nse *nse_peer;
uint32_t count = 0;
llist_for_each_entry(nse_peer, &cfg->nses, list)
llist_for_each_entry(nse_peer, &cfg->bss_nses, list)
count += llist_count(&nse_peer->bvcs);
cmd->reply = talloc_strdup(cmd, "");

View File

@ -87,7 +87,7 @@ struct gbproxy_bvc *gbproxy_bvc_by_bvci(struct gbproxy_config *cfg, uint16_t bvc
{
struct gbproxy_nse *nse;
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list) {
if (bvc->bvci == bvci)
@ -103,7 +103,7 @@ struct gbproxy_bvc *gbproxy_bvc_by_nsei(struct gbproxy_config *cfg,
uint16_t nsei)
{
struct gbproxy_nse *nse;
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
if (nse->nsei == nsei && !llist_empty(&nse->bvcs))
return llist_first_entry(&nse->bvcs, struct gbproxy_bvc, list);
}
@ -117,7 +117,7 @@ struct gbproxy_bvc *gbproxy_bvc_by_rai(struct gbproxy_config *cfg,
{
struct gbproxy_nse *nse;
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list) {
if (!memcmp(bvc->ra, ra, 6))
@ -135,7 +135,7 @@ struct gbproxy_bvc *gbproxy_bvc_by_lai(struct gbproxy_config *cfg,
{
struct gbproxy_nse *nse;
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list) {
if (!memcmp(bvc->ra, la, 5))
@ -152,7 +152,7 @@ struct gbproxy_bvc *gbproxy_bvc_by_lac(struct gbproxy_config *cfg,
{
struct gbproxy_nse *nse;
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list) {
if (!memcmp(bvc->ra + 3, la + 3, 2))
@ -272,7 +272,7 @@ int gbproxy_cleanup_bvcs(struct gbproxy_config *cfg, uint16_t nsei, uint16_t bvc
struct gbproxy_nse *nse, *ntmp;
OSMO_ASSERT(cfg);
llist_for_each_entry_safe(nse, ntmp, &cfg->nses, list) {
llist_for_each_entry_safe(nse, ntmp, &cfg->bss_nses, list) {
struct gbproxy_bvc *bvc, *tmp;
if (nse->nsei != nsei)
continue;
@ -300,7 +300,7 @@ struct gbproxy_nse *gbproxy_nse_alloc(struct gbproxy_config *cfg, uint16_t nsei)
nse->nsei = nsei;
nse->cfg = cfg;
llist_add(&nse->list, &cfg->nses);
llist_add(&nse->list, &cfg->bss_nses);
INIT_LLIST_HEAD(&nse->bvcs);
@ -326,7 +326,7 @@ struct gbproxy_nse *gbproxy_nse_by_nsei(struct gbproxy_config *cfg, uint16_t nse
struct gbproxy_nse *nse;
OSMO_ASSERT(cfg);
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
if (nse->nsei == nsei)
return nse;
}

View File

@ -428,7 +428,7 @@ DEFUN(cfg_gbproxy_link_list_clean_stale_timer,
and new frequency is desired to be lower. After initial run, periodic
time is used. Use random() to avoid firing timers for all bvcs at
the same time */
llist_for_each_entry(nse, &g_cfg->nses, list) {
llist_for_each_entry(nse, &g_cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list)
osmo_timer_schedule(&bvc->clean_stale_timer,
@ -447,7 +447,7 @@ DEFUN(cfg_gbproxy_link_list_no_clean_stale_timer,
struct gbproxy_nse *nse;
g_cfg->clean_stale_timer_freq = 0;
llist_for_each_entry(nse, &g_cfg->nses, list) {
llist_for_each_entry(nse, &g_cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list)
osmo_timer_del(&bvc->clean_stale_timer);
@ -584,7 +584,7 @@ DEFUN(show_gbproxy, show_gbproxy_cmd, "show gbproxy [stats]",
if (show_stats)
vty_out_rate_ctr_group(vty, "", g_cfg->ctrg);
llist_for_each_entry(nse, &g_cfg->nses, list) {
llist_for_each_entry(nse, &g_cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list) {
gbprox_vty_print_bvc(vty, bvc);
@ -606,7 +606,7 @@ DEFUN(show_gbproxy_links, show_gbproxy_links_cmd, "show gbproxy links",
osmo_clock_gettime(CLOCK_MONOTONIC, &ts);
now = ts.tv_sec;
llist_for_each_entry(nse, &g_cfg->nses, list) {
llist_for_each_entry(nse, &g_cfg->bss_nses, list) {
struct gbproxy_bvc *bvc;
llist_for_each_entry(bvc, &nse->bvcs, list) {
struct gbproxy_link_info *link_info;
@ -704,7 +704,7 @@ DEFUN(delete_gb_nsei, delete_gb_nsei_cmd,
struct gbproxy_nse *nse;
struct gbproxy_bvc *bvc;
counter = 0;
llist_for_each_entry(nse, &g_cfg->nses, list) {
llist_for_each_entry(nse, &g_cfg->bss_nses, list) {
if (nse->nsei != nsei)
continue;
llist_for_each_entry(bvc, &nse->bvcs, list) {

View File

@ -129,7 +129,7 @@ static int dump_peers(FILE *stream, int indent, time_t now,
return rc;
llist_for_each_entry(nse, &cfg->nses, list) {
llist_for_each_entry(nse, &cfg->bss_nses, list) {
struct gbproxy_bvc *peer;
llist_for_each_entry(peer, &nse->bvcs, list) {
struct gbproxy_link_info *link_info;