diff options
author | Pau Espin Pedrol <pespin@espeweb.net> | 2021-02-01 14:28:33 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@espeweb.net> | 2021-02-01 14:28:35 +0100 |
commit | 79784d024960fe1de3bc6db622a440b3c96a0a3c (patch) | |
tree | fef68376628635c69513d7b06e0054753bc4bebd /src | |
parent | fdbcea353288db50bf146a7dacdbe979400faa5b (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.txt | 161 |
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. - - |