Commit Graph
10212 Commits
Author SHA1 Message Date
Robert Schmidt fa5c4d3a4c Fix SDAP: correct ID, set default
- Set the correct QoS flow ID to associate a correct QoS flow to the
  bearer: the UE would misassociate otherwise
- Set the DRB as the default: the handler applies bool with true==1, so
  use bool value
2023-10-30 08:47:33 +01:00
Robert Schmidt a87cad57b7 Fix: correct SD index 2023-10-27 10:34:53 +02:00
Robert Schmidt eb475f7747 Remove useless warning 2023-10-27 09:07:51 +02:00
Robert Schmidt 781d01d5de Remove (almost) unused e1ap_api.h 2023-10-27 09:07:51 +02:00
Robert Schmidt 2e252dd377 Implement E1 bearer release 2023-10-27 09:07:51 +02:00
Robert Schmidt fb5b125110 Implement Bearer Context Modification Response in E1 2023-10-27 09:07:51 +02:00
Robert Schmidt ec60fd8157 E1 bearer modification: harmonize code 2023-10-27 09:07:51 +02:00
Robert Schmidt 380151faa7 E1 Bearer Context Setup Request: harmonize code
- harmonize monolithic and E1AP case
- use ITTI message to send bearer context setup response to RRC
2023-10-27 09:07:51 +02:00
Robert Schmidt 9546166ebc Create files to handle E1AP messages at CU-UP 2023-10-27 09:07:51 +02:00
Robert Schmidt 70ddc0e7fb CUUP: set F1-U remote port for GTP module 2023-10-27 09:07:51 +02:00
Robert Schmidt c5006cf4ed e1ap_common.h without E1AP ASN dependency 2023-10-27 09:07:51 +02:00
Robert Schmidt 0a6998db4b Select CU-UP based on slice 2023-10-27 09:07:51 +02:00
Robert Schmidt e07a741ee0 Handle multiple CU-UPs in one CU-CP
This commit introduces the capability to handle multiple CU-UPs. It uses
a RB tree and puts the CU-UPs into the tree. Upon the connection, it
associates UEs to CU-UPs in a round-robin fashion.
2023-10-25 20:22:32 +02:00
Robert Schmidt b08ce59bc2 Pass assoc_id to RRC and use when sending E1AP messages 2023-10-25 20:22:32 +02:00
Robert Schmidt 1d3127bb99 Read and forward CU UP name in E1AP Setup Request 2023-10-25 20:22:32 +02:00
Robert Schmidt 7d37143bac Read and forward NSSAI in E1AP Setup Request 2023-10-25 20:22:32 +02:00
Robert Schmidt 75b055711a Setup Request: store in E1 only for CU-UP 2023-10-25 20:22:32 +02:00
Robert Schmidt b26dcc1ee5 Store E1 Setup Request at RRC 2023-10-25 20:22:32 +02:00
Robert Schmidt 23eaea4b8d Move CU-UP related processing to separate file
A later commit will introduce an RB tree to manage multiple CU-UPs. The
RB tree implementation relies on some macros that generate RB tree
functions. Functions using the RB tree implementation will be grouped in
this file.
2023-10-25 20:22:32 +02:00
Robert Schmidt f721b13982 Fix: E1 PDU Session has NSSAI, not only SST 2023-10-25 20:22:32 +02:00
Robert Schmidt c3927fa6b7 Fix bug: correct PLMN in check in E1AP Setup Req handler 2023-10-25 20:22:32 +02:00
Robert Schmidt a23984c7ae Split out E1AP net config from Setup Request
The E1AP Setup Request contained the network configuration (IP address,
ports) as well as the actual E1AP Setup Request application data
(Supported PLMNs, ...). This has the drawbacks that
- The E1AP Setup Request is stored to retrieve IP addresses in the E1AP
  module, which is confusing as the Setup Request, per standard, has no IP
  info
- The CU-CP received an E1 Setup Request for configuration during start
  up, but it did not actually receive such Setup Request, but merely the
  IP configuration to set up the socket

This commit splits the E1AP Setup Request into a "real" Setup Request
for application data, and creates a new type e1ap_net_config_t to group
all IP configuration data. Further, a new ITTI message type
E1AP_REGISTER_REQ is introduced to group both types. What happens is
- RCconfig_NR_CU_E1() reads both E1AP application-level data and IP
  configuration, as previously
- The data is sent to the CU-CP. It discards the E1AP Setup Request
  data, and only uses the network configuration to set up the socket
- The data is sent to the CU-UP. It uses the network configuration to
  connect to the CU-CP, and then sends the E1AP Setup Request to the
  CU-CP.

Currently, the CU-CP still stores the Setup Request locally, which will
be changed in the next commit to send it to the RRC.
2023-10-25 20:22:32 +02:00
Robert Schmidt 5c07c326ea E1AP: use assoc_id in instance, do not pass Setup Request around
- e1ap_encode_send(): do not use E1AP Setup Request
- store assoc_id in the instance, and reuse that
2023-10-25 20:22:32 +02:00
Robert Schmidt e4a28cfabd Remove unused variables 2023-10-25 20:22:32 +02:00
Robert Schmidt 5215cc921f Lower E1AP log verbosity 2023-10-25 20:22:32 +02:00
Robert Schmidt d1e5ee2bab extract_SETUP_REQUEST(): assoc_id: remove comment 2023-10-25 20:22:32 +02:00
Robert Schmidt 0070bf11fc Fix fill_BEARER_CONTEXT_SETUP_REQUEST() 2023-10-25 20:22:32 +02:00
Robert Schmidt 29212d4e94 E1AP: remove unused functions 2023-10-25 20:22:32 +02:00
Robert Schmidt e37f67ccce Make E1AP function check_transac_id() static 2023-10-25 20:22:32 +02:00
Robert Schmidt 6eba667813 Delete unused/write-only E1AP variables 2023-10-25 20:22:31 +02:00
Robert Schmidt ed0923c2ec E1AP messages: Remove DRBList and CN Support fields
The DRBLists inside E1AP message are for E-UTRAN. We don't support that
with our CU-CP/UP yet, so remove it to reduce ambiguity and complexity.
For the same reason, we remove the CN Support, which for us is always
"NR".
2023-10-25 20:22:31 +02:00
Robert Schmidt c3f19a4ead Move "UM on default DRB" param to RRC config, make it bool 2023-10-25 20:22:31 +02:00
Robert Schmidt d58ebfcaab Remove unused RRC variables 2023-10-25 20:22:31 +02:00
Robert Schmidt 453f483c7a bugfix CU: set remote port in GTP-U module 2023-10-25 20:22:31 +02:00
Robert Schmidt e49608339a Add TODO regarding E1 & reestablishment
For the reestablishment, we need to tell the PDCP it needs to reset the
SN counters. This does not work over E1; add a TODO in the code.
2023-10-25 20:22:31 +02:00
Robert Schmidt 4852354dac Correct banner mail 2023-10-25 20:22:31 +02:00
Raphael Defosseux b7073ebdbc Merge remote-tracking branch 'origin/clean-ide-files-old-doc' into integration_2023_w42 2023-10-23 13:54:58 +02:00
Robert Schmidt 6568d40eca Remove outdated documentation 2023-10-23 13:06:58 +02:00
Raphael Defosseux 24ac96cd40 Merge remote-tracking branch 'origin/Fix_FAPI_PDU_Length' into integration_2023_w42 2023-10-20 11:46:33 +02:00
Raphael Defosseux bd551a6ac1 Merge remote-tracking branch 'origin/nr_ue_use_srb0' into integration_2023_w42 2023-10-20 11:45:44 +02:00
Raphael Defosseux 80c2bc3fcb fix(arm-build): immintrin.h is not available
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2023-10-20 11:36:39 +02:00
Rúben Soares da Silva bfd12e4aa0 Change PDU_Length and TLV length calculation to be inline with SCF 222.10.02
PDU Length is as per SCF 222.10.02: The total length (in bytes) of the
PDU description and  PDU data, without the padding bytes. From
TX_DATA.request we get 8 (2 bytes PDU_Length + 2 bytes PDU_Index + 4
bytes num_TLV ) and from each TLV we get 4 + value size ( 2 bytes tag +
2 bytes length + value size without pading)

Therefore, add function to compute PDU_length() value for
TX_Data.request, taking into account how many TLVs there are.
compute_PDU_length() does not rely on access to `nfapi_nr_pdu_t`.
Put it into nr_mac_common.c to avoid introducing dependencies.
2023-10-17 04:33:57 +02:00
francescomani 79cd189160 fix sim compilation 2023-10-16 16:36:38 +02:00
Robert Schmidt afb770d1b3 Merge remote-tracking branch 'origin/NR-UE-fix-seg-fault-add-bwp' into integration_2023_w41 2023-10-13 11:07:36 +02:00
Robert Schmidt 7f0dbde135 Merge remote-tracking branch 'origin/break_dci_processing_function_in_smaller_pieces' into integration_2023_w41 2023-10-13 11:05:33 +02:00
Robert Schmidt be9a3375ed Correctly format nr_ue_process_dci_dl_11() 2023-10-12 21:11:38 +02:00
Robert Schmidt 2f0c31637b Assert when encountering unhandled DCI formats 2023-10-12 21:10:24 +02:00
Robert Schmidt 821ab37f49 Fix table lookup in nr_ue_process_dci_dl_11() 2023-10-12 21:09:12 +02:00
Robert Schmidt e3b3495488 Merge remote-tracking branch 'origin/NR_UE_sanitize_PUCCH2' into integration_2023_w41 2023-10-12 20:57:48 +02:00
Sakthivel Velumani f75519978e fix UE asserver due to PUCCH resource lookup all BWPs 2023-10-12 12:17:46 -04:00