Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Attach Complete to its own function

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

laforge gerrit-no-reply at lists.osmocom.org
Fri Sep 6 19:07:01 UTC 2019


laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 )

Change subject: gmm: Move code handling GMM Attach Complete to its own function
......................................................................

gmm: Move code handling GMM Attach Complete to its own function

Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6
---
M src/sgsn/gprs_gmm.c
1 file changed, 40 insertions(+), 33 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c
index edb7eea..b2c70aa 100644
--- a/src/sgsn/gprs_gmm.c
+++ b/src/sgsn/gprs_gmm.c
@@ -1343,6 +1343,45 @@
 
 }
 
+/* 3GPP TS 24.008 § 9.4.3 Attach complete */
+static int gsm48_rx_gmm_att_compl(struct sgsn_mm_ctx *mmctx)
+{
+	struct sgsn_signal_data sig_data;
+	/* only in case SGSN offered new P-TMSI */
+	LOGMMCTXP(LOGL_INFO, mmctx, "-> ATTACH COMPLETE\n");
+
+	#ifdef BUILD_IU
+	if (mmctx->iu.ue_ctx) {
+		ranap_iu_tx_release(mmctx->iu.ue_ctx, NULL);
+	}
+	#endif
+
+	mmctx_timer_stop(mmctx, 3350);
+	mmctx->t3350_mode = GMM_T3350_MODE_NONE;
+	mmctx->p_tmsi_old = 0;
+	mmctx->pending_req = 0;
+	mmctx->gmm_state = GMM_REGISTERED_NORMAL;
+	switch(mmctx->ran_type) {
+	case MM_CTX_T_UTRAN_Iu:
+		osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL);
+		break;
+	case MM_CTX_T_GERAN_Gb:
+		/* Unassign the old TLLI */
+		mmctx->gb.tlli = mmctx->gb.tlli_new;
+		gprs_llme_copy_key(mmctx, mmctx->gb.llme);
+		gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED,
+				  mmctx->gb.tlli_new);
+		osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL);
+		break;
+	}
+
+	osmo_fsm_inst_dispatch(mmctx->gmm_att_req.fsm, E_ATTACH_COMPLETE_RECV, 0);
+	memset(&sig_data, 0, sizeof(sig_data));
+	sig_data.mm = mmctx;
+	osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data);
+
+	return 0;
+}
 
 /* Checks if two attach request contain the IEs and IE values
  * return 0 if equal
@@ -1953,39 +1992,7 @@
 	case GSM48_MT_GMM_ATTACH_COMPL:
 		if (!mmctx)
 			goto null_mmctx;
-		/* only in case SGSN offered new P-TMSI */
-		LOGMMCTXP(LOGL_INFO, mmctx, "-> ATTACH COMPLETE\n");
-
-#ifdef BUILD_IU
-		if (mmctx->iu.ue_ctx) {
-			ranap_iu_tx_release(mmctx->iu.ue_ctx, NULL);
-		}
-#endif
-
-		mmctx_timer_stop(mmctx, 3350);
-		mmctx->t3350_mode = GMM_T3350_MODE_NONE;
-		mmctx->p_tmsi_old = 0;
-		mmctx->pending_req = 0;
-		mmctx->gmm_state = GMM_REGISTERED_NORMAL;
-		switch(mmctx->ran_type) {
-		case MM_CTX_T_UTRAN_Iu:
-			osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL);
-			break;
-		case MM_CTX_T_GERAN_Gb:
-			/* Unassign the old TLLI */
-			mmctx->gb.tlli = mmctx->gb.tlli_new;
-			gprs_llme_copy_key(mmctx, mmctx->gb.llme);
-			gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED,
-					  mmctx->gb.tlli_new);
-			osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL);
-			break;
-		}
-		rc = 0;
-
-		osmo_fsm_inst_dispatch(mmctx->gmm_att_req.fsm, E_ATTACH_COMPLETE_RECV, 0);
-		memset(&sig_data, 0, sizeof(sig_data));
-		sig_data.mm = mmctx;
-		osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data);
+		rc = gsm48_rx_gmm_att_compl(mmctx);
 		break;
 	case GSM48_MT_GMM_RA_UPD_COMPL:
 		if (!mmctx)

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15380
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6
Gerrit-Change-Number: 15380
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at gnumonks.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190906/a4e14afd/attachment.htm>


More information about the gerrit-log mailing list