diff options
author | Philipp <pmaier@sysmocom.de> | 2016-08-26 17:00:21 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-09-24 03:17:58 +0000 |
commit | f1f34360fb4680adc25a7e8b4b31062ba606e8dc (patch) | |
tree | 8862f4b69433e2006b96484d1ded322b84d283f1 /openbsc/src/gprs/sgsn_libgtp.c | |
parent | 2c7f83762ab28ef4051d379e295a824e83577d7f (diff) |
SNDCP: add RFC1144 header compression functionality
- Add module to handle compression entities
- Add module to control header compression
- Introduce VTY commands for heade compression configuration
- Add changes in sndcp and llc to integrate header compression
Change-Id: Ia00260dc09978844c2865957b4d43000b78b5e43
Diffstat (limited to 'openbsc/src/gprs/sgsn_libgtp.c')
-rw-r--r-- | openbsc/src/gprs/sgsn_libgtp.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c index 04bd40aeb..9f6532532 100644 --- a/openbsc/src/gprs/sgsn_libgtp.c +++ b/openbsc/src/gprs/sgsn_libgtp.c @@ -49,6 +49,7 @@ #include <openbsc/gprs_sgsn.h> #include <openbsc/gprs_gmm.h> #include <openbsc/gsm_subscriber.h> +#include <openbsc/gprs_sndcp.h> #ifdef BUILD_IU #include <openbsc/iu.h> @@ -317,6 +318,8 @@ static const struct cause_map gtp2sm_cause_map[] = { static int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx) { struct sgsn_signal_data sig_data; + int rc; + struct gprs_llc_lle *lle; /* Inform others about it */ memset(&sig_data, 0, sizeof(sig_data)); @@ -324,7 +327,17 @@ static int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *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); + rc = gsm48_tx_gsm_act_pdp_acc(pctx); + if(rc < 0) + return rc; + + /* Send SNDCP XID to MS */ + lle = &pctx->mm->gb.llme->lle[pctx->sapi]; + rc = sndcp_sn_xid_req(lle,pctx->nsapi); + if(rc < 0) + return rc; + + return 0; } /* The GGSN has confirmed the creation of a PDP Context */ |