diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-11-27 18:10:39 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-12-15 15:19:42 +0100 |
commit | 14e00f8f66faf0c1f551d1d5e4527c51177d6dc8 (patch) | |
tree | 97210846ea0dae6ac29692952220acd96b615c79 /src/tbf_dl.cpp | |
parent | 5265f59525157d135c1051f057f836395782c98e (diff) |
edge: Extend gprs_rlcmac_dl_tbf::handle by egprs_ms_class
The multislot (MS) class and the EGPRS MS class can also be passed
via BSSGP in an MS Radio Access Capability element which can
optionally be contained in a DL-UNITDATA PDU. While this case is fully
supported for GPRS, the EGPRS MS class in BSSGP messages is ignored.
This commit extends gprs_rlcmac_dl_tbf::handle to pass the EGPRS MS
class, too.
Note, that the EGPRS class is not yet taken from the CSN.1 RA
capability and is always set to 0. Note also, that append_data
still uses ms_class only.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf_dl.cpp')
-rw-r--r-- | src/tbf_dl.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d07f3233..3993df3c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -190,7 +190,8 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts, */ int gprs_rlcmac_dl_tbf::handle(struct gprs_rlcmac_bts *bts, const uint32_t tlli, const uint32_t tlli_old, const char *imsi, - const uint8_t ms_class, const uint16_t delay_csec, + const uint8_t ms_class, const uint8_t egprs_ms_class, + const uint16_t delay_csec, const uint8_t *data, const uint16_t len) { struct gprs_rlcmac_dl_tbf *dl_tbf = NULL; @@ -237,11 +238,12 @@ int gprs_rlcmac_dl_tbf::handle(struct gprs_rlcmac_bts *bts, if (!dl_tbf) { rc = tbf_new_dl_assignment(bts, imsi, tlli, tlli_old, - ms_class, 0, &dl_tbf); + ms_class, egprs_ms_class, &dl_tbf); if (rc < 0) return rc; } + /* TODO: ms_class vs. egprs_ms_class is not handled here */ rc = dl_tbf->append_data(ms_class, delay_csec, data, len); dl_tbf->update_ms(tlli, GPRS_RLCMAC_DL_TBF); dl_tbf->assign_imsi(imsi); |