Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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 | |
2013-11-11 | misc: Fix coverity warning about indention | Holger Hans Peter Freyther | 1 | -1/+0 | |
So we had one intended line inside the if for "SMS VALUE" and at the same time one line with "SMS VALUE" at the same indention. Assume it is copy and paste and remove the line. Currently we are only parsing the ms_class so this change should not have any semantic change. Fixes: Coverity CID 1058761 | |||||
2013-11-11 | misc: Fix a potential leak on config parsing | Holger Hans Peter Freyther | 1 | -1/+2 | |
Fixes: Coverity CID 1040949 | |||||
2013-11-11 | pcu: Address the return without value | Holger Hans Peter Freyther | 1 | -0/+1 | |
Fixes: Coverity CID 1040959 | |||||
2013-11-11 | llc: Add another warning for me to take a look | Holger Hans Peter Freyther | 1 | -0/+1 | |