<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/25200">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add osmo_tdef groups, exposing T timers on VTY config<br><br>We have two osmocom specific timers used in the BTS, X1 and X2. Expose<br>those on the VTY configuration, as timer group 'rsl'.<br><br>This prepares for a subsequent patch, where I would like to add another<br>configurable timer. This provides the basic infrastructure for that.<br><br>Related: SYS#5559<br>Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64<br>---<br>M include/osmo-bts/gsm_data.h<br>M src/common/bts.c<br>M src/common/gsm_data.c<br>M src/common/vty.c<br>M tests/osmo-bts.vty<br>5 files changed, 34 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/25200/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h</span><br><span>index 55c3bdf..80f1833 100644</span><br><span>--- a/include/osmo-bts/gsm_data.h</span><br><span>+++ b/include/osmo-bts/gsm_data.h</span><br><span>@@ -9,6 +9,7 @@</span><br><span> #include <osmocom/core/statistics.h></span><br><span> #include <osmocom/core/utils.h></span><br><span> #include <osmocom/core/linuxlist.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/tdef.h></span><br><span> #include <osmocom/codec/ecu.h></span><br><span> #include <osmocom/gsm/lapdm.h></span><br><span> #include <osmocom/gsm/gsm23003.h></span><br><span>@@ -521,6 +522,8 @@</span><br><span>  * OML connection will cause a special warning to be logged. */</span><br><span> #define OSMO_BTS_OML_CONN_EARLY_DISCONNECT 10       /* in seconds */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+extern struct osmo_tdef_group bts_tdef_groups[];</span><br><span style="color: hsl(120, 100%, 40%);">+extern struct osmo_tdef bts_T_defs[];</span><br><span> </span><br><span> extern const struct value_string gsm_pchant_names[13];</span><br><span> extern const struct value_string gsm_pchant_descs[13];</span><br><span>diff --git a/src/common/bts.c b/src/common/bts.c</span><br><span>index 48adf42..b6af4c6 100644</span><br><span>--- a/src/common/bts.c</span><br><span>+++ b/src/common/bts.c</span><br><span>@@ -128,7 +128,7 @@</span><br><span>    cbch_ctr_desc</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static struct osmo_tdef bts_T_defs[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+struct osmo_tdef bts_T_defs[] = {</span><br><span>   /* T-1: FIXME: Ideally should be dynamically calculated per trx at</span><br><span>    * shutdown start based on params below, and highest trx value taken:</span><br><span>         * + VTY's power-ramp step-interval.</span><br><span>diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c</span><br><span>index 7eb6ff1..b1f695b 100644</span><br><span>--- a/src/common/gsm_data.c</span><br><span>+++ b/src/common/gsm_data.c</span><br><span>@@ -40,6 +40,11 @@</span><br><span> #include <osmo-bts/bts_trx.h></span><br><span> #include <osmo-bts/logging.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+struct osmo_tdef_group bts_tdef_groups[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+        { .name = "bts", .tdefs = bts_T_defs, .desc = "BTS process timers" },</span><br><span style="color: hsl(120, 100%, 40%);">+     {}</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> const struct value_string gsm_pchant_names[13] = {</span><br><span>       { GSM_PCHAN_NONE,       "NONE" },</span><br><span>  { GSM_PCHAN_CCCH,       "CCCH" },</span><br><span>diff --git a/src/common/vty.c b/src/common/vty.c</span><br><span>index fe506a5..4f618d0 100644</span><br><span>--- a/src/common/vty.c</span><br><span>+++ b/src/common/vty.c</span><br><span>@@ -37,6 +37,7 @@</span><br><span> #include <osmocom/vty/logging.h></span><br><span> #include <osmocom/vty/misc.h></span><br><span> #include <osmocom/vty/ports.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/vty/tdef_vty.h></span><br><span> #include <osmocom/core/gsmtap.h></span><br><span> #include <osmocom/core/utils.h></span><br><span> #include <osmocom/core/sockaddr_str.h></span><br><span>@@ -384,6 +385,7 @@</span><br><span>      llist_for_each_entry(bts, &net->bts_list, list)</span><br><span>               config_write_bts_single(vty, bts);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        osmo_tdef_vty_groups_write(vty, "");</span><br><span>       return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>@@ -2418,6 +2420,9 @@</span><br><span>         install_node(&bts_node, config_write_bts);</span><br><span>       install_element(CONFIG_NODE, &cfg_bts_cmd);</span><br><span>      install_element(CONFIG_NODE, &cfg_vty_telnet_port_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_tdef_vty_groups_init(CONFIG_NODE, bts_tdef_groups);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   install_element(BTS_NODE, &cfg_bts_unit_id_cmd);</span><br><span>         install_element(BTS_NODE, &cfg_bts_oml_ip_cmd);</span><br><span>  install_element(BTS_NODE, &cfg_bts_no_oml_ip_cmd);</span><br><span>diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty</span><br><span>index 4983967..eb10d4d 100644</span><br><span>--- a/tests/osmo-bts.vty</span><br><span>+++ b/tests/osmo-bts.vty</span><br><span>@@ -7,6 +7,7 @@</span><br><span>   show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>]</span><br><span>   show bts <0-255> gprs</span><br><span> ...</span><br><span style="color: hsl(120, 100%, 40%);">+  show timer [(bts)] [TNNNN]</span><br><span>   show e1_driver</span><br><span>   show e1_line [<0-255>] [stats]</span><br><span>   show e1_timeslot [<0-255>] [<0-31>]</span><br><span>@@ -22,6 +23,7 @@</span><br><span>   trx             Display information about a TRX</span><br><span>   timeslot        Display information about a TS</span><br><span>   lchan           Display information about a logical channel</span><br><span style="color: hsl(120, 100%, 40%);">+  timer           Show timers</span><br><span>   e1_driver       Display information about available E1 drivers</span><br><span>   e1_line         Display information about a E1 line</span><br><span>   e1_timeslot     Display information about a E1 timeslot</span><br><span>@@ -59,6 +61,22 @@</span><br><span>   [<0-7>]  Timeslot Number</span><br><span> OsmoBTS> show lchan summary 0 0 0 ?</span><br><span>   [<0-7>]  Logical Channel Number</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS> show timer ?</span><br><span style="color: hsl(120, 100%, 40%);">+  [bts]  BTS process timers</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS> show timer</span><br><span style="color: hsl(120, 100%, 40%);">+bts: X1 = 300 s       Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s)</span><br><span style="color: hsl(120, 100%, 40%);">+bts: X2 = 3 s       Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s)</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS> show timer bts ?</span><br><span style="color: hsl(120, 100%, 40%);">+  [TNNNN]  T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'.</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS> show timer bts</span><br><span style="color: hsl(120, 100%, 40%);">+bts: X1 = 300 s  Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s)</span><br><span style="color: hsl(120, 100%, 40%);">+bts: X2 = 3 s       Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s)</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS> show timer bts X1</span><br><span style="color: hsl(120, 100%, 40%);">+bts: X1 = 300 s  Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s)</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS> show timer bts X2</span><br><span style="color: hsl(120, 100%, 40%);">+bts: X2 = 3 s        Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> OsmoBTS> show e1_driver ?</span><br><span>   <cr>  </span><br><span> OsmoBTS> show e1_line ?</span><br><span>@@ -80,6 +98,7 @@</span><br><span>   show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>]</span><br><span>   show bts <0-255> gprs</span><br><span> ...</span><br><span style="color: hsl(120, 100%, 40%);">+  show timer [(bts)] [TNNNN]</span><br><span>   bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7> rtp jitter-buffer <0-10000></span><br><span>   test send-failure-event-report <0-255></span><br><span>   bts <0-255> c0-power-red <0-6></span><br><span>@@ -99,6 +118,7 @@</span><br><span>   trx             Display information about a TRX</span><br><span>   timeslot        Display information about a TS</span><br><span>   lchan           Display information about a logical channel</span><br><span style="color: hsl(120, 100%, 40%);">+  timer           Show timers</span><br><span>   e1_driver       Display information about available E1 drivers</span><br><span>   e1_line         Display information about a E1 line</span><br><span>   e1_timeslot     Display information about a E1 timeslot</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/25200">change 25200</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-bts/+/25200"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 </div>
<div style="display:none"> Gerrit-Change-Number: 25200 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>