The necessity of SOstart/SOend was understood after email exchanges with
David Breaux <davidbreaux67@gmail.com>.
See openair2/LAYER2/rlc_v2/tests/test46.h for some details.
Basically if we NACK without SOstart/SOend then the other end of the RLC
channel will consider all the bytes as NACKed and will have to resend them
all. If another status is then reported before all the bytes are sent,
and because we don't use SOstart/SOend this status will NACK all the bytes
again, then all the bytes are to be sent again. And the cycle repeats.
It will end with a max retx reached (which triggers RLF, Radio Link Failure).
The function put_bit in openair2/LAYER2/rlc_v2/rlc_pdu.c has been changed
too, maybe introducing some performance issues.
MR968: Bugfix nr ldpc size typo
- fix the copy of the decoded data bytes at the end of the processing of an LDPC segment
MR962: Remove x2 gnb hardcoding
- Removes hardcoding of some x2 configuration parameters used in ENDC setup request message at gNB side
MR949: rlc v2: change time keeping
- RLC has timers. We need to keep track of time.
We introduce rlc_tick() and call it in eNB_dlsch_ulsch_scheduler, which is called every subframe, both in FDD and TDD.
MR945 : nr prach fr2
- Introduction of the PRACH frontend for FR2 (120kHz SCS, 32 and 66 PRB).
- Tested with nr_prachsim and testcases added to test_case_list.xml also included some fixes for FR1,
when prach occasion > 0 (small difference in Ncp)
MR950 : DL and UL PTRS for 5G NR
MR971 : Correct NDI + Minor MAC subPDU handling improvements
Fixes the issue : Ping in develop was unusually high (70+ms). The issue was that TA was scheduled in the second slot (of the two we currently schedule), but NDI was toggled for the first one.
Other improvements:
- Correctly put padding MAC subPDU
- Only use subPDU DLSCH long header if length >= 256B
- Calculate TBS in DL pre-processor considering header and TA CE overhead.
- Improve some of the logging (LOG_D)
- re-enable TA
MR970 : uci gnb mac functions file
- Moved gNB MAC UCI related functions in a new file
MR972 : Bugfix nr rate matching assertion
- Fixes the assertion happening in rate matching of pdsch during iperf test.
MR975 : File openning in rrc_gNB_internal
- Only allow file opening in rrc_gNB-internal.c in phytest mode
MR977 : NR UE DCI sanity checks and fixes
These changes resolve a few stability issues and errors in NR UE
- Added sanity check for pucch_resource_indicator received in DL DCI, which resolves SEGV in select_pucch_resource() and check_pucch_format()
- Additional sanity checks included to catch false or erroneous DCI received
- Wrong MCS table calculation and error in accessing ul_config_request at UE resolved
RLC has timers. We need to keep track of time. We chose to not use
realtime but 'processing time'. That is we send a tick to RLC for every
subframe when it is processed by the softmodem. Before this commit we
used to increase time in the function mac_rlc_status_ind which may not be
called every subframe (especially in TDD mode). So we need another way
to keep track of time.
We introduce rlc_tick() and call it in eNB_dlsch_ulsch_scheduler, which
is called every subframe, both in FDD and TDD.
We also call rlc_tick() in the function ru_thread_synch() because
pdcp_run() and rrc_rx_tx() are called there too.
It may not be the best solution. To be revised if needed.
Note: the UE has not been touched. Some modification is needed for the UE
too, most probably.
MR932 : Nr sa ngap rrc wk42
- Initial implementation of NGAP and RRC extensions for SA
MR956 : Correct use of ssb_position bitmaps
MR958 : 5G NR Downlink DMRS Type 2
- Implementation of 5G NR Downlink DMRS type 2 (generation on gNB side, channel estimation with linear interpolation in frequency domain on UE side), needed for MIMO
MR961 : 5G NR UE TTI cleanup
- Remove current_thread_id array, nr_tti_rx, nr_tti_tx, subframe_rx and subframe_tx
MR965 : fix a segdev
MR939 : Nr rlc am bugfix w44
- bugfix
MR948 : nr: rlc: hotfix - forgot to store frame and subfram
- minor bugfix
MR942 : Feature/make s1 mme port configurable
- This patch adds an optional "port" option to set another sctp port than 36412
MR959 : minor: remove a CPPCHECK error for NR RLC
- remove a CPPCHECK error (not a real error) for NR RLC