The library itself only contains a bunch of boilerplate to build the
library and have usual initialization, logging, prim APIs.
There's not yet much logic specific in it yet, but will make next
commits easier to review.
Related: OS#5501
Change-Id: Ie098576954a55e5046c2463390ab7133511c1eb3
The LDFLAGS is for stuff like: '-Wl,--wrap=foo', '-version-info',
'-no-undefined', '-no-install', etc. but not for libraries.
Change-Id: Ib211c37419a8c6a0bdfc202f6f91b255cc8420e2
Those functions guarantee to the caller that the prim is always freed,
and hence returning 1 has not meaning there.
Fix similar to bab234c2ea in rlcmac layer.
Change-Id: If3c9287d839198dc079993c4d32780fb1c2bc6fd
Those functions guarantee to the caller that the prim is always freed,
and hence returning 1 has not meaning there.
Fix similar to bab234c2ea in rlcmac layer.
Change-Id: Icdee1cac4df970ae2ee7539d72c5a82667016160
The code to generate a PKT CTRL ACK is the same for a DL TBF and an UL
TBF.
Move it to the generic base class in order to be able to generate it for
a DL TBF in a follow up patch.
Change-Id: I767696b445842ebc32b35c320273b13f63076ca4
rc=1 Only has meaning in call to rlcmac_down_cb().
gprs_rlcmac_prim_call_down_cb() called by internal rlcmac code
guarantess the prim is always freed, and hence returning 1 has not
meaning there.
Same applies for up direction.
Change-Id: Ibd9c44150e8dbec5fbaa98e14aa16703935dac71
While reworking tbf_ul_ass_fsm, avoid being in "ASSIGN" state while
waiting to send Pkt Ctrl Ack. The PCU is free to ask the TBF to transmit
data before receiving Pkt Ctrl Ack; the time where it can start
transmitting data is actually controlled by TBF Starting Time.
Change-Id: Id81f16743f2c464e01caf27ba2eb8c0fc715fe8a
It's expected to receive dummy DL blocks when listening to PDCH,
so do not spam the logging with errors:
DRLCMAC ERROR rlcmac.c:392 TS=7 FN=3035694080
Rx Pkt DL Dummy Ctrl Block NOT SUPPORTED! ignoring
Change-Id: I6a40e2795adc71b9312d39c96b01aba9a258da42
Related: OS#5500
The TI bit was correctly set (together with the TLLI) in
create_new_bsn(), but was not properly propagated later on in
create_ul_acked_block() to the intermediate struct before the final
encoding to the packed structure containing the final message
(gprs_rlcmac_rlc_write_ul_data_header).
Change-Id: I6ba361bc9bc47230954cca19c7f2f8cf74d8278e
We'll need to get one event for each Pkt UL ACK/NACK the UL TBF receives
in order to implement T3182 properly in a follow-up patch, hence rework
the events sent to the FSM (merge events about Final ACK and Contention
Resolution in one generic UL ACK/NACK event with some data parameters).
Change-Id: I4420abd69a318bd93fde73a67239456466071497
If there's only 1 block to be sent, the LAST_UL_DATA_SENT was being sent
before the FIRST_UL_DATA_SENT one, which created problems in the FSM
(when adding more logic later).
Furthermroe, this change also makes it send retransmission events, which
makes it similar for both FIRST and LAST events. This will also be
needed for T3182.
Change-Id: I701dbe00ff2af62c45d862a9211b5b1120f3efa3
This can happen for instance if MS sent al the data but PCU didn't
receive it all (some it was lost) so it can still keep asking the MS to
submit data. In this case, the MS shall attempt retransmit of some
unacked data.
Change-Id: I2333a0a432c0c6f223bc1043ddb0d9c34842a5a3
Measurement related functionality is not yet implemented and hence the
related fields cannot be filled in yet.
Related: OS#5500
Change-Id: I6ae2df07929fb6c4733e87b18cebe75a6f24f520
This commit imports pdch_ul_controller.{c,h} from osmo-pcu.git
d8cea3c618dbd2a343e6c012e5545006d44fc244 and adapts it to be of use on
the MS side.
Related: OS#5500
Change-Id: I9d38a8de4240e65585cc8bbe3c044473af5a83e5
This code imports code from osmo-pcu.git
d8cea3c618dbd2a343e6c012e5545006d44fc244 (heavy modified to adapt to
current code base).
With this patch the RLCMAC layer is already capable of decoding RLC/MAC
GPRS data blocks and submit them as LLC frames to the upper layer.
Related: OS#5500
Change-Id: Ie7535606916c0800c0e1bd9555be022c81ea257d
This patch only introduces the gprs_rlcmac_dl_tbf subclass and
allocates/frees it based on PCH ImmAss, and adds initial paths for
received blocks. It also provides a unit test to showcase the scenario.
Change-Id: I7f98e3456ef35d80becdad3481afeb771457b0ef