Commit Graph
25 Commits
Author SHA1 Message Date
rmagueta 0ef6ef2b28 Code format improvements in differences for develop 2021-05-12 19:29:10 +01:00
rmagueta 4301582f88 Merge remote-tracking branch 'origin/NR_SA_F1AP_5GRECORDS' into develop-NR_SA_F1AP_5GRECORDS
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/SIMULATION/NR_RRC/itti_sim.c
2021-04-15 15:29:03 +01:00
Laurent OpenCells c0ef3e6f88 fix gcc reported issues 2021-04-03 23:37:58 +02:00
He Shanyun 01999cfcc7 fix build error of enb and ittisim 2021-02-10 01:07:02 +00:00
hardy 9c810b311d Merge remote-tracking branch 'origin/itti-enhancement' into integration_2021_wk04_b 2021-01-29 07:40:07 +01:00
hardy df88b0493e Merge remote-tracking branch 'origin/rlc-v2-bugfix-status-reporting' into integration_2021_wk02 2021-01-11 14:51:18 +01:00
Laurent 42a110338c itti dynamic queue creation, and 64 bits instance id 2020-12-23 13:56:01 +01:00
Thomas Schlichter ac73df698d Merge branch 'develop' into 'fix_do_ra_data'
# Conflicts:
#   openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#   openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
2020-12-10 13:40:08 +01:00
Cedric Roux d262d152ec rlc v2: implement SOstart/SOend in NACK reporting
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.
2020-12-03 16:17:24 +01:00
cig 33bab5ba4a Changes to support DL IP traffic and timing adjustments in do-ra mode:
- enabled procedures that were already called for phy-test mode
- enabled setup of DRB for the current C-RNTI
- enhanced information, debugging and warning logging at MAC/RLC/PDCP level
2020-12-01 15:09:57 +01:00
Cedric Roux 6f9fe2681c rlc v2: add tick for UE 2020-11-26 11:53:22 +01:00
Cedric Roux 25ab3a5ed3 rlc v2: change time keeping
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.
2020-11-26 11:53:22 +01:00
Raphael Defosseux 4a873b4d43 CI: optmimizations on VM-based framework
also correction for Circular Dependency Protection on header files
    also correction on the banner check

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-15 12:18:26 +02:00
Raphael Defosseux e5bbc0f1e4 BUILD: fix compilation warning and circular dependency protection on header files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-07 10:54:49 +02:00
Cedric Roux 21a2a8c6e1 rlc v2: some fixes for 'bugs' found by coverity scan
Minor fixes, doesn't change anything. Not sure these are 'bugs' either,
but let's be polite with coverity scan...

One thing was not changed.
Coverity scan says:
*** CID 357991:  Memory - illegal accesses  (USE_AFTER_FREE)
/home/carabe/raphael/openairinterface5g/openair2/LAYER2/rlc_v2/rlc_entity_am.c: 507 in tx_list_remove_sn()
501         } else {
502           prev = cur;
503           cur = cur->next;
504         }
505       }
506
>>>     CID 357991:  Memory - illegal accesses  (USE_AFTER_FREE)
>>>     Using freed pointer "head.next".
507       return head.next;
508     }
509
510     void cleanup_sdu_list(rlc_entity_am_t *entity)
511     {
512       rlc_sdu_t head;

But as far as I understand, there is no problem. We don't access
head.next at all if it has been freed. Or is there some aliasing
going on there (pointer aliasing)? I doubt it. False positive?
2020-05-07 18:05:05 +02:00
Cedric Roux 456e90e25d rlc v2: bugfixes for mbms 2020-04-20 16:28:20 +02:00
Cedric Roux baa9cd0140 rlc v2: mbms support 2020-04-19 13:44:15 +02:00
Cedric Roux 3089dc0d45 rlc v2: update to latest develop
All previous commits for rlc v2 are proably
not functional or even compiling.
2020-04-17 10:41:21 +02:00
Cedric Roux 4b6f5cea52 rlc v2: have the L2 simulator functional
Not very clean, but will do the job for the time being.
2020-04-17 10:40:05 +02:00
Cedric Roux fbd69663b1 rlc v2: fix for CU/DU split
Limitation: this fix only works if there is only one eNB,
because we force module_id = 0 in the function deliver_sdu where
(as the code is today) we have no way to know which module_id is
concerned. More generally, the rlc v2 does not work with more than
1 eNB.
2020-04-17 10:40:05 +02:00
Cedric Roux 9b9654a8e8 rlc v2: initial UE support 2020-04-17 10:40:05 +02:00
Cedric Roux eebf2cb938 rlc v2: improve buffer status reporting
The old method was wrong.
The new method is better, but not accurate, especially when the
TX buffer contains SDU of size > 2047 bytes.

Plus it's probably too slow.

To be refined at some point.
2020-04-17 10:40:05 +02:00
Cedric Roux d860ca510e rlc v2: bugfix 2020-04-17 10:40:04 +02:00
Cedric Roux 6698759a60 rlc v2: fix crash deliver_sdu: ERROR: pdcp_data_ind failed
simply ignore the error

maybe not the best solution
2020-04-17 10:40:04 +02:00
Cedric Roux 3310f5c6b0 alternative RLC implementation
This commit introduces an alternative RLC implementation
based on 36.322 version 8. AM and UM done, TM not done.

See openair2/LAYER2/rlc_v2/TODO for missing parts.
2020-04-17 10:40:04 +02:00