<p>lynxis lazus has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/24685">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED<br><br>Original the state was only used as initial state and should be left<br>immediate afterwards. However as the FR and SNS are using this state<br>and the vty will also show it to the user, use a non-confusion state.<br><br>Related: OS#5180<br>Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c<br>---<br>M src/gb/gprs_ns2_fr.c<br>M src/gb/gprs_ns2_internal.h<br>M src/gb/gprs_ns2_sns.c<br>M src/gb/gprs_ns2_vc_fsm.c<br>M src/gb/gprs_ns2_vty.c<br>5 files changed, 27 insertions(+), 27 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/24685/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c</span><br><span>index 3113b00..bbc5361 100644</span><br><span>--- a/src/gb/gprs_ns2_fr.c</span><br><span>+++ b/src/gb/gprs_ns2_fr.c</span><br><span>@@ -189,7 +189,7 @@</span><br><span> if (active) {</span><br><span> ns2_vc_fsm_start(nsvc);</span><br><span> } else {</span><br><span style="color: hsl(0, 100%, 40%);">- ns2_vc_force_unconfigured(nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+ ns2_vc_force_disabled(nsvc);</span><br><span> }</span><br><span> }</span><br><span> </span><br><span>diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h</span><br><span>index 70e212a..e77731b 100644</span><br><span>--- a/src/gb/gprs_ns2_internal.h</span><br><span>+++ b/src/gb/gprs_ns2_internal.h</span><br><span>@@ -409,7 +409,7 @@</span><br><span> struct osmo_fsm_inst *ns2_vc_fsm_alloc(struct gprs_ns2_vc *nsvc,</span><br><span> const char *id, bool initiate);</span><br><span> int ns2_vc_fsm_start(struct gprs_ns2_vc *nsvc);</span><br><span style="color: hsl(0, 100%, 40%);">-int ns2_vc_force_unconfigured(struct gprs_ns2_vc *nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+int ns2_vc_force_disabled(struct gprs_ns2_vc *nsvc);</span><br><span> int ns2_vc_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp);</span><br><span> int ns2_vc_is_alive(struct gprs_ns2_vc *nsvc);</span><br><span> int ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc);</span><br><span>diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c</span><br><span>index 367f77c..ea90846 100644</span><br><span>--- a/src/gb/gprs_ns2_sns.c</span><br><span>+++ b/src/gb/gprs_ns2_sns.c</span><br><span>@@ -2286,7 +2286,7 @@</span><br><span> /* keep the NSVC we need for SNS, but unconfigure it */</span><br><span> nsvc->sig_weight = 0;</span><br><span> nsvc->data_weight = 0;</span><br><span style="color: hsl(0, 100%, 40%);">- ns2_vc_force_unconfigured(nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+ ns2_vc_force_disabled(nsvc);</span><br><span> } else {</span><br><span> /* free all other NS-VCs */</span><br><span> gprs_ns2_free_nsvc(nsvc);</span><br><span>diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c</span><br><span>index 05118b2..36bb3a9 100644</span><br><span>--- a/src/gb/gprs_ns2_vc_fsm.c</span><br><span>+++ b/src/gb/gprs_ns2_vc_fsm.c</span><br><span>@@ -76,10 +76,10 @@</span><br><span> /* The FSM covers both the VC with RESET/BLOCK and without RESET/BLOCK procedure..</span><br><span> *</span><br><span> * With RESET/BLOCK, the state should follow:</span><br><span style="color: hsl(0, 100%, 40%);">- * - UNCONFIGURED -> RESET -> BLOCK -> UNBLOCKED</span><br><span style="color: hsl(120, 100%, 40%);">+ * - DISABLED -> RESET -> BLOCK -> UNBLOCKED</span><br><span> *</span><br><span> * Without RESET/BLOCK, the state should follow:</span><br><span style="color: hsl(0, 100%, 40%);">- * - UNCONFIGURED -> RECOVERY -> UNBLOCKED</span><br><span style="color: hsl(120, 100%, 40%);">+ * - DISABLED -> RECOVERY -> UNBLOCKED</span><br><span> *</span><br><span> * The UNBLOCKED and TEST states are used to send ALIVE PDU using the timeout Tns-test and Tns-alive.</span><br><span> * UNBLOCKED -> TEST: on expire of Tns-Test, send Alive PDU.</span><br><span>@@ -90,7 +90,7 @@</span><br><span> */</span><br><span> </span><br><span> enum gprs_ns2_vc_state {</span><br><span style="color: hsl(0, 100%, 40%);">- GPRS_NS2_ST_UNCONFIGURED,</span><br><span style="color: hsl(120, 100%, 40%);">+ GPRS_NS2_ST_DISABLED,</span><br><span> GPRS_NS2_ST_RESET,</span><br><span> GPRS_NS2_ST_BLOCKED,</span><br><span> GPRS_NS2_ST_UNBLOCKED, /* allows sending NS_UNITDATA */</span><br><span>@@ -114,7 +114,7 @@</span><br><span> </span><br><span> GPRS_NS2_EV_RX_UNITDATA,</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, /* called via vty for tests */</span><br><span style="color: hsl(120, 100%, 40%);">+ GPRS_NS2_EV_REQ_FORCE_DISABLED, /* called via vty for tests */</span><br><span> GPRS_NS2_EV_REQ_OM_RESET, /* vty cmd: reset */</span><br><span> GPRS_NS2_EV_REQ_OM_BLOCK, /* vty cmd: block */</span><br><span> GPRS_NS2_EV_REQ_OM_UNBLOCK, /* vty cmd: unblock*/</span><br><span>@@ -132,7 +132,7 @@</span><br><span> { GPRS_NS2_EV_RX_ALIVE_ACK, "RX-ALIVE_ACK" },</span><br><span> { GPRS_NS2_EV_RX_STATUS, "RX-STATUS" },</span><br><span> { GPRS_NS2_EV_RX_UNITDATA, "RX-UNITDATA" },</span><br><span style="color: hsl(0, 100%, 40%);">- { GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, "REQ-FORCE_UNCONFIGURED" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { GPRS_NS2_EV_REQ_FORCE_DISABLED, "REQ-FORCE-DISABLED" },</span><br><span> { GPRS_NS2_EV_REQ_OM_RESET, "REQ-O&M-RESET"},</span><br><span> { GPRS_NS2_EV_REQ_OM_BLOCK, "REQ-O&M-BLOCK"},</span><br><span> { GPRS_NS2_EV_REQ_OM_UNBLOCK, "REQ-O&M-UNBLOCK"},</span><br><span>@@ -252,12 +252,12 @@</span><br><span> }</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void ns2_st_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state)</span><br><span style="color: hsl(120, 100%, 40%);">+static void ns2_st_disabled_onenter(struct osmo_fsm_inst *fi, uint32_t old_state)</span><br><span> {</span><br><span> stop_test_procedure(fi->priv);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void ns2_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span style="color: hsl(120, 100%, 40%);">+static void ns2_st_disabled(struct osmo_fsm_inst *fi, uint32_t event, void *data)</span><br><span> {</span><br><span> struct gprs_ns2_vc_priv *priv = fi->priv;</span><br><span> struct gprs_ns2_inst *nsi = priv->nsvc->nse->nsi;</span><br><span>@@ -467,20 +467,20 @@</span><br><span> }</span><br><span> </span><br><span> static const struct osmo_fsm_state ns2_vc_states[] = {</span><br><span style="color: hsl(0, 100%, 40%);">- [GPRS_NS2_ST_UNCONFIGURED] = {</span><br><span style="color: hsl(120, 100%, 40%);">+ [GPRS_NS2_ST_DISABLED] = {</span><br><span> .in_event_mask = S(GPRS_NS2_EV_REQ_START),</span><br><span> .out_state_mask = S(GPRS_NS2_ST_RESET) |</span><br><span> S(GPRS_NS2_ST_RECOVERING) |</span><br><span> S(GPRS_NS2_ST_UNBLOCKED),</span><br><span style="color: hsl(0, 100%, 40%);">- .name = "UNCONFIGURED",</span><br><span style="color: hsl(0, 100%, 40%);">- .action = ns2_st_unconfigured,</span><br><span style="color: hsl(0, 100%, 40%);">- .onenter = ns2_st_unconfigured_onenter,</span><br><span style="color: hsl(120, 100%, 40%);">+ .name = "DISABLED",</span><br><span style="color: hsl(120, 100%, 40%);">+ .action = ns2_st_disabled,</span><br><span style="color: hsl(120, 100%, 40%);">+ .onenter = ns2_st_disabled_onenter,</span><br><span> },</span><br><span> [GPRS_NS2_ST_RESET] = {</span><br><span> .in_event_mask = S(GPRS_NS2_EV_RX_RESET_ACK) | S(GPRS_NS2_EV_RX_RESET),</span><br><span> .out_state_mask = S(GPRS_NS2_ST_RESET) |</span><br><span> S(GPRS_NS2_ST_BLOCKED) |</span><br><span style="color: hsl(0, 100%, 40%);">- S(GPRS_NS2_ST_UNCONFIGURED),</span><br><span style="color: hsl(120, 100%, 40%);">+ S(GPRS_NS2_ST_DISABLED),</span><br><span> .name = "RESET",</span><br><span> .action = ns2_st_reset,</span><br><span> .onenter = ns2_st_reset_onenter,</span><br><span>@@ -491,7 +491,7 @@</span><br><span> .out_state_mask = S(GPRS_NS2_ST_RESET) |</span><br><span> S(GPRS_NS2_ST_UNBLOCKED) |</span><br><span> S(GPRS_NS2_ST_BLOCKED) |</span><br><span style="color: hsl(0, 100%, 40%);">- S(GPRS_NS2_ST_UNCONFIGURED),</span><br><span style="color: hsl(120, 100%, 40%);">+ S(GPRS_NS2_ST_DISABLED),</span><br><span> .name = "BLOCKED",</span><br><span> .action = ns2_st_blocked,</span><br><span> .onenter = ns2_st_blocked_onenter,</span><br><span>@@ -501,7 +501,7 @@</span><br><span> S(GPRS_NS2_EV_RX_UNBLOCK),</span><br><span> .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_RECOVERING) |</span><br><span> S(GPRS_NS2_ST_BLOCKED) |</span><br><span style="color: hsl(0, 100%, 40%);">- S(GPRS_NS2_ST_UNCONFIGURED),</span><br><span style="color: hsl(120, 100%, 40%);">+ S(GPRS_NS2_ST_DISABLED),</span><br><span> .name = "UNBLOCKED",</span><br><span> .action = ns2_st_unblocked,</span><br><span> .onenter = ns2_st_unblocked_on_enter,</span><br><span>@@ -512,7 +512,7 @@</span><br><span> .in_event_mask = S(GPRS_NS2_EV_RX_ALIVE_ACK),</span><br><span> .out_state_mask = S(GPRS_NS2_ST_RECOVERING) |</span><br><span> S(GPRS_NS2_ST_UNBLOCKED) |</span><br><span style="color: hsl(0, 100%, 40%);">- S(GPRS_NS2_ST_UNCONFIGURED),</span><br><span style="color: hsl(120, 100%, 40%);">+ S(GPRS_NS2_ST_DISABLED),</span><br><span> .name = "RECOVERING",</span><br><span> .action = ns2_st_alive,</span><br><span> .onenter = ns2_st_alive_onenter,</span><br><span>@@ -638,7 +638,7 @@</span><br><span> break;</span><br><span> case GPRS_NS2_EV_RX_ALIVE:</span><br><span> switch (fi->state) {</span><br><span style="color: hsl(0, 100%, 40%);">- case GPRS_NS2_ST_UNCONFIGURED:</span><br><span style="color: hsl(120, 100%, 40%);">+ case GPRS_NS2_ST_DISABLED:</span><br><span> case GPRS_NS2_ST_RESET:</span><br><span> /* ignore ALIVE */</span><br><span> break;</span><br><span>@@ -682,10 +682,10 @@</span><br><span> </span><br><span> msgb_free(msg);</span><br><span> break;</span><br><span style="color: hsl(0, 100%, 40%);">- case GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED:</span><br><span style="color: hsl(0, 100%, 40%);">- if (fi->state != GPRS_NS2_ST_UNCONFIGURED) {</span><br><span style="color: hsl(120, 100%, 40%);">+ case GPRS_NS2_EV_REQ_FORCE_DISABLED:</span><br><span style="color: hsl(120, 100%, 40%);">+ if (fi->state != GPRS_NS2_ST_DISABLED) {</span><br><span> /* Force the NSVC back to its initial state */</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_UNCONFIGURED, 0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_DISABLED, 0, 0);</span><br><span> return;</span><br><span> }</span><br><span> break;</span><br><span>@@ -722,7 +722,7 @@</span><br><span> S(GPRS_NS2_EV_RX_RESET) |</span><br><span> S(GPRS_NS2_EV_RX_ALIVE) |</span><br><span> S(GPRS_NS2_EV_RX_ALIVE_ACK) |</span><br><span style="color: hsl(0, 100%, 40%);">- S(GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED) |</span><br><span style="color: hsl(120, 100%, 40%);">+ S(GPRS_NS2_EV_REQ_FORCE_DISABLED) |</span><br><span> S(GPRS_NS2_EV_REQ_OM_RESET) |</span><br><span> S(GPRS_NS2_EV_REQ_OM_BLOCK) |</span><br><span> S(GPRS_NS2_EV_REQ_OM_UNBLOCK),</span><br><span>@@ -768,7 +768,7 @@</span><br><span> int ns2_vc_fsm_start(struct gprs_ns2_vc *nsvc)</span><br><span> {</span><br><span> /* allows to call this function even for started nsvc by gprs_ns2_start_alive_all_nsvcs */</span><br><span style="color: hsl(0, 100%, 40%);">- if (nsvc->fi->state == GPRS_NS2_ST_UNCONFIGURED)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (nsvc->fi->state == GPRS_NS2_ST_DISABLED)</span><br><span> return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_START, NULL);</span><br><span> return 0;</span><br><span> }</span><br><span>@@ -776,9 +776,9 @@</span><br><span> /*! Reset a NS-VC FSM.</span><br><span> * \param nsvc the virtual circuit</span><br><span> * \return 0 on success; negative on error */</span><br><span style="color: hsl(0, 100%, 40%);">-int ns2_vc_force_unconfigured(struct gprs_ns2_vc *nsvc)</span><br><span style="color: hsl(120, 100%, 40%);">+int ns2_vc_force_disabled(struct gprs_ns2_vc *nsvc)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+ return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_FORCE_DISABLED, NULL);</span><br><span> }</span><br><span> </span><br><span> /*! Block a NS-VC.</span><br><span>diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c</span><br><span>index 705b60e..819e0c8 100644</span><br><span>--- a/src/gb/gprs_ns2_vty.c</span><br><span>+++ b/src/gb/gprs_ns2_vty.c</span><br><span>@@ -2027,7 +2027,7 @@</span><br><span> </span><br><span> static int nsvc_force_unconf_cb(struct gprs_ns2_vc *nsvc, void *ctx)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- ns2_vc_force_unconfigured(nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+ ns2_vc_force_disabled(nsvc);</span><br><span> ns2_vc_fsm_start(nsvc);</span><br><span> return 0;</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/24685">change 24685</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/libosmocore/+/24685"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c </div>
<div style="display:none"> Gerrit-Change-Number: 24685 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>