This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged.
Change subject: send M-SCTP_ESTABLISH.ind to Layer Manager
......................................................................
send M-SCTP_ESTABLISH.ind to Layer Manager
Change-Id: I2904f8ebd97036690ba8a9525b31354c0252123b
---
M src/osmo_ss7.c
M src/xua_asp_fsm.c
M src/xua_internal.h
3 files changed, 25 insertions(+), 6 deletions(-)
Approvals:
Harald Welte: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c
index 4d3ced1..d657b81 100644
--- a/src/osmo_ss7.c
+++ b/src/osmo_ss7.c
@@ -1234,9 +1234,14 @@
LOGPASP(asp, DLSS7, LOGL_INFO, "Client connected %s\n", asp->sock_name);
- /* Notify the ASP FSM that the connection has just been
- * established */
- osmo_fsm_inst_dispatch(asp->fi, XUA_ASP_E_M_ASP_UP_REQ, NULL);
+ if (asp->lm && asp->lm->prim_cb) {
+ /* Notify layer manager that a connection has been
+ * established */
+ xua_asp_send_xlm_prim_simple(asp, OSMO_XLM_PRIM_M_SCTP_ESTABLISH, PRIM_OP_INDICATION);
+ } else {
+ /* directly as the ASP FSM to start by sending an ASP-UP ... */
+ osmo_fsm_inst_dispatch(asp->fi, XUA_ASP_E_M_ASP_UP_REQ, NULL);
+ }
return 0;
}
@@ -1381,6 +1386,9 @@
* data */
osmo_stream_srv_set_data(srv, asp);
+ /* send M-SCTP_ESTABLISH.ind to Layer Manager */
+ xua_asp_send_xlm_prim_simple(asp, OSMO_XLM_PRIM_M_SCTP_ESTABLISH, PRIM_OP_INDICATION);
+
return 0;
}
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index e16e26a..1570bc9 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -109,15 +109,23 @@
}
/* wrapper around send_xlm_prim for primitives without data */
-static void send_xlm_prim_simple(struct osmo_fsm_inst *fi,
+void xua_asp_send_xlm_prim_simple(struct osmo_ss7_asp *asp,
enum osmo_xlm_prim_type prim_type,
enum osmo_prim_operation op)
{
struct osmo_xlm_prim *prim = xua_xlm_prim_alloc(prim_type, op);
- struct xua_asp_fsm_priv *xafp = fi->priv;
if (!prim)
return;
- xua_asp_send_xlm_prim(xafp->asp, prim);
+ xua_asp_send_xlm_prim(asp, prim);
+}
+
+static void send_xlm_prim_simple(struct osmo_fsm_inst *fi,
+ enum osmo_xlm_prim_type prim_type,
+ enum osmo_prim_operation op)
+{
+ struct xua_asp_fsm_priv *xafp = fi->priv;
+ struct osmo_ss7_asp *asp = xafp->asp;
+ xua_asp_send_xlm_prim_simple(asp, prim_type, op);
}
/* ask the xUA implementation to transmit a specific message */
diff --git a/src/xua_internal.h b/src/xua_internal.h
index 6a3f723..3921309 100644
--- a/src/xua_internal.h
+++ b/src/xua_internal.h
@@ -52,3 +52,6 @@
enum osmo_prim_operation op);
void xua_asp_send_xlm_prim(struct osmo_ss7_asp *asp, struct osmo_xlm_prim *prim);
+void xua_asp_send_xlm_prim_simple(struct osmo_ss7_asp *asp,
+ enum osmo_xlm_prim_type prim_type,
+ enum osmo_prim_operation op);
--
To view, visit https://gerrit.osmocom.org/2264
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2904f8ebd97036690ba8a9525b31354c0252123b
Gerrit-PatchSet: 7
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder