Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-01-16 | TODO: Update the todolist with some musings...zecke/pcu-next | Holger Hans Peter Freyther | 1 | -0/+24 | |
2014-01-16 | tbf: Change the log area to RLCMACDL so we see it in a DL trace | Holger Hans Peter Freyther | 1 | -4/+4 | |
2014-01-16 | tbf: Make finding use-after-free more easy and set to NULL or return | Holger Hans Peter Freyther | 2 | -0/+5 | |
Make finding use-after-free more easy by setting things to NULL or simply return after tbf_free(this) has been called. | |||||
2014-01-16 | tbf: Use past-tense and call it created_ts | Holger Hans Peter Freyther | 2 | -6/+6 | |
2014-01-16 | Merge remote-tracking branch 'sysmocom/tbf-vty' into sysmocom/master | Holger Hans Peter Freyther | 3 | -1/+68 | |
2014-01-15 | tbf: Save a timestamp at tbf allocation and print it in the VTY | Daniel Willmann | 2 | -3/+14 | |
2014-01-15 | pcu_vty: Add a command to print info about all TBFs | Daniel Willmann | 2 | -3/+25 | |
2014-01-15 | tbf: Add a function to output tbf info to VTY | Daniel Willmann | 2 | -0/+34 | |
2014-01-15 | Merge remote-tracking branch 'sysmocom/window-rework' into sysmocom/master | Holger Hans Peter Freyther | 6 | -177/+200 | |
2014-01-15 | rlc: Rename state() to show_state() to better reflect its function | Daniel Willmann | 3 | -3/+5 | |
show_state() is only used for debugging output to make the v(b) array human readable. | |||||
2014-01-15 | rlc: Use an enum for the state array instead of chars | Daniel Willmann | 3 | -38/+64 | |
gprs_rlc_bsn_state is now used to hold the ACK state of sent/received rlc packets. | |||||
2014-01-15 | rlc/tbf: Move v_b into DL window | Daniel Willmann | 5 | -77/+82 | |
Move functions resend_needed(), mark_for_resend(), update(), move_window(), state(), count_unacked() out of v_b directly into the UL window and provide a function get_state in v_b to access the v_b elements. | |||||
2014-01-15 | rlc/tbf: Add function receive_bsn that updates v_r, v_q, v_n | Daniel Willmann | 4 | -31/+21 | |
We don't need to expose the mecanics of updating the variables to the outside. | |||||
2014-01-15 | rlc/tbf: Move v_n into gprs_rlc_ul_window and adapt the tests | Daniel Willmann | 6 | -69/+69 | |
v_n is part of the UL window handling so move it inside the ul_window | |||||
2014-01-15 | rlc: Rename the simple raise_v_r method to avoid naming conflicts | Daniel Willmann | 2 | -3/+3 | |
2014-01-15 | alloc: Update the test result now that everything is back to working again | Holger Hans Peter Freyther | 1 | -0/+7650 | |
2014-01-15 | alloc_algorithm_b: Remove obsolete 'i' incrementation from for-loop | Andreas Eversberg | 1 | -1/+1 | |
2014-01-15 | misc: Allow to cross-execute the tests using qemu | Holger Hans Peter Freyther | 1 | -4/+4 | |
When cross-compiling osmo-bts/osmo-pcu one can not easily execute the testsuite. By adding the OSMO_QEMU variable in front of the normal execution we can execute the tests. This should work for native and cross builds. $ OSMO_QEMU="qemu-arm -L /opt/poky/1.1.2/sysroots/armv5te-poky-linux-gnueabi/" make check | |||||
2014-01-15 | Merge branch 'sysmocom/allocation-corrections' into sysmocom/master | Holger Hans Peter Freyther | 4 | -264/+1620 | |
Merge the refactorings we did at sysmocom and the new test cases that test the easy success cases of the allocation algorithm. Include the multislot fixes from Andreas. | |||||
2014-01-15 | alloc_algorithm_b: Add seperate function to shrink rx window when TS are removed | Andreas Eversberg | 1 | -6/+12 | |
After reduce_rx_window() and update_rx_win_max() was called, one or more TS might be removed. tx_win_min and tx_win_max must be adjusted to the new range of allocated slots. | |||||
2014-01-15 | alloc_algorithm_b: Increment 'i', so allocated TS will not exceed tx_range | Andreas Eversberg | 1 | -2/+2 | |
2014-01-15 | alloc/test: Add a crazy test that tests each possible combination | Holger Hans Peter Freyther | 1 | -0/+130 | |
Make a crazy test that will test each possible PDCH configuration and MS Class and verify that the UL/DL assignments work and that they are on the same first_common_ts. | |||||
2014-01-15 | alloc_algorithm_b: Do not select uplink slots that cannot be used for downlink | Andreas Eversberg | 1 | -4/+21 | |
In order to poll MS, the mobile must be able to receive polling request. In order to allow the MS to transmit, the USF must be received by the mobile. | |||||
2014-01-15 | alloc_algorithm_b: Set tx_range to 8, if all 8 TS are supported by MS | Andreas Eversberg | 1 | -0/+3 | |
2014-01-15 | alloc_algorithm_b: For type 1 MS, limit number of donwlink TS to 5 | Andreas Eversberg | 1 | -0/+6 | |
The algorithm does not support more than 5 TS on downlink for type 1 MS. Supporting more than 5 TS would require adding more complexity to this algorithm. MS that support more than 4 (or 5) TS on downlink are rare, if they really exist. | |||||
2014-01-15 | alloc_algorithm_b: Correctly increment RX/TX window, even if TS is not useable | Andreas Eversberg | 1 | -8/+8 | |
2014-01-15 | alloc: Move the uplink ts selection/pre-assignment out of the code | Holger Hans Peter Freyther | 1 | -87/+100 | |
Create a select_ul_slots which is very (95%) similar to the select_dl_slots handling. This needs to be refactored and the todo for multiple uplink slots should be handled too. Add a warning about a potential failure on a busy PCU. | |||||
2014-01-15 | alloc: Move the selection of the first enabled pdch to a new method | Holger Hans Peter Freyther | 1 | -14/+23 | |
2014-01-15 | alloc: Move the tx window calculation to a new method | Holger Hans Peter Freyther | 1 | -18/+24 | |
2014-01-15 | alloc: Move upating of the rx window max for Type==1 to a new method | Holger Hans Peter Freyther | 1 | -10/+21 | |
2014-01-15 | alloc: Move the collision handling to a new method | Holger Hans Peter Freyther | 1 | -64/+88 | |
The naming of RX/TX still looks fishy and it should use DL/UL instead. Work on pointers right now. We could introduce a struct with the window min and max and pass this struct. The usage of 'D' appears wrong in the ul_usage.. | |||||
2014-01-15 | alloc: Move the selection of downlink slots to a new method | Holger Hans Peter Freyther | 1 | -67/+86 | |
This code could evolve into working for Uplink and Downlink. The only different for the final Uplink assignment is that free USFs are collected. | |||||
2014-01-15 | alloc: Simplify the assignment of Trb and Ttb | Holger Hans Peter Freyther | 1 | -6/+2 | |
Put the cases for MS_A/MS_B and MS_A/MS_C together. | |||||
2014-01-15 | alloc: Add a note that the tx window handling differs from rx | Holger Hans Peter Freyther | 1 | -0/+2 | |
It looks like the code is different (without a reason) a good reason. | |||||
2014-01-15 | alloc/test: Go through all possible ms_classes for the allocation | Holger Hans Peter Freyther | 2 | -9/+955 | |
Generate results for all possible classes. | |||||
2014-01-15 | alloc/tests: Create an allocation test for various scenarious | Holger Hans Peter Freyther | 3 | -5/+173 | |
The allocation in the TBF/BTS code is quite complex. In parts this is due the assignment and requests occuring under differen circumstances. Attempt to re-create the commono scenarios. Remove the bogus msclass check in gprs_rlcmac_tbf::update as the allocation code will check the ms class anyway. | |||||
2014-01-15 | bts: Rename ts and trx to ts_no and trx_no as we operate on number | Holger Hans Peter Freyther | 1 | -6/+6 | |
2014-01-15 | tbf: Kill the tsc member as it duplicates data | Holger Hans Peter Freyther | 5 | -8/+12 | |
We can just use first_ts and the trx/pdch to extract this information. Avoid duplication of data. | |||||
2014-01-15 | tbf: Fix typo and call it same | Holger Hans Peter Freyther | 1 | -1/+1 | |
2014-01-15 | sched: Document a possible race condition | Holger Hans Peter Freyther | 1 | -0/+6 | |
2014-01-15 | Set csnStream direction *after* csnStreamInit | Daniel Willmann | 1 | -1/+1 | |
Fixes a bug introduced in commit 402cdc. That commit sets direction to zero so setting it to 1 should be done after the call to csnStreamInit(). This issue was discovered by the rlcmac test. | |||||
2014-01-09 | Fix warnings in gsm_rlcmac.cpp | Ivan Kluchnikov | 2 | -0/+4 | |
1. ar.direction variable was not initialized 2. overrunning array "data->RLC_DATA" of 20 bytes at byte offset 22 using index "i" (which evaluates to 22) | |||||
2014-01-09 | sysmo_l1_if: Fix off-by-one bug when sending UL messages to gsmtap | Daniel Willmann | 1 | -2/+2 | |
The first byte in data_ind->msgUnitParam.u8Buffer is not part of the GSM frame, but something else, it is also skipped in the call to pcu_rx_data_ind_pdtch(). This patch fixes GSM RLC/MAC UL packet decoding in wireshark, especially ACK/NACK packets are now displayed correctly (amongst others). | |||||
2013-12-25 | sched: Attempt to improve the fairness and schedule UL/AL ACK/ASS | Holger Hans Peter Freyther | 2 | -14/+23 | |
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-12-25 | sched: Remove unused bts parameter from the internal method | Holger Hans Peter Freyther | 1 | -2/+2 | |
2013-12-25 | llc: Calculate the average queuing delay of the LLC queues | Daniel Willmann | 3 | -4/+28 | |
Use a formula like it is used with TCP. This can help to make decisions about if frames should be dropped or not at the time we enqueue them. This code will store two timeval structs in fron the of the actual data and compute the average at the time of the dequeue. | |||||
2013-12-25 | llc: Initialize the LLC frame with garbage to detect wrong usage | Holger Hans Peter Freyther | 1 | -0/+2 | |
2013-12-18 | llc: Count the number of frames queued inside the LLC queue | Holger Hans Peter Freyther | 3 | -2/+10 | |
2013-12-18 | rlc: Use sizeof() for the memset instead of ARRAY_SIZE | Holger Hans Peter Freyther | 1 | -1/+1 | |
In this case both will give the same result but it is better to use sizeof. But it is better to use the raw number of bytes instead of the number of elements. | |||||
2013-12-17 | systemd: Add a service for the sysmopcu | Henning Heinold | 1 | -0/+15 | |
Provide a systemd service file for sysmopcu, leaves the bundled combined sysvinit for sysmobts and sysmopcu for legacy systems. Sponsored-by: sysmocom |