Commit Graph
100 Commits
Author SHA1 Message Date
Robert Schmidt 5c42004e21 RRC: switch to NGAP UE ID as CU UE ID 2023-08-11 17:38:12 +02:00
Robert Schmidt c832b7af91 Configure CU/DU UE IDs in NSA/do-ra/phytest 2023-08-11 17:38:12 +02:00
Robert Schmidt 2e1107fa41 Refactor PDCP: DRB callback for gNB to look up IDs 2023-08-11 17:38:12 +02:00
Robert Schmidt eca89e20b0 Remove F1 module UE handling
The UE had a list of known UEs. With the introduction of a separate
module for F1 UE ID handling that is also used in monolithic (to
separate CU UE ID from DU UE ID), this functionality is not needed, and
deleted in this commit.
2023-08-11 17:38:12 +02:00
Robert Schmidt 7c2c01727e Send ue ITTI Release Complete message
Previously, the F1AP handler called various functions directly, instead
of sending an ITTI message to the RRC thread. This has two drawbacks:
- it can lead to data races if the RRC task uses functionality that is
  being accessed by the F1 task through this function
- no homogeneity: all other handlers send an ITTI message, so this one
  should too
2023-08-11 17:38:12 +02:00
Robert Schmidt f48d86d7c5 UE Ctxt Release Req/Cmd/Complete 2023-08-11 17:38:12 +02:00
Robert Schmidt d24454ce9a UE Context setup and modif 2023-08-11 17:38:12 +02:00
Robert Schmidt d220ee23e2 UL RRC Message has CU/DU UE IDs 2023-08-11 17:38:12 +02:00
Robert Schmidt 0943891005 Use CU/DU UE ID in DL RRC Message Transfer, manage at DU, refactor
- The CU/DU UE ID is used in DL RRC Message Transfer
- Note: The CU UE ID currently is still the RNTI
- on every DL RRC Message, the DU verifies that the UE exists
- Refactor RRC: common function to forward protected SRB PDUs
2023-08-11 17:38:12 +02:00
Robert Schmidt 0a0f6b7952 Initial UL RRC Message: manage DU UE ID at CU 2023-08-11 17:38:12 +02:00
Robert Schmidt 3e0f07705c Init F1 UE data structs at MAC, RRC & CU-UP 2023-08-11 17:38:12 +02:00
Robert Schmidt af545c07b7 Hashtable for F1 UE IDs and add test 2023-08-11 17:38:12 +02:00
Robert Schmidt 4574a19fc9 Rename primary RRC UE ID gNB_ue_ngap_id to rrc_ue_id
The RRC uses gNB_ue_ngap_id as its primary ID; the following commits
will introduce the usage of the (F1) gNB CU UE ID. This commits renames
the gNB_ue_ngap_id to rrc_ue_id to better reflect its usage as the RRC's
primary UE ID.

It will be used as the NGAP and F1 (CU) UE IDs.
2023-08-11 15:20:47 +02:00
Robert Schmidt c5b9962954 Remove unnecessary dl_rrc_message_transfer_direct() 2023-08-11 15:20:47 +02:00
Robert Schmidt 97b65555fd Invalid free: do not free RRC container 2023-08-11 15:20:47 +02:00
Robert Schmidt f1cef982f2 Bugfix: DL RRC Message: Allocate RRC Container buf 2023-08-11 15:20:47 +02:00
Robert Schmidt d647a98f65 Make the gNB_ue_ngap_id greater than 0
To avoid 0 in the ID
2023-08-11 15:20:47 +02:00
Robert Schmidt 50bba6b287 Remove useless S1AP definitions in NR RRC 2023-08-11 15:20:47 +02:00
Robert Schmidt ab9f9bdd76 Don't delete RA in delete_nr_ue_data()
for reusing the old UE Context after reestablishment: we have to free a
UE context, but that also free's the RA process that we still need.
Remove here

Is this necessary?
2023-08-11 15:20:47 +02:00
Robert Schmidt aa62ddfabd MAC: Fix check for spCellConfig before using 2023-08-08 17:56:10 +02:00
Robert Schmidt 6979b56aa7 Scheduler lock: provide additional info on failure 2023-08-08 17:56:10 +02:00
Robert Schmidt 537605a6ea Merge branch 'integration_2023_w31' into 'develop'
integration_2023_w31

See merge request oai/openairinterface5g!2282

* !1932 Introduce basic unit testing framework, cleanup
* !2259 NR_UE: improve NFAPI_NR_DMRS_TYPE1_linear_interp()
* !2271 Draft: Make asn1c debug traces functional
* !2274 remove NR UE RRC sub state
* !2278 CI: AW2S - update of AmariUE commands
* !2004 Fix gNB LLR plot view
* !2265 chore(ci): adding back LTE-UE Radio tests
* !2268 fix for PDCCH unscrambling at UE
* !2269 fixes for PUCCH F1 at UE
* !2258 pdcp_config_req_asn1 bug fix
* !2263 UE ServingCellConfigCommon cleanup
* !2275 Fix RRC UE timers based on frames and not slots
* !2280 handle scheduling of DLSCH with DCI10 in common search
* !2277 CI: no Jenkins mail, iperf refactor, add Quectel E1 test
* !2260 Preparation of release v2.0.0
2023-08-08 15:06:38 +00:00
Robert Schmidt eb20d93245 Merge remote-tracking branch 'origin/release-v2.0.0' into integration_2023_w31 2023-08-08 12:27:06 +02:00
Robert Schmidt bfc45da95b Merge remote-tracking branch 'origin/ci-iperf-html-e1' into integration_2023_w31 2023-08-08 12:26:42 +02:00
Robert Schmidt 7b297eb27a Add XML for Quectel F1+E1 test, don't clean after F1 2023-08-08 09:03:51 +02:00
Robert Schmidt 8dff8ff159 Merge remote-tracking branch 'origin/NR_MAC_gNB_handle_DLSCH_with_DCI10_common_SS' into integration_2023_w31 2023-08-07 21:18:25 +02:00
Robert Schmidt 7c9c3db6f1 Add Quectel/F1+E1 test 2023-08-07 18:15:38 +02:00
Robert Schmidt 86e596b032 Reduce useless log (config) in Quectel F1 DU config 2023-08-07 18:15:38 +02:00
Robert Schmidt 0c9c071e12 Quectel F1 test: no radio required for CU 2023-08-07 18:15:38 +02:00
Robert Schmidt 728649d614 Add iperf throughput test to Quectel F1 test
- throughput test in DL
- UL throughput: 30s is enough
- increase bidir test time for more reliable measurement
- increase retx thresholds: 1% for first round is too low
2023-08-07 17:29:50 +02:00
Robert Schmidt 5ddb9f683f CI: cell content's <pre> style to stack horizontally
The results of individual UEs (e.g., ping) is listed vertically, like
so:

| ping results | UE1 |
|              | UE2 |
|              | UE3 |

Where UE1, UE2, ... represents an entire box with results for UE 1, 2,
... For many UEs, this results in considerable need for vertical space. This
commit changes to something like the following to save space:

| ping results | UE1 UE2 UE3 |

For a single UE, this commit has no major impact (the boxes are not
stretched to width anymore).
2023-08-07 10:32:20 +02:00
Robert Schmidt 5d66ae56d0 Specify realistic LTE iperf bitrate thresholds
A side effect of the previous commit's refactoring is that we mark the
pipeline as failed if a (packet loss/bitrate) threshold is violated.
Previously, the HTML would contain a "Perf not met" hint, but be marked
as successful.

This commit introduces more realistic thresholds for various pipeline
runs. The values are arbitary, following the performances in pipelines
that were marked as successful, but actually had performance problems.
They allow, though, a pipeline to pass following the normal performance
we saw the last weeks.
2023-08-07 10:31:58 +02:00
Robert Schmidt 00deb998f4 Merge remote-tracking branch 'origin/NR_UE_RRC_SIB_fixes' into integration_2023_w31 2023-08-07 10:27:07 +02:00
Robert Schmidt 93469ed565 Merge remote-tracking branch 'origin/NR_UE_MAC_remove_scc' into integration_2023_w31 2023-08-07 10:26:59 +02:00
Robert Schmidt a181c78bda Merge remote-tracking branch 'origin/fix-pdcp_config_req_asn1-proto' into integration_2023_w31 2023-08-07 10:26:49 +02:00
Robert Schmidt ab63aa3cac Merge remote-tracking branch 'origin/NR_UE_pucch_format1_fixes' into integration_2023_w31 2023-08-07 10:26:43 +02:00
Robert Schmidt 056a7fdbe7 Merge remote-tracking branch 'origin/NR_UE_pdcch_unscrambling_fix' into integration_2023_w31 2023-08-07 10:26:36 +02:00
Robert Schmidt a2fbc2d68b Merge remote-tracking branch 'origin/ci-adding-back-lte-ue-radio-tests' into integration_2023_w31 2023-08-07 10:26:26 +02:00
Robert Schmidt 86f0bee1d3 Merge remote-tracking branch 'origin/NR_gNB_qtscope_llrPlot_fix' into integration_2023_w31 2023-08-07 10:26:16 +02:00
Robert Schmidt 9a32d6fc8c FEATURE_SET.md: move 5G above 4G 2023-08-04 15:56:04 +02:00
Robert Schmidt d3fcced012 Add Change log for v2.0.0 2023-08-04 15:49:26 +02:00
Robert Schmidt 509d9dd06c Update FEATURE_SET.md 2023-08-04 15:49:26 +02:00
Robert Schmidt 003dd281c3 CI: refactor Iperf(): no queues or locks, use ThreadPoolExecutor 2023-08-04 13:30:54 +02:00
Robert Schmidt 2a73317302 Jenkins: don't send mail
Jenkins is programmed to send e-mails, but most people don't use it:
- the mail has all results in the attachments, but it is clumsy to
  navigate between mail reader and browser, and CSS is not correct
- there is no link to the actual results
- everybody gets a notification from Gitlab, since we also post it there

Also, everybody who I asked told me they don't like this mail. Let's get
rid of it.
2023-08-04 13:05:06 +02:00
Robert Schmidt fa15732311 Update TESTBenches.md documentation 2023-08-04 09:07:58 +02:00
Robert Schmidt c069de114d Merge remote-tracking branch 'origin/ci-amariue-command-update' into integration_2023_w31 2023-08-04 08:30:49 +02:00
Robert Schmidt 9f78c408c8 Merge remote-tracking branch 'origin/NR_UE_remove_substate' into integration_2023_w31 2023-08-04 08:30:42 +02:00
Robert Schmidt 4a0bdd162b Merge remote-tracking branch 'origin/fix-regression-asn1c-debug' into integration_2023_w31 2023-08-04 08:30:34 +02:00
Robert Schmidt 1eb683f622 Merge remote-tracking branch 'origin/NR_UE_fix_dl_chan_est' into integration_2023_w31 2023-08-04 08:30:22 +02:00
Robert Schmidt 31f9dff938 Fix regression for tracing asn1c enc/dec tracing
As described in common/utils/config.h, it is possible to hook into the
asn1c tracing mechanism to print logs.

This commit fixes a regression to print theses traces properly in OAI.
Above-mentioned file explains also how to reduce the amount of logs,
e.g., for single code blocks.
2023-08-01 14:44:32 +02:00
Robert Schmidt f099ff59eb Rename T files to avoid name clashes
There is already common/utils/config.h. This file(name) is hardcoded as
it is included into asn1c, and cannot be renamed. To avoid a name clash
and confusing, we rename T's config.h/c to configuration.h/c.
2023-08-01 13:49:25 +02:00
Robert Schmidt 8614f64dd1 Rename ASN to ASN1 in T traces
The T trace names need to match the logging system names (apparently).
In commit 5f5b8f2914, we renamed the
logging system group to avoid a name clash, but omitted the T trace
names.

This is corrected in this commit to make everything compile nicely.
2023-08-01 13:48:14 +02:00
Robert Schmidt 251a1c6e2a Add unit testing documentation 2023-08-01 12:11:39 +02:00
Robert Schmidt 5d0c453ac2 Need minimal_lib for exit_function in nr_rlc tests 2023-08-01 12:11:39 +02:00
Robert Schmidt 37c9eebb8b NR_RLC: CMakeLists.txt in own subdirectory, with tests 2023-08-01 12:11:39 +02:00
Robert Schmidt 757bebd1da use log in nr_rlc test 2023-08-01 10:31:46 +02:00
Robert Schmidt 1ae18a4a02 CMakeLists.txt: UTIL target depends on pthread 2023-08-01 10:31:46 +02:00
Robert Schmidt bb2a3bedb8 LOG: correctly print newline after printf() 2023-08-01 10:31:46 +02:00
Robert Schmidt dd2ef166ea LOG: do not depend on oai_exit
By using oai_exit in log.c, LOG depends on being compiled into an
executable that defines such symbol, which is not always the case (nor
does it make sense).

oai_exit is only used in a loop to optionally write out memory. The
loop could relatively easily be aborted by setting a variable:
2023-08-01 10:31:46 +02:00
Robert Schmidt b67808036c Merge branch 'integration_2023_w30' into 'develop'
integration_2023_w30

See merge request oai/openairinterface5g!2272

* !2233 Draft: CI: test of SC-FDMA with Quectel UE
* !2256 fix typo in nr_slot_fep_init_sync()
* !2262 NR RRC: send "init context setup resp" after receiving reconfig from ue
* !2198 fr2: GPIO configuration for Interdigital Radio Unit
* !2222 NR Sidelink Pre-Configuration
* !2235 improve handling of default SIBs
* !2246 NR UE SIB1 detection outside of initial synchronization
* !2243 Resolve "Wrong name in the logs for ASN1"
* !2224 Ci attach detach
* !2270 bugfix: put constants in correct file
* demote PRS config "error" to info
* switch CI license check and cppcheck to new SSH class
2023-07-31 13:48:55 +00:00
Robert Schmidt b595d8ccac Demote PRS error message to missing config to info
PRS is not fully supported (NRPP missing, from my understanding), so not
that many people will use it. On the other hand, these error messages
confuse people. So put it to info.
2023-07-31 12:57:22 +02:00
Robert Schmidt d10eb372ff Merge remote-tracking branch 'origin/bugfix-define-constants' into integration_2023_w30 2023-07-29 07:25:15 +02:00
Robert Schmidt 70926b2cbd Merge remote-tracking branch 'origin/CI-attach-detach' into integration_2023_w30 2023-07-29 07:24:28 +02:00
Robert Schmidt f79bab42fa Merge remote-tracking branch 'origin/asn1_log_issue' into integration_2023_w30 2023-07-29 07:24:15 +02:00
Robert Schmidt e188faa377 Merge remote-tracking branch 'origin/NR_UE_SIB1_outside_of_initial_sync' into integration_2023_w30 2023-07-29 07:24:10 +02:00
Robert Schmidt cb9dbb6591 Merge remote-tracking branch 'origin/NR_UE_otherSI_improv' into integration_2023_w30 2023-07-29 07:23:26 +02:00
Robert Schmidt 56f0b708ed Merge remote-tracking branch 'origin/NR_SL_RRC' into integration_2023_w30 2023-07-29 07:23:06 +02:00
Robert Schmidt 051fb056f6 Merge remote-tracking branch 'origin/fr2-interdigital-usrp-interface' into integration_2023_w30 2023-07-29 07:22:50 +02:00
Robert Schmidt 9bc00465a9 Merge remote-tracking branch 'origin/fix-context-setup-response' into integration_2023_w30 2023-07-28 12:03:14 +02:00
Robert Schmidt da17b17b83 Merge remote-tracking branch 'origin/fix_nr_slot_fep_init_sync' into integration_2023_w30 2023-07-28 12:03:06 +02:00
Robert Schmidt a655026dce Merge remote-tracking branch 'origin/ci-add-sc-fdma-test' into integration_2023_w30 2023-07-28 12:02:58 +02:00
Robert Schmidt 1cbd6c714b Merge branch 'integration_2023_w29' into 'develop'
integration_2023_w29

See merge request oai/openairinterface5g!2254

* !2159 chore(ci): adding back part of old IF4.5 LTE legacy tests
* !2236 Remove crypt dependency
* !2238 Fix cppcheck warnings related to uninitialized variables
* !2239 incorrectStringBooleanError CPPCheck warnings fix
* !2241 nrUE: quick fix for compatibility with Open5GS
* !2244 Fix support for NR band n40 accordingly with 3GPP TS 38.101-1 V15.22.0
* add timeout to Jenkinsfiles to prevent long hangs in CI
* !2168 NR FR2 undefined behavior sanitize (segfault in one test)
* !2212 make common code for data copy to the scope
* !2242 Fix out-of-bound array accesses in PUCCH2 decoder
* !2245 Fix warnings emitted by gcc 13
* !2226 CI: modifications in CI scripts - usage of f-strings, constants
* !2251 T GUI tools: guard with cmake option, default off
* !2252 UE PHY: remove dead code
* update timing thresholds
* !2249 Fix bug in scheduler locking mechanism
2023-07-24 07:41:42 +00:00
Robert Schmidt 082af9863d Merge remote-tracking branch 'origin/fix-bug-sched-lock' into integration_2023_w29 2023-07-21 16:24:49 +02:00
Robert Schmidt a1f7284ee3 Update 40 MHz 1x1 timing thresholds
These timings shifted slightly in an MR recently. Since it is only
micro-seconds, and these thresholds are much higher in the 60 MHz (1x1
and 2x2) tests, it is safe to increase.
2023-07-21 16:01:02 +02:00
Robert Schmidt 233aa55f26 Merge remote-tracking branch 'origin/remove-ue-dead-var' into integration_2023_w29 2023-07-21 15:33:07 +02:00
Robert Schmidt b0b3c7ee67 Merge remote-tracking branch 'origin/t-tools-dependency-fix' into integration_2023_w29 2023-07-21 15:32:54 +02:00
Robert Schmidt 169b026b66 Merge remote-tracking branch 'origin/ci-multi-modifs' into integration_2023_w29 2023-07-21 15:31:12 +02:00
Robert Schmidt 1f8e95833c Merge remote-tracking branch 'origin/fix_warnings_gcc13' into integration_2023_w29 2023-07-21 14:06:41 +02:00
Robert Schmidt 526c84f4f2 Merge remote-tracking branch 'origin/fix-rx_pucch2' into integration_2023_w29 2023-07-21 14:06:38 +02:00
Robert Schmidt a0f375f50c Merge remote-tracking branch 'origin/improve-scope-interface' into integration_2023_w29 2023-07-21 14:06:34 +02:00
Robert Schmidt 04dee38c71 Merge remote-tracking branch 'origin/NR_FR2_sanitize' into integration_2023_w29 2023-07-21 14:06:29 +02:00
Robert Schmidt 22d467c339 Merge remote-tracking branch 'origin/NR_Band_n40' into integration_2023_w29 2023-07-20 17:28:55 +02:00
Robert Schmidt 9966a24a22 Merge remote-tracking branch 'origin/ue-compatible-with-open5gs' into integration_2023_w29 2023-07-20 17:28:49 +02:00
Robert Schmidt d989760d1f Merge remote-tracking branch 'origin/incorrectStringBooleanError_cppcheck_fix_on_w27_2023' into integration_2023_w29 2023-07-20 17:28:43 +02:00
Robert Schmidt 7c847cd908 Merge remote-tracking branch 'origin/uninitvar_cppcheck_fix_on_w27_2023' into integration_2023_w29 2023-07-20 17:28:34 +02:00
Robert Schmidt a6b6b61b51 Merge remote-tracking branch 'origin/oai_crypt_rm' into integration_2023_w29 2023-07-20 17:28:16 +02:00
Robert Schmidt 0325b15c66 Merge remote-tracking branch 'origin/ci-adding-back-lte-if4-5-tests' into integration_2023_w29 2023-07-20 17:28:09 +02:00
Robert Schmidt 0ba050f419 libxft is an optional dependency
Reason: see previous commit.

Don't install libxft by default
2023-07-20 13:45:22 +02:00
Robert Schmidt 372c067335 T GUI tools: guard with cmake option, default off
The T tools offering a GUI use libxft as a dependency. By default, we
try to limit the amount of dependencies, but libxft comes with X11.

Put the GUI tools behind cmake option T_TOOLS_GUI (default: off) to only
build on demand with a cmake option.
2023-07-20 13:42:26 +02:00
Robert Schmidt 9a55658b57 Fix bug in scheduler lock mechanism
nr_mac_prepare_ra_ue() is called with the scheduler being locked via
NR_SCHED_ENSURE_LOCKED(), but if there is no free RA process, it
unlocks the scheduler via NR_SCHED_UNLOCK().  This is commit fixes this.

In short, when calling nr_mac_prepare_ra_ue(), the scheduler is locked,
and should always return with the scheduler being locked.
2023-07-20 13:23:01 +02:00
Robert Schmidt fe61354173 Merge branch 'NR_SL_FAPI' into 'develop'
Sidelink MAC-PHY interface definition

See merge request oai/openairinterface5g!2234
2023-07-18 08:59:05 +00:00
Robert Schmidt 0806903541 Harmonize additional packages installer: RHEL/Fedora are identical 2023-07-18 10:51:57 +02:00
Robert Schmidt 6050c5db66 GnuTLS: only used by webserver, so move it to additional packages 2023-07-18 10:50:38 +02:00
Robert Schmidt 86563e8058 Remove unused libgcrypt dependency 2023-07-18 10:48:47 +02:00
Robert Schmidt 578fbfb9f6 Merge branch 'integration_2023_w28' into 'develop'
integration_2023_w28

See merge request oai/openairinterface5g!2232

* !2190 Reduce compilation time of OAI using ccache
* !2209 T: don't use execute_process, integrate in cmake
* !2210 only cleaning, not change
* !2219 NR UE decode other SI
* !2223 Fix rfsimulator build
* !2225 Add XnAP ASN.1 definitions
* !2131 Polar coding according to the standard
* !2160 Add memory sanitizer flag to build_oai and fix some bugs
* !2206 Bugfix tx rf burst
* !2227 Remove commented code, fix CI issues
2023-07-16 13:48:23 +00:00
Robert Schmidt c3931c9fe0 Merge remote-tracking branch 'origin/fixes-ci-ue' into integration_2023_w28 2023-07-13 19:19:31 +02:00
Robert Schmidt a0c2c5d1e9 Merge remote-tracking branch 'origin/bugfix_tx_rf_burst' into integration_2023_w28 2023-07-13 19:19:23 +02:00
Robert Schmidt 516d4b9fc1 Merge remote-tracking branch 'origin/use-memsan' into integration_2023_w28 2023-07-13 19:19:15 +02:00
Robert Schmidt 92ba679bbf Merge remote-tracking branch 'origin/develop-PUCCH2' into integration_2023_w28 2023-07-13 18:47:46 +02:00
Robert Schmidt 52f21f525c Merge remote-tracking branch 'origin/IISc_XnHandover' into integration_2023_w28 2023-07-13 17:00:05 +02:00