390 Commits (e859d622c71e91131f53ca544ffb80942e273257)

Author SHA1 Message Date
Andre Puschmann c4bc151e14 rlc: fix MRB logging 5 years ago
Andre Puschmann 2ae35e4ce0 make sure status PDU doens't exceed grant size 5 years ago
Ismael Gomez 538f38cf54 Let PDCP Control PDUs be processed 5 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. 5 years ago
Ismael Gomez 8c41625599 Add RLC suspend and resume 5 years ago
Andre Puschmann db9f093b63 add debug log when handling reordering timer 5 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.
5 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. 5 years ago
Francisco Paisana b936629221 removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests 5 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.
5 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.
5 years ago
Pedro Alvarez 1c51d2ca9a Small clang format changes. 5 years ago
Pedro Alvarez 5d8dcbe4cb Make sure that PDCP SN is initialized properly in the eNB. UE attaches again when using encription. 5 years ago
Pedro Alvarez 53d2220aab Resolved conflicts with unique pointers after rebase in PDCP entity. 5 years ago
Pedro Alvarez 2643b9070f Fixing mistake in setting PDCP last_submitted_pdcp_rx_sn 5 years ago
Pedro Alvarez 6d5dbdedfa Fixed mistake in comparison in pdcp_entity. 5 years ago
Pedro Alvarez 693338da07 Added TX HFN print to make it easier to debug HFN mis-match 5 years ago
Pedro Alvarez 6b59cc0760 Debug print for PDCP Reestablish. 5 years ago
Pedro Alvarez 5ca6238877 Adding encription debug prints. 5 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. 5 years ago
Pedro Alvarez f4fd6034ba Starting to add separate functions for PDCP handling for UM DRBs and AM DRBs 5 years ago
Pedro Alvarez 6578cf1d01 Making sure that next_pdcp_rx_sn is reset at reestablish. 5 years ago
Pedro Alvarez 6cbcc5154d Starting to use received SN to do user plane decription. 5 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.
5 years ago
Andre Puschmann 0012868e91 rlc_am: reduce log level when provided PDU size is too small 5 years ago
Andre Puschmann e0a28cf4c0 simplify PDCP init and also bypass it for SRB0 on eNB 5 years ago
Andre Puschmann 0ef96f789b bypass PDCP for SRB0 processing chain 5 years ago
Andre Puschmann 218f136254 remove default PDCP entity for SRB0 5 years ago
Andre Puschmann f5a929e425 pdcp: print length when processing incoming PDU 5 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
5 years ago
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 5 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
Andre Puschmann db3ce8ade9 remove clang-tidy execution for srslte_upper 6 years ago
Andre Puschmann df7ab7ffe8 Merge branch 'master' into next 6 years ago
Eric Schreiber 46d41a5dc5 Remove undefined increment of an erased iterator. (#274) 6 years ago
Andre Puschmann c3441046c9 simplify RLC buffer status query procedures
- add a simple and low-overhead has_data() method to check whether
  an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
  in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
  the actual size of the buffer is of importance
6 years ago
Andre Puschmann df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 6 years ago
Pedro Alvarez 553f8260bb Fixing up logs and comments. 6 years ago
Andre Puschmann fb78cc2996 Adding some debug prints. 6 years ago
Andre Puschmann 8ca73b9c4e remove unused variable 6 years ago
Andre Puschmann 1ffd8d48ce log warning when receiving unexpected RLC AM segment 6 years ago
Andre Puschmann b71dab87f1 add function to query if RLC bearer exists (the implementation) 6 years ago
Andre Puschmann 2979e43b37 reword PDCP log when dropping PDU 6 years ago
Andre Puschmann aebea06f15 fix RLC UM timer expiration after stopping entity 6 years ago
Andre Puschmann 42747edb54 fix issue where successfully rx'ed SDU was not detected 6 years ago
Andre Puschmann 6ca0d4494a do not transmit new PDUs after calling stop 6 years ago
Andre Puschmann 580ce3e298 add extra length check for RLC UM 6 years ago
Andre Puschmann ebadf3029e Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Andre Puschmann e06e5b8b60 limit maximum allowd RLC SDU size 6 years ago
Pedro Alvarez d443604661 Merge next into gtp_cleanup_sn. Fixed some conflicts. 6 years ago
Andre Puschmann 96815e3a5f fix RLC AM handling of bigger MAC grants
- fix concatenation and header reconstruction
6 years ago
Andre Puschmann a6d9181881 fix RLC UM issue with very large MAC grants 6 years ago
Andre Puschmann 1ba9c4adc1 fix typo 6 years ago
Pedro Alvarez e925ef0a42 Added some more debug infor to error prints. Making sure that packet is not sent from the eNB if there is an error in the GTP-U header packing. Fixed error in checking msg_type. 6 years ago
Pedro Alvarez efffd3dec9 Fix compilation mistake. 6 years ago
Pedro Alvarez 2ff900d971 Making sure that GTPU optional fields get written 6 years ago
Pedro Alvarez c9cd355cdb Forgot to use supported_msg_type_check in gtpu_write_header. 6 years ago
Pedro Alvarez c1f633c5c7 Dropping bitfields for now. Using #defines and uint8_t for the flags. 6 years ago
Pedro Alvarez e320c33aef Fixed last compilation issues. 6 years ago
Pedro Alvarez ee04639337 Changed gtpu header flags to use a bitfield. Fixing compilation issues. 6 years ago
Andre Puschmann 99b10a6eb0 fix various RLC AM issues, where
- (a) no PDU is scheduled for retx after poll_retx timer expired
- (b) we write outside of the PDU buffer when concatenating many SDUs
6 years ago
Andre Puschmann d652a0df1c remove c-type cast in RLC 6 years ago
Andre Puschmann 86e02921f0 fix regression in RLC base introduced during refactor causing eMBMS to fail 6 years ago
Andre Puschmann ba87819ff1 retransmit random RLC AM PDU in case tx window is full 6 years ago
Andre Puschmann 891ef59d78 fix RLC AM status pdu packing 6 years ago
Andre Puschmann 7572299615 enable clang-tidy for srslte_upper library 6 years ago
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 6 years ago
Andre Puschmann 3d4e90029c fix RLC UM issue when dropping PDU that is neither start nor end aligned 6 years ago
Andre Puschmann d981f129e0 Merge branch 'master' into next 6 years ago
Joseph Giovatto 2dddfa2aac added ability to track tput per bearer (#233)
added mac_metrics for ul/dl harq retex counts
6 years ago
Ismael Gomez 0294923e2b Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Andre Puschmann 184539b87d add LCID change API to UE interface, add method to reestablish single RLC bearer 6 years ago
Andre Puschmann 10bc01a7ae add API to change LCID of RLC bearers 6 years ago
Andre Puschmann 27459bf706 add API to change LCID of PDCP bearers 6 years ago
Andre Puschmann 068fd2d81e log PDCP PDU dropping in MAC isnt valid 6 years ago
Andre Puschmann d03f5017df fix RLC mode printf and timer access 6 years ago
Andre Puschmann 02e38c7c9f fix stopping of RLC_AM timer and protect access 6 years ago
Andre Puschmann f3eceab242 small re-factor of RLC_AM class (reorder methods) 6 years ago
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 6 years ago
Andre Puschmann 24cde06e32 fix UM config printout during init 6 years ago
Andre Puschmann f56592b0fe add getter for PDCP ul/dl counter 6 years ago
Andre Puschmann 86f70011d6 print LCID in RLC AM when providing buffer report 6 years ago
Andre Puschmann 8a869d83f2 drop PDCP SDU that do not pass integrity check 6 years ago
Andre Puschmann 716b028023 reset PDCP entities 6 years ago
Andre Puschmann 91492b87ef add del_bearer for RLC/PDCP 6 years ago
Andre Puschmann 3234add1f8 use blocking pool allocate in RLC AM 6 years ago
Andre Puschmann 99964c1054 fix RLC AM issue when building segements that require N_li in header 6 years ago
Andre Puschmann ec9b7e921a fix RLC AM double unlock mutex 6 years ago
Andre Puschmann 22f1487d64 log dropped SDU in RLC as info rather than warning 6 years ago
Andre Puschmann 89df8f1582 unify RLC interface for writing SDUs w/ and w/o blocking 6 years ago
Andre Puschmann 3950629a75 remove obsolete RLC_MODE struct and move existing one to rlc_interface.h 6 years ago
Andre Puschmann 5444b2a0b7 tiny cosmetic changes 6 years ago
Andre Puschmann ee5b055829 rename pdcp function for GW to is_lcid_enabled() 6 years ago
Andre Puschmann 40d19e2d32 fix PDCP reset 6 years ago
Andre Puschmann 260fbff6ab unlock before adding SRB0 again during RLC reset 6 years ago
Andre Puschmann b8438e9cc3 extend PDCP interface to allow non-blocking write of SDUs 6 years ago
Andre Puschmann 2b86272c5e protect PCAP bearer additions with write lock 6 years ago
Andre Puschmann 27d3d697df refactor RLC part#2
- move metrics into entities
- make configure interface return true/false on success/failure
- add own srslte mode type
6 years ago
Andre Puschmann 8e8fab027b refactor RLC base class
- add rwlock
- put RLC entities into map
- general cleanup
6 years ago
Andre Puschmann 800eea888f fix PDCP security config 6 years ago
Andre Puschmann 47a8b1343f add rwlock to PDCP 6 years ago
Andre Puschmann 93c11e4416 turn PDCP array into map 6 years ago
Andre Puschmann 291d80119c fix conflicts after merging 6 years ago
Ismael Gomez 3cb9f51460 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Ismael Gomez b6f84c2a1f Fix reestablish UM 6 years ago
Ismael Gomez a0d4650c2c Fix reestablish UM 6 years ago
Andre Puschmann a9b023258c refactor RLC UM to have separate tx/rx objects 6 years ago
Ismael Gomez 3122d8e959 RLC reestablish to re-enable tx_enabled 6 years ago
Ismael Gomez 1a7e746a06 Minor cleanup 6 years ago
Ismael Gomez 9690125882 Minor cleanup 6 years ago
Ismael Gomez 005fe87ae9 RLC reestablish to re-enable tx_enabled 6 years ago
Ismael Gomez 4762483396 Fix compilation warnings 6 years ago
Ismael Gomez 2da9787907 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Ismael Gomez efea8f4436 Set Dropped to debug level and reduce eNodeB RLC TX size 6 years ago
Pedro Alvarez b460ece601 Merge branch 'mbms_tun' into next 6 years ago
Ismael Gomez 85a7daa09d Move RLC buffer size to common 6 years ago
Ismael Gomez 19ac35d933 Increased RLC UL buffer size 6 years ago
Ismael Gomez c64e26559e Dropped PDU log level to info 6 years ago
Ismael Gomez 589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues (#229)
* fixed some issues with the UL scheduling

* Hack to fix UL scheduler

* minor fix

* Cleaned up code and fixed issue with the update_allocation function

* fixed the console printing in the enb

* log/console fix

* fixed the log print

* added a normalization factor

* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface

* Limit decimals in metrics stdout

* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users

* Fix deadlock bug for MIMO

* Remove headers

* Fix missing unlock causing overflows

* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)

* Fix mutex unlock in worker

* Configurable RLC tx buffer. Default to 512 for enodeb

* Check NULL SDU in write_sdu()

* Protect RLC objects and tx_queue from being destroyed while using it

* Remove superfluous code

* Disable SIB logging

* Fix block_queue for enb
6 years ago
Ismael Gomez fae5531bcc Correction to commit 2a4a84a578. We don't check for tailroom but for read space 6 years ago