aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@espeweb.net>2021-02-01 14:28:33 +0100
committerPau Espin Pedrol <pespin@espeweb.net>2021-02-01 14:28:35 +0100
commit79784d024960fe1de3bc6db622a440b3c96a0a3c (patch)
treefef68376628635c69513d7b06e0054753bc4bebd /src
parentfdbcea353288db50bf146a7dacdbe979400faa5b (diff)
Move src/tbf.txt to doc/
At least there it will pass less unnoticed, I just discovered this file by chance. Change-Id: I65a443ae498ae4c5e837e5a069fd87863f259152
Diffstat (limited to 'src')
-rw-r--r--src/tbf.txt161
1 files changed, 0 insertions, 161 deletions
diff --git a/src/tbf.txt b/src/tbf.txt
deleted file mode 100644
index 9d0db1ad..00000000
--- a/src/tbf.txt
+++ /dev/null
@@ -1,161 +0,0 @@
-This document describes the handling of TBFs
---------------------------------------------
-
-Notes:
- TBF
- Instance for one temporary block flow.
-
- LLC Frame
- Current frame to be transmitted or received. If tbf->llc_length is not 0,
- the frame exists, if 0, the frame does not exist. If tbf->llc_index is not
- 0, parts of the frame have been transmitted or received so far.
-
- LLC Queue
- Queue of next frames to be transmitted.
-
-States:
- GPRS_RLCMAC_ASSIGN
- After a downlink TBF is created, it resides in this state until the
- block flow can start. This is required to give the mobile time to listen
- to connect to downlink PDCH.
-
- GPRS_RLCMAC_FLOW,
- During packet flow, this state indicates downlink and uplink TBF block
- flow.
-
- GPRS_RLCMAC_FINISHED,
- Uplink TBF:
- After final block is received AND all other blocks are completely
- received, the state is entered. The PACKET CONTROL ACK is still not
- received. (Counter N3103 is counted on each poll request.)
- Downlink TBF:
- All blocks including the final block has been transmitted. Not all
- downlink blocks are acknowledged yet. (Counter N3015 is counted on each
- poll request.)
-
- GPRS_RLCMAC_WAIT_RELEASE,
- The all blocks on downlink TBF have been acked by mobile. The penalty
- timer T3192 is running on mobile.
-
- GPRS_RLCMAC_RELEASING,
- Wait for TFI/USF to be re-used. This state is entered when a counter
- reaches it's maximum and T3169 is running.
-
-
-When downlink LLC PDU is received:
-
- If downlink TBF exists for given TLLI, but not in RELEASING state:
- If downlink TBF is in FLOW or FINISHED state:
- Enqueue PDU to LLC Queue of TBF.
- Done.
- If downlink TBF is in WAIT RELEASE state:
- Attach PDU to LLC Frame of TBF.
- Put TBF back into FLOW state.
- Done.
- If dowlink TBF does not exists for given TLLI, or in RELEASING state:
- Create new downlink TBF.
- Attach PDU to LLC Frame of TBF.
- If uplink TBF exists for given TLLI, but not in RELEASING state:
- Assign packet channel PACCH.
- Done.
- If uplink TBF does not exists for given TLLI, or in RELEASING state:
- Assign packet channel AGCH.
- Done.
-
-When channel request for uplink TBF is received:
-
- Create new uplink TBF.
- If channel request was received on RACH
- Assign packet channel AGCH.
- Done
- If channel request was received on PACCH
- Assign packet channel PACCH.
- Done
-
-Handling of LLC Frame of downlink TBF and LLC Queue of downlink TBF:
-
- If a downlink TBF is created, the LLC PDU is attached to LLC Frame of TBF
- (downlink flow is assigned to MS).
-
- If a downlink TBF exists, the LLC PDU is enqueued to LLC Queue of TBF.
-
- During transfer of downlink blocks, the LLC Queue is dequeued whenever all
- segments of LLC Frame were used for generation of downlink blocks. (If a
- block is partly filled with LLC Frame segment, its remaining space is filled
- with the next LLC Frame from the Queue.)
-
- If the transfer is finished, no more LLC Frames are dequeued from the LLC
- Queue, in case a new frame has arrived during lifetime of TBF.
-
- If the all downlink blocks have been acknowledged, the LLC Queue is
- dequeued and an existing frame is attached to LLC Frame. If so, the new
- state is FLOW (downlink flow is assigned to MS), otherwise WAIT RELEASE.
-
- If a new LLC PDU is attached to LLC Frame during WAIT RELEASE state, the
- state is changed to FLOW (downlink flow is assigned to MS).
-
-
-Handling of LLC Frame on uplink TBF:
-
- Received uplink blocks are appended to LLC Frame of TBF. If the PDU is
- complete, it is forwarded to the upper layer.
-
-
-Control TS:
- On uplink or downlink assignment, it is required to have one timeslot that
- can be used to receive and transmit. This timeslot is used at uplink TBF
- to acknowledge and to assign other TBF. This timeslot is used at downlink
- TBF to poll acknowledgement and to assign other TBF.
-
- The first common TS (first_common_ts) is calculated when channels are
- allocated. After creation of TBF or after assignment to different TS layout,
- the first common TS is used for control TS.
-
- The first common TS (and so control TS) must not need to be allocated to
- MS as uplink TBF. (E.g. in case of non-available USF for this slot)
-
-
-Polling:
- In order to poll uplink control block from MS, a special poll state and
- frame number is stored at TBF. The scheduler reads that value and will not
- assign uplink resource for other TBFs at that frame number.
-
- When there is no uplink transmission received on the block, a timeout is
- indicated by layer 1 interface. There are two ways of checking timeout:
- - The received frame is bad (BFI).
- - The GSM indicates that the block should have been already received.
-
- Because polling requires uplink response from MS, the polling must be
- performed at control TS.
-
-
-Data structures of TBFs and PDCHs:
-
- There is a global structure for BTS.
-
- The BTS structure has 8 TRX structures.
-
- Each TRX structure has 8 PDCH structures, one for each timeslot.
-
- There are two linked lists of TBF instances:
- - uplink TBFs
- - downlink TBFs
-
- Each TBF instance also has:
- - a direction
- - a TFI of range 0..31
- - an array of 8 PDCH structures, one for each assigned timeslot
- - in case of uplink TBF: an array of 8 USFs, one for each assigned timeslot
-
- Each TRX and all it's PDCH structures also have:
- - an array of 32 uplink TBFs that are assigned to this PDCH
- - an array of 32 downlink TBFs that are assigned to this PDCH
-
- On creation of a new TBF, it links to all assigned PDCHs.
- Each PDCH links to that TBF. The TBF is added to the list of TBFs.
- In case of uplink TBF: The allocated USFs are stored for each timeslot.
-
- On release of a TBF, the link to this PDCH is removed from all assigned
- PDCHs. The TBF is removed from the list of TBFs. The TBF is destroyed.
-
-