aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-04-23 11:33:35 -0400
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-05-05 21:11:16 +0200
commit8cedded88c9a0c4c486f987b818ccba57e96421e (patch)
treeec655590774847918a31c7a0c2584ebde759d9c7 /openbsc/include
parent9ba273d365ac731a9c3ff285821062c346724390 (diff)
sgsn: Store subscribed QoS and attempt to use it
sgsn_create_pdp_ctx should use the subscribed QoS. When selecting the PDP context we inject the QoS to be used into the TLV structure and use it during the request. Assume a "qos-Subscribed" structure only with three bytes and prepend the Allocation/Retention policy to the request.
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/gprs_sgsn.h2
-rw-r--r--openbsc/include/openbsc/gsm_04_08_gprs.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index baa2d781b..7a429cdab 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -294,6 +294,8 @@ struct sgsn_subscriber_pdp_data {
unsigned int context_id;
uint16_t pdp_type;
char apn_str[GSM_APN_LENGTH];
+ uint8_t qos_subscribed[20];
+ size_t qos_subscribed_len;
};
struct sgsn_subscriber_data {
diff --git a/openbsc/include/openbsc/gsm_04_08_gprs.h b/openbsc/include/openbsc/gsm_04_08_gprs.h
index 3eec98365..f35d11b60 100644
--- a/openbsc/include/openbsc/gsm_04_08_gprs.h
+++ b/openbsc/include/openbsc/gsm_04_08_gprs.h
@@ -100,6 +100,7 @@ enum gsm48_gprs_ie_sm {
* but which we use to simplify internal APIs */
OSMO_IE_GSM_REQ_QOS = 0xfd,
OSMO_IE_GSM_REQ_PDP_ADDR = 0xfe,
+ OSMO_IE_GSM_SUB_QOS = 0xff,
};
/* Chapter 9.4.15 / Table 9.4.15 */