aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gprs_llc.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-31 22:12:30 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-31 22:12:30 +0200
commit56a0145dd8955b00ef9cff608f5e03912401a0f7 (patch)
tree3e97490542e9892a53bbc8360412ecdcebffdcf7 /openbsc/src/gprs/gprs_llc.c
parentc2e8cc4a10d741763736d375bb663c593ee2de31 (diff)
[GPRS] Include IMSI and DRX params in BSSGP DL-UD
When we send a downlink unit-data request via BSSGP, there is a lot of information that needs to be copied from the mm context, such as the IMSI, DRX parametes, MS radio access parameters, ... This is a quite strange layering violation, since we now need to pass a pointer to the MM ctx from GMM through LLC into BSSGP :(
Diffstat (limited to 'openbsc/src/gprs/gprs_llc.c')
-rw-r--r--openbsc/src/gprs/gprs_llc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index 68d7d7654..c13f45f07 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -197,7 +197,7 @@ int gprs_llc_tx_u(struct msgb *msg, uint8_t sapi, int command,
/* Identifiers passed down: (BVCI, NSEI) */
/* Send BSSGP-DL-UNITDATA.req */
- return gprs_bssgp_tx_dl_ud(msg);
+ return gprs_bssgp_tx_dl_ud(msg, NULL);
}
/* Send XID response to LLE */
@@ -212,7 +212,8 @@ static int gprs_llc_tx_xid(struct gprs_llc_lle *lle, struct msgb *msg)
}
/* Transmit a UI frame over the given SAPI */
-int gprs_llc_tx_ui(struct msgb *msg, uint8_t sapi, int command)
+int gprs_llc_tx_ui(struct msgb *msg, uint8_t sapi, int command,
+ void *mmctx)
{
struct gprs_llc_lle *lle;
uint8_t *fcs, *llch;
@@ -261,7 +262,7 @@ int gprs_llc_tx_ui(struct msgb *msg, uint8_t sapi, int command)
/* Identifiers passed down: (BVCI, NSEI) */
/* Send BSSGP-DL-UNITDATA.req */
- return gprs_bssgp_tx_dl_ud(msg);
+ return gprs_bssgp_tx_dl_ud(msg, mmctx);
}
static void gprs_llc_hdr_dump(struct gprs_llc_hdr_parsed *gph)