aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_rlcmac.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-10-03Replace switch/case construct by a structure, to define coding schemesAndreas Eversberg1-0/+9
A new attribute at TBF instance indicates the current scheme used.
2012-09-27Set Alpha and Gamma at assingment messages for power controlAndreas Eversberg1-14/+34
The initial power control value Alpha must be set in SI13.
2012-09-23Fix: Send correct QOS profile and DL-UNITDATA IE to SGSNAndreas Eversberg1-3/+7
Be sure to use always two bytes of length information for DL-UNITDATA, even if the length of LLC data is less than 128 bytes. This way the data has always the same offset from a 32 bit boundary.
2012-08-07Assign TFI to complete TRX, not just one TSAndreas Eversberg1-56/+25
This is required, since we may change slot allocation. In case of a change, we do not want to be unable to change, if the same TFI on one of the other slots is already in use by a different TBF (having same TFI, but on different slot).
2012-08-07Adding single block allocationAndreas Eversberg1-22/+95
It is mandatory to support it because MS may request a single block. In this case the network must assign a single block. It is possible to force single block allocation for all uplink requests on RACH. (VTY option)
2012-08-07Fix: tfi_alloc() has some signed attributesAndreas Eversberg1-1/+1
2012-07-25Fixed two issues found by clang, pointed out by HolgerAndreas Eversberg1-1/+1
2012-07-25Replaced malloc() by talloc_zero() to be able to track memeory leaksAndreas Eversberg1-4/+5
2012-07-24Added debugging of downlink bandwidthAndreas Eversberg1-0/+3
2012-07-20Fixed Paging RR on PACCHAndreas Eversberg1-8/+14
Addition to 2b91464862270d72800b6dcc5a521f933fbbd489
2012-07-19Added paging for RR connection on PACCH of active TBFsAndreas Eversberg1-0/+209
Untested
2012-07-15Only select TLLI, if it is valid (and not unset)Andreas Eversberg1-3/+2
2012-07-15Set coding scheme on Packet Uplink Ack/Nack messageAndreas Eversberg1-1/+2
This way the uplink speeds up too.
2012-07-15Minor fixes of debug output of channel allocationAndreas Eversberg1-4/+10
2012-07-15Adding multislot allocation algorithmAndreas Eversberg1-0/+429
2012-07-15multislot: Rework of handling control channel / pollingAndreas Eversberg1-55/+111
In order to send control blocks to MS and receive control blocks from MS (polling), it is required to select one timeslot that the MS must be able to send and receive. The allocation algorithm must take care of selecting that slot.
2012-07-13multislot: Extracted "slot allocation algorithm" from tbf allocatorAndreas Eversberg1-54/+79
The current available algorithm only supports selecting a single slot for downlink/uplink. (In the future, a multislot algorithm will follow.)
2012-07-13Changed data structures for TBF and PDCH instances, to allow multislotAndreas Eversberg1-90/+213
The new data structure is required to define slot/TFI assigment for MS with multislot capability. Now there are two lists for TBFs: uplink and downlink. It is possible to have different TBFs with same TFI in the same direction, as long as they are assigned on different timeslots. See tbf.txt for description. Note: This does not implement any multislot support. It defines the new data structure. Currently only the first slot is assigned.
2012-07-12Merge branch 'jolly_new'Ivan Kluchnikov1-948/+380
Merge is based on jolly_new branch with two modifications. 1. Modified PCU L1 interface. pcu_l1_if.cpp - common functions for tx and rx messages on L1 interface. sysmo_sock.cpp - SYSMO-PCU socket functions. openbts_sock.cpp - OpenBTS-PCU socket functions. pcuif_proto.h - L1 interface's primitives. 2. Modified encoding of RLC/MAC Control messages, now we use structures and encode_gsm_rlcmac_downlink() function for encode control blocks (without hand-coding).
2012-07-06Restructured debugging levels to get better overview of TBFs/processesAndreas Eversberg1-7/+4
Only when using LOGL_DEBUG, every detailled information is displayed. When using LOGL_INFO, a summary of the process is displayed. When using LOGL_NOTICE, only errors and warnings like timeouts or invalid received informations are displayed. When using LOGL_ERROR, only local error like software errorss are displayed.
2012-07-06Fixed pseudo length of IMMEDIATE ASSIGNMENT message.Andreas Eversberg1-4/+9
The pseudo length may not include the rest-octets, so it stays compatible to non-GPRS phones. At pcu_l1_if.c (OpenBTS) no pseudo length is given, so the frame is only 22 bytes long. I could not test if it works.
2012-07-06Cleanup of BSSGP code.Andreas Eversberg1-9/+7
The hack for resetting BSSGP instance is removed and now performed whenever the NS state changes to UNBLOCKED. The BSSGP instance is now created only once, as it should be. Received STATUS messages are ignored as they should be. The creation and destruction of BSSGP/NS instances is now handled by layer 1 interface alone.
2012-07-06RLC/MAC process makes use from attributes, received from PCU socketAndreas Eversberg1-5/+7
For OpenBTS interface and BSSGP, fixed values are still used.
2012-07-03TBF acknowledged mode finished for both link directionsAndreas Eversberg1-604/+246
2012-06-29Implemented Paging procedure on CCCH.Ivan Kluchnikov1-0/+38
Added functions: - gprs_bssgp_pcu_rx_paging_ps() for handling paging message from BSSGP; - write_paging_request() for writing paging request message; - gprs_rlcmac_paging_request() and pcu_l1if_tx_pch() for sending paging request message to BTS.
2012-06-29Fixed DL TBF establishment on CCCH.Ivan Kluchnikov1-12/+4
We shouldn't use paging procedure for DL TBF establishment, if we didn't receive paging message from BSSGP.
2012-06-27Modified encoding of Packet Downlink Assignment and Packet Uplink Ack/Nack ↵Ivan Kluchnikov1-144/+79
messages. Removed hand-coding of RLC/MAC Control messages, now we use structures and encode_gsm_rlcmac_downlink() function for encode control blocks.
2012-06-27Work on RLCMAC layer. Integration of scheduler and new packet transferAndreas Eversberg1-124/+193
2012-06-26Fixed Downlink TBF Establishment on CCCH.Ivan Kluchnikov1-2/+16
UL TBF should be released before DL TBF establishment on CCCH. Added delay after transmitting Immediate Assignment.
2012-06-26Merge branch 'jolly'Ivan Kluchnikov1-38/+126
Merged jolly branch with master, fixed conflicts.
2012-06-25Packet Downlink Assigment now uses ARFCN/TN of current BTS layoutAndreas Eversberg1-13/+9
Now the MS receives dowlink LLC frames.
2012-06-24Fixed IMM.ASS messageAndreas Eversberg1-2/+2
Now packets are reassembled correctly.
2012-06-23Hack to slow down uplink transferAndreas Eversberg1-5/+9
2012-06-23Split of L1 interface to be used with OpenBTS or sysmo-BTSAndreas Eversberg1-21/+87
The OpenBTS socket functions are moved from main to pcu_l1_if.cpp. New sysmo_l1_if.cpp is introduced. It used special unix socket interface to connect to sysmo-BTS. This is required to access CCCH/RACH and info about cell layout. Traffic is also forwarded via this interface, but it direct access of L1 baseband DSP will be added soon. In order to handle ready-to-send requests above l1_if, the transmit queue (for downlink blocks) is moved to gprs_rlcmac.cpp. The TBF instance additionally holds TRX and TS info, but this is only a hack currently. TBF instance requires more details about allocated ressources in the future.
2012-06-17Improvement of TBF management.Ivan Kluchnikov1-190/+484
Added functions for TBF allocation, establishment, data transfer and release management. Modified TBF structure, added list for several LLC PDUs in one TBF. Added function gprs_rlcmac_tx_llc_pdus() providing transmission of several LLC PDUs in one TBF to MS.
2012-06-15Removed all OpenBTS dependencies. We don't use OpenBTS cout and gsmtap anymore.Ivan Kluchnikov1-10/+7
2012-06-14move everything to src/ subdirectoryHarald Welte1-0/+840
The code corresponds to commit a9aa4777cc1144897a77dfb6c5c3d7325705251e in openbts-p2.8.git (Tue Jun 12 18:14:49 2012 +0400)