378 Commits (4932fb8719e72b051252821f7c20c2034ffea3cf)

Author SHA1 Message Date
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 6 years ago
Pedro Alvarez dd56d08269 Replaced byte_buffer by array in PDCP base 6 years ago
Pedro Alvarez 8c10eabf23 Changed PDCP LTE to use unique_lock. 6 years ago
Pedro Alvarez 61051b4cb3 Changed PDCP NR read_data_header to return SN. 6 years ago
Pedro Alvarez 491695ab77 Clang-formated PDCP NR PR. 6 years ago
Pedro Alvarez 38bbc55631 Added tests for PDCP NR Rx with SN Len = 18. In-sequence reception seems to work. 6 years ago
Pedro Alvarez d4aeb12db8 Adding more TX tests to PDCP NR entity. 6 years ago
Pedro Alvarez 39e3800781 Fixed header packing for SN length 18 for PDCP NR. First TX test is passing. 6 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. 6 years ago
Pedro Alvarez 2104e6bbcf Added test for more TX packets in PDCP NR. Tests passing for TX_NEXT = 0, 2048 and 4096 6 years ago
Pedro Alvarez ecd164ed65 Starting to add more tx tests to PDCP NR tests. 6 years ago
Pedro Alvarez af2b593b8c Added check for integrity in test. First Rx PDCP NR test passing. 6 years ago
Pedro Alvarez d3b6828082 Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine. 6 years ago
Pedro Alvarez ea3c44e9ac Removing header before decrypting. Continuing to add decryption tests to PDCP NR 6 years ago
Pedro Alvarez 7e6725f0a2 Fixing up PDCP NR tx test. Starting to add rx test. 6 years ago
Pedro Alvarez a42726f836 Fixed hdr_len_bytes in PDCP NR. Tx seems OK now. 6 years ago
Pedro Alvarez 73e30743d1 Added enum to PDCP config to replace two bools. 6 years ago
Pedro Alvarez 457f35699d Reverted back to a single config structure between PDCP NR and PDCP LTE. 6 years ago
Pedro Alvarez 810cacdc02 Adding write_data_header and append_mac helper functions to PDCP NR entity. 6 years ago
Pedro Alvarez 9d0db108c6 Continue to add PDCP tx test 6 years ago
Pedro Alvarez c9e99443d8 Adding PDCP NR Tx test. 6 years ago
Pedro Alvarez 4bb99464ed Starting to add PDCP NR tests. 6 years ago
Pedro Alvarez 8e8a7a4154 Add more logic to PDCP NR tx logic. 6 years ago
Pedro Alvarez 2081b22465 Added PDCP_SN_LEN constants. Added bearer_id and direction back to the pdcp_entity_base. 6 years ago
Pedro Alvarez 8e1b9b9f5b Starting to implement the receive function of PDCP NR. 6 years ago
Pedro Alvarez d7a2721bb0 Adding algorithm to get COUNT for PDCP NR. Added convinience functions to manipulate HFN, SN and COUNT. 6 years ago
Pedro Alvarez 52f75c3cf2 Starting to add PDCP NR state variables. 6 years ago
Pedro Alvarez 2449f901f0 Fixed error in setting Kint in pdcp_entity_lte. 6 years ago
Pedro Alvarez 1944bf9a80 Continue to split pdcp_entity_lte and pdcp_entity_nr. Compiling now. 6 years ago
Pedro Alvarez bd91678d98 Continuing to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr 6 years ago
Pedro Alvarez 005d03cb1a Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP 6 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
Pedro Alvarez 693338da07 Added TX HFN print to make it easier to debug HFN mis-match 6 years ago
Pedro Alvarez 6b59cc0760 Debug print for PDCP Reestablish. 6 years ago
Pedro Alvarez 5ca6238877 Adding encription debug prints. 6 years ago
Pedro Alvarez b97d1191f4 Added more debug info at eNB GTP-U. Changed the pdcp_entity to follow the standard more strictly for RLC AM DRBs. 6 years ago
Pedro Alvarez f4fd6034ba Starting to add separate functions for PDCP handling for UM DRBs and AM DRBs 6 years ago
Pedro Alvarez 6578cf1d01 Making sure that next_pdcp_rx_sn is reset at reestablish. 6 years ago
Pedro Alvarez 6cbcc5154d Starting to use received SN to do user plane decription. 6 years ago
Andre Puschmann 58763fb714 stack: move initialization of log object into ctor
this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
6 years ago
Andre Puschmann 0012868e91 rlc_am: reduce log level when provided PDU size is too small 6 years ago
Andre Puschmann e0a28cf4c0 simplify PDCP init and also bypass it for SRB0 on eNB 6 years ago
Andre Puschmann 0ef96f789b bypass PDCP for SRB0 processing chain 6 years ago
Andre Puschmann 218f136254 remove default PDCP entity for SRB0 6 years ago
Andre Puschmann f5a929e425 pdcp: print length when processing incoming PDU 6 years ago
Andre Puschmann acbe7fabe4 rlc: fix class member initialization
uninitialized member detected by coverity, now converted all default
initialization to be done in class definition
6 years ago
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 6 years ago
Andre Puschmann e8d6236975 remove init for all RLC TM/UM/AM
- all RLC entities are now initialized during contruction
- there is no need to check for, e.g., existance of timers, during
  runtime
- there is also no need to call re-init during resume
- timers are freed in dtor
6 years ago
Ismael Gomez f24c0cef8c Use timer interface instead of local boolean to query timer state 6 years ago
Ismael Gomez c2e9817f41 Possible solution to RLC Reestablishment 6 years ago
Ismael Gomez 14b526f2aa Add PDCP per-bearer reestablish 6 years ago
Ismael Gomez ade720e032 Add RLC resume procedure 6 years ago
Andre Puschmann acf95fdd85 rlc_am: fix newline in logs 6 years ago
Andre Puschmann c14c3c23f1 pdcp: fix issue when setting SN length configuration 6 years ago
Francisco Paisana 0e3baa0f2f Renamed the reset() method of byte_buffer_t to clear() 6 years ago
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 6 years ago
Francisco Paisana bc01a5ecda changed block_queue api to return back the unique buffer in case it fails to push it to the queue 6 years ago
Francisco Paisana f4aa03154d change queue read and other functions apis 6 years ago
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 6 years ago
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 6 years ago
Francisco Paisana 7be183c223 rework scheduler 6 years ago
Pedro Alvarez a8fe44252e Removed memcpy and memset in rlc_am.cc to remove compiler warnings. 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Andre Puschmann c4e8bed042 log SDU dropping in info in RLC AM 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
David Rupprecht 735f97ceb6 Fixed Bearer ID for data Bearer and changed debug type for enc data pdus 6 years ago
David Rupprecht eb3a83ac45 User Plane key in configuration interface 6 years ago
Andre Puschmann e84d26ae4e fix RLC UM reestablishment 6 years ago
Andre Puschmann c49dddc09a fix RLC UM bug and enable Rx after reestablishment 6 years ago
Andre Puschmann 94481c1963 removed warning in RLC if LCID isn't valid for all methods called by BSR procedure
this was causing many warnings in the log because the BSR checks with RLC
if a bearer has data even if it doesn't exist
6 years ago
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 6 years ago
Andre Puschmann 84c8626808 print error when RLC bearer LCID change is not successful 6 years ago
Andre Puschmann 5dfc126a30 improve RLC logging when LCID is not valid 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann 2590ebd10b fix bugs reported by coverity 6 years ago
Andre Puschmann 04f6569113 fix missing newline in RLC log 6 years ago
Andre Puschmann 53850e5353 delete MRB bearer during PDCP destruction 6 years ago
Andre Puschmann 955f5dd37a add mutex in pdcp entity
write_sdu and write_pdu are not re-entrant because all functions
that deal with the counters, e.g. integrity check and generate,
must be protected because MAC threads may call them at the same time.

this addresses issue #254
6 years ago