arehbein has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30539 )
Change subject: WIP: vty: Add support for ny1 configuration ......................................................................
WIP: vty: Add support for ny1 configuration
Related: OS#5475
Change-Id: I6318cceb4ebdce50005e39e2e9323c1c8433250a --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c 3 files changed, 41 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/30539/1
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 9300dfa..8b9baa0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -40,6 +40,9 @@
#define GSM_T3122_DEFAULT 10
+/* Preliminary, until a better default is found */ +#define GSM_NY1_DEFAULT 10 + struct mgcp_client_conf; struct mgcp_client; struct gsm0808_cell_id; @@ -881,6 +884,9 @@ /* see gsm_network_T_defs */ struct osmo_tdef *T_defs;
+ /* Max. number of retransmission attempts for physical information */ + int ny1; + enum gsm_chan_t ctype_by_chreq[_NUM_CHREQ_T];
/* Use a TCH for handling requests of type paging any */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index cc9de74..4b55820 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2449,6 +2449,37 @@ return osmo_tdef_vty_set_cmd(vty, net->T_defs, mod_argv); }
+DEFUN_ATTR(cfg_net_ny1, cfg_net_ny1_cmd, + "ny1 <0-255>", + "Set ny1 attribute (default is " OSMO_STRINGIFY_VAL(GSM_NY1_DEFAULT) ")\n", + CMD_ATTR_IMMEDIATE) { + if (argc == 0) { + vty_out(vty, "%% Error: Missing integer argument (0-255) for setting ny1%s", VTY_NEWLINE); + return CMD_WARNING; + } + int ny1 = atoi(argv[0]); + if (UINT8_MAX < ny1 || ny1 < 0) { + vty_out(vty, "Error: invalid value for ny1, need unsigned 8 bit integer value%s", VTY_NEWLINE); + return CMD_WARNING; + } + gsmnet_from_vty(vty)->ny1 = ny1; + return CMD_SUCCESS; +} + +static void net_init_ny1(int ntype, struct cmd_element *cmd, struct gsm_network *gsm_net) +{ + install_element(ntype, cmd); + gsm_net->ny1 = GSM_NY1_DEFAULT; +} + +DEFUN(show_ny1, show_ny1_cmd, + "show ny1", + SHOW_STR "Show value of ny1 attribute\n") { + vty_out(vty, "ny1: %d repetitions%s", gsmnet_from_vty(vty)->ny1, VTY_NEWLINE); + return CMD_SUCCESS; +} + + DEFUN(cfg_net_allow_unusable_timeslots, cfg_net_allow_unusable_timeslots_cmd, "allow-unusable-timeslots", "Don't refuse to start with mutually exclusive codec settings\n") @@ -3529,6 +3560,7 @@
/* Timer configuration commands (generic osmo_tdef API) */ osmo_tdef_vty_groups_init(GSMNET_NODE, bsc_tdef_group); + net_init_ny1(GSMNET_NODE, &cfg_net_ny1_cmd, vty_global_gsm_network);
install_element_ve(&bsc_show_net_cmd); install_element_ve(&show_bts_cmd); @@ -3541,6 +3573,7 @@ install_element_ve(&show_lchan_summary_cmd); install_element_ve(&show_lchan_summary_all_cmd); install_element_ve(&show_timer_cmd); + install_element_ve(&show_ny1_cmd);
install_element_ve(&show_subscr_conn_cmd);
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index 0c08616..b79bf70 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -91,8 +91,8 @@ /* BTS Air Timer (3GPP TS 12.21 sec 9.4.10), 10 milliseconds */ msgb_tv_put(msgb, NM_ATT_BTS_AIR_TIMER, osmo_tdef_get(bts->network->T_defs, 3105, OSMO_TDEF_MS, -1)/10);
- /* NY1 (3GPP TS 12.21 sec 9.4.37), 10 retransmissions of physical config */ - msgb_tv_put(msgb, NM_ATT_NY1, 10); + /* NY1 (3GPP TS 12.21 sec 9.4.37), number of retransmissions of physical config */ + msgb_tv_put(msgb, NM_ATT_NY1, bts->network->ny1);
/* BCCH ARFCN (3GPP TS 12.21 sec 9.4.8) */ buf[0] = (bts->c0->arfcn >> 8) & 0x0f;