Commit Graph
1776 Commits
Author SHA1 Message Date
Raphael Defosseux 211fcb217a Merge remote-tracking branch 'origin/threading-rk' into integration_2023_w19 2023-05-11 13:24:50 +02:00
Raymond Knopp a3c7af0a7a Merge remote-tracking branch 'origin/develop' into threading-rk 2023-04-28 22:28:18 +02:00
laurent 84fa481e72 remove pdu session duplicated structs 2023-04-28 15:55:12 +02:00
Raymond Knopp 2a6b188635 removed temporary "USE_MSGQ" definition. Now, with
reorder_thread_disable we use the native message queue and L1_rx_thread instead of the thread-pool for the main L1 thread. There is a single TX thread (no slot parallelization)
2023-04-27 15:17:07 +02:00
Robert Schmidt 302f016650 Merge remote-tracking branch 'origin/NR_UE_TA_procedures_at_MAC' into integration_2023_w16b 2023-04-22 07:48:58 +02:00
Raymond Knopp 7d3a0cd157 Merge remote-tracking branch 'origin/develop' into threading-rk 2023-04-18 23:25:38 +02:00
Robert Schmidt be5c3d7aa0 Merge remote-tracking branch 'origin/refactor-nr-rrc-du' into integration_2023_w15 2023-04-14 15:26:30 +02:00
Robert Schmidt 04451c7078 Merge remote-tracking branch 'origin/clang_warnings_new' into integration_2023_w15 2023-04-14 13:54:46 +02:00
francescomani ca4b438dd4 clang warning fixes to compile lte softmodems 2023-04-14 13:52:12 +02:00
francescomani eb09a63001 separating MAC and PHY procedures for TA 2023-04-12 10:32:35 +02:00
Robert Schmidt d021fbd0b6 Reuse get_DRB_RLC_BearerConfig() to get RLC-BearerConfig
For nr_DRB_preconfiguration() and fill_default_secondaryCellGroup(),
there is duplicated code to generate and RLC-BearerConfig, when calling
the existing get_DRB_RLC_BearerConfig() (with the right parameters)
yields a similar configuration (see exceptions below).

Differences:
- We do not support reestablishmentRLC, so we don't set it
- Set prioritisedBitrate to 8kbps instead of infinity (we don't
  prioritize anything, anyway)
- bucketSizeDuration is 50ms instead of 100ms
2023-04-11 10:17:07 +02:00
Raymond Knopp 455e2203e7 Merge remote-tracking branch 'origin/develop' into threading-rk 2023-04-09 18:29:42 +02:00
francescomani a85fee5dca fixes for UE pucch scheduling 2023-04-07 16:56:26 +02:00
Robert Schmidt bdfec26d82 Merge remote-tracking branch 'origin/hack-bye-message-aw2s' into integration_2023_w14 2023-04-05 19:30:33 +02:00
Robert Schmidt 19d3014150 Merge remote-tracking branch 'origin/bugfix-phy-mac-interface' into integration_2023_w14 2023-04-05 19:30:30 +02:00
Cedric Roux 733c7e5e89 bugfix: change memory management of interface between PHY and MAC scheduler
This commit fixes a bug caused by global variables in the gNB_MAC_INST
structure used to transfer MAC scheduler's results to the PHY layer.

When using several threads in the PHY layer, it may happen that the
MAC scheduler is called a second time by the second PHY thread for the
next slot before the content of the global variables in the gNB_MAC_INST
structure used to store the result of the MAC scheduler for the current
slot have been consumed by the first thread, leading to unpredictable
results (all of them certainly wrong).

The solution is to introduce a small memory management module for the
interface between the PHY threads and the MAC scheduler. The MAC
scheduler now fills the data structures passed to it, and not a
global variable anymore. The PHY layer manages the structures and
ensures that no data is overwritten before being fully consumed by
the various threads of the PHY layer.

Some care has to be taken because several PHY threads will access the
same structures at the same time for a given slot (in read mode, so
it's okay). A mechanism of reference counting has thus been introduced.

Only one CC is supported. This restriction should not be too hard
to remove if/when needed. (The code before this commit does not seem
to work for more than one CC anyway.)
2023-04-05 16:39:12 +02:00
francescomani ebd70a3915 Merge remote-tracking branch 'origin/NR_pbch_errors_at_MAC' into integration_2023_w14 2023-04-04 19:35:23 +02:00
Sakthivel Velumani 1f6d111f6a Num wait idication as Tpool message field 2023-04-03 10:25:13 -04:00
Sakthivel Velumani a03864ee8c Fix printing help message 2023-04-03 10:24:26 -04:00
Sakthivel Velumani 1d9a4a42e7 Corrected thread pool help message 2023-04-03 10:24:26 -04:00
Sakthivel Velumani 15c12caa37 Contains MAC changes to run || DLSCH
DL config as array in MAC
Run RX slot processing in Tpool thread
Fixed race in phy config
Changed mac_IF_mutex
Proc Tx: Lets wait for Proc Rx to get ACK/NACK
-(only on slots that carry ACK/NACK)
Fix problem with rfsim
Separated PDCCH and PDSCH decoding functions. Run PDCCH decoding in main UE_thread.
Fixed race in MAC dci config struct
needed for parallel processing of slots
Moved DLSCH transport block buffer to stack
rx_ind as static allocation
L2sim: Fixed calling of MAC sched in wrong slot
Fix DCI extract bug for RA procedure
2023-04-03 10:24:24 -04:00
francescomani 5c333cca65 move radio link failure detection on pbch at MAC 2023-04-02 09:48:09 +02:00
Robert Schmidt 51fe9b84dd Merge remote-tracking branch 'origin/pdcp-callbacks-simplify' into integration_2023_w13 2023-03-31 18:03:40 +02:00
Robert Schmidt 5268dbf3f8 Merge remote-tracking branch 'origin/deregistration' into integration_2023_w13 2023-03-31 18:01:00 +02:00
Robert Schmidt 1ac428a323 Merge remote-tracking branch 'origin/develop-handle-reconfigurationWithSync' into integration_2023_w13 2023-03-30 19:19:37 +02:00
Cedric Roux 50bf571347 hack: see "Bye." message when quitting gnb running with aw2s
For some (unclear) reason, nr-softmodem with aw2s device does not print
"Bye." when stopping it with control+c, which is problematic in the CI.

This little hack solves the problem.

(Maybe not the right solution, to be changed if needed.)
2023-03-30 12:57:10 +02:00
Roberto Louro Magueta cf8dff2093 Implementation to update the RRC timers at UE 2023-03-28 18:52:48 +01:00
Roberto Louro Magueta 889a50072f Implementation of resynchronization procedures for a gNB with a given Nid_cell 2023-03-28 18:52:48 +01:00
Robert Schmidt 40c06fa8d5 Custom handler in NRUE to first send deregistration before stopping 2023-03-28 14:12:05 +02:00
Robert Schmidt a6486909ca Reimplement itti_wait_tasks_end() to allow custom wait handlers
In the UE, we wish to handle ^C in the UE to send a message before
terminating, so we allow custom wait handlers to implement such
functionality. Use itti_wait_tasks_unblock() to unblock
itti_wait_tasks_end().

Also, implement itti_wait_tasks_end() using semaphores, as signals are
not async-signal-safe (and therefore should not be used in a signal
handler).
2023-03-28 14:12:05 +02:00
Robert Schmidt 4700dde2ae Trigger deregistration 2023-03-28 14:12:05 +02:00
Robert Schmidt 09ea970b34 Stop UE with ^C 2023-03-28 14:12:05 +02:00
Robert Schmidt c405ad16a8 Remove nr_rrc_data_req()/rrc_data_req_nr_ue() 2023-03-27 16:47:46 +02:00
Robert Schmidt 2ac2a7f074 Make separate header for nr_pdcp instead of using 4G pdcp
Creates function that have nr_pdcp_ prepended to their name, and change
the signature of some functions for the 5G PDCP:

- nr_pdcp_layer_init()
- nr_pdcp_data_req()
- nr_pdcp_remove_UE()
- nr_pdcp_config_set_security()
- nr_pdcp_remove_UE()
- Make separate functions for nr_pdcp_data_req_srb/drb()
2023-03-27 16:39:24 +02:00
Raymond Knopp 80d84d3271 compilation after merge conflicts 2023-03-27 16:15:47 +02:00
Raymond Knopp 48d04bbffd Merge remote-tracking branch 'origin/develop' into threading-rk 2023-03-27 16:09:33 +02:00
francescomani 0d66410317 another round of review 2023-03-27 15:39:49 +02:00
francescomani 12ccca72b6 further improvements 2023-03-27 15:26:52 +02:00
francescomani 779748579c fixes for physical simulators 2023-03-27 15:26:52 +02:00
francescomani f3126586f3 removing constant max number of xlsch 2023-03-27 15:26:52 +02:00
francescomani 48d19391e2 fix for PHY structure disactivation 2023-03-27 15:26:52 +02:00
francescomani 7c9b501310 removing call from MAC to PHY to clear structures (now automatic clearing) 2023-03-27 15:26:52 +02:00
Robert Schmidt 9eac725441 Merge remote-tracking branch 'origin/simplify-f1-rrc-msg-transfer' into integration_2023_w12 2023-03-24 11:56:30 +01:00
Robert Schmidt 9074566869 Merge remote-tracking branch 'origin/episys-merge-int-to-c16t' into integration_2023_w12 2023-03-23 18:57:37 +01:00
Robert Schmidt c4c41d3b69 Simplify nr_rlc: provide functions to add SRB/DRB 2023-03-20 16:57:58 +01:00
Robert Schmidt 93f42683d1 Merge remote-tracking branch 'origin/NR_improve_UE_state_machine' into integration_2023_w11b 2023-03-18 11:53:24 +01:00
Melissa Elkadi 4dd579e042 int32_t to c16_t conversion
This commit includes changes to the function
footprints for vaiours NR UE and gNB functions.
It does not updated the LTE code. For functions
shared by both LTE and 5G, we maintained the original
LTE footprint and argument structure.

Several of the simulators that use these functions
have been updated as well. The specific usage of these
functions which index into the int32_t buffers and
treat the first int16_t and the real and the second
as the complex should be modified in the near future.
2023-03-15 12:45:39 -07:00
francescomani bc73e73c26 improve UE state machine 2023-03-14 11:06:32 +01:00
Robert Schmidt 52d7d2881a Merge remote-tracking branch 'origin/multi_usrp' into integration_2023_w10b 2023-03-11 11:57:38 +01:00
Robert Schmidt a6bd14c2cd Merge remote-tracking branch 'origin/Remove_nokrnmod' into integration_2023_w10b 2023-03-10 14:47:19 +01:00