Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2013-11-26 | tbf/rlc: Remove the side-effect from the loop. | Holger Hans Peter Freyther | 1 | -7/+8 | |
2013-11-26 | tbf: Reduce complexity and deal with only one way of assignment | Holger Hans Peter Freyther | 1 | -16/+4 | |
The normal mode of the PCU doesn't really work right now. There is no place to have certain kind of features that are not built and not unit-tested. | |||||
2013-11-26 | tbf/rlc: Move the check if something is in the window out. | Holger Hans Peter Freyther | 2 | -6/+16 | |
2013-11-26 | rlc: The bsn has never been used. Remove it from the Xl_window | Holger Hans Peter Freyther | 1 | -2/+0 | |
2013-11-26 | rlc: Add a basic test for the DL Window and moving the window | Holger Hans Peter Freyther | 1 | -0/+49 | |
2013-11-26 | rlc: Test the basic of the gprs_rlc_v_n code for remembering the state | Holger Hans Peter Freyther | 4 | -3/+31 | |
2013-11-26 | tbf/rlc: Move the v_n handling into a dedicated object | Holger Hans Peter Freyther | 4 | -7/+36 | |
2013-11-26 | tbf/rlc: Big change and move the window handling out to the rlc | Holger Hans Peter Freyther | 5 | -119/+242 | |
The send and receive window is now managed by an external object. There are some issues that can only be solved with C++11 but it is progres and removes some of the spaghetti code. For GPRS the sns and ws is hardcoded. Move that into the window code. | |||||
2013-11-26 | tbf: Update the legend and mention invalid as well | Holger Hans Peter Freyther | 1 | -1/+1 | |
We should not see it but the legend should be complete. | |||||
2013-11-26 | rlc: Use uint16_t for the BSN in all cases. | Holger Hans Peter Freyther | 1 | -2/+2 | |
The sns is only 128 for GPRS (it can be bigger for EDGE) so the uint8_t was enough but it is bad to have inconsistencies for both of them. | |||||
2013-11-26 | tbf/rlc: Move the counting of unacked frames into the RLC V_B class | Holger Hans Peter Freyther | 3 | -8/+21 | |
Whenwe receive a final ack we assume that all the unacked frames have been acked now. Move the counting to V_B and now the caller can remove the BSN and the "lost" variable which has always been zero. | |||||
2013-11-26 | tbf: Split the handling of DL ACK/NACK into two separate parts | Holger Hans Peter Freyther | 2 | -59/+69 | |
Split the handling of the final ack and the handling of frames that is moving frames. | |||||
2013-11-26 | tbf/rlc: Change the code and generate the entire state in the V_B | Holger Hans Peter Freyther | 3 | -15/+21 | |
2013-11-26 | tbf/rlc: Move the moving of V(A) into the V_B code | Holger Hans Peter Freyther | 3 | -8/+23 | |
Move the code that moves the V_B to the first not acked frame. Return how many indexes the V_B was moved and update the V_A in the caller. | |||||
2013-11-26 | tbf/rlc: Move the parsing of RBB to Decoding, move window marking out | Holger Hans Peter Freyther | 5 | -26/+61 | |
Move the parsing of the bitbmap out of the TBF code into Decoding. Move the updating of the V_B into the V_B class. Add some comments about handling the mod_sns, mod_sns_half parameters by using template code. | |||||
2013-11-26 | tbf: Fix the indention of this routine | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-11-26 | debug_diagram: Remove the special debug_diagram compilation mode | Holger Hans Peter Freyther | 6 | -175/+0 | |
This approach is somehow flawed. We need/want to debug problems on systems with real traffic and re-compiling it with debug_diagram is not an option. All internal logging needs to be expressive enough so we can understand what is going on (e.g. create a script to post-process the output). | |||||
2013-11-26 | tbf: Simplify the create_dl_acked_block into two parts | Holger Hans Peter Freyther | 2 | -13/+22 | |
Separate the resend from creating a new block. It shows that the first_fin_ack is always set to FALSE for re-sending. This might not be what we want. | |||||
2013-11-26 | tbf/rlc: Move the marking of frames for resend into the v_b | Holger Hans Peter Freyther | 3 | -12/+24 | |
2013-11-26 | tbf: Move the check if the window is stalled to a separate method | Holger Hans Peter Freyther | 2 | -2/+8 | |
2013-11-26 | rlc/tbf: Move the loop into the gprs_rlc_v_b class | Holger Hans Peter Freyther | 3 | -13/+30 | |
2013-11-24 | tbf: Count how often we re-start a BSN in the send routine | Holger Hans Peter Freyther | 3 | -2/+7 | |
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 | tbf: Always increase the tx_counter when we transmit a frame | Holger Hans Peter Freyther | 1 | -6/+4 | |
In case the ACK could not be scheduled we were not increasing the tx_counter. Change the code flow to always increase the tx_counter after we have created a frame. | |||||
2013-11-23 | sched: Make internal methods static | Holger Hans Peter Freyther | 1 | -3/+4 | |
2013-11-23 | tbf: Make the ws and sns number "private" (they should also be const) | Holger Hans Peter Freyther | 3 | -16/+23 | |
2013-11-23 | rlc: Create a basic test that mark/is is talking about the same | Holger Hans Peter Freyther | 2 | -1/+34 | |
2013-11-23 | rlc: Move the rlc headers into a separate header file | Holger Hans Peter Freyther | 2 | -103/+107 | |
2013-11-23 | rlc: Move the ack state array into a separate class that can be tested | Holger Hans Peter Freyther | 3 | -18/+104 | |
2013-11-23 | rlc: Count nacked frames in the statistics too | Holger Hans Peter Freyther | 3 | -0/+5 | |
2013-11-21 | llc: FIx a typo in the message | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-11-21 | rlc: Add a simple test for the RLC data structure for the init | Holger Hans Peter Freyther | 2 | -1/+16 | |
2013-11-21 | types: Add a simple testcase for basic types and fix the LLC code | Holger Hans Peter Freyther | 8 | -5/+117 | |
* Make append_data, remaining_space and fits_in_current.. work on m_length and not the index. This ways things can't overflow. * The current API consumer was moving the m_index so it should have worked okay. | |||||
2013-11-19 | rlc: Start to move things out of the tbf into the rlc | Holger Hans Peter Freyther | 4 | -11/+50 | |
Add remarks of possible broken behavior inside the tbf routines. Move the preparation (and init) into the new rlc.cpp file. | |||||
2013-11-19 | tbf: The memory regions overlap so memmove should be used | Daniel Willmann | 1 | -2/+2 | |
2013-11-19 | rlc: Count the window stalls on the RLC level | Holger Hans Peter Freyther | 3 | -1/+7 | |
2013-11-19 | meas: Add a warning for flow control handling here | Holger Hans Peter Freyther | 1 | -0/+1 | |
2013-11-13 | rlc: Pass the gprs_rlc_data to the assemble function for assembly | Holger Hans Peter Freyther | 2 | -4/+6 | |
2013-11-13 | rlc: Put a block and the length into a separate object | Holger Hans Peter Freyther | 2 | -11/+17 | |
This will ease passing things around. | |||||
2013-11-13 | rlc: Begin to move the rlc block handling into a separate object | Holger Hans Peter Freyther | 2 | -11/+20 | |
The secret of gprs_rlc will be the manipulation of the blocks for the current window. We might add the window handling in this class as well. | |||||
2013-11-13 | rlc: Count the sent and resent RLC blocks | Holger Hans Peter Freyther | 3 | -0/+12 | |
2013-11-13 | tbf: Re-use the code that is re-using the tbf | Holger Hans Peter Freyther | 2 | -24/+26 | |
Address the fixme and re-use the code. Fix the counting in the final ack case and provide a log message in the other case. Prefix it with the tbf name | |||||
2013-11-13 | llc: Move the decision if a frame has expired into the LLC | Holger Hans Peter Freyther | 3 | -4/+11 | |
This way the generation of the expiry information and the check is at the same place. This should make reading the code more easy. | |||||
2013-11-13 | llc: Make the index 'private' by appending a m_ to it. | Holger Hans Peter Freyther | 2 | -11/+11 | |
At some point in the future we can start using the private/protected keywords in this struct. | |||||
2013-11-13 | llc: Move some more secrets from the TBF into the LLC | Holger Hans Peter Freyther | 3 | -26/+57 | |
Introduce a method to append data to a TBF and then reset the read pointer when the frame has been sent. | |||||
2013-11-13 | bts: Count the number of llc frames that were "scheduled" to be sent | Holger Hans Peter Freyther | 4 | -6/+14 | |
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 | llc: Use timeradd and timercmp and fix for < 1s PDU llc timeouts | Holger Hans Peter Freyther | 2 | -11/+11 | |
2013-11-13 | llc: Change the flow. Exit early for the special case and initialize the tv | Holger Hans Peter Freyther | 1 | -9/+12 | |
2013-11-13 | llc: Move the timeout calculation into the TBF | Holger Hans Peter Freyther | 3 | -17/+25 | |
2013-11-13 | tbf: Count how often we re-use a TBF that was already being deactivated | Holger Hans Peter Freyther | 3 | -0/+5 | |
2013-11-13 | llc: Remove one of the two variants to put data into the frame | Holger Hans Peter Freyther | 3 | -11/+8 | |