<p>fixeria <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21839">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">power_control: reflect MS/BS Power difference in the VTY prompt<br><br>Change-Id: I66d414a5f761eeec042a47207fc7d295e073cd10<br>Related: SYS#4918<br>---<br>M src/osmo-bsc/bsc_vty.c<br>M tests/power_ctrl.vty<br>2 files changed, 54 insertions(+), 46 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c</span><br><span>index fe46d45..9bf83e9 100644</span><br><span>--- a/src/osmo-bsc/bsc_vty.c</span><br><span>+++ b/src/osmo-bsc/bsc_vty.c</span><br><span>@@ -4863,10 +4863,18 @@</span><br><span>       POWER_CONTROL_CMD,</span><br><span>       POWER_CONTROL_DESC)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+   struct gsm_power_ctrl_params *params;</span><br><span>        struct gsm_bts *bts = vty->index;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        vty->index = BTS_POWER_CTRL_PARAMS(bts);</span><br><span style="color: hsl(120, 100%, 40%);">+   params = BTS_POWER_CTRL_PARAMS(bts);</span><br><span>         vty->node = POWER_CTRL_NODE;</span><br><span style="color: hsl(120, 100%, 40%);">+       vty->index = params;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Change the prefix to reflect MS/BS difference */</span><br><span style="color: hsl(120, 100%, 40%);">+   if (params->dir == GSM_PWR_CTRL_DIR_UL)</span><br><span style="color: hsl(120, 100%, 40%);">+            power_ctrl_node.prompt = "%s(config-ms-power-ctrl)# ";</span><br><span style="color: hsl(120, 100%, 40%);">+      else</span><br><span style="color: hsl(120, 100%, 40%);">+          power_ctrl_node.prompt = "%s(config-bs-power-ctrl)# ";</span><br><span> </span><br><span>         return CMD_SUCCESS;</span><br><span> }</span><br><span>diff --git a/tests/power_ctrl.vty b/tests/power_ctrl.vty</span><br><span>index 7884c01..2bc427b 100644</span><br><span>--- a/tests/power_ctrl.vty</span><br><span>+++ b/tests/power_ctrl.vty</span><br><span>@@ -20,7 +20,7 @@</span><br><span> ...</span><br><span> </span><br><span> OsmoBSC(config-net-bts)# bs-power-control</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# list with-flags</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# list with-flags</span><br><span> ...</span><br><span>   . lv  mode (static|dyn-bts) [reset]</span><br><span>   . lv  bs-power (static|dyn-max) <0-30></span><br><span>@@ -34,15 +34,15 @@</span><br><span>   . lv  (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median)</span><br><span>   . lv  (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power ?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# bs-power ?</span><br><span>   static   Fixed BS Power reduction value (for static mode)</span><br><span>   dyn-max  Maximum BS Power reduction value (for dynamic mode)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power static ?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# bs-power static ?</span><br><span>   <0-30>  BS Power reduction value (in dB, even numbers only)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power static 3</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# bs-power static 3</span><br><span> % Incorrect BS Power reduction value, an even number is expected</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power static 6</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# bs-power static 6</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span>    mode static</span><br><span>@@ -51,9 +51,9 @@</span><br><span>    mode static</span><br><span> ... !bs-power</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# ### Check default BS Power Parameters</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# mode dyn-bts</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# ### Check default BS Power Parameters</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# mode dyn-bts</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span>    mode dyn-bts</span><br><span>@@ -69,8 +69,8 @@</span><br><span>    mode static</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power dyn-max 30</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# bs-power dyn-max 30</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span>    mode dyn-bts</span><br><span>@@ -80,9 +80,9 @@</span><br><span>    mode static</span><br><span> ... !bs-power</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# exit</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# exit</span><br><span> OsmoBSC(config-net-bts)# ms-power-control</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# list with-flags</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# list with-flags</span><br><span> ...</span><br><span>   . lv  mode (static|dyn-bts) [reset]</span><br><span>   . lv  bs-power (static|dyn-max) <0-30></span><br><span>@@ -96,9 +96,9 @@</span><br><span>   . lv  (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median)</span><br><span>   . lv  (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# ### Check default MS Power Parameters</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# mode dyn-bts</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# ### Check default MS Power Parameters</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# mode dyn-bts</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span>    mode dyn-bts</span><br><span>@@ -121,17 +121,17 @@</span><br><span>    no rxqual-avg</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power static 30</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# bs-power static 30</span><br><span> % This command is only valid for 'bs-power-control' node</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# bs-power dyn-max 30</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# bs-power dyn-max 30</span><br><span> % This command is only valid for 'bs-power-control' node</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# step-size inc 5 red 4</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# step-size inc 5 red 4</span><br><span> % Power change step size must be an even number</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# step-size inc 2 red 3</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# step-size inc 2 red 3</span><br><span> % Power change step size must be an even number</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# step-size inc 2 red 4</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# step-size inc 2 red 4</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span>    mode dyn-bts</span><br><span>@@ -143,16 +143,16 @@</span><br><span>    step-size inc 2 red 4</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-thresh lower?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-thresh lower?</span><br><span>   lower  Lower RxLev value (default is 32, i.e. -78 dBm)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-thresh lower ?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-thresh lower ?</span><br><span>   <0-63>  Lower RxLev value (signal strength, 0 is worst, 63 is best)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-thresh lower 30 upper?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-thresh lower 30 upper?</span><br><span>   upper  Upper RxLev value (default is 38, i.e. -72 dBm)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-thresh lower 30 upper ?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-thresh lower 30 upper ?</span><br><span>   <0-63>  Upper RxLev value (signal strength, 0 is worst, 63 is best)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-thresh lower 30 upper 63</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-thresh lower 30 upper 63</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span> ... !rxlev-thresh</span><br><span>@@ -163,16 +163,16 @@</span><br><span>    rxlev-thresh lower 30 upper 63</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxqual-thresh lower?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxqual-thresh lower?</span><br><span>   lower  Lower RxQual value (default is 0, i.e. BER < 0.2%)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxqual-thresh lower ?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxqual-thresh lower ?</span><br><span>   <0-7>  Lower RxQual value (signal quality, 0 is best, 7 is worst)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxqual-thresh lower 0 upper?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxqual-thresh lower 0 upper?</span><br><span>   upper  Upper RxQual value (default is 3, i.e. 0.8% <= BER < 1.6%)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxqual-thresh lower 0 upper ?</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxqual-thresh lower 0 upper ?</span><br><span>   <0-7>  Upper RxQual value (signal quality, 0 is best, 7 is worst)</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxqual-thresh lower 0 upper 7</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxqual-thresh lower 0 upper 7</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span> ... !rxqual-thresh</span><br><span>@@ -183,9 +183,9 @@</span><br><span>    rxqual-thresh lower 0 upper 7</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-avg algo osmo-ewma beta 50</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxqual-avg algo unweighted</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-avg algo osmo-ewma beta 50</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxqual-avg algo unweighted</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span> ... !(rxlev-avg|rxqual-avg)</span><br><span>@@ -202,10 +202,10 @@</span><br><span>    rxqual-avg params hreqave 4 hreqt 6</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-avg params hreqave 2 hreqt 20</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-avg params hreqave 2 hreqt 20</span><br><span> % Hreqave (2) * Hreqt (20) = 40 must be < 32</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# rxlev-avg params hreqave 2 hreqt 15</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# show running-config</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# rxlev-avg params hreqave 2 hreqt 15</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# show running-config</span><br><span> ...</span><br><span>   bs-power-control</span><br><span> ... !rxlev-avg params</span><br><span>@@ -214,7 +214,7 @@</span><br><span>    rxlev-avg params hreqave 2 hreqt 15</span><br><span> ...</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# exit</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# exit</span><br><span> OsmoBSC(config-net-bts)# ### Disable BS/MS Power Control</span><br><span> OsmoBSC(config-net-bts)# no bs-power-control</span><br><span> OsmoBSC(config-net-bts)# no ms-power-control</span><br><span>@@ -225,14 +225,14 @@</span><br><span> ...</span><br><span> </span><br><span> OsmoBSC(config-net-bts)# bs-power-control</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# mode static reset</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# mode static reset</span><br><span> % Reset to default parameters</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# exit</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-bs-power-ctrl)# exit</span><br><span> </span><br><span> OsmoBSC(config-net-bts)# ms-power-control</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# mode static reset</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# mode static reset</span><br><span> % Reset to default parameters</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoBSC(config-power-ctrl)# exit</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-ms-power-ctrl)# exit</span><br><span> </span><br><span> OsmoBSC(config-net-bts)# show running-config</span><br><span> ...</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21839">change 21839</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-bsc/+/21839"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I66d414a5f761eeec042a47207fc7d295e073cd10 </div>
<div style="display:none"> Gerrit-Change-Number: 21839 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>