Commit Graph
9571 Commits
Author SHA1 Message Date
Robert Schmidt d1fc95a8a1 GTP: when creating a tunnel, tell which functions to use
The GTP module is common for 4G and 5G. It hardcodes the functions to
call when creating S1U and NGU tunnels. The S1U case is both applicable
for LTE and NR (NSA), which until now was not a problem as the PDCP data
forwarding functions where called pdcp_data_req. The issue is that in this
branch, the NR PDCP functions have changed to nr_pdcp_data_req_drb().

When setting up a GTP tunnel, we now pass the PDCP data forwarding
functions into GTP, since the caller knows whether it is in 4G or 5G,
but GTP itself does not.
2023-03-31 11:53:52 +02:00
Robert Schmidt 6529d875d8 nr_pdcp_data_req_srb(): take callback to forward data 2023-03-27 16:47:46 +02:00
Robert Schmidt ffebe2498d Simplify callback for deliver_pdu 2023-03-27 16:47:46 +02:00
Robert Schmidt 0f43c2c713 PDCP DL handling: unlock PDCP before forwarding PDU
nr_pdcp_entity_recv_sdu() processes PDCP SDUs, and forwards the PDU at the
end of the function, while having the PDCP lock. This can lead to
deadlocks, e.g., when another thread goes through RLC and tries to
access the PDCP while the PDCP tries to lock the RLC.

This commit changes the logic: instead of having recv_sdu() forward the
PDU directly, it fills a buffer with the PDU (thus the name change to
process_sdu()), and returns. We then unlock the PDCP, before forwarding
the PDU, thus eliminating potential deadlocks.
2023-03-27 16:47:46 +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
Robert Schmidt a458a251a0 PDCP: harmonize DL RRC Message transfer 2023-03-27 16:39:24 +02:00
Robert Schmidt 8fd0ad58b2 Merge remote-tracking branch 'origin/NR_harmonize_mac_cellgroup' into integration_2023_w12 2023-03-24 11:56:41 +01: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 5b8674cc57 Remove any reference to NR_SRB_INFO in gNB RRC 2023-03-23 10:30:49 +01:00
Robert Schmidt b5acd48e5b Remove unused rrc_rlc_register_rrc() 2023-03-22 19:21:06 +01:00
Robert Schmidt acf73ac23f Delete misleading comment 2023-03-22 19:03:51 +01:00
Robert Schmidt b3791364fd Review: correct indentation 2023-03-22 19:03:42 +01:00
Robert Schmidt 7c0cb06e59 Review: correct indentation 2023-03-22 19:03:31 +01:00
francescomani 508b67e5e5 limiting SR periodicity according to scs 2023-03-21 13:52:03 +01:00
francescomani 90bfdfcaf3 harmonize mac_CellGroupConfig 2023-03-20 17:18:02 +01:00
Robert Schmidt 7b40520a2d Do not handle NR_RRC_DL_INDICATION message at NR RRC
The message is never sent to the RRC. And this message is to be
forwarded by the DU to the UE, hence it should not even be handled by
the RRC (as the RRC in the CU sends it).
2023-03-20 16:57:58 +01:00
Robert Schmidt b3ff033e29 Do not decode RRC Container in DL RRC message
The RRC container is transparent for the DU. Hence, we should not decode
it.
2023-03-20 16:57:58 +01:00
Robert Schmidt 27566f49dd Create CellGroup, SRB0, and SRB1, before sending Initial UL RRC message
During the Initial UL RRC Message, the CellGroup is created. Since the
CellGroup specifies the SRB1, the SRB1 should also be created (because
the DL RRC Messages is sent via SRB1). However, before this commit, the
CellGroup is created while having the RLC lock, so we cannot create
SRB1, as it results in a deadlock.

Therefore, we now first create CellGroup, SRB0, and SRB1, before giving
the UE message to the RLC.
2023-03-20 16:57:58 +01:00
Robert Schmidt c4c41d3b69 Simplify nr_rlc: provide functions to add SRB/DRB 2023-03-20 16:57:58 +01:00
Robert Schmidt 0ed9201169 Remove useless node_type switches in RRC 2023-03-20 16:57:55 +01:00
luis_pereira87 3514cb43ba Minor fixes to get NR_RRCReestablishment working again after merging on the integration branch 2023-03-20 09:23:05 +00:00
luis_pereira87 40b5e99197 Fix segmentation fault when calling get_transformPrecoding function for BWP_id > 0 and rach_ConfigCommon = NULL 2023-03-18 15:28:52 +00:00
Robert Schmidt 7773311e0e Merge remote-tracking branch 'origin/NR_UL_scheduler_warnings' into integration_2023_w11b 2023-03-18 12:05:13 +01:00
Robert Schmidt 15055c26b8 Merge remote-tracking branch 'origin/616-gnb-remote-n3-port-can-no-more-be-modified' into integration_2023_w11b 2023-03-18 12:04:58 +01:00
Robert Schmidt d77c1c3ebf Merge remote-tracking branch 'origin/NR_identity_precoding_from_config' into integration_2023_w11b 2023-03-18 12:04:52 +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
Robert Schmidt 6fdb44953b Merge remote-tracking branch 'origin/nr_rrc_asn1_1730' into integration_2023_w11b 2023-03-18 11:53:18 +01:00
Robert Schmidt 9dc3f4f61f Merge remote-tracking branch 'origin/rework-ngap' into integration_2023_w11b 2023-03-18 11:43:53 +01:00
Robert Schmidt f97d002ca6 Merge remote-tracking branch 'origin/feat-603-bands-greater-64' into integration_2023_w11b 2023-03-18 11:43:45 +01:00
francescomani df110d457a demote UL scheduler warnings to debug level 2023-03-17 11:22:56 +01:00
francescomani 3a1102d9bf possibility to set identity precoding matrix from config file 2023-03-17 09:29:25 +01:00
Weskley Vinicius Fernandes Mauricio fefa0bfea7 Implementing bands greater than 64 in the code, feature #603 2023-03-16 09:57:52 -03:00
laurent 563421b4dc merge develop 2023-03-15 11:33:46 +01:00
Thomas Schlichter 6cee30ba79 review comments and further transform precoding cleanup 2023-03-15 11:01:47 +01:00
francescomani b64185e85e more fixes 2023-03-15 10:57:51 +01:00
francescomani 8131f63504 setting transform precoding in pusch-config 2023-03-15 10:57:51 +01:00
francescomani 29ec271586 fixes at UE for transform precoding 2023-03-15 10:54:03 +01:00
francescomani f82bba5535 fix transform precoding scheduling for ulsch 2023-03-15 10:54:03 +01:00
francescomani 7db8dce51c fixes for allowing softmodem to schedule PUSCH with transform precoding 2023-03-15 10:54:03 +01:00
Robert Schmidt 36f374be2a Merge remote-tracking branch 'origin/remove-unused-stuff' into integration_2022_wk11 2023-03-14 17:46:45 +01:00
Robert Schmidt 32f9d95bba Merge remote-tracking branch 'origin/telnet-ci' into integration_2022_wk11 2023-03-14 15:24:33 +01:00
laurent 03d3e1a5db code review comments 2023-03-14 14:48:09 +01:00
francescomani bc73e73c26 improve UE state machine 2023-03-14 11:06:32 +01:00
Robert Schmidt 9288930a3b Merge remote-tracking branch 'origin/Fix_RRCReestablishment_regression' into telnet-ci 2023-03-13 19:46:22 +01:00
Robert Schmidt 1a79b7ca74 Merge remote-tracking branch 'origin/NR_configuration_fix_additional_BWPs' into integration_2022_wk11 2023-03-13 19:25:25 +01:00
Robert Schmidt 3efb55ad17 Merge remote-tracking branch 'origin/Fix_RRCReestablishment_regression' into integration_2022_wk11 2023-03-13 19:25:17 +01:00
Robert Schmidt 4352c8314c Merge remote-tracking branch 'origin/t-reordering-gt-0' into integration_2022_wk11 2023-03-13 19:24:51 +01:00
frtabu d550fb220e Use same configurable port number for local and remote N3 2023-03-13 19:14:03 +01:00
laurent 082ba963d3 error free 2023-03-13 15:48:19 +01:00