<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/15453">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use osmo_tdef to implement ms-idle-time<br><br>This commit would also remove the option from config_write_pcu() since<br>it's automatically filled in by osmo_tdef, but there was actually a bug<br>because that param was never printed when saving the config...<br><br>Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3<br>---<br>M src/bts.cpp<br>M src/bts.h<br>M src/pcu_main.cpp<br>M src/pcu_vty.c<br>M tests/tbf/TbfTest.cpp<br>5 files changed, 15 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/15453/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/bts.cpp b/src/bts.cpp</span><br><span>index 73db8b3..4fce468 100644</span><br><span>--- a/src/bts.cpp</span><br><span>+++ b/src/bts.cpp</span><br><span>@@ -83,6 +83,7 @@</span><br><span>     { .T=-2000, .default_val=2,   .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)",            .val=0 },</span><br><span>      { .T=-2001, .default_val=2,   .unit=OSMO_TDEF_S,  .desc="PACCH assignment timer (s)",               .val=0 },</span><br><span>      { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 },</span><br><span style="color: hsl(120, 100%, 40%);">+       { .T=-2030, .default_val=60,  .unit=OSMO_TDEF_S,  .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */</span><br><span>     {}</span><br><span> };</span><br><span> </span><br><span>@@ -860,7 +861,7 @@</span><br><span>   GprsMs *ms;</span><br><span>  ms = ms_store().create_ms();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        ms->set_timeout(m_bts.ms_idle_sec);</span><br><span style="color: hsl(120, 100%, 40%);">+        ms->set_timeout(osmo_tdef_get(m_bts.T_defs_pcu, -2030, OSMO_TDEF_S, -1));</span><br><span>         ms->set_ms_class(ms_class);</span><br><span>       ms->set_egprs_ms_class(egprs_ms_class);</span><br><span> </span><br><span>diff --git a/src/bts.h b/src/bts.h</span><br><span>index ac909a7..7cc5279 100644</span><br><span>--- a/src/bts.h</span><br><span>+++ b/src/bts.h</span><br><span>@@ -139,7 +139,6 @@</span><br><span>        /* 0 to support resegmentation in DL, 1 for no reseg */</span><br><span>      uint8_t dl_arq_type;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        uint32_t ms_idle_sec;</span><br><span>        uint8_t cs_adj_enabled;</span><br><span>      uint8_t cs_adj_upper_limit;</span><br><span>  uint8_t cs_adj_lower_limit;</span><br><span>diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp</span><br><span>index 6f71ca5..e423718 100644</span><br><span>--- a/src/pcu_main.cpp</span><br><span>+++ b/src/pcu_main.cpp</span><br><span>@@ -207,7 +207,6 @@</span><br><span>       bts->n3105 = 8;</span><br><span>   bts->alpha = 0; /* a = 0.0 */</span><br><span>     bts->si13_is_set = false;</span><br><span style="color: hsl(0, 100%, 40%);">-    bts->ms_idle_sec = 60; /* slightly above T3314 (default 44s, 24.008, 11.2.2) */</span><br><span>   bts->cs_adj_enabled = 1;</span><br><span>  bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */</span><br><span>        bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */</span><br><span>diff --git a/src/pcu_vty.c b/src/pcu_vty.c</span><br><span>index 1185a8c..98d29b6 100644</span><br><span>--- a/src/pcu_vty.c</span><br><span>+++ b/src/pcu_vty.c</span><br><span>@@ -873,27 +873,31 @@</span><br><span> }</span><br><span> </span><br><span> #define MS_IDLE_TIME_STR "keep an idle MS object alive for the time given\n"</span><br><span style="color: hsl(0, 100%, 40%);">-DEFUN(cfg_pcu_ms_idle_time,</span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN_DEPRECATED(cfg_pcu_ms_idle_time,</span><br><span>       cfg_pcu_ms_idle_time_cmd,</span><br><span>       "ms-idle-time <1-7200>",</span><br><span>       MS_IDLE_TIME_STR "idle time in sec")</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        vty_out(vty, "%% 'ms-idle-time' is now deprecated: use 'timer X2030 <val>' instead%s", VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       struct gprs_rlcmac_bts *bts = bts_main_data();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      bts->ms_idle_sec = atoi(argv[0]);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+  if (osmo_tdef_set(bts->T_defs_pcu, -2030, atoi(argv[0]), OSMO_TDEF_S) < 0)</span><br><span style="color: hsl(120, 100%, 40%);">+              return CMD_WARNING;</span><br><span>  return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-DEFUN(cfg_pcu_no_ms_idle_time,</span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN_DEPRECATED(cfg_pcu_no_ms_idle_time,</span><br><span>       cfg_pcu_no_ms_idle_time_cmd,</span><br><span>       "no ms-idle-time",</span><br><span>       NO_STR MS_IDLE_TIME_STR)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+      vty_out(vty, "%% 'no ms-idle-time' is now deprecated: use 'timer X2030 0' instead%s", VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>      struct gprs_rlcmac_bts *bts = bts_main_data();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      bts->ms_idle_sec = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+      if (osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S) < 0)</span><br><span style="color: hsl(120, 100%, 40%);">+          return CMD_WARNING;</span><br><span>  return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp</span><br><span>index 5bf94b5..7241a35 100644</span><br><span>--- a/tests/tbf/TbfTest.cpp</span><br><span>+++ b/tests/tbf/TbfTest.cpp</span><br><span>@@ -155,6 +155,7 @@</span><br><span>  bts->alloc_algorithm = alloc_algorithm_a;</span><br><span>         bts->initial_cs_dl = cs;</span><br><span>  bts->initial_cs_ul = cs;</span><br><span style="color: hsl(120, 100%, 40%);">+   osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S);</span><br><span>    trx = &bts->trx[0];</span><br><span> </span><br><span>       trx->pdch[ts_no].enable();</span><br><span>@@ -501,7 +502,8 @@</span><br><span> </span><br><span>      bts = the_bts.bts_data();</span><br><span>    setup_bts(&the_bts, ts_no);</span><br><span style="color: hsl(0, 100%, 40%);">- bts->ms_idle_sec = 10; /* keep the MS object */</span><br><span style="color: hsl(120, 100%, 40%);">+    /* keep the MS object 10 seconds */</span><br><span style="color: hsl(120, 100%, 40%);">+   OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2030, 10, OSMO_TDEF_S) == 0);</span><br><span> </span><br><span>     gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 2234, 2234, 2234, 1, 1, false, 0, 0, 0);</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/15453">change 15453</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/15453"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 </div>
<div style="display:none"> Gerrit-Change-Number: 15453 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>