Commit Graph
25175 Commits
Author SHA1 Message Date
Robert Schmidt aec6170df4 Build E2 agent in Ubuntu images 2023-11-30 08:06:16 +01:00
Robert Schmidt 41c491a0fa Update E2 Agent submodule: use special FlexRIC commit before v2 2023-11-30 08:06:16 +01:00
Robert Schmidt 107c0c8d65 Reformat Dockerfile.build.ubuntu20 2023-11-30 08:06:16 +01:00
Robert Schmidt e13a4813ee E2 Agent: Match UEs based on NSSAI
Correctly match UEs based on the NSSAI in MAC and RRC. There is a
convenience function capture_sst_sd() that extracts SST and SD (which
form the NSSAI). Because a previous version used integers to convey the
slice identifier, this function gracefully handles this case, although
it is not spec-compliant.
2023-11-30 08:06:16 +01:00
Robert Schmidt 89b776925d E2 agent: fix memory leak by not allocating memory
Prior to this commit, the RAN function for KPM is leaking memory: it
allocates using calloc() but never frees it.

The fix consists of not allocating this memory on the heap in the first
place, but on the stack. Therefore, there are changes to pass in a
pointer to various functions to the structure on the stack, instead of
passing the "container" for the heap memory by value.

Further, the MAC was allocating an excessive amount of memory (N times
sizeof(NR_UE_info_t)). Instead of copying the entire struct, the present
code stores a pointer to the MAC UE container (NR_UE_info_t *). For the
RRC, there is a similar simplification that consists in not storing the
entire struct f1_ue_data_t (which is not required), but only the RRC UE
ID.

Note that both MAC and RRC might suffer from race conditions. For the
MAC, we should lock the scheduler for the time we read statistics. For
the RRC, the problem is more delicate as no mutex exists; the RRC
assumes everything is executed synchronously in the ITTI task loop. In
both cases, this commit does not address this problem
2023-11-30 08:06:16 +01:00
Robert Schmidt 5168ef72d9 E2 agent: remove broken NSSAI filtering, simplify code
Filtering UEs by NSSAI is broken, so remove it. A later commit will
reestablish this functionality.

Simplify the code: we only handle one condition, so we can check for it
upfront.
2023-11-30 08:06:16 +01:00
Robert Schmidt deac180224 Set correct gNB/gnB-DU/gNB-CU-UP ID for agent start 2023-11-30 08:06:16 +01:00
Robert Schmidt 7c6c4fc7d3 Start E2 agent only if configuration present
This commit introduces an additional (implicit) option that signals if
the E2 agent is to be activated or not. When reading the configuration,
we now check if all fields are set, and activate the E2 agent only if
this is the case. If not, we only print a warning and start the gNB
without the agent.

Note that previously, if not all fields are set correctly, the gNB
stopped.

To implement this behavior, it is necessary to change the defaults of
the RIC IP and the directory for SMs to a (non-NULL) default value.
Otherwise, the configuration system would not consider the field to be
set to the default, and wrongly assumes the field is set, even though it
is not; at least, this change is necessary to make config_isparamset()
return NULL if the configuration is not set.
2023-11-30 08:06:16 +01:00
Robert Schmidt 79c920cd81 Introduce separate gNB-CU-UP ID in configuration
3GPP has the concept of a gNB-CU-UP ID and a (separate) gNB ID (for gNB,
CU-CP). This commit introduces the gNB-CU-UP as a separate ID that has to be
set in the configuration file when running as a CU-UP. For the
CU/monolithic gNB, it is optional (but needs to be the same as the
gNB-ID if specified).

The CU-UP ID is necessary, as some entities, e.g., the e2 agent, need to
signal both IDs, e.g., to reconcile a CU-CP and (multiple) CU-UP(s)
belonging together.
2023-11-30 08:06:16 +01:00
Robert Schmidt 6f14b11847 Introduce separate gNB-DU ID in configuration
3GPP has the concept of a gNB-DU ID and a (separate) gNB ID (for gNB,
CU). This commit introduces the gNB-DU as a separate ID that has to be
set in the configuration file. It is necessary, as some entities, e.g.,
the e2 agent, need to signal both IDs, e.g., to reconcile a CU and
(multiple) DU(s) belonging together.
2023-11-30 08:06:16 +01:00
Robert Schmidt ec24b9c3e9 Add License headers to all E2 RAN function files 2023-11-30 08:04:41 +01:00
Robert Schmidt 463115bf19 Remove redundant config code block 2023-11-30 08:04:41 +01:00
Robert Schmidt 6a91f49e9f Fix non-compiling lte-softmodem agent config 2023-11-30 08:04:41 +01:00
Robert Schmidt b5e2c76d93 UE_iterator is a for_each macro, add to clang-format 2023-11-30 08:04:41 +01:00
Robert Schmidt 6debc5dd21 Make websrv compile 2023-11-28 13:28:36 +01:00
Robert Schmidt ee287d62f4 Merge branch 'integration_2023_w47' into 'develop'
See merge request oai/openairinterface5g!2450

* !2440 hotfix: set PDCP t-reordering to 100ms
* !2439 rfsimulator: ignore PIPE signal
* !2441 minor: documentation: advertise correct default value for --ssb
* !2446 chore(ci): displaying the ASN1C commit
* !2443 CI documentation: updates and how to reproduce
* !2355 NR UE improve handling of MSG4 feedback in default PUCCH
* !2408 NR UE MAC config improvements
* !2431 T: isolate generated .h files when using make
* !2442 nr pdcp: rework reestablishment
* !2448 lte: switch to RRC release 16.13.0
* !2088 Implementation of logical channel prioritization at UE
* correctly read timing advance option `-A` in gNB
* set sample advance for OAIUE test to make it more stable
* set gain for OAIUE test to make it more stable
* !2445 Correctly allocate SCC n_TimingAdvanceOffset
* !2454 bugfix: fix NSA CI test
2023-11-28 06:38:49 +00:00
Robert Schmidt 79a1b1cf69 Merge remote-tracking branch 'origin/ci-fix-nsa-sanitycheck-test' into integration_2023_w47 2023-11-27 17:52:48 +01:00
Robert Schmidt 728fc34296 Merge remote-tracking branch 'origin/Fix_n_TimingAdvanceOffset' into integration_2023_w47 2023-11-27 17:52:39 +01:00
Robert Schmidt f3ff41befe Correct RX gain for OAI UE test 2023-11-27 14:36:50 +01:00
Cedric Roux ff38130196 bugfix: fix NSA CI test
It seems like initialDLBWPcontrolResourceSetZero needs to be set
otherwise the quectel UE does not accept the Reconfiguration.
2023-11-27 12:29:48 +01:00
Robert Schmidt 9acfaaabcb Set timing advance for gNB & UE to make OAI UE test more stable 2023-11-27 11:42:06 +01:00
Robert Schmidt b04e166e59 gNB: take into account timing_advance option -A 2023-11-27 11:41:58 +01:00
Robert Schmidt 3e9d310093 Merge remote-tracking branch 'origin/implement_logical_channel_prioritization_ue' into integration_2023_w47 2023-11-24 17:55:45 +01:00
Robert Schmidt 67b0c006f5 Merge remote-tracking branch 'origin/lte-rrc-rel16' into integration_2023_w47 2023-11-24 14:12:26 +01:00
Robert Schmidt ec3de01377 Merge remote-tracking branch 'origin/nr-pdcp-reestablishment-procedure' into integration_2023_w47 2023-11-24 14:12:20 +01:00
Robert Schmidt 1b1c8e22a2 Merge remote-tracking branch 'origin/t-tracer-isolation' into integration_2023_w47 2023-11-24 14:12:13 +01:00
Cedric Roux 18e59d3c2e lte: switch to RRC release 16.13.0
A COTS UE is sending UE capabilities with accessStratumRelease "rel16"
which is not decoded by our RRC. Switching to RRC 16.13.0 lets our RRC
accept these capabilities (and as a positive side effect lets this
particular UE work nicely in NSA fr1).
2023-11-24 12:32:48 +01:00
luis_pereira87 d6abd0117a Add config file for FDD band 1 and 15 kHz SCS 2023-11-24 09:11:41 +00:00
Robert Schmidt b704f45daa Merge remote-tracking branch 'origin/NR_UE_MAC_conifg_improvements' into integration_2023_w47 2023-11-24 10:08:40 +01:00
Robert Schmidt e24145fd85 Merge remote-tracking branch 'origin/NR_UE_improve_handling_msg4_feedback' into integration_2023_w47 2023-11-24 10:08:32 +01:00
Robert Schmidt 75d8c05c24 Merge remote-tracking branch 'origin/doc-ci-repro' into integration_2023_w47 2023-11-23 14:21:47 +01:00
Robert Schmidt 3217a3745b Merge remote-tracking branch 'origin/ci-display-asn1c-commit' into integration_2023_w47 2023-11-23 14:21:36 +01:00
Robert Schmidt 041758a13a Merge remote-tracking branch 'origin/minor-fix-doc-ssb-default-value' into integration_2023_w47 2023-11-23 14:21:29 +01:00
Robert Schmidt 38d46be372 Merge remote-tracking branch 'origin/fix-sigpipe-rfsimulator' into integration_2023_w47 2023-11-23 14:21:21 +01:00
francescomani d241506043 fix for L2 simulator 2023-11-23 12:14:39 +01:00
Raphael Defosseux 59125df278 CI Doc: correct CPP-Check pipeline resource
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2023-11-23 11:12:27 +01:00
francescomani 65bcbabdca improve handling of MSG4 feedback in default PUCCH 2023-11-23 10:28:04 +01:00
Robert Schmidt ea369e403d Separate Image Build and Test pipelines, list dockerfiles 2023-11-22 14:04:01 +01:00
Robert Schmidt 9ab67ad87c CI doc: clarify Interop-F1 pipeline purpose 2023-11-22 09:35:09 +00:00
francescomani c6e5ead2a9 some more RRC cleanup 2023-11-21 11:07:21 +01:00
Raphael Defosseux 207f65992e chore(ci): displaying the ASN1C commit
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2023-11-21 09:46:24 +01:00
luis_pereira87 088bdf234e Fix read n_TimingAdvanceOffset from the configuration file 2023-11-20 21:42:52 +00:00
Cedric Roux 9e46a6a6ae nr pdcp: introduce nr_pdcp_get_rb() and some cleanup
cleanup means:
- typo: susbend -> suspend
- call nr_pdcp_manager_unlock() where needed
- simplify LOG_XX (remove __FILE__, __LINE__, __FUNCTION__)

note:
nr_pdcp_release_srb() and nr_pdcp_release_drb() don't use
nr_pdcp_release_drb() because they modify the arrays, so
it does not make sense to "abstract" the accesses to
->srb and ->drb.
2023-11-20 14:55:34 +01:00
francescomani 273562f345 fix for do-ra and phy-test mode 2023-11-20 14:21:49 +01:00
francescomani 2715c7efdd improve MAC configuration from RRC 2023-11-20 14:21:01 +01:00
francescomani 848f5767d7 unified handling of cellgroup config at MAC 2023-11-20 14:21:01 +01:00
francescomani df917624db function to configure cellgroup at RRC 2023-11-20 14:10:30 +01:00
francescomani 4d8bb4ef25 unify handling of reconfiguration with sync 2023-11-20 12:14:59 +01:00
francescomani 5661b20e9e improving init for dora and phytest 2023-11-20 12:14:59 +01:00
francescomani 8013d5d8cc removing CellGroup dependance from MAC common functions 2023-11-20 11:36:46 +01:00