66 Commits (96fd3aae3c749926b55558e3cbfde4e3c5e672cc)

Author SHA1 Message Date
Francisco c615df9d1d nr,gnb,mac: prioritize CRNTI CE handling over remaining SDUs and CEs in gNB mac receiver 3 years ago
Francisco 4286ab81d9 nr,gnb,mac: fix const-correctness of some methods of class srsran::mac_sch_pdu_nr 3 years ago
Andre Puschmann af69551c8d mac_sch_pdu_nr: add LBSR unpacking
* add LBSR unpacking
* add pretty printer
* also simplify and unify general unpacking code
3 years ago
Francisco f427a25a30 nr,gnb,mac: account for header space larger than 2 when packing PDSCH 3 years ago
Andre Puschmann 7cbd3d50b7 mac_sch_pdu_nr,bsr: fix length check for BSR
fix nasty bug where the length calucation for the LCID
was taking the bsr_format_nr_t that was having the same name.
3 years ago
Francisco 4e49508d8f nr,gnb,mac: fix RAR encoding by resetting the RAR buffer 3 years ago
Andre Puschmann aba0ba9ad8 mac_sch_pdu_nr: fix newline in logs 3 years ago
faluco ec272061a0 Fix a dangling SDU pointer in mac_sch_subpdu_nr when adding subpdus into a mac_sch_pdu_nr. 3 years ago
Andre Puschmann 82e9652a92 mac_sch_pdu_nr: fix ASAN/fmt issue when print space 3 years ago
Andre Puschmann ea48a350a4 mac_rar_pdu_nr: fix clearing of padding bytes 3 years ago
Andre Puschmann 02bd15878e mac_sch_pdu_nr: fix logging 3 years ago
Andre Puschmann ede81be5e4 mac_rar_pdu_nr: add packing routines
* add packing for RAR PDUs
* rewrite to_string() to use fmt lib
* add test case for packer
3 years ago
Andre Puschmann 20c0e0bc41 mac_sch_pdu_nr: add to_string() helper to format MAC PDUs in logs 3 years ago
Andre Puschmann 9bf74843f6 mac_pdu_nr: add error handling to init_tx() method
check provided byte_buffer and return error if it's not valid
3 years ago
Ismael Gomez 5aa5a8e997 Revert UE changes 3 years ago
Ismael Gomez e35a0d72fa Revert UE changes 3 years ago
Ismael Gomez dd9889e07c Add carrier index to uplink PCAP captures 3 years ago
Francisco 486823e5de sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1 4 years ago
Ismael Gomez 5db3030428 Tiny changes 4 years ago
Francisco e37968410e simplification of timers handler design, relying solely on one time wheel. 4 years ago
Xavier Arteaga 7823bfc28c Fix append NR to loggers for NR components 4 years ago
Andre Puschmann c9da21c9bb mac_nr: add error handling when unpacking SCH MAC PDU
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
4 years ago
Andre Puschmann 9950278a12 nr,mac_sch_pdu,mux: fix packing of MAC subPDUs with 16bit L field
the created RLC PDU was too large to fit inside the MAC grant
because only the header room for the short L field was used.

The patch determines the correct size before passing the opportunity to RLC.

It also improves logging in error case by using the MAC logger instead of
stderr/stdout when error occurs.
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
Andre Puschmann 6dd8c21073 mac_sch_pdu_nr: add unpacking of TA CE in DL-SCH
also add basic test to verify correct unpacking
4 years ago
David Rupprecht 7a481c40ab Added mac prach nr proc error handling 4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Ismael Gomez 7b33c48fe7 Use static queue in pdu_queue 4 years ago
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 4 years ago
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 4 years ago
Francisco d1236fd62f stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb 4 years ago
Francisco 4b09507c19 remove srslte.h includes from upper layers 4 years ago
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
4 years ago
David Rupprecht 24123313bf Added MAC NR RA procedure with a minimal test case 4 years ago
Andre Puschmann 01acf95566 mac_rar_pdu_nr: update public interface to make it easier to access
* provide all subPDUs as const vector&
* return UL grant directly
4 years ago
Andre Puschmann e227916819 mac_sch_pdu_nr: add SBSR, PHR and CRNTI packing 4 years ago
Andre Puschmann 4ca43c6804 mac_sch_pdu_nr: add unpacking helpers for CRNTI, SBSR and PHR CEs
* unpackers for CEs
* testcase with TV
4 years ago
faluco 821925a273 - Upgrade to srslog the loggers in lib/mac.
- Adapted users of these classes and tests.
4 years ago
Andre Puschmann f88943653b mac: implement MAC RAR PDU unpacking for NR
* add class for mac_rar_pdu_nr
* extend test case
4 years ago
Andre Puschmann da9e3363f1 mac_pdu_nr: rename MAC PDU class for NR to adhere naming conventions
* mainly to have _nr as trailing name for filename and class
* also add "sch" to class and filename (RAR PDU will have extra class)
4 years ago
Ismael Gomez 0780f3caea pdu_queue must be non-blocking in order to avoid the ue or enb to block in the event of a memory leak and the buffer pool running out of buffers. In that case, the null return shall be handled properly and error logged. This commit restores commit c4c44c33f4. 4 years ago
Andre Puschmann fcf481b83e pdu: add check when unpacking MAC PDUs to not read beyond PDU length
we've checked the same when unpacking the subheaders but missed the
case where the payload was read beyond the PDU length, as has been
seen with a malformed RAR PDU.
4 years ago
Andre Puschmann 2ca894df01 pdu: fortify RAR packing
detected with ASAN trying to write negative number of padding bytes.

The patch checks the calculated length and returns with an error
if the length is negative.

=================================================================
==5759==AddressSanitizer: while reporting a bug found another one. Ignoring.
m==5759==ERROR: AddressSanitizer: negative-size-param: (size=-6)
4 years ago
Andre Puschmann c5514d7f80 pdu: fix to_string() for TA command
the get_ta_cmd() is returning uint8_t which stringstream
interprets as ASCII character by default. So the log message is bogus.
4 years ago
Ismael Gomez f9a02299f9 Use MAC PDU pointer instead of tti_rx and rnti as a key to associate buffers. Decouple crc_info() and push_pdu() functions. This allows for different timing architectures in the PHY 4 years ago
Ismael Gomez 0498439d41
Backport some changes from FAPI branch (#2124)
* Reorder DCI FORMAT enum

* Fix endianness issue

* Fix return codes in phy_ue_db

* Log members should be destructed after the layers.

* Add JSON metrics and Events. Add Alarm log channel. Simplify MAC metrics struct.

* Restore metrics_stdout change
4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Francisco 0ffea62411 Wrote logging functions for SCHED MAC CE/LCID allocations 4 years ago
Andre Puschmann 5f7f818abb pdu: fix bug in BSR table lookup
the bug causes the BSR to return a bsr_idx of 0, i.e. no data
pending, when the buff_size was reported to be 1 B only.

Instead, the UE should return BSR idx 1, i.e. between 0 < BSR <= 10.
4 years ago
Andre Puschmann 035d989737 pdu: fix unpacking of LCG2 of LBSR MAC CE
LBSR packing is fine but this makes the eNB do wrong things
because it thinkgs LCG2 has no or too much data to send.

LCG2 is our default LCG for DRB1. One occasion we saw the issue
is doing full rate TCP DL which requires quite a bit of ACK traffic
back to the sender. With the BSR for LCG2 being wrong, providing
UL grants was delayed and so the TCP DL throuhgput was very low.

In the log below we see that the buff_size[2]=1 so there is data to send.
Interestingly, the packing was correct so Wireshark displays it correctly.
But the unpacking not, as can be seen in the MAC log below which reports
0 buffer state for all LCGs

22:08:54.804792 [MAC ] [I] [ 5084] pdu_get: sdu_len=1212, channel.sched_len=1213, bsr.buff_size[2]=1
22:08:54.804840 [MAC ] [I] [ 5084] UL LCID=3 len=1212 LBSR: b=0 0 0 0
4 years ago