aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gprs_sgsn.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-17 00:44:57 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-17 00:44:57 +0200
commit2720e7310d3cce36bc3cbcf87d3e8eb2eecf5c75 (patch)
tree3136b5836493c1ad2841ef595a27042172cb7f26 /openbsc/include/openbsc/gprs_sgsn.h
parent7363e92cd3b89eaa77db4bf502433524e16667b6 (diff)
[GPRS] Initial untested support for libgtp
libgtp of the OpenGGSN project will allow us to speak the GTPv0/v1 protocol of the interface between SGSN and GGSN. This commit includes code for the main libgtp integration (file descriptor, select loop, timer) as well as code to encode/send a CREATE PDP CONTEXT request.
Diffstat (limited to 'openbsc/include/openbsc/gprs_sgsn.h')
-rw-r--r--openbsc/include/openbsc/gprs_sgsn.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index bdc0b1c8f..f70c6bed2 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -3,6 +3,10 @@
#include <stdint.h>
+#define GSM_IMSI_LENGTH 17
+#define GSM_IMEI_LENGTH 17
+#define GSM_EXTENSION_LENGTH 15
+
/* TS 04.08 4.1.3.3 GMM mobility management states on the network side */
enum gprs_mm_state {
GMM_DEREGISTERED, /* 4.1.3.3.1.1 */
@@ -20,11 +24,15 @@ enum gprs_ciph_algo {
#define MS_RADIO_ACCESS_CAPA
+struct sgsn_instance;
+
/* According to TS 03.60, Table 5: SGSN MM and PDP Contexts */
/* Extended by 3GPP TS 23.060, Table 6: SGSN MM and PDP Contexts */
struct sgsn_mm_ctx {
struct llist_head list;
+ struct sgsn_instance *sgsn;
+
char imsi[GSM_IMSI_LENGTH];
enum gprs_mm_state mm_state;
uint32_t p_tmsi;
@@ -82,7 +90,7 @@ struct sgsn_pdp_ctx {
unsigned int id;
enum pdp_ctx_state state;
enum pdp_type type;
- uint32_t addresss;
+ uint32_t address;
char *apn_subscribed;
char *apn_used;
uint16_t nsapi;