neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/31633 )


Change subject: drop gsm_pchan_ids, use sanitized FSM ids instead
......................................................................

drop gsm_pchan_ids, use sanitized FSM ids instead

gsm_pchan_ids[] exists only to compose osmo_fsm compliant IDs. We do
have osmo_fsm_inst_update_id_f_sanitize() now, rather use that.

This removes some confusion about which value_string array has an effect
on the VTY command 'ts' / 'phys_chan_config'.

Note that tests/bsc_test.ok does not change, hence the new way of
composing FSM IDs is identical to using the old gsm_pchan_ids[].

Change-Id: Ib85b7aa4ea882ae37919dd3ea0c033e949c083e5
---
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/assignment_fsm.c
M src/osmo-bsc/gsm_data.c
M src/osmo-bsc/lchan_fsm.c
M src/osmo-bsc/timeslot_fsm.c
5 files changed, 35 insertions(+), 35 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/31633/1

diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index b2aa590..cf66a04 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -806,10 +806,7 @@
 extern const struct value_string gsm_chreq_descs[];
 extern const struct value_string gsm_pchant_names[];
 extern const struct value_string gsm_pchant_descs[];
-extern const struct value_string gsm_pchan_ids[];
 const char *gsm_pchan_name(enum gsm_phys_chan_config c);
-static inline const char *gsm_pchan_id(enum gsm_phys_chan_config c)
-{ return get_value_string(gsm_pchan_ids, c); }
 enum gsm_phys_chan_config gsm_pchan_parse(const char *name);
 const char *gsm_chreq_name(enum gsm_chreq_reason_t c);
 char *gsm_ts_name(const struct gsm_bts_trx_ts *ts);
diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c
index 2be11ae..dc136f4 100644
--- a/src/osmo-bsc/assignment_fsm.c
+++ b/src/osmo-bsc/assignment_fsm.c
@@ -313,15 +313,16 @@
                return;
        }

-       osmo_fsm_inst_update_id_f(conn->assignment.fi, 
"%s_%u-%u-%u-%s%s%s-%s%u",
-                                 conn->fi->id,
-                                 new_lchan->ts->trx->bts->nr, 
new_lchan->ts->trx->nr, new_lchan->ts->nr,
-                                 gsm_pchan_id(new_lchan->ts->pchan_on_init),
-                                 (new_lchan->ts->pchan_on_init == 
new_lchan->ts->pchan_is)? "" : "as",
-                                 (new_lchan->ts->pchan_on_init == 
new_lchan->ts->pchan_is)? ""
-                                         : 
gsm_pchan_id(new_lchan->ts->pchan_is),
-                                 new_lchan->vamos.is_secondary ? "shadow" : "",
-                                 new_lchan->nr - 
(new_lchan->vamos.is_secondary ? new_lchan->ts->max_primary_lchans : 0));
+       osmo_fsm_inst_update_id_f_sanitize(conn->assignment.fi, '_', 
"%s_%u-%u-%u-%s%s%s-%s%u",
+                                          conn->fi->id,
+                                          new_lchan->ts->trx->bts->nr, 
new_lchan->ts->trx->nr, new_lchan->ts->nr,
+                                          
gsm_pchan_name(new_lchan->ts->pchan_on_init),
+                                          (new_lchan->ts->pchan_on_init == 
new_lchan->ts->pchan_is) ? "" : "as",
+                                          (new_lchan->ts->pchan_on_init == 
new_lchan->ts->pchan_is) ?
+                                               "" : 
gsm_pchan_name(new_lchan->ts->pchan_is),
+                                          new_lchan->vamos.is_secondary ? 
"shadow" : "",
+                                          new_lchan->nr - 
(new_lchan->vamos.is_secondary ?
+                                                           
new_lchan->ts->max_primary_lchans : 0));
 }

 static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct 
channel_mode_and_rate *ch_mode_rate)
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index 33a878b..b2d3c1f 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -195,22 +195,6 @@
        { 0,                    NULL }
 };

-const struct value_string gsm_pchan_ids[] = {
-       { GSM_PCHAN_NONE,       "NONE" },
-       { GSM_PCHAN_CCCH,       "CCCH" },
-       { GSM_PCHAN_CCCH_SDCCH4,"CCCH_SDCCH4" },
-       { GSM_PCHAN_TCH_F,      "TCH_F" },
-       { GSM_PCHAN_TCH_H,      "TCH_H" },
-       { GSM_PCHAN_SDCCH8_SACCH8C, "SDCCH8" },
-       { GSM_PCHAN_PDCH,       "PDCH" },
-       { GSM_PCHAN_TCH_F_PDCH, "TCH_F_PDCH" },
-       { GSM_PCHAN_UNKNOWN,    "UNKNOWN" },
-       { GSM_PCHAN_CCCH_SDCCH4_CBCH, "CCCH_SDCCH4_CBCH" },
-       { GSM_PCHAN_SDCCH8_SACCH8C_CBCH, "SDCCH8_CBCH" },
-       { GSM_PCHAN_OSMO_DYN, "OSMODYN" },
-       { 0,                    NULL }
-};
-
 /* VTY command descriptions. These have to be in the same order as 
gsm_pchant_names[], so that the automatic VTY command
  * composition in bts_trx_vty_init() works out. */
 const struct value_string gsm_pchant_descs[] = {
diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c
index 717f9be..05fcea7 100644
--- a/src/osmo-bsc/lchan_fsm.c
+++ b/src/osmo-bsc/lchan_fsm.c
@@ -452,11 +452,11 @@
        lchan_update_name(lchan);
        if (!lchan->fi)
                return;
-       osmo_fsm_inst_update_id_f(lchan->fi, "%u-%u-%u-%s-%s%u",
-                                 lchan->ts->trx->bts->nr, lchan->ts->trx->nr, 
lchan->ts->nr,
-                                 gsm_pchan_id(lchan->ts->pchan_on_init),
-                                 lchan->vamos.is_secondary ? "shadow" : "",
-                                 lchan->nr - (lchan->vamos.is_secondary ? 
lchan->ts->max_primary_lchans : 0));
+       osmo_fsm_inst_update_id_f_sanitize(lchan->fi, '_', "%u-%u-%u-%s-%s%u",
+                                          lchan->ts->trx->bts->nr, 
lchan->ts->trx->nr, lchan->ts->nr,
+                                          
gsm_pchan_name(lchan->ts->pchan_on_init),
+                                          lchan->vamos.is_secondary ? "shadow" 
: "",
+                                          lchan->nr - 
(lchan->vamos.is_secondary ? lchan->ts->max_primary_lchans : 0));
        if (lchan->fi_rtp)
                osmo_fsm_inst_update_id_f(lchan->fi_rtp, lchan->fi->id);
 }
diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c
index c7f6130..c9902b6 100644
--- a/src/osmo-bsc/timeslot_fsm.c
+++ b/src/osmo-bsc/timeslot_fsm.c
@@ -49,8 +49,8 @@

 static void ts_fsm_update_id(struct gsm_bts_trx_ts *ts)
 {
-       osmo_fsm_inst_update_id_f(ts->fi, "%u-%u-%u-%s", ts->trx->bts->nr, 
ts->trx->nr, ts->nr,
-                                 gsm_pchan_id(ts->pchan_on_init));
+       osmo_fsm_inst_update_id_f_sanitize(ts->fi, '_', "%u-%u-%u-%s", 
ts->trx->bts->nr, ts->trx->nr, ts->nr,
+                                          gsm_pchan_name(ts->pchan_on_init));
 }

 static __attribute__((constructor)) void ts_fsm_init(void)

--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31633
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ib85b7aa4ea882ae37919dd3ea0c033e949c083e5
Gerrit-Change-Number: 31633
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-MessageType: newchange

Reply via email to