Review at  https://gerrit.osmocom.org/159

create_pdp_conf(): factor out PDP context accept dispatch as 
send_act_pdp_cont_acc()

Change-Id: Ibf60e18707ff4aa2e60291e5595386ddda8d8190
---
M openbsc/src/gprs/sgsn_libgtp.c
1 file changed, 14 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/59/159/1

diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c
index f7a4ca0..504590b 100644
--- a/openbsc/src/gprs/sgsn_libgtp.c
+++ b/openbsc/src/gprs/sgsn_libgtp.c
@@ -304,10 +304,22 @@
        { 0, 0 }
 };

+static int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx)
+{
+       struct sgsn_signal_data sig_data;
+
+       /* Inform others about it */
+       memset(&sig_data, 0, sizeof(sig_data));
+       sig_data.pdp = pctx;
+       osmo_signal_dispatch(SS_SGSN, S_SGSN_PDP_ACT, &sig_data);
+
+       /* Send PDP CTX ACT to MS */
+       return gsm48_tx_gsm_act_pdp_acc(pctx);
+}
+
 /* The GGSN has confirmed the creation of a PDP Context */
 static int create_pdp_conf(struct pdp_t *pdp, void *cbp, int cause)
 {
-       struct sgsn_signal_data sig_data;
        struct sgsn_pdp_ctx *pctx = cbp;
        uint8_t reject_cause;

@@ -342,14 +354,7 @@

        /* Activate the SNDCP layer */
        sndcp_sm_activate_ind(&pctx->mm->gb.llme->lle[pctx->sapi], pctx->nsapi);
-
-       /* Inform others about it */
-       memset(&sig_data, 0, sizeof(sig_data));
-       sig_data.pdp = pctx;
-       osmo_signal_dispatch(SS_SGSN, S_SGSN_PDP_ACT, &sig_data);
-
-       /* Send PDP CTX ACT to MS */
-       return gsm48_tx_gsm_act_pdp_acc(pctx);
+       return send_act_pdp_cont_acc(pctx);

 reject:
        /*

-- 
To view, visit https://gerrit.osmocom.org/159
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibf60e18707ff4aa2e60291e5595386ddda8d8190
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <[email protected]>
Gerrit-Reviewer: daniel <[email protected]>

Reply via email to