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.
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.
this is probably a historic relict. None of them should be used, and I
cannot see any actual use of them either.
The only non-library code that we link now is libosmo-gb (ns/bssgp),
which soon will be turned into a real library.
We don't use TBF establishment on CCCH and Immediate Assignment message any more, now we establish Downlink TBF during Uplink TBF and use Packet Downlink Assignment message.
Added function gprs_rlcmac_packet_downlink_assignment() and modified TBF management.
1. pcu - main program for GPRS PCU.
2. gprs_rlcmac - RLC/MAC layer implementation for PCU. Added list for TBF, TBF allocation, establishment, release.
3. gprs_bssgp_pcu - BSSGP protocol implementation for PCU.
4. pcu_l1_if - interface for communication PCU application with OpenBTS.
- Segmentation of upper layer PDUs into RLC data blocks and re-assembly of RLC data blocks into upper layer PDUs.
- Segmentation of RLC/MAC control messages into RLC/MAC control blocks and re-assembly of RLC/MAC control messages from RLC/MAC control blocks.
- NS and BSSGP protocol implementation for communication with OpenSGSN.
- UDPSocket for communication with OpenBTS.