Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-06-04 | gprs_rlcmac_pdch: Get rid of ul/dl_tbf | Daniel Willmann | 1 | -2/+1 | |
The current code keeps a reference to all tbfs in the bts and another reference in the pdch. This allows for the possibility of both lists to go out of sync. This patch removes the pdch-specific list of ul and dl tbfs and uses the lists in the bts to lookup tbfs everywhere. Performance for going through the global list is not an issue yet. We can optimize this later and in a better way. Sponsored-by: On-Waves ehf | |||||
2014-06-04 | gprs_rlcmac_pdch: Don't access private members | Daniel Willmann | 1 | -0/+3 | |
This patch introduces methods to get ul and dl tbf by tfi and uses them in gprs_rlcmac_sched. Sponsored by: On-Waves ehf | |||||
2013-12-25 | sched: Attempt to improve the fairness and schedule UL/AL ACK/ASS | Holger Hans Peter Freyther | 1 | -0/+1 | |
It is possible that certain UL ACK messages are not sent when there are many many uplink and downlink assignments. Try to be more fair and schedule them round-robin. This way no starvation should occur. | |||||
2013-11-24 | tbf: Count how often we re-start a BSN in the send routine | Holger Hans Peter Freyther | 1 | -0/+3 | |
There appears to be a scheduling issue. Even without any NACKs we are re-transmitting a lot of frames. It might be because of this. | |||||
2013-11-23 | rlc: Count nacked frames in the statistics too | Holger Hans Peter Freyther | 1 | -0/+3 | |
2013-11-19 | rlc: Count the window stalls on the RLC level | Holger Hans Peter Freyther | 1 | -0/+3 | |
2013-11-13 | rlc: Count the sent and resent RLC blocks | Holger Hans Peter Freyther | 1 | -0/+6 | |
2013-11-13 | bts: Count the number of llc frames that were "scheduled" to be sent | Holger Hans Peter Freyther | 1 | -4/+7 | |
This does not mean that they have been successfully transferred to the SGSN/MS but at least that they have reached a certain point in the message flow. | |||||
2013-11-13 | tbf: Count how often we re-use a TBF that was already being deactivated | Holger Hans Peter Freyther | 1 | -0/+3 | |
2013-10-30 | bts: Pass the Packet_Control_Acknowledgement_t into the recv method | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Use Packet_Downlink_Ack_Nack_t as parameter | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Simplify the code and use Packet_Resource_Request_t* | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Work with the Packet_Measurement_Report_t | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Move the MT_PACKET_MEASUREMENT_REPORT handling to a new method | Holger Hans Peter Freyther | 1 | -0/+1 | |
2013-10-30 | bts: Move handling of MT_PACKET_RESOURCE_REQUEST to a method | Holger Hans Peter Freyther | 1 | -0/+1 | |
Move the code to a new method | |||||
2013-10-30 | bts: Move handling of MT_PACKET_DOWNLINK_ACK_NACK to separate function | Holger Hans Peter Freyther | 1 | -0/+1 | |
Kill the tlli assignment as it is never used. | |||||
2013-10-30 | pdch: Move handling of control_ack to a separate method | Holger Hans Peter Freyther | 1 | -0/+1 | |
Kill the unused tfi parameter | |||||
2013-10-30 | bts: Count the rach frames we receive | Holger Hans Peter Freyther | 1 | -0/+3 | |
2013-10-30 | llc: Count timedout and silently dropped frames | Holger Hans Peter Freyther | 1 | -0/+6 | |
A DL tbf can be discarded and then the already queued LLCs will be silently dropped. Count this event. | |||||
2013-10-30 | sba: Count SBA allocation, frees and timeouts | Holger Hans Peter Freyther | 1 | -21/+19 | |
Add a warning about the receive message poking in the internal of the sba. This will be cleaned up in a follow up commit | |||||
2013-10-30 | bts: Provide the first set of counters | Holger Hans Peter Freyther | 1 | -0/+25 | |
2013-10-30 | bts: Start creating statistics inside the BTS code | Holger Hans Peter Freyther | 1 | -0/+31 | |
2013-10-30 | bts: Move gprs_rlcmac_rcv_rach into the BTS class | Holger Hans Peter Freyther | 1 | -0/+1 | |
2013-10-30 | bts: Move gprs_rlcmac_trigger_downlink_assignment into BTS | Holger Hans Peter Freyther | 1 | -0/+1 | |
2013-10-30 | tbf: Move gprs_rlcmac_poll_timeout into the tbf | Holger Hans Peter Freyther | 1 | -0/+2 | |
Move the gprs_rlcmac_poll_timeout method into the tbf class and gprs_rlcmac_downlink_assignment into the BTS. | |||||
2013-10-30 | bts: Move rcv_imm_ass_cnf into the bts code | Holger Hans Peter Freyther | 1 | -0/+2 | |
2013-10-30 | tbf/bts: Move the tfi_find_free into the bts | Holger Hans Peter Freyther | 1 | -0/+2 | |
2013-10-30 | tbf/pdch/bts: Move the tbf look-up by tfi into the BTS | Holger Hans Peter Freyther | 1 | -0/+1 | |
2013-10-30 | pdch: Remove the trx_no/ts_no parameter and use/caclulate it on demand | Holger Hans Peter Freyther | 1 | -5/+8 | |
Simplify the depedencies and use the inline functions when we need to figure out the numbers. | |||||
2013-10-30 | pdch: Remove the bts argument from rcv_control_block | Holger Hans Peter Freyther | 1 | -2/+1 | |
2013-10-30 | pdch: Remove the the bts parameter from rcv_data_block_acknowledged | Holger Hans Peter Freyther | 1 | -1/+14 | |
2013-10-30 | pdch: Move the giant switch/case of gprs_rlcmac_rcv_control_block | Holger Hans Peter Freyther | 1 | -0/+3 | |
Move the dispatch into the PDCH. This needs to be split up further into understandable blocks. | |||||
2013-10-30 | pdch/tbf: Move gprs_rlcmac_rcv_data_block_acknowledged into the pdch | Holger Hans Peter Freyther | 1 | -0/+8 | |
Move the method into the PDCH. Extract the finding of TLLI into a new class called Decoding. Move the assemble and forward LLC frames into the TBF as it is poking in the internals of the TBF. | |||||
2013-10-30 | pdch: Instead of passing bts, trx, ts use the pdch | Holger Hans Peter Freyther | 1 | -0/+3 | |
All dispatching will go through the PDCH. This will clean a lot of the look-ups inside the gprs_rlcmac_data.c and continue with adding structure to the pcu code. | |||||
2013-10-30 | pdch: Simplify the reset code, rename variables to XYZ_no | Holger Hans Peter Freyther | 1 | -2/+1 | |
Simplify the reset code now that the PDCH can know where it is located. Rename the variables in the sba to trx_no and ts_no as it stores the number and not the actual thing. | |||||
2013-10-30 | bts: Add backpointers to the PDCH and TRX structures | Holger Hans Peter Freyther | 1 | -0/+8 | |
This will allow to kill various parameters from all the functions as we can walk back. | |||||
2013-10-30 | bts/tbf: Move the lists into the BTS and do the look-up from the BTS | Holger Hans Peter Freyther | 1 | -1/+11 | |
The list belongs to the BTS. This makes cleaning this up more easy and establishes a hierachy of resources that start from the BTS. The debug_diagram code is now broken. | |||||
2013-10-30 | sba: Create a SBAController that will manage the sbas for a BTS | Holger Hans Peter Freyther | 1 | -1/+9 | |
The PollController is a friend of the SBAController and is allowed to access the internal list. The list is hidden from everyone else. This is done because the calculation of timeout should belong into the PollController and not into the SBAController. | |||||
2013-10-30 | ta: Create TimingAdvance class and make it belong to the BTS | Holger Hans Peter Freyther | 1 | -0/+8 | |
This allows us to easily flush the state in case a PCU/BTS connection is lost. | |||||
2013-10-30 | bts/pdch: Move the adding of paging to the BTS/PDCH objects | Holger Hans Peter Freyther | 1 | -0/+4 | |
Only the gprs_rlcmac_pdch will manipulate the paging list now. There can be various more refactorings of the code but they can be done later. E.g. on memory allocation failure we can continue instead of leaving the code, we should also set any_tbf only after things have been paged. | |||||
2013-10-30 | pdch: Move paging dequeue into the PDCH object | Holger Hans Peter Freyther | 1 | -0/+4 | |
Rely on packet_paging_request returning NULL in case the queue is empty. We should move the write_packet_paging_request into a separate file/object as well. | |||||
2013-10-30 | pdch: Move enable/disable into the PDCH code | Holger Hans Peter Freyther | 1 | -1/+16 | |
When a PDCH is disabled all resources should be freed. This is currently not possible as the PDCH does not know where it belongs to. On top of that the list (and other resources) should be properly initialized on construction so that disable() is idempotent and does not check if it was disabled. During the re-factoring I noticed that during a sysmobts re-start some resources are not freed. I left a warning in the code to resolve this issue later. | |||||
2013-10-30 | bts: Introduce a PollController that has the responsibility to poll | Holger Hans Peter Freyther | 1 | -0/+8 | |
For each frame indication received by the BTS the poll controller is asked to expire timedout entries. | |||||
2013-10-30 | bts: Move the frame_number into the BTS sructure | Holger Hans Peter Freyther | 1 | -0/+10 | |
The current_frame is an attribute of the BTS. Move it from the pcu_l1_if.cpp into the BTS. As the next step we can trigger actions depending on the change of the frame. | |||||
2013-10-30 | bts: Introduce a singleton for the BTS and use it in the code | Holger Hans Peter Freyther | 1 | -1/+38 | |
Compared to the previous code there will be a branch to get the global pointer so the code will be slightly slower than the previous version but it allows us to start creating objects but still use the code from C. It is best approach I have found so far. One downside of C++ is that by default talloc will not be used (unless we override the new operator to use talloc. Right now we need to memset the C data structure by hand. The benefit of enforcing a better structure should is more important though. | |||||
2013-10-30 | bts: Move struct gprs_rlcmac_bts and other structs into a bts.h | Holger Hans Peter Freyther | 1 | -0/+83 | |
Begin to make the BTS a real C++ object with real responsibilities. The biggest issue will be the pcu_vty.c that might not like C++ at all. |