<p>javi-tic has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/23317">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add vty command for Ericsson sync<br><br>This commit adds support for Selection of syncronization source<br>Options are internal for E1 and external for GPS<br><br>Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb<br>---<br>M include/osmocom/bsc/abis_om2000.h<br>M include/osmocom/bsc/bts.h<br>M src/osmo-bsc/abis_om2000.c<br>M src/osmo-bsc/abis_om2000_vty.c<br>4 files changed, 39 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/23317/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h</span><br><span>index 62aef9d..51ec11b 100644</span><br><span>--- a/include/osmocom/bsc/abis_om2000.h</span><br><span>+++ b/include/osmocom/bsc/abis_om2000.h</span><br><span>@@ -43,6 +43,11 @@</span><br><span>   OM2K_MO_S_DISABLED,</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+enum om2k_sync_src {</span><br><span style="color: hsl(120, 100%, 40%);">+   OM2K_SYNC_SRC_INTERNAL  = 0x00,</span><br><span style="color: hsl(120, 100%, 40%);">+       OM2K_SYNC_SRC_EXTERNAL  = 0x01,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* on-wire format for IS conn group */</span><br><span> struct om2k_is_conn_grp {</span><br><span>         uint16_t icp1;</span><br><span>diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h</span><br><span>index 6b58c7e..70d72a5 100644</span><br><span>--- a/include/osmocom/bsc/bts.h</span><br><span>+++ b/include/osmocom/bsc/bts.h</span><br><span>@@ -378,6 +378,7 @@</span><br><span>                                uint16_t limit;</span><br><span>                              uint16_t active;</span><br><span>                     } om2k_version[16];</span><br><span style="color: hsl(120, 100%, 40%);">+                   int sync_src;</span><br><span>                } rbs2000;</span><br><span>           struct {</span><br><span>                     uint8_t bts_type;</span><br><span>diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c</span><br><span>index 90d558a..edcf8cf 100644</span><br><span>--- a/src/osmo-bsc/abis_om2000.c</span><br><span>+++ b/src/osmo-bsc/abis_om2000.c</span><br><span>@@ -1389,7 +1389,7 @@</span><br><span>       fill_om2k_hdr(o2k, &bts->rbs2000.tf.om2k_mo.addr, OM2K_MSGT_TF_CONF_REQ);</span><br><span> </span><br><span>         msgb_tv_put(msg, OM2K_DEI_TF_MODE, OM2K_TF_MODE_STANDALONE);</span><br><span style="color: hsl(0, 100%, 40%);">-    msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, 0x00);</span><br><span style="color: hsl(120, 100%, 40%);">+ msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, bts->rbs2000.sync_src);</span><br><span>    msgb_tv_fixed_put(msg, OM2K_DEI_FS_OFFSET, sizeof(fs_offset_undef), fs_offset_undef);</span><br><span> </span><br><span>    DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.tf.om2k_mo.addr),</span><br><span>@@ -3103,6 +3103,7 @@</span><br><span> </span><br><span>  bts_fi = om2k_bts_fsm_alloc(bts);</span><br><span>    bts->rbs2000.bts_fi = bts_fi;</span><br><span style="color: hsl(120, 100%, 40%);">+      bts->rbs2000.sync_src = OM2K_SYNC_SRC_INTERNAL;</span><br><span> </span><br><span>       om2k_mo_init(&bts->rbs2000.cf.om2k_mo, OM2K_MO_CLS_CF, bts->nr, 0xFF, 0);</span><br><span>  om2k_mo_fsm_alloc(bts_fi, OM2K_BTS_EVT_CF_DONE, bts->c0, &bts->rbs2000.cf.om2k_mo);</span><br><span>diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c</span><br><span>index ef063a1..7909fc7 100644</span><br><span>--- a/src/osmo-bsc/abis_om2000_vty.c</span><br><span>+++ b/src/osmo-bsc/abis_om2000_vty.c</span><br><span>@@ -81,6 +81,7 @@</span><br><span>                               "Central Function\n"  \</span><br><span>                            "Transmitter\n"               \</span><br><span>                            "Receiver\n"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OM2K_VTY_HELP "Configure OM2K specific parameters\n"</span><br><span> </span><br><span> DEFUN(om2k_class_inst, om2k_class_inst_cmd,</span><br><span>    "bts <0-255> om2000 class " OM2K_OBJCLASS_VTY</span><br><span>@@ -475,10 +476,31 @@</span><br><span>        return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN_USRATTR(cfg_bts_om2k_sync, cfg_bts_om2k_sync_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+       X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK),</span><br><span style="color: hsl(120, 100%, 40%);">+        "om2000 sync-source (internal|external)",</span><br><span style="color: hsl(120, 100%, 40%);">+           OM2K_VTY_HELP</span><br><span style="color: hsl(120, 100%, 40%);">+         "TF Synchronization Source\n"</span><br><span style="color: hsl(120, 100%, 40%);">+       "Use Internal (E1)\n"</span><br><span style="color: hsl(120, 100%, 40%);">+       "USe External (GPS)\n")</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    struct gsm_bts *bts = vty->index;</span><br><span style="color: hsl(120, 100%, 40%);">+  if (bts->type != GSM_BTS_TYPE_RBS2000) {</span><br><span style="color: hsl(120, 100%, 40%);">+           vty_out(vty, "%% Command only works for RBS2000%s",</span><br><span style="color: hsl(120, 100%, 40%);">+                 VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+         return CMD_WARNING;</span><br><span style="color: hsl(120, 100%, 40%);">+   }</span><br><span style="color: hsl(120, 100%, 40%);">+     if (!strcmp(argv[0], "internal"))</span><br><span style="color: hsl(120, 100%, 40%);">+           bts->rbs2000.sync_src = OM2K_SYNC_SRC_INTERNAL;</span><br><span style="color: hsl(120, 100%, 40%);">+    if (!strcmp(argv[0], "external"))</span><br><span style="color: hsl(120, 100%, 40%);">+           bts->rbs2000.sync_src = OM2K_SYNC_SRC_EXTERNAL;</span><br><span style="color: hsl(120, 100%, 40%);">+    return CMD_SUCCESS;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> DEFUN_USRATTR(cfg_bts_om2k_version_limit, cfg_bts_om2k_version_limit_cmd,</span><br><span>              X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK),</span><br><span>               "om2000 version-limit (oml|rsl) gen <0-99> rev <0-99>",</span><br><span style="color: hsl(0, 100%, 40%);">-           "Configure OM2K specific parameters\n"</span><br><span style="color: hsl(120, 100%, 40%);">+              OM2K_VTY_HELP</span><br><span>        "Configure optional maximum protocol version to negotiate\n"</span><br><span>               "Limit OML IWD version\n" "Limit RSL IWD version\n"</span><br><span>              "Generation limit\n"</span><br><span>@@ -656,6 +678,13 @@</span><br><span>                          (bts->rbs2000.om2k_version[i].limit >> 8),</span><br><span>                          (bts->rbs2000.om2k_version[i].limit & 0xff),</span><br><span>                          VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (bts->rbs2000.sync_src >= 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+               vty_out(vty, "  om2000 sync-source %s%s",</span><br><span style="color: hsl(120, 100%, 40%);">+                   bts->rbs2000.sync_src != OM2K_SYNC_SRC_EXTERNAL</span><br><span style="color: hsl(120, 100%, 40%);">+                    ? "internal" : "external",</span><br><span style="color: hsl(120, 100%, 40%);">+                        VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> }</span><br><span> </span><br><span> static void vty_dump_om2k_mo(struct vty *vty, const struct om2k_mo *mo, const char *pfx)</span><br><span>@@ -755,6 +784,7 @@</span><br><span> </span><br><span>   install_element(BTS_NODE, &cfg_bts_is_conn_list_cmd);</span><br><span>    install_element(BTS_NODE, &cfg_bts_alt_mode_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+ install_element(BTS_NODE, &cfg_bts_om2k_sync_cmd);</span><br><span>       install_element(BTS_NODE, &cfg_bts_om2k_version_limit_cmd);</span><br><span>      install_element(BTS_NODE, &cfg_om2k_con_group_cmd);</span><br><span>      install_element(BTS_NODE, &del_om2k_con_group_cmd);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/23317">change 23317</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/+/23317"/><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: Ia3d1acd6b3442238b35fc911092e12a6ac989adb </div>
<div style="display:none"> Gerrit-Change-Number: 23317 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: javi-tic <javi@tic-ac.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>