Xavier Arteaga
39bec9aab1
SRSLTE: fix RLC reordering and segment overlaping
5 years ago
Andre Puschmann
476f970ee1
replace FIXME with TODO
5 years ago
Andre Puschmann
4f5e991480
fix typo in RLC AM
5 years ago
Pedro Alvarez
c5979f59eb
Clang format UE, eNB and lib ( #850 )
...
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Andre Puschmann
9078b2baf1
rlc_am: add check to prevent out of bounds access
5 years ago
Francisco Paisana
6b4488d5c1
added sending of enb status transfer from SeNB
5 years ago
Andre Puschmann
7885b5b9ee
add CMake flag to enable 5G-NR components
5 years ago
Pedro Alvarez
41e911fd76
Replaced PRIu32 for %u in pdcp_nr_entity
5 years ago
Pedro Alvarez
e1cdd51eba
Clang-formated before pull request
5 years ago
Pedro Alvarez
61958af70b
Timer removes itself from the map upon expiration
5 years ago
Pedro Alvarez
60feab3d7b
Added map to keep discardTimers in PDCP NR entity.
5 years ago
Pedro Alvarez
8810f35498
Adding test of SDU discard timout to PDCP NR tests.
5 years ago
Pedro Alvarez
2e7ddef038
Continue to add discard_sdu to RLC interfaces.
5 years ago
Pedro Alvarez
ca7c865ce8
Removed unecessery indentation in RLC AM write SDU.
5 years ago
Pedro Alvarez
a77dd4e959
Starting to add boiler-plate code to support Discard at RLC.
5 years ago
Pedro Alvarez
7ccc7d1d20
Starting to notify RLC upon PDCP discard (NR)
5 years ago
Pedro Alvarez
9870c73366
Starting to add discardTimers to PDCP NR.
5 years ago
Pedro Alvarez
f3eeaf401a
Removed unecessary lambda redirection in pdcp_entity_nr
5 years ago
Andre Puschmann
9493e7492c
add initial RLC AM NR status PDU packing code including tests
5 years ago
Andre Puschmann
db2c43553e
add basic rlc_am_base class containing data/control PDU check
5 years ago
Andre Puschmann
cea212b9f9
add RLC AM NR PDU packing/unpacking test
5 years ago
Andre Puschmann
b32a4cf294
add RLC AM NR PDU packing and unpacking
5 years ago
Andre Puschmann
b8dbffe0b5
rewrite RLC AM debug code
5 years ago
Andre Puschmann
dc841ab029
printf in rlc_am
5 years ago
Pedro Alvarez
d4fb4d8c86
Fixup clang-format in pdcp before PR.
5 years ago
Pedro Alvarez
15613465cf
Moving some initialization from init function to constructor in the PDCP entities.
5 years ago
Andre Puschmann
b20f7ba541
refactor RLC UM and add NR receiver
5 years ago
Andre Puschmann
03bd63d9ab
rename RLC AM class to RLC AM LTE
5 years ago
Andre Puschmann
2d126371f6
adopt PDCP NR to use new timer class
5 years ago
Pedro Alvarez
ea0a413c8a
Added check on wether the PDCP entity is initialized.
5 years ago
Pedro Alvarez
8511fca940
Clang-formated to prepare for PR
5 years ago
Pedro Alvarez
d3a07fdd38
Added check for overflow at RX. Adding more tests.
5 years ago
Pedro Alvarez
ed24544a63
Added debug print for out of order, wraparound and duplicate RX PDUs. Adding a helper function to help generate a vector of test PDUs
5 years ago
Pedro Alvarez
2752e3cff5
Starting to stop tx'ing packets if TX_NEXT overflows.
5 years ago
Pedro Alvarez
62230c6ab9
Starting to have overflow protection in PDCP NR tx
5 years ago
Pedro Alvarez
f872c1b55a
Added test for PDCP COUNT wraparound. (Needs to be changed, COUNT wraparound is not allowed.)
5 years ago
Pedro Alvarez
1d56fa6308
Improved speed of tests for COUNT wraparound, by setting the PDCP initial state.
5 years ago
Pedro Alvarez
517ce8a220
Added test to test out of order COUNT wraparoung. Added setters to help with the testers.
5 years ago
Pedro Alvarez
b7fdcaabc5
Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing.
5 years ago
Pedro Alvarez
45d298507b
Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout.
5 years ago
Pedro Alvarez
6cf2bd7bc3
Starting to add reordering queue in the PDCP.
5 years ago
Pedro Alvarez
ff15ed5018
Starting to add timers to the NR PDCP.
5 years ago
Ismael Gomez
575499c95b
Fix HO when doing ping due to reseting of the PDCP counters in reestablishment. Fixes #618
5 years ago
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
5 years ago
Andre Puschmann
80afe5ca40
rlc_um: add missing lock in get_buffer_state()
5 years ago
Andre Puschmann
f07a9277a0
fix RLC AM issue where an invalid status PDU was generated
...
happens when very small grant is provided and the status
PDU generation fails because of a too small grant
add extra check to prevent that ACK_SN is also in NACKS list
5 years ago
Andre Puschmann
c99d5077c8
add RLC UM NR transmitter
5 years ago
Ismael Gomez
f74efe908b
Fix blocking in resume() after RLF in 100 PRB ( #654 )
5 years ago
David Rupprecht
50332089ce
Add EEA3 and EIA3 support for UE/enodeb and MME
5 years ago
Andre Puschmann
8da610d68b
fix gcc (<= 5) warning with type-limits by casting vr_r to a signed type
...
this warning is a bit annoying as it is really safe to do
that kind of comparision, it's just that for vr_r==0, any other
unsigned number is >= 0.
5 years ago
Andre Puschmann
d9577f0e1e
suppress type-limit warning issued by some compilers by making var signed
...
Used to happen with older gcc giving:
"rlc_am.cc:1791:22: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]"
5 years ago
Francisco Paisana
67d6a25194
Moving mac timers to stack timers ( #638 )
...
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.
* moved timers out of the UE MAC
5 years ago
Andre Puschmann
e42449532b
fix wrong namespace definition in various places
5 years ago
Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
5 years ago
Pedro Alvarez
dd56d08269
Replaced byte_buffer by array in PDCP base
5 years ago
Pedro Alvarez
8c10eabf23
Changed PDCP LTE to use unique_lock.
5 years ago
Pedro Alvarez
61051b4cb3
Changed PDCP NR read_data_header to return SN.
5 years ago
Pedro Alvarez
491695ab77
Clang-formated PDCP NR PR.
5 years ago
Pedro Alvarez
38bbc55631
Added tests for PDCP NR Rx with SN Len = 18. In-sequence reception seems to work.
5 years ago
Pedro Alvarez
d4aeb12db8
Adding more TX tests to PDCP NR entity.
5 years ago
Pedro Alvarez
39e3800781
Fixed header packing for SN length 18 for PDCP NR. First TX test is passing.
5 years ago
Pedro Alvarez
adfe9f950e
Fixed issue in computing the SN. Added test for packets received in sequence for PDCP NR. Test is passing now.
5 years ago
Pedro Alvarez
2104e6bbcf
Added test for more TX packets in PDCP NR. Tests passing for TX_NEXT = 0, 2048 and 4096
5 years ago
Pedro Alvarez
ecd164ed65
Starting to add more tx tests to PDCP NR tests.
5 years ago
Pedro Alvarez
af2b593b8c
Added check for integrity in test. First Rx PDCP NR test passing.
5 years ago
Pedro Alvarez
d3b6828082
Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine.
5 years ago
Pedro Alvarez
ea3c44e9ac
Removing header before decrypting. Continuing to add decryption tests to PDCP NR
5 years ago
Pedro Alvarez
7e6725f0a2
Fixing up PDCP NR tx test. Starting to add rx test.
5 years ago
Pedro Alvarez
a42726f836
Fixed hdr_len_bytes in PDCP NR. Tx seems OK now.
5 years ago
Pedro Alvarez
73e30743d1
Added enum to PDCP config to replace two bools.
5 years ago
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
5 years ago
Pedro Alvarez
810cacdc02
Adding write_data_header and append_mac helper functions to PDCP NR entity.
5 years ago
Pedro Alvarez
9d0db108c6
Continue to add PDCP tx test
5 years ago
Pedro Alvarez
c9e99443d8
Adding PDCP NR Tx test.
5 years ago
Pedro Alvarez
4bb99464ed
Starting to add PDCP NR tests.
5 years ago
Pedro Alvarez
8e8a7a4154
Add more logic to PDCP NR tx logic.
5 years ago
Pedro Alvarez
2081b22465
Added PDCP_SN_LEN constants. Added bearer_id and direction back to the pdcp_entity_base.
5 years ago
Pedro Alvarez
8e1b9b9f5b
Starting to implement the receive function of PDCP NR.
5 years ago
Pedro Alvarez
d7a2721bb0
Adding algorithm to get COUNT for PDCP NR. Added convinience functions to manipulate HFN, SN and COUNT.
5 years ago
Pedro Alvarez
52f75c3cf2
Starting to add PDCP NR state variables.
5 years ago
Pedro Alvarez
2449f901f0
Fixed error in setting Kint in pdcp_entity_lte.
5 years ago
Pedro Alvarez
1944bf9a80
Continue to split pdcp_entity_lte and pdcp_entity_nr. Compiling now.
5 years ago
Pedro Alvarez
bd91678d98
Continuing to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr
5 years ago
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
5 years ago
Andre Puschmann
c4bc151e14
rlc: fix MRB logging
6 years ago
Andre Puschmann
2ae35e4ce0
make sure status PDU doens't exceed grant size
6 years ago
Ismael Gomez
538f38cf54
Let PDCP Control PDUs be processed
6 years ago
Pedro Alvarez
9b6aaac1b5
Ignore PDCP status PDUs, instead of passing them to the GW. Check on the GW if the packet is large enough to hold an IPv4 header.
6 years ago
Ismael Gomez
8c41625599
Add RLC suspend and resume
6 years ago
Andre Puschmann
db9f093b63
add debug log when handling reordering timer
6 years ago
Andre Puschmann
849ad2655c
fix creation of malformed RLC AM status PDU
...
the issue was caused by an unneeded length check during the
assembly of the status PDU. This length check caused an too early
break from the while-loop that adds all missing SNs to the status PDU
leaving the PDU struct in an invalid state where ack_sn was equal to
one of the NACK_SNs.
The fix is to simply remove the length check during the generation to
fully generate the status PDU. If, for whatever reason, MAC provides
a too small grant to fully fit the status PDU, the PDU will not be
generated, i.e. the calling function checks the return value and does
not pass the (then too big PDU) down the stack.
6 years ago
Francisco Paisana
58e2e51044
removed rlc_interfaces. The rlc_cnfg types are now part of the rrc_interface_types. Removed implicit RB initialization in the RLC.
6 years ago
Francisco Paisana
b936629221
removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests
6 years ago
Andre Puschmann
ecb6a0f99b
fixing RLC AM bug where corrupted PDU causes segfault
...
the underlaying issue is that a corrupted PDU is passed to RLC
which claims to have segments whose total size exceed the size
of the entire PDU. Those PDUs are not ignored.
6 years ago
Pedro Alvarez
498f1b8e4b
Small PDCP fixes:
...
- Moved most the initialization of the pdcp_entity to the header.
- Initilize some variables in gtpu_ntoa.
- Removed debug print.
- Format eNB GTP-u debugging code.
6 years ago
Pedro Alvarez
1c51d2ca9a
Small clang format changes.
6 years ago
Pedro Alvarez
5d8dcbe4cb
Make sure that PDCP SN is initialized properly in the eNB. UE attaches again when using encription.
6 years ago
Pedro Alvarez
53d2220aab
Resolved conflicts with unique pointers after rebase in PDCP entity.
6 years ago
Pedro Alvarez
2643b9070f
Fixing mistake in setting PDCP last_submitted_pdcp_rx_sn
6 years ago
Pedro Alvarez
6d5dbdedfa
Fixed mistake in comparison in pdcp_entity.
6 years ago