<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>