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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gprs_ns2: move sns_event into internal.h to direct emit events<br><br>When other parts of ns2 requires to emit an event to the SNS fsm it would<br>need a proxy function because the events are private to the<br>SNS file. To circumvent creating multiple proxy function make the events<br>available via a header file.<br><br>Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc<br>---<br>M src/gb/gprs_ns2_internal.h<br>M src/gb/gprs_ns2_sns.c<br>2 files changed, 92 insertions(+), 92 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h</span><br><span>index 95efbae..6096263 100644</span><br><span>--- a/src/gb/gprs_ns2_internal.h</span><br><span>+++ b/src/gb/gprs_ns2_internal.h</span><br><span>@@ -320,6 +320,23 @@</span><br><span>        void (*free_bind)(struct gprs_ns2_vc_bind *driver);</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+enum ns2_sns_event {</span><br><span style="color: hsl(120, 100%, 40%);">+   NS2_SNS_EV_REQ_SELECT_ENDPOINT, /*!< Select a SNS endpoint from the list */</span><br><span style="color: hsl(120, 100%, 40%);">+        NS2_SNS_EV_RX_SIZE,</span><br><span style="color: hsl(120, 100%, 40%);">+   NS2_SNS_EV_RX_SIZE_ACK,</span><br><span style="color: hsl(120, 100%, 40%);">+       NS2_SNS_EV_RX_CONFIG,</span><br><span style="color: hsl(120, 100%, 40%);">+ NS2_SNS_EV_RX_CONFIG_END,               /*!< SNS-CONFIG with end flag received */</span><br><span style="color: hsl(120, 100%, 40%);">+  NS2_SNS_EV_RX_CONFIG_ACK,</span><br><span style="color: hsl(120, 100%, 40%);">+     NS2_SNS_EV_RX_ADD,</span><br><span style="color: hsl(120, 100%, 40%);">+    NS2_SNS_EV_RX_DELETE,</span><br><span style="color: hsl(120, 100%, 40%);">+ NS2_SNS_EV_RX_CHANGE_WEIGHT,</span><br><span style="color: hsl(120, 100%, 40%);">+  NS2_SNS_EV_RX_ACK,                      /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */</span><br><span style="color: hsl(120, 100%, 40%);">+   NS2_SNS_EV_REQ_NO_NSVC,         /*!< no more NS-VC remaining (all dead) */</span><br><span style="color: hsl(120, 100%, 40%);">+ NS2_SNS_EV_REQ_NSVC_ALIVE,              /*!< a NS-VC became alive */</span><br><span style="color: hsl(120, 100%, 40%);">+       NS2_SNS_EV_REQ_ADD_BIND,                /*!< add a new local bind to this NSE */</span><br><span style="color: hsl(120, 100%, 40%);">+   NS2_SNS_EV_REQ_DELETE_BIND,             /*!< remove a local bind from this NSE */</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind,</span><br><span>                              struct msgb *msg,</span><br><span>                            const struct osmo_sockaddr *remote,</span><br><span>diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c</span><br><span>index a9ace5f..181d1a3 100644</span><br><span>--- a/src/gb/gprs_ns2_sns.c</span><br><span>+++ b/src/gb/gprs_ns2_sns.c</span><br><span>@@ -72,38 +72,21 @@</span><br><span>    GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK,       /* !< SGSN role: Wait for CONFIG-ACK from BSS */</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-enum gprs_sns_event {</span><br><span style="color: hsl(0, 100%, 40%);">-      GPRS_SNS_EV_REQ_SELECT_ENDPOINT,        /*!< Select a SNS endpoint from the list */</span><br><span style="color: hsl(0, 100%, 40%);">-  GPRS_SNS_EV_RX_SIZE,</span><br><span style="color: hsl(0, 100%, 40%);">-    GPRS_SNS_EV_RX_SIZE_ACK,</span><br><span style="color: hsl(0, 100%, 40%);">-        GPRS_SNS_EV_RX_CONFIG,</span><br><span style="color: hsl(0, 100%, 40%);">-  GPRS_SNS_EV_RX_CONFIG_END,              /*!< SNS-CONFIG with end flag received */</span><br><span style="color: hsl(0, 100%, 40%);">-    GPRS_SNS_EV_RX_CONFIG_ACK,</span><br><span style="color: hsl(0, 100%, 40%);">-      GPRS_SNS_EV_RX_ADD,</span><br><span style="color: hsl(0, 100%, 40%);">-     GPRS_SNS_EV_RX_DELETE,</span><br><span style="color: hsl(0, 100%, 40%);">-  GPRS_SNS_EV_RX_CHANGE_WEIGHT,</span><br><span style="color: hsl(0, 100%, 40%);">-   GPRS_SNS_EV_RX_ACK,                     /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */</span><br><span style="color: hsl(0, 100%, 40%);">-     GPRS_SNS_EV_REQ_NO_NSVC,                /*!< no more NS-VC remaining (all dead) */</span><br><span style="color: hsl(0, 100%, 40%);">-   GPRS_SNS_EV_REQ_NSVC_ALIVE,             /*!< a NS-VC became alive */</span><br><span style="color: hsl(0, 100%, 40%);">- GPRS_SNS_EV_REQ_ADD_BIND,               /*!< add a new local bind to this NSE */</span><br><span style="color: hsl(0, 100%, 40%);">-     GPRS_SNS_EV_REQ_DELETE_BIND,            /*!< remove a local bind from this NSE */</span><br><span style="color: hsl(0, 100%, 40%);">-};</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> static const struct value_string gprs_sns_event_names[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-   { GPRS_SNS_EV_REQ_SELECT_ENDPOINT,      "REQ_SELECT_ENDPOINT" },</span><br><span style="color: hsl(0, 100%, 40%);">-      { GPRS_SNS_EV_RX_SIZE,                  "RX_SIZE" },</span><br><span style="color: hsl(0, 100%, 40%);">-  { GPRS_SNS_EV_RX_SIZE_ACK,              "RX_SIZE_ACK" },</span><br><span style="color: hsl(0, 100%, 40%);">-      { GPRS_SNS_EV_RX_CONFIG,                "RX_CONFIG" },</span><br><span style="color: hsl(0, 100%, 40%);">-        { GPRS_SNS_EV_RX_CONFIG_END,            "RX_CONFIG_END" },</span><br><span style="color: hsl(0, 100%, 40%);">-    { GPRS_SNS_EV_RX_CONFIG_ACK,            "RX_CONFIG_ACK" },</span><br><span style="color: hsl(0, 100%, 40%);">-    { GPRS_SNS_EV_RX_ADD,                   "RX_ADD" },</span><br><span style="color: hsl(0, 100%, 40%);">-   { GPRS_SNS_EV_RX_DELETE,                "RX_DELETE" },</span><br><span style="color: hsl(0, 100%, 40%);">-        { GPRS_SNS_EV_RX_ACK,                   "RX_ACK" },</span><br><span style="color: hsl(0, 100%, 40%);">-   { GPRS_SNS_EV_RX_CHANGE_WEIGHT,         "RX_CHANGE_WEIGHT" },</span><br><span style="color: hsl(0, 100%, 40%);">- { GPRS_SNS_EV_REQ_NO_NSVC,              "REQ_NO_NSVC" },</span><br><span style="color: hsl(0, 100%, 40%);">-      { GPRS_SNS_EV_REQ_NSVC_ALIVE,           "REQ_NSVC_ALIVE"},</span><br><span style="color: hsl(0, 100%, 40%);">-    { GPRS_SNS_EV_REQ_ADD_BIND,             "REQ_ADD_BIND"},</span><br><span style="color: hsl(0, 100%, 40%);">-      { GPRS_SNS_EV_REQ_DELETE_BIND,          "REQ_DELETE_BIND"},</span><br><span style="color: hsl(120, 100%, 40%);">+ { NS2_SNS_EV_REQ_SELECT_ENDPOINT,       "REQ_SELECT_ENDPOINT" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { NS2_SNS_EV_RX_SIZE,                   "RX_SIZE" },</span><br><span style="color: hsl(120, 100%, 40%);">+        { NS2_SNS_EV_RX_SIZE_ACK,               "RX_SIZE_ACK" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { NS2_SNS_EV_RX_CONFIG,         "RX_CONFIG" },</span><br><span style="color: hsl(120, 100%, 40%);">+      { NS2_SNS_EV_RX_CONFIG_END,             "RX_CONFIG_END" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { NS2_SNS_EV_RX_CONFIG_ACK,             "RX_CONFIG_ACK" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { NS2_SNS_EV_RX_ADD,                    "RX_ADD" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { NS2_SNS_EV_RX_DELETE,         "RX_DELETE" },</span><br><span style="color: hsl(120, 100%, 40%);">+      { NS2_SNS_EV_RX_ACK,                    "RX_ACK" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { NS2_SNS_EV_RX_CHANGE_WEIGHT,          "RX_CHANGE_WEIGHT" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { NS2_SNS_EV_REQ_NO_NSVC,               "REQ_NO_NSVC" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { NS2_SNS_EV_REQ_NSVC_ALIVE,            "REQ_NSVC_ALIVE"},</span><br><span style="color: hsl(120, 100%, 40%);">+  { NS2_SNS_EV_REQ_ADD_BIND,              "REQ_ADD_BIND"},</span><br><span style="color: hsl(120, 100%, 40%);">+    { NS2_SNS_EV_REQ_DELETE_BIND,           "REQ_DELETE_BIND"},</span><br><span>        { 0, NULL }</span><br><span> };</span><br><span> </span><br><span>@@ -187,7 +170,7 @@</span><br><span>          else</span><br><span>                         _osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0, file, line);</span><br><span>    } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                _osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL, file, line);</span><br><span style="color: hsl(120, 100%, 40%);">+               _osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_REQ_SELECT_ENDPOINT, NULL, file, line);</span><br><span>       }</span><br><span> }</span><br><span> </span><br><span>@@ -306,7 +289,7 @@</span><br><span>             }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_NO_NSVC, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_REQ_NO_NSVC, NULL);</span><br><span> }</span><br><span> </span><br><span> static void ns2_clear_elems(struct ns2_sns_elems *elems)</span><br><span>@@ -752,7 +735,7 @@</span><br><span>         OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS);</span><br><span> </span><br><span>  switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_SIZE_ACK:</span><br><span style="color: hsl(120, 100%, 40%);">+ case NS2_SNS_EV_RX_SIZE_ACK:</span><br><span>                 tp = data;</span><br><span>           if (TLVP_VAL_MINLEN(tp, NS_IE_CAUSE, 1)) {</span><br><span>                   LOGPFSML(fi, LOGL_ERROR, "SNS-SIZE-ACK with cause %s\n",</span><br><span>@@ -951,7 +934,7 @@</span><br><span>     OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS);</span><br><span> </span><br><span>  switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_CONFIG_ACK:</span><br><span style="color: hsl(120, 100%, 40%);">+       case NS2_SNS_EV_RX_CONFIG_ACK:</span><br><span>               tp = (struct tlv_parsed *) data;</span><br><span>             if (TLVP_VAL_MINLEN(tp, NS_IE_CAUSE, 1)) {</span><br><span>                   LOGPFSML(fi, LOGL_ERROR, "SNS-CONFIG-ACK with cause %s\n",</span><br><span>@@ -1073,8 +1056,8 @@</span><br><span>         OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS);</span><br><span> </span><br><span>  switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_CONFIG_END:</span><br><span style="color: hsl(0, 100%, 40%);">- case GPRS_SNS_EV_RX_CONFIG:</span><br><span style="color: hsl(120, 100%, 40%);">+   case NS2_SNS_EV_RX_CONFIG_END:</span><br><span style="color: hsl(120, 100%, 40%);">+        case NS2_SNS_EV_RX_CONFIG:</span><br><span>           rc = ns_sns_append_remote_eps(fi, data);</span><br><span>             if (rc < 0) {</span><br><span>                     cause = -rc;</span><br><span>@@ -1082,7 +1065,7 @@</span><br><span>                         osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0);</span><br><span>                         return;</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-               if (event == GPRS_SNS_EV_RX_CONFIG_END) {</span><br><span style="color: hsl(120, 100%, 40%);">+             if (event == NS2_SNS_EV_RX_CONFIG_END) {</span><br><span>                     /* check if sum of data / sig weights == 0 */</span><br><span>                        if (ip46_weight_sum_data(&gss->remote) == 0 || ip46_weight_sum_sig(&gss->remote) == 0) {</span><br><span>                               cause = NS_CAUSE_INVAL_WEIGH;</span><br><span>@@ -1106,7 +1089,7 @@</span><br><span>        }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* called when receiving GPRS_SNS_EV_RX_ADD in state configure */</span><br><span style="color: hsl(120, 100%, 40%);">+/* called when receiving NS2_SNS_EV_RX_ADD in state configure */</span><br><span> static void ns2_sns_st_configured_add(struct osmo_fsm_inst *fi,</span><br><span>                                   struct ns2_sns_state *gss,</span><br><span>                                   struct tlv_parsed *tp)</span><br><span>@@ -1349,16 +1332,16 @@</span><br><span>       struct tlv_parsed *tp = data;</span><br><span> </span><br><span>    switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_ADD:</span><br><span style="color: hsl(120, 100%, 40%);">+      case NS2_SNS_EV_RX_ADD:</span><br><span>              ns2_sns_st_configured_add(fi, gss, tp);</span><br><span>              break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GPRS_SNS_EV_RX_DELETE:</span><br><span style="color: hsl(120, 100%, 40%);">+   case NS2_SNS_EV_RX_DELETE:</span><br><span>           ns2_sns_st_configured_delete(fi, gss, tp);</span><br><span>           break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GPRS_SNS_EV_RX_CHANGE_WEIGHT:</span><br><span style="color: hsl(120, 100%, 40%);">+    case NS2_SNS_EV_RX_CHANGE_WEIGHT:</span><br><span>            ns2_sns_st_configured_change(fi, gss, tp);</span><br><span>           break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GPRS_SNS_EV_REQ_NSVC_ALIVE:</span><br><span style="color: hsl(120, 100%, 40%);">+      case NS2_SNS_EV_REQ_NSVC_ALIVE:</span><br><span>              osmo_timer_del(&fi->timer);</span><br><span>           break;</span><br><span>       }</span><br><span>@@ -1395,7 +1378,7 @@</span><br><span>            .action = ns2_sns_st_bss_unconfigured,</span><br><span>       },</span><br><span>   [GPRS_SNS_ST_BSS_SIZE] = {</span><br><span style="color: hsl(0, 100%, 40%);">-              .in_event_mask = S(GPRS_SNS_EV_RX_SIZE_ACK),</span><br><span style="color: hsl(120, 100%, 40%);">+          .in_event_mask = S(NS2_SNS_EV_RX_SIZE_ACK),</span><br><span>          .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) |</span><br><span>                                S(GPRS_SNS_ST_BSS_SIZE) |</span><br><span>                            S(GPRS_SNS_ST_BSS_CONFIG_BSS),</span><br><span>@@ -1404,7 +1387,7 @@</span><br><span>             .onenter = ns2_sns_st_bss_size_onenter,</span><br><span>      },</span><br><span>   [GPRS_SNS_ST_BSS_CONFIG_BSS] = {</span><br><span style="color: hsl(0, 100%, 40%);">-                .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK),</span><br><span style="color: hsl(120, 100%, 40%);">+                .in_event_mask = S(NS2_SNS_EV_RX_CONFIG_ACK),</span><br><span>                .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) |</span><br><span>                                S(GPRS_SNS_ST_BSS_CONFIG_BSS) |</span><br><span>                              S(GPRS_SNS_ST_BSS_CONFIG_SGSN) |</span><br><span>@@ -1414,8 +1397,8 @@</span><br><span>           .onenter = ns2_sns_st_bss_config_bss_onenter,</span><br><span>        },</span><br><span>   [GPRS_SNS_ST_BSS_CONFIG_SGSN] = {</span><br><span style="color: hsl(0, 100%, 40%);">-               .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) |</span><br><span style="color: hsl(0, 100%, 40%);">-                              S(GPRS_SNS_EV_RX_CONFIG_END),</span><br><span style="color: hsl(120, 100%, 40%);">+                .in_event_mask = S(NS2_SNS_EV_RX_CONFIG) |</span><br><span style="color: hsl(120, 100%, 40%);">+                             S(NS2_SNS_EV_RX_CONFIG_END),</span><br><span>                .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) |</span><br><span>                                S(GPRS_SNS_ST_BSS_CONFIG_SGSN) |</span><br><span>                             S(GPRS_SNS_ST_CONFIGURED) |</span><br><span>@@ -1425,10 +1408,10 @@</span><br><span>              .onenter = ns2_sns_st_bss_config_sgsn_onenter,</span><br><span>       },</span><br><span>   [GPRS_SNS_ST_CONFIGURED] = {</span><br><span style="color: hsl(0, 100%, 40%);">-            .in_event_mask = S(GPRS_SNS_EV_RX_ADD) |</span><br><span style="color: hsl(0, 100%, 40%);">-                                 S(GPRS_SNS_EV_RX_DELETE) |</span><br><span style="color: hsl(0, 100%, 40%);">-                              S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) |</span><br><span style="color: hsl(0, 100%, 40%);">-                               S(GPRS_SNS_EV_REQ_NSVC_ALIVE),</span><br><span style="color: hsl(120, 100%, 40%);">+               .in_event_mask = S(NS2_SNS_EV_RX_ADD) |</span><br><span style="color: hsl(120, 100%, 40%);">+                                S(NS2_SNS_EV_RX_DELETE) |</span><br><span style="color: hsl(120, 100%, 40%);">+                             S(NS2_SNS_EV_RX_CHANGE_WEIGHT) |</span><br><span style="color: hsl(120, 100%, 40%);">+                              S(NS2_SNS_EV_REQ_NSVC_ALIVE),</span><br><span>               .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) |</span><br><span>                                S(GPRS_SNS_ST_BSS_SIZE),</span><br><span>           .name = "CONFIGURED",</span><br><span>@@ -1481,11 +1464,11 @@</span><br><span>    struct gprs_ns2_vc *nsvc, *nsvc2;</span><br><span> </span><br><span>        switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_REQ_ADD_BIND:</span><br><span style="color: hsl(120, 100%, 40%);">+        case NS2_SNS_EV_REQ_ADD_BIND:</span><br><span>                sbind = data;</span><br><span>                switch (fi->state) {</span><br><span>              case GPRS_SNS_ST_UNCONFIGURED:</span><br><span style="color: hsl(0, 100%, 40%);">-                  osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+                    osmo_fsm_inst_dispatch(nse->bss_sns_fi, NS2_SNS_EV_REQ_SELECT_ENDPOINT, NULL);</span><br><span>                    break;</span><br><span>               case GPRS_SNS_ST_BSS_SIZE:</span><br><span>                   /* TODO: add the ip4 element to the list */</span><br><span>@@ -1497,7 +1480,7 @@</span><br><span>                  break;</span><br><span>               }</span><br><span>            break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GPRS_SNS_EV_REQ_DELETE_BIND:</span><br><span style="color: hsl(120, 100%, 40%);">+     case NS2_SNS_EV_REQ_DELETE_BIND:</span><br><span>             sbind = data;</span><br><span>                switch (fi->state) {</span><br><span>              case GPRS_SNS_ST_UNCONFIGURED:</span><br><span>@@ -1582,16 +1565,16 @@</span><br><span>     struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv;</span><br><span>    struct gprs_ns2_nse *nse = nse_inst_from_fi(fi);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */</span><br><span style="color: hsl(120, 100%, 40%);">+    /* reset when receiving NS2_SNS_EV_REQ_NO_NSVC */</span><br><span>    switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_REQ_NO_NSVC:</span><br><span style="color: hsl(120, 100%, 40%);">+ case NS2_SNS_EV_REQ_NO_NSVC:</span><br><span>                 /* ignore reselection running */</span><br><span>             if (gss->reselection_running)</span><br><span>                     break;</span><br><span> </span><br><span>           sns_failed(fi, "no remaining NSVC, resetting SNS FSM");</span><br><span>            break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GPRS_SNS_EV_REQ_SELECT_ENDPOINT:</span><br><span style="color: hsl(120, 100%, 40%);">+ case NS2_SNS_EV_REQ_SELECT_ENDPOINT:</span><br><span>                 /* tear down previous state</span><br><span>           * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */</span><br><span>                 gss->reselection_running = true;</span><br><span>@@ -1629,10 +1612,10 @@</span><br><span>        .name = "GPRS-NS2-SNS-BSS",</span><br><span>        .states = ns2_sns_bss_states,</span><br><span>        .num_states = ARRAY_SIZE(ns2_sns_bss_states),</span><br><span style="color: hsl(0, 100%, 40%);">-   .allstate_event_mask = S(GPRS_SNS_EV_REQ_NO_NSVC) |</span><br><span style="color: hsl(0, 100%, 40%);">-                            S(GPRS_SNS_EV_REQ_SELECT_ENDPOINT) |</span><br><span style="color: hsl(0, 100%, 40%);">-                            S(GPRS_SNS_EV_REQ_ADD_BIND) |</span><br><span style="color: hsl(0, 100%, 40%);">-                           S(GPRS_SNS_EV_REQ_DELETE_BIND),</span><br><span style="color: hsl(120, 100%, 40%);">+        .allstate_event_mask = S(NS2_SNS_EV_REQ_NO_NSVC) |</span><br><span style="color: hsl(120, 100%, 40%);">+                           S(NS2_SNS_EV_REQ_SELECT_ENDPOINT) |</span><br><span style="color: hsl(120, 100%, 40%);">+                           S(NS2_SNS_EV_REQ_ADD_BIND) |</span><br><span style="color: hsl(120, 100%, 40%);">+                          S(NS2_SNS_EV_REQ_DELETE_BIND),</span><br><span>        .allstate_action = ns2_sns_st_all_action_bss,</span><br><span>        .cleanup = NULL,</span><br><span>     .timer_cb = ns2_sns_fsm_bss_timer_cb,</span><br><span>@@ -1706,31 +1689,31 @@</span><br><span> </span><br><span>  switch (nsh->pdu_type) {</span><br><span>  case SNS_PDUT_SIZE:</span><br><span style="color: hsl(0, 100%, 40%);">-             osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_SIZE, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+          osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_SIZE, tp);</span><br><span>          break;</span><br><span>       case SNS_PDUT_SIZE_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">-         osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_SIZE_ACK, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+              osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_SIZE_ACK, tp);</span><br><span>              break;</span><br><span>       case SNS_PDUT_CONFIG:</span><br><span>                if (nsh->data[0] & 0x01)</span><br><span style="color: hsl(0, 100%, 40%);">-                 osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CONFIG_END, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+                    osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_CONFIG_END, tp);</span><br><span>            else</span><br><span style="color: hsl(0, 100%, 40%);">-                    osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CONFIG, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+                        osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_CONFIG, tp);</span><br><span>                break;</span><br><span>       case SNS_PDUT_CONFIG_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CONFIG_ACK, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_CONFIG_ACK, tp);</span><br><span>            break;</span><br><span>       case SNS_PDUT_ADD:</span><br><span style="color: hsl(0, 100%, 40%);">-              osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_ADD, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+           osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_ADD, tp);</span><br><span>           break;</span><br><span>       case SNS_PDUT_DELETE:</span><br><span style="color: hsl(0, 100%, 40%);">-           osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_DELETE, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+                osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_DELETE, tp);</span><br><span>                break;</span><br><span>       case SNS_PDUT_CHANGE_WEIGHT:</span><br><span style="color: hsl(0, 100%, 40%);">-            osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CHANGE_WEIGHT, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+         osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_CHANGE_WEIGHT, tp);</span><br><span>                 break;</span><br><span>       case SNS_PDUT_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">-              osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_ACK, tp);</span><br><span style="color: hsl(120, 100%, 40%);">+           osmo_fsm_inst_dispatch(fi, NS2_SNS_EV_RX_ACK, tp);</span><br><span>           break;</span><br><span>       default:</span><br><span>             LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown SNS PDU type %s\n", nsei,</span><br><span>@@ -1873,7 +1856,7 @@</span><br><span> </span><br><span>         llist_add_tail(&endpoint->list, &gss->sns_endpoints);</span><br><span>  if (do_selection)</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo_fsm_inst_dispatch(nse->bss_sns_fi, NS2_SNS_EV_REQ_SELECT_ENDPOINT, NULL);</span><br><span> </span><br><span>        return 0;</span><br><span> }</span><br><span>@@ -1909,7 +1892,7 @@</span><br><span>               return 0;</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* gprs_ns2_free_nsvcs() will trigger GPRS_SNS_EV_REQ_NO_NSVC on the last NS-VC</span><br><span style="color: hsl(120, 100%, 40%);">+       /* gprs_ns2_free_nsvcs() will trigger NS2_SNS_EV_REQ_NO_NSVC on the last NS-VC</span><br><span>        * and restart SNS SIZE procedure which selects a new initial */</span><br><span>     LOGNSE(nse, LOGL_INFO, "Current in-use SNS endpoint is being removed."</span><br><span>                           "Closing all NS-VC and restart SNS-SIZE procedure"</span><br><span>@@ -1983,7 +1966,7 @@</span><br><span> </span><br><span>       if (alive) {</span><br><span>                 gss->alive = true;</span><br><span style="color: hsl(0, 100%, 40%);">-           osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_NSVC_ALIVE, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+         osmo_fsm_inst_dispatch(nse->bss_sns_fi, NS2_SNS_EV_REQ_NSVC_ALIVE, NULL);</span><br><span>         } else {</span><br><span>             /* is there at least another alive nsvc? */</span><br><span>          llist_for_each_entry(tmp, &nse->nsvc, list) {</span><br><span>@@ -1993,7 +1976,7 @@</span><br><span> </span><br><span>             /* all NS-VC have failed */</span><br><span>          gss->alive = false;</span><br><span style="color: hsl(0, 100%, 40%);">-          osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_NO_NSVC, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo_fsm_inst_dispatch(nse->bss_sns_fi, NS2_SNS_EV_REQ_NO_NSVC, NULL);</span><br><span>    }</span><br><span> }</span><br><span> </span><br><span>@@ -2023,7 +2006,7 @@</span><br><span>   tmp->bind = bind;</span><br><span>         llist_add_tail(&tmp->list, &gss->binds);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_ADD_BIND, tmp);</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_fsm_inst_dispatch(nse->bss_sns_fi, NS2_SNS_EV_REQ_ADD_BIND, tmp);</span><br><span>    return 0;</span><br><span> }</span><br><span> </span><br><span>@@ -2057,7 +2040,7 @@</span><br><span>   if (!found)</span><br><span>          return -ENOENT;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_DELETE_BIND, tmp);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fsm_inst_dispatch(nse->bss_sns_fi, NS2_SNS_EV_REQ_DELETE_BIND, tmp);</span><br><span>         return 0;</span><br><span> }</span><br><span> </span><br><span>@@ -2095,8 +2078,8 @@</span><br><span>   OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN);</span><br><span> </span><br><span>         switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_CONFIG:</span><br><span style="color: hsl(0, 100%, 40%);">-     case GPRS_SNS_EV_RX_CONFIG_END:</span><br><span style="color: hsl(120, 100%, 40%);">+       case NS2_SNS_EV_RX_CONFIG:</span><br><span style="color: hsl(120, 100%, 40%);">+    case NS2_SNS_EV_RX_CONFIG_END:</span><br><span>               rc = ns_sns_append_remote_eps(fi, data);</span><br><span>             if (rc < 0) {</span><br><span>                     cause = -rc;</span><br><span>@@ -2105,7 +2088,7 @@</span><br><span>                         return;</span><br><span>              }</span><br><span>            /* only change state if last CONFIG was received */</span><br><span style="color: hsl(0, 100%, 40%);">-             if (event == GPRS_SNS_EV_RX_CONFIG_END) {</span><br><span style="color: hsl(120, 100%, 40%);">+             if (event == NS2_SNS_EV_RX_CONFIG_END) {</span><br><span>                     /* ensure sum of data weight / sig weights is > 0 */</span><br><span>                      if (ip46_weight_sum_data(&gss->remote) == 0 || ip46_weight_sum_sig(&gss->remote) == 0) {</span><br><span>                               cause = NS_CAUSE_INVAL_WEIGH;</span><br><span>@@ -2144,7 +2127,7 @@</span><br><span>        OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN);</span><br><span> </span><br><span>         switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_CONFIG_ACK:</span><br><span style="color: hsl(120, 100%, 40%);">+       case NS2_SNS_EV_RX_CONFIG_ACK:</span><br><span>               tp = data;</span><br><span>           if (TLVP_VAL_MINLEN(tp, NS_IE_CAUSE, 1)) {</span><br><span>                   LOGPFSML(fi, LOGL_ERROR, "Rx SNS-CONFIG-ACK with cause %s\n",</span><br><span>@@ -2173,8 +2156,8 @@</span><br><span>              .action = ns2_sns_st_sgsn_unconfigured,</span><br><span>      },</span><br><span>   [GPRS_SNS_ST_SGSN_WAIT_CONFIG] = {</span><br><span style="color: hsl(0, 100%, 40%);">-              .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) |</span><br><span style="color: hsl(0, 100%, 40%);">-                              S(GPRS_SNS_EV_RX_CONFIG_END),</span><br><span style="color: hsl(120, 100%, 40%);">+                .in_event_mask = S(NS2_SNS_EV_RX_CONFIG) |</span><br><span style="color: hsl(120, 100%, 40%);">+                             S(NS2_SNS_EV_RX_CONFIG_END),</span><br><span>                .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) |</span><br><span>                                S(GPRS_SNS_ST_SGSN_WAIT_CONFIG) |</span><br><span>                            S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK),</span><br><span>@@ -2182,7 +2165,7 @@</span><br><span>               .action = ns2_sns_st_sgsn_wait_config,</span><br><span>       },</span><br><span>   [GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK] = {</span><br><span style="color: hsl(0, 100%, 40%);">-          .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK),</span><br><span style="color: hsl(120, 100%, 40%);">+                .in_event_mask = S(NS2_SNS_EV_RX_CONFIG_ACK),</span><br><span>                .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) |</span><br><span>                                S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK) |</span><br><span>                                S(GPRS_SNS_ST_CONFIGURED),</span><br><span>@@ -2191,10 +2174,10 @@</span><br><span>               .onenter = ns2_sns_st_sgsn_wait_config_ack_onenter,</span><br><span>  },</span><br><span>   [GPRS_SNS_ST_CONFIGURED] = {</span><br><span style="color: hsl(0, 100%, 40%);">-            .in_event_mask = S(GPRS_SNS_EV_RX_ADD) |</span><br><span style="color: hsl(0, 100%, 40%);">-                                 S(GPRS_SNS_EV_RX_DELETE) |</span><br><span style="color: hsl(0, 100%, 40%);">-                              S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) |</span><br><span style="color: hsl(0, 100%, 40%);">-                               S(GPRS_SNS_EV_REQ_NSVC_ALIVE),</span><br><span style="color: hsl(120, 100%, 40%);">+               .in_event_mask = S(NS2_SNS_EV_RX_ADD) |</span><br><span style="color: hsl(120, 100%, 40%);">+                                S(NS2_SNS_EV_RX_DELETE) |</span><br><span style="color: hsl(120, 100%, 40%);">+                             S(NS2_SNS_EV_RX_CHANGE_WEIGHT) |</span><br><span style="color: hsl(120, 100%, 40%);">+                              S(NS2_SNS_EV_REQ_NSVC_ALIVE),</span><br><span>               .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED),</span><br><span>               .name = "CONFIGURED",</span><br><span>              /* shared with BSS side; once configured there's no difference */</span><br><span>@@ -2239,7 +2222,7 @@</span><br><span>        OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN);</span><br><span> </span><br><span>         switch (event) {</span><br><span style="color: hsl(0, 100%, 40%);">-        case GPRS_SNS_EV_RX_SIZE:</span><br><span style="color: hsl(120, 100%, 40%);">+     case NS2_SNS_EV_RX_SIZE:</span><br><span>             tp = (struct tlv_parsed *) data;</span><br><span>             /* check for mandatory / conditional IEs */</span><br><span>          if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1) ||</span><br><span>@@ -2339,10 +2322,10 @@</span><br><span>     .name = "GPRS-NS2-SNS-SGSN",</span><br><span>       .states = ns2_sns_sgsn_states,</span><br><span>       .num_states = ARRAY_SIZE(ns2_sns_sgsn_states),</span><br><span style="color: hsl(0, 100%, 40%);">-  .allstate_event_mask = S(GPRS_SNS_EV_RX_SIZE) |</span><br><span style="color: hsl(0, 100%, 40%);">-                        S(GPRS_SNS_EV_REQ_NO_NSVC) |</span><br><span style="color: hsl(0, 100%, 40%);">-                            S(GPRS_SNS_EV_REQ_ADD_BIND) |</span><br><span style="color: hsl(0, 100%, 40%);">-                           S(GPRS_SNS_EV_REQ_DELETE_BIND),</span><br><span style="color: hsl(120, 100%, 40%);">+        .allstate_event_mask = S(NS2_SNS_EV_RX_SIZE) |</span><br><span style="color: hsl(120, 100%, 40%);">+                               S(NS2_SNS_EV_REQ_NO_NSVC) |</span><br><span style="color: hsl(120, 100%, 40%);">+                           S(NS2_SNS_EV_REQ_ADD_BIND) |</span><br><span style="color: hsl(120, 100%, 40%);">+                          S(NS2_SNS_EV_REQ_DELETE_BIND),</span><br><span>        .allstate_action = ns2_sns_st_all_action_sgsn,</span><br><span>       .cleanup = NULL,</span><br><span>     .timer_cb = ns2_sns_fsm_sgsn_timer_cb,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/25144">change 25144</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/+/25144"/><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: I8e3fae4367c112b5a71bffb33c302d903855cddc </div>
<div style="display:none"> Gerrit-Change-Number: 25144 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-CC: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>