summaryrefslogtreecommitdiffstats
path: root/openbsc/include
Commit message (Collapse)AuthorAgeFilesLines
* [gprs] pass BSSGP UL-UNITDATA Cell ID up into GMM layerHarald Welte2010-05-041-0/+1
| | | | | | | | | BSSGP stores a pointer to the Cell Identifier IE in msgb->cb, which is later used by the GMM layer to identify the cell that has sent a given message. This now also means that the gsm_04_08_gprs.c code is free of any legacy references to msg->trx or struct gsm_bts.
* [gprs] Use stdint.h types (uintXX_t instead of u_intXX_t)Harald Welte2010-05-042-14/+18
| | | | | libosmocore already uses them, it's time (at least for new code) in openbsc to do the same.
* [gprs] SGSN: Expect all Identifiers to be stored at highest levelHarald Welte2010-05-041-1/+1
| | | | | | | | | | | We now expect the highest level (actual SGSN GMM code) to know all identifiers for every element in the protocol stack, i.e. TLLI, SAPI, BVCI and NSEI. The layer-inetrnal state is looked up based on those identifiers. The reason for this is to ensure only the highest level state needs to be persistent, while everything else can be regenerated dynamically (e.g. in a SGSN restart)
* [gprs] fully integrate VTY configuration into Gb proxyHarald Welte2010-05-041-11/+38
| | | | The Gb-proxy is now fully configured by config file / VTY
* GPRS: Introduce a GPRS Gb ProxyHarald Welte2010-05-042-1/+48
| | | | | | | | The ida of the Gb proxy is to aggregate Gb links with a number of BSS and then present all the BSSGP-VC's together inside one NS-VC to the actual SGSN. The code is not yet expected to be complete.
* gprs: remove msgb->nsvc pointer and replace it with NSEI and BVCIHarald Welte2010-05-041-2/+1
| | | | | | | | | | | According to TS 08.16, the BSSGP layer needs to specify NSEI and BVCI when executing the NS UNITDATA REQUEST primitive of the underlying NS layer. Rather than passing around a pointer to the 'struct gprs_nsvc', we now have NSEI and BVCI as members of 'struct obsc_msgb_cb' and set them when BSSGP hands a message down to NS. NS then does a lookup of the 'gprs_nsvc' based on the NSEI parameter.
* GPRS: Modularize the NS implementationHarald Welte2010-05-041-9/+53
| | | | | | | | | | | | | * move UDP listener code for NSIP from input/ipaccess.c and into gprs_ns.c * add PDU type, IE and CAUSE values for later IP based 3GPP TS 48.016 * support multiple NS-VCs and their lookup based on NSVC and sockaddr_in * maintain the remote_state (blocked/alive) for each NSVC * introduce the concept of GPRS_NS instances, move all global vars to instance * remove hardcoded calls to gprs_bssgp_rcvmsg() and replace it by callback WARNING: This is not finished code. While it will compile, it will not work yet, as BSSGP needs to be converted to properly indicate the NSVC to which it needs to send data.
* GPRS: remove hard-coded IP address for NSIP responses from SGSN->BTSHarald Welte2010-05-041-1/+1
|
* Create new 'gprs-sgsn' branch on top of 'gprs-conf'Harald Welte2010-05-042-0/+199
This branch contains the partial SGSN/GGSN implementation that was originally developed as part of the gprs branch.