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