diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-11-25 08:58:40 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-11-25 08:58:40 +0100 |
commit | 85fc31416b643c73f59e5af7a0e2d90813f29a50 (patch) | |
tree | 58f6be576d7270d511a15e37d0b559c7bf1684b5 /openbsc/include | |
parent | eb3ccf64898b5ca1d969dadb8e12680bf89c394d (diff) |
BSSGP: Add functions required for true BSS-side BSSGP implementation
The BSS-side of BSSGP requires quite a number of additional functions
for sending unidirectional messages that a SGSN never sends.
This is a first step into completing the BSSGP implementation and making
it ready to be used from osmo-bts and other BTS-side GPRS
implementations.
Diffstat (limited to 'openbsc/include')
-rw-r--r-- | openbsc/include/openbsc/gprs_bssgp.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/gprs_bssgp.h b/openbsc/include/openbsc/gprs_bssgp.h index 1205aa81..df93f5b2 100644 --- a/openbsc/include/openbsc/gprs_bssgp.h +++ b/openbsc/include/openbsc/gprs_bssgp.h @@ -183,6 +183,18 @@ struct bssgp_bvc_ctx *btsctx_by_raid_cid(const struct gprs_ra_id *raid, uint16_t /* Find a BTS context based on BVCI+NSEI tuple */ struct bssgp_bvc_ctx *btsctx_by_bvci_nsei(uint16_t bvci, uint16_t nsei); +#define BVC_F_BLOCKED 0x0001 + +enum bssgp_ctr { + BSSGP_CTR_PKTS_IN, + BSSGP_CTR_PKTS_OUT, + BSSGP_CTR_BYTES_IN, + BSSGP_CTR_BYTES_OUT, + BSSGP_CTR_BLOCKED, + BSSGP_CTR_DISCARDED, +}; + + #include <osmocom/gsm/tlv.h> /* BSSGP-UL-UNITDATA.ind */ @@ -193,6 +205,8 @@ struct sgsn_mm_ctx; int gprs_bssgp_tx_dl_ud(struct msgb *msg, struct sgsn_mm_ctx *mmctx); uint16_t bssgp_parse_cell_id(struct gprs_ra_id *raid, const uint8_t *buf); +int bssgp_create_cell_id(uint8_t *buf, const struct gprs_ra_id *raid, + uint16_t cid); /* Wrapper around TLV parser to parse BSSGP IEs */ static inline int bssgp_tlv_parse(struct tlv_parsed *tp, uint8_t *buf, int len) @@ -220,7 +234,7 @@ struct bssgp_paging_info { enum bssgp_paging_scope scope; /*!< bssgp_paging_scope */ struct gprs_ra_id raid; /*!< RA Identifier */ uint16_t bvci; /*!< BVCI */ - const char *imsi; /*!< IMSI, if any */ + char *imsi; /*!< IMSI, if any */ uint32_t *ptmsi; /*!< P-TMSI, if any */ uint16_t drx_params; /*!< DRX parameters */ uint8_t qos[3]; /*!< QoS parameters */ |