38 Commits (991013ca2c79becbfa214f448f4365452617c60c)

Author SHA1 Message Date
Andre Puschmann bf2606f94e ue,mac_nr: fix race condition by using thread-safe RNTI class 3 years ago
Andre Puschmann bed4cfb5e5 ue,mac_nr: fix generation of padding BSRs
* in Msg3 don't add explicit SBSR (rely on padding BSR to add)
* fix padding BSR generation to always use padding bytes to add it
3 years ago
faluco fa351cd285 Rename functions that contain the unsafe word to nolock.
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
3 years ago
Andre Puschmann ab6210b1fc ue,proc_sr_nr: add mutex to protect access from PHY and Stack
also detected by TSAN
3 years ago
Andre Puschmann 2248e63219 ue,proc_ra_nr: add mutex to protect access from PHY and Stack
detected with TSAN
3 years ago
Andre Puschmann 54ab64327a ue,mac_nr: move BSR levels lookup table into lib header
prepare for shared use with gNB
3 years ago
David Rupprecht 102a943171 Fixed naming srsLTE to srsRAN 4 years ago
Xavier Arteaga 715f8900a8 Selected NR RA procedure PRACH send timeout according to system frame number period from PRACH PHY tables 4 years ago
Andre Puschmann 4b3538aaa8 {dl,ul}_harq: fix metrics calculation
rewrite  metrics calculation for NR HARQ and remove
unneeded operations.
4 years ago
David Rupprecht bfe2ad98ef Added parsing for NR DL HARQ cfg 4 years ago
Andre Puschmann b9ae064338 mac_nr: add DL HARQ
this commit adds a complete DL HARQ entity to the MAC of the UE.
It also refactors demux into an own class and adapts the PHY-MAC
interface to use the new MAC capabilities.
4 years ago
Andre Puschmann 44baea6666 mac_nr: add UL HARQ
this patch adds a basic UL HARQ entity for NR.

The patch also updates some interfaces between MAC/RA/HARQ,
i.e. get_temp_crnti().

It also adds a Msg3 unit test.
4 years ago
David Rupprecht eeddbe69ce Fixes repeating proc RA due to SR trigger 4 years ago
David Rupprecht 5a3a2a6d6f Added functions for adding phr and tag config 4 years ago
Andre Puschmann cf696138d3 mac_nr: fix packing order of SDU and CEs
SDUs need to go first in the MAC PDU, followed by CEs
4 years ago
Andre Puschmann 7f415189f3 ue,mac: enable basic MAC metrics
this adds basic MAC metrics calculation for the DL NR MAC
4 years ago
Andre Puschmann db496df1e6 mac_nr: add support for periodic BSR reporting
building on the previous refactor this patch now adds support
for peridoic BSR reporting (using short BSR). It furthermore does
the following changes:

* add BSR packing
* add proc_bsr_nr unit test
* move mac_nr test code into test folder under src (needs to be done with other test code too)
4 years ago
David Rupprecht 7a481c40ab Added mac prach nr proc error handling 4 years ago
Xavier Arteaga 01990c2e1d SRSUE: Add PHY-MAC SR related interfaces 4 years ago
Andre Puschmann d135ae4d29 proc_bsr: initial BSR procedure for NR
* refactor some common methods to mac_common.cc
* add common mux_base class
* move UL PDU generation to mux class
* add logical channel registration to MAC, MUX, BSR
* add initial proc BSR
* add basic MAC NR test
* rework MAC interfaces
4 years ago
Andre Puschmann bde7b49ca3 ue,mac_nr: add basic SR procedure
the current implementation support only one SR config
and doesn't support the prohibit timer
4 years ago
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
David Rupprecht bb3e87302d Added new pcap enable option and mac nr 4 years ago
Francisco b8bd869d0f move ue rlc interfaces to separate interfaces header file 4 years ago
Andre Puschmann 9c4146442a mac,phy: refactor NR MAC/PHY UL data passing interface
inspired by accepted (but not yet merged) PR to include the
(unique_)byte_buffer_t for MAC/PHY interfacing, this patch adds
a few more useful bits to that. Buffer management for UL data is now
done in MAC and only a pointer to the data is passed in the UL action.

* Move Tx softbuffer to MAC (until UL HARQ class is ready)
* Remove temparal data member in cc_worker
* Remove memcpy after packing MAC PDU
4 years ago
David Rupprecht f6f6ee406b SRSUE NR: use correct rnti in rar and make NR proc ra 4 years ago
David Rupprecht 1fcd006a7c fixed segfaulting 4 years ago
David Rupprecht 82a8dcc77a Change interface to unique_byte_buffer
logging message for msg3 preparing
4 years ago
David Rupprecht 3af0342418 Added mux class and packing of msg3 4 years ago
Xavier Arteaga 760ad3a746 SRSUE: Interface stack and PHY for NR-RA procedure 4 years ago
David Rupprecht 24123313bf Added MAC NR RA procedure with a minimal test case 4 years ago
Andre Puschmann 6eed6f622f mac_nr: update RA related function in MAC/PHY interface
* expose interface to trigger PRACH from MAC
* indicate PRACH tx from PHY
* add temporary RAR PDU handling with Msg3 grant indication to PHY
4 years ago
Francisco 3265d940ec remove byte buffer pool cached member variables as they are unnecessary now. 4 years ago
Andre Puschmann 8e13f04684 mac_pcap: refactor MAC PCAP and include NR RAT into same object
after adding the thread-safe PCAP writer functionality to the EUTRA
MAC object it became clear that we don't wont to replicate the
same for the NR object.

This patch therefore refactors the class that now supports both EUTRA and
NR rats. The old mac_nr_pcap.[h/cc] has been deleted. All test-cases
and usages now use the new object that needs to pass the RAT type in
the ctor.

this patch addresses the last open point of #2160
4 years ago
Andre Puschmann f5c945dc2f mac_nr: add interface to set C-RNTI and contention ID from RRC
used during contention-based/free RA
4 years ago
Andre Puschmann 1aadc5c53e mac_nr: tiny cleanups of MAC class, use of new logger 4 years ago
Andre Puschmann 73cb0dabf2 mac_nr: move UE MAC class into own subfolder
this should simplify further MAC NR extensions and lead
to a more organized folder structure
4 years ago