[MERGED] libosmo-sccp[master]: send M-SCTP_ESTABLISH.ind to Layer Manager

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.org
Mon Apr 10 11:26:58 UTC 2017


Harald 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



More information about the gerrit-log mailing list