[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 :(
diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index 68d7d76..c13f45f 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -197,7 +197,7 @@
/* 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 @@
}
/* 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 @@
/* 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)