Commit Graph

1766 Commits

Author SHA1 Message Date
Andreas Eversberg 66690dd3c6 Rewrite of RLC/MAC uplink acknowledged TBF.
It uses history buffer and sends ack/nack control messages about received
blocks. It defragments the blocks and forwards them to upper layer. It
does content resolution and ignores other MS. It sends final ACK after
all blocks have been sucessfully received. Timers are used to detect
loss of uplink, and repeat lost final ACK.
2012-06-27 15:44:31 +02:00
Andreas Eversberg 39621c41f3 Introducing scheduler to process transmission of blocks
The scheduler is triggered at ready-to-send-requesst. It schedules
control blocks, data block and dummy blocks, depending on priority.

It provides upstream ressource by setting USF. The ressources are
assigned, if required. The ressources are dispatched round-robin.

In case of polling, the upstream ressource is given to MS at the
time it will respond to polling request.
2012-06-27 15:36:27 +02:00
Ivan Kluchnikov d78ee73623 Fixed Downlink TBF Establishment on CCCH.
UL TBF should be released before DL TBF establishment on CCCH.
Added delay after transmitting Immediate Assignment.
2012-06-26 19:33:44 +04:00
Ivan Kluchnikov cf7b3a529f Merge branch 'jolly'
Merged jolly branch with master, fixed conflicts.
2012-06-26 16:54:22 +04:00
Andreas Eversberg 7d7cf54f39 Packet Downlink Assigment now uses ARFCN/TN of current BTS layout
Now the MS receives dowlink LLC frames.
2012-06-25 09:26:15 +02:00
Andreas Eversberg 055340801b Fixed IMM.ASS message
Now packets are reassembled correctly.
2012-06-24 11:46:49 +02:00
Andreas Eversberg fe411b3cfd Hack to slow down uplink transfer 2012-06-23 19:35:56 +02:00
Andreas Eversberg 0aed654ac7 Split of L1 interface to be used with OpenBTS or sysmo-BTS
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-23 10:33:16 +02:00
Andreas Eversberg f6b7ca5dd4 Adding more OpenBSC object files to Makefile.am
This is required, so it works in my environment. Might be revised soon.
2012-06-23 10:17:07 +02:00
Harald Welte 477e79e67e remove dependencies to openbsc/osmoggsn internals
...and link against libosmogb (part of libosmocore.git)
2012-06-18 12:22:18 +08:00
Ivan Kluchnikov a9e6dc5084 Improvement of TBF management.
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-17 08:30:06 +04:00
Ivan Kluchnikov 9b06ff0c4c Removed all size_t variables. Fixed type of readIndex and writeIndex variables.
We use unsigned int type for readIndex and writeIndex parameters in bitvec_read_field() and bitvec_write_field() functions.
2012-06-15 10:13:30 +04:00
Ivan Kluchnikov 856221fd3d Removed all OpenBTS dependencies. We don't use OpenBTS cout and gsmtap anymore. 2012-06-15 09:31:29 +04:00
Harald Welte 40383dcb46 Makefile.am: Don't link lots of openbsc / sgsn / ggsn internal .o files
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.
2012-06-14 21:15:59 +08:00
Harald Welte 57f6b0220f Add auto-foo (partial cleanup, master makefile/configure.ac 2012-06-14 21:05:44 +08:00
Harald Welte c5187a1824 move everything to src/ subdirectory
The code corresponds to commit a9aa4777cc1144897a77dfb6c5c3d7325705251e
in openbts-p2.8.git (Tue Jun 12 18:14:49 2012 +0400)
2012-06-14 20:48:42 +08:00