Commit Graph
100 Commits
Author SHA1 Message Date
Robert Schmidt 418c6e23f0 Merge remote-tracking branch 'origin/NR_common_duplicated_function' into integration_2023_w16b 2023-04-22 07:51:14 +02:00
Robert Schmidt 94185df93e Merge remote-tracking branch 'origin/bugfix-interop-accelleran' into integration_2023_w16b 2023-04-22 07:49:06 +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
Robert Schmidt e31eacb386 Merge remote-tracking branch 'origin/develop-PUCCH2' into integration_2023_w16b 2023-04-21 16:33:44 +02:00
Robert Schmidt 361dfc3c9f Merge remote-tracking branch 'origin/NR_UL_256QAM_new' into integration_2023_w16b 2023-04-21 16:32:36 +02:00
Robert Schmidt 8482cb62c4 Merge remote-tracking branch 'origin/fix-ubsan-ldpc' into integration_2023_w16b 2023-04-21 16:30:52 +02:00
Robert Schmidt 62a5c4996c Add clang build on OpenShift Cluster
Add Dockerfile, OpenShift build config, and OpenShift image stream, to
compile OAI using clang, notably to get compiler warnings and keep it
OAI compilable using clang.
2023-04-20 13:44:11 +02:00
Robert Schmidt 8f85851a95 Remove clang from physim Dockerfile
clang (at least version 14.0.6 used on the cluster) is very slow when
compiling both ASan and UBSan into the binary. We therefore move clang
out, into a separate file in a later commit
2023-04-20 13:44:11 +02:00
Robert Schmidt 3b429c5399 Fix uninitialized variable warning 2023-04-20 13:44:05 +02:00
Robert Schmidt aac2a062b3 Merge branch 'integration_2023_w16' into 'develop'
integration_2023_w16

See merge request oai/openairinterface5g!2063

* !2040 CI: AW2S-ASUE pipeline creation
* !2042 fix iqplayer doc and copy in central directory
* !2051 Documentation update for USRPs
2023-04-20 06:41:22 +00:00
Robert Schmidt 01af5a1e2d Fix too large shift in ulsim 2023-04-19 22:12:08 +02:00
Robert Schmidt 2faca0fdba Fix too large shift in nr_pucchsim 2023-04-19 22:12:08 +02:00
Robert Schmidt 3f1a52eb3e Merge remote-tracking branch 'origin/multiusrps' into integration_2023_w16 2023-04-19 17:01:15 +02:00
Robert Schmidt 759d9df9bd Merge remote-tracking branch 'origin/iqplayer_doc' into integration_2023_w16 2023-04-19 17:01:09 +02:00
Robert Schmidt 6927eb12a6 Merge remote-tracking branch 'origin/ci-aw2s-asue-test' into integration_2023_w16 2023-04-19 17:01:00 +02:00
Robert Schmidt 46db3534b7 Add link to second document 2023-04-18 10:08:39 +02:00
Robert Schmidt db2aa3c8bd Honor force_256qam_off when configuring UL MCS tables 2023-04-17 15:09:17 +02:00
Robert Schmidt 56367dd07c Merge branch 'integration_2023_w15' into 'develop'
integration_2023_w15

See merge request oai/openairinterface5g!2057

* !1977 UL-MMSE
* !2021 Remove globals demodulator
* !2025 NR UE implementation of PUCCH multiplexing procedures
* !2049 reworking UE function to get max transmitted power
* !2034 Compiling CLANG warning free
* !2043 Refactor radio-related RRC parameters and further cleanup
2023-04-16 21:35:54 +00: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
Robert Schmidt 224c5538e4 Merge remote-tracking branch 'origin/NR_UE_get_Pmax' into integration_2023_w15 2023-04-14 13:54:40 +02:00
Robert Schmidt 69da6a5f5e Remove futile AssertFatal
NGAP_MAX_PDU_SESSION is 256, and ue->nb_of_pdusessions is uint8_t,
so comparison is always true and we can simply drop it.
2023-04-14 13:52:16 +02:00
Robert Schmidt 1ae561b9cc Remove write-only variable and commented code 2023-04-14 13:52:16 +02:00
Robert Schmidt 41aadcc54f Comment write-only variable 2023-04-14 13:52:16 +02:00
Robert Schmidt beef5461e5 Write-only variable: return ret_mask 2023-04-14 13:52:16 +02:00
Robert Schmidt 51c4933258 MAC: count transported SDU bytes 2023-04-14 13:52:16 +02:00
Robert Schmidt 8d07275496 Write-only variable: suppress warning, as we decode NAS message 2023-04-14 13:52:16 +02:00
Robert Schmidt 852a6c4f28 Remove write-only variables 2023-04-14 13:52:12 +02:00
Robert Schmidt 5d38a99955 Physim images: build using clang and -Werror 2023-04-14 13:52:12 +02:00
Robert Schmidt e6488d1b62 Remove compile options unknown to clang 2023-04-14 13:52:03 +02:00
Robert Schmidt c6a04db9a1 Merge remote-tracking branch 'origin/NR_UE_PUCCH_fixes' into integration_2023_w15 2023-04-13 18:45:29 +02:00
Robert Schmidt 8292c4523e Merge remote-tracking branch 'origin/remove-globals-demodulator' into integration_2023_w15 2023-04-13 18:45:19 +02:00
Robert Schmidt 8aa0aa4d40 Make functions in (gNB MAC) main.c static 2023-04-11 10:33:27 +02:00
Robert Schmidt 296d930fba Make most functions in nr_rrc_config.c static 2023-04-11 10:33:27 +02:00
Robert Schmidt b62474bd83 Move fill_default_secondaryCellGroup() and change signature
fill_default_secondaryCellGroup() is moved to nr_rrc_config.c.
Furthermore, the signature is changes to return the NR_CellGroupConfig
from the functions, instead of filling a pre-allocated structure (which
is, in all cases, allocated just before calling
fill_default_secondaryCellGroup().

There is a problem with this function: the function also fills the
ServingCellConfig (a parameter to this function). This behavior has not
been changed.
2023-04-11 10:33:27 +02:00
Robert Schmidt c1a2b65697 Delete nr_DRB_preconfiguration() and replace with existing functions
nr_DRB_preconfiguration() does a "pre-configuration" for the default DRB
for "noS1" mode, i.e., when there is no connection to core network. In
this case, there is no PDU session to be set up, and hence we need to
preconfigure the DRBs.

We replace this function with partially existing functions and a new
function fill_nr_noS1_bearer_config() which returns a bearer
configuration for the noS1 case, also better reflected in the function
name. It has also been moved to asn1_msg.c, away from the actual PDCP
layer.
2023-04-11 10:33:27 +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
Robert Schmidt 395ca4b4b0 Refactor update_cellGroupConfig() 2023-04-11 10:17:07 +02:00
Robert Schmidt 44d5b37890 Refactor get_initial_cellGroupConfig() 2023-04-11 10:17:07 +02:00
Robert Schmidt 88e6d9df09 Refactor SIB1 handling 2023-04-11 10:17:07 +02:00
Robert Schmidt 7cb50288ef Refactor MIB handling 2023-04-11 10:17:07 +02:00
Robert Schmidt 1e30c0adba Demote PRS no config message to information level 2023-04-11 10:07:07 +02:00
Robert Schmidt b9293754b8 Change rrc_coreset_config() to return new coreset config 2023-04-11 10:07:07 +02:00
Robert Schmidt 2d1aa8425b Remove write-only or unused variables 2023-04-11 10:07:07 +02:00
Robert Schmidt d907cbd442 Remove unused servingcellconfig parameter in RRC config 2023-04-11 10:07:07 +02:00
Robert Schmidt c744b01566 Remove ServingCellConfig from RRC Setup-related functions: is not needed 2023-04-11 10:07:07 +02:00
Robert Schmidt 5761b60c60 Create functions to access MAC from RRC
- for updating cellGroup
- for removing UE
- not done for SI information and RRC timers
2023-04-11 10:07:07 +02:00
Robert Schmidt f7181caf65 Remove commented code 2023-04-11 10:07:07 +02:00
Robert Schmidt 98f4d038d4 Merge branch 'integration_2023_w14' into 'develop'
integration_2023_w14

See merge request oai/openairinterface5g!2048

* !1861 NR UE RX Multi-threading
* !2017 scheduling aperiodic SRS at UE
* !2046 Correctly allocate GUTI in NAS UE structures
* !2033 PBCH radio link failure detection at MAC
* !1959 bugfix: change memory management of interface between PHY and MAC scheduler
* !2041 hack: see "Bye." message when quitting gnb running with aw2s
* !2047 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
2023-04-07 12:53:01 +00: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
Robert Schmidt a6862df7aa Merge remote-tracking branch 'origin/guti-hotfix' into integration_2023_w14 2023-04-04 18:54:39 +02:00
Robert Schmidt a0a92f4581 Merge remote-tracking branch 'origin/NR_UE_aperiodic_SRS' into integration_2023_w14 2023-04-04 18:50:41 +02:00
Robert Schmidt 0a4e28688b Update phytest-timing test timing thresholds 2023-04-04 09:39:28 +02:00
Robert Schmidt 22db2d613f Correctly allocate GUTI in NAS UE structures 2023-04-04 08:40:48 +02:00
Robert Schmidt 1f97969675 Merge branch 'integration_2023_w13' into 'develop'
integration_2023_w13

See merge request oai/openairinterface5g!2037

* !1945 Free RNTI related structures at PHY after UE disconnection
* !2011 Creation of new pipeline LTE-TDD-2x2-container
* !1854 Handle reconfigurationWithSync
* !2019 bugfix: LDPC decoding in the gNB: clear d properly
* !2038 Fix DL 2x2 errors
* !2039 Adding test-case in XML to reset USRP in LTE-TDD pipeline
* !2008 Implement NR-UE Deregistration procedure
* !2023 Rework PDCP OAI API to allow custom SRB data forwarding (e.g., in F1)
* !2015 Update documentation: CI, general README.md, overview of doc README, various improvements
2023-04-01 13:28:17 +00:00
Robert Schmidt 06c0979b90 Merge remote-tracking branch 'origin/doc-ci' into integration_2023_w13 2023-03-31 18:06:19 +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 ca6ae2c486 Merge remote-tracking branch 'origin/ci-ltetdd-reset-usrp' into integration_2023_w13 2023-03-31 18:00:03 +02:00
Robert Schmidt 8c1aeb4ab9 Merge remote-tracking branch 'origin/develop-fix-DL-2x2-errors' into integration_2023_w13 2023-03-31 17:59:54 +02:00
Robert Schmidt 7a52279078 Merge remote-tracking branch 'origin/bugfix-clear-llr-properly' into integration_2023_w13 2023-03-31 17:58:23 +02:00
Robert Schmidt c4a9f0ea03 gNB RRC: Shorten time till UE is removed for RRCRelease 2023-03-31 17:23:03 +02:00
Robert Schmidt a6149386dc NR UE MAC: Decode TBS and print warning if unknown LCID 2023-03-31 17:23:03 +02:00
Robert Schmidt 25b3aaf230 NR UE RRC: DCCH messages can be on SRB1 or SRB2 2023-03-31 17:23:03 +02:00
Robert Schmidt 06436655ff Bugfix: Forward F1 DL RRC Message transfer on correct SRB 2023-03-31 17:22:59 +02:00
Robert Schmidt 0631c04fba Revert 5G RFsim timeout changes for tests with CN: deregistration triggers UE disconnect 2023-03-31 17:22:59 +02:00
Robert Schmidt 8e6554bdf3 Print log on receiving deregistration accept, on CONN Release stop nr-uesoftmodem 2023-03-31 17:22:59 +02:00
Robert Schmidt 7fb242d33e Send NAS_CONN_RELEASE_IND to correct NAS UE task from RRC NR UE 2023-03-31 17:22:59 +02:00
Robert Schmidt 03862de437 Update TESTBenches.md to reflect current stetup 2023-03-31 17:07:28 +02:00
Robert Schmidt ca3a7c612b Remove outdated CI section 2023-03-31 17:07:28 +02:00
Robert Schmidt 8ca640337a Reorganize RUNMODEM.md 2023-03-31 17:07:28 +02:00
Robert Schmidt a29e59b602 Update GET_SOURCES.md and BUILD.md 2023-03-31 17:07:28 +02:00
Robert Schmidt e4143ded39 Update main README and overview of documentation 2023-03-31 17:07:28 +02:00
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 ed1d009381 fix warning 2023-03-30 19:59:48 +02:00
Robert Schmidt 99d5e50b6a fix merge 2023-03-30 19:58:55 +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
Robert Schmidt bd42a4259f Merge remote-tracking branch 'origin/lte-2x2-container-pipeline' into integration_2023_w13 2023-03-28 20:07:43 +02:00
Robert Schmidt 1880ede547 Check for GUTI 2023-03-28 14:12:05 +02: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 a0318fb413 Implement NAS Deregistration Type message 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 77e61425e0 UE NAS: Add counter for NAS messages 2023-03-28 14:12:05 +02:00
Robert Schmidt 4642a7c0f5 Correctly fill GUTI in NAS if available 2023-03-28 14:12:05 +02:00
Robert Schmidt 6e01a62838 Decode Registration Accept to receive GUTI 2023-03-28 14:12:05 +02:00
Robert Schmidt e35401efde NAS refactor: no moduleID, group UICC and security in one context 2023-03-28 14:12:05 +02:00
Robert Schmidt 223fd28bb2 Refactor NAS: separate code into functions 2023-03-28 14:12:05 +02:00
Robert Schmidt 528025e9a6 Fix decoding of Mobile identity 2023-03-28 14:12:05 +02:00
Robert Schmidt d4da44f1d3 CI: Remove unused routes 2023-03-28 14:03:03 +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 47ea8d79a2 Free memory correctly 2023-03-27 15:39:49 +02:00
Robert Schmidt 6e93619896 review comments 2023-03-27 15:26:52 +02:00