Compare commits

...

1128 Commits

Author SHA1 Message Date
root
8c855de114 modified: common/utils/telnetsrv/telnetsrv_5Gue_measurements.c
modified:   executables/nr-ru.c
	modified:   openair1/PHY/INIT/nr_parms.c
	modified:   openair1/PHY/defs_nr_UE.h
	modified:   openair1/SIMULATION/TOOLS/random_channel.c
	modified:   openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	modified:   targets/ARCH/rfsimulator/apply_channelmod.c
	modified:   targets/ARCH/rfsimulator/simulator.c
2022-05-17 10:44:11 +02:00
Robert Schmidt
cfde228891 Telnetsrv: TELNETSRV_CMDFLAG_PUSHINTPOOLQ no parameters 2022-05-16 15:38:30 +02:00
Robert Schmidt
e85e215bfe Telnetsrv: TELNETSRV_CMDFLAG_PUSHINTPOOLQ cmds get fifo
Previously, only the first out of multiple telnet commands with
TELNETSRV_CMDFLAG_PUSHINTPOOLQ option would get a pointer to the fifo
queue, which is fixed in this commit.

Further, add_telnetcmd() now checks whether TELNET_MAXCMD is reached,
and prints and error.

Reformatted/simplified the function.
2022-05-16 15:38:10 +02:00
Robert Schmidt
50d9c1f2bf Merge branch 'ci-enable-amarisoft' into 'develop'
Ci enable amarisoft

See merge request oai/openairinterface5g!1554
2022-05-13 12:08:40 +00:00
Robert Schmidt
7c5a82bf1c Format Hdashboard Gitlab post using Markdown 2022-05-13 08:25:23 +02:00
Robert Schmidt
a582ac99e5 Trigger Amarisoft in NSA tests 2022-05-12 09:19:27 +02:00
Robert Schmidt
f3241cd419 Merge branch 'integration_2022_wk19' into 'develop'
integration_2022_wk19

See merge request oai/openairinterface5g!1553

MR !1456 TBSLBRM for DL computed ad MAC
MR !1532 CSI-IM harmonization
MR !1538 April 2022: some last CI fixes
MR !1540 Documentation Update
MR !1541 [CI] amarisoft UE server IP address update
MR !1546 ci-harmonization-and-cleanup
MR !1547 CI architecture description and RFsim updates
MR !1548 Fix Ubuntu 22 build_helper
2022-05-11 12:14:04 +00:00
Robert Schmidt
bfb7713f3e Merge remote-tracking branch 'origin/fix-u22' into integration_2022_wk19 2022-05-10 22:45:24 +02:00
Robert Schmidt
8dcea72a4b Merge remote-tracking branch 'origin/ci-doc' into integration_2022_wk19 2022-05-10 22:45:14 +02:00
Robert Schmidt
20595d6ac0 Merge remote-tracking branch 'origin/ci-harmonization-and-cleanup' into integration_2022_wk19 2022-05-10 22:45:02 +02:00
Robert Schmidt
a136173ae5 Merge remote-tracking branch 'origin/ci_support_amarisoft_ue' into integration_2022_wk19 2022-05-10 22:44:54 +02:00
Robert Schmidt
c8094576ec Merge remote-tracking branch 'origin/develop_doc_update' into integration_2022_wk19 2022-05-10 22:44:35 +02:00
Robert Schmidt
8d4b46c13a Merge remote-tracking branch 'origin/ci-fix-cn5g-deploy' into integration_2022_wk19 2022-05-10 22:44:12 +02:00
Robert Schmidt
df506e968e Merge remote-tracking branch 'origin/NR_CSI_IM_harmonization' into integration_2022_wk19 2022-05-10 22:42:38 +02:00
Manish
e804f58ce7 Merge branch 'develop_doc_update' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop_doc_update 2022-05-10 02:57:30 +00:00
Manish
d6f79071ab gNB Build Section Updated 2022-05-10 02:53:42 +00:00
Manish
b37e5e552b help menu updated in document for native architecture.
Compilation steps corrected on Ubuntu 20.

Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-05-10 02:53:42 +00:00
Robert Schmidt
3e3d73ef93 Install UHD 4.2 for U18/20/22 2022-05-09 15:14:16 +02:00
luis_pereira87
ad8f99dc03 Increase iPerf packet loss and bitrate thresholds to make RAN-NSA-B200-Module-LTEBOX-Container test green (due to UE host performance) 2022-05-08 02:22:52 +01:00
luis_pereira87
c6bedb6c27 Increase iPerf packet loss and bitrate thresholds to make RAN-NSA-B200-Module-LTEBOX test green (due to UE host performance) 2022-05-06 16:54:56 +01:00
luis_pereira87
421ca8aed5 Clean up of unused test cases in NSA with B210 2022-05-06 16:54:56 +01:00
francescomani
020c4c52ec Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-05-06 15:27:20 +02:00
Robert Schmidt
04db6ef536 Update CI bench images 2022-05-06 14:44:21 +02:00
francescomani
68fc56ad74 calling config_csiim also in sa 2022-05-06 12:17:18 +02:00
francescomani
b4abb204bd Merge remote-tracking branch 'origin/develop' into NR_CSI_IM_harmonization 2022-05-06 12:07:30 +02:00
Robert Schmidt
d0de678f56 Update CI documentation 2022-05-06 11:20:25 +02:00
Robert Schmidt
eef8cf510b Improve RFsim documentation 2022-05-06 11:20:24 +02:00
Robert Schmidt
d11350c08a Merge branch 'integration_2022_wk18' into 'develop'
integration_2022_wk18

See merge request oai/openairinterface5g!1545

Merged MRs:
- MR !1484 NR 20 MHz with LTE raster on AW2S Jaguar
- MR !1499 Handle RRC processing time at gNB
- MR !1511 NR UE memory leak fixes
- MR !1523 Avoid gNB to exit when UE release or becomes out of coverage
- MR !1533 Code and CI fixes
- MR !1536 feat(ci): add script to properly flatten the target images
- MR !1537 Fix for OAI UE AUTH_REQ processing additional check for RAND value
- MR !1543 x2 nsa bug at socket establishment
2022-05-06 08:59:03 +00:00
Robert Schmidt
e1e8a49b76 Fix UP traffic in NSA 2022-05-05 19:06:29 +02:00
luis_pereira87
602fb11339 Avoid usage of preferred_dl_tda and preferred_ul_tda before their computation and improve code readability 2022-05-05 13:39:04 +01:00
Manish
30051320c9 Merge branch 'develop_doc_update' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop_doc_update 2022-05-05 08:29:46 +00:00
Manish
65263a09ac help menu updated in document for native architecture.
Compilation steps corrected on Ubuntu 20.

Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-05-05 08:25:07 +00:00
Robert Schmidt
edd749ec36 Merge remote-tracking branch 'origin/fix-x2-sctp-nsa' into integration_2022_wk18 2022-05-04 15:16:47 +02:00
Robert Schmidt
9dae4a94bb Merge remote-tracking branch 'origin/oaiUe_AuthReq_Fix' into integration_2022_wk18 2022-05-04 15:16:36 +02:00
Robert Schmidt
0221499cea Merge remote-tracking branch 'origin/try-flattening-images' into integration_2022_wk18 2022-05-04 15:16:28 +02:00
Robert Schmidt
aebabbcc0c Merge remote-tracking branch 'origin/fixes-code-ci' into integration_2022_wk18 2022-05-04 15:16:14 +02:00
Robert Schmidt
f99f2be7bd Merge remote-tracking branch 'origin/Avoid_gNB_exit_when_UE_release' into integration_2022_wk18 2022-05-04 15:11:43 +02:00
Robert Schmidt
506f4b5456 Merge remote-tracking branch 'origin/ue-memleak-fix' into integration_2022_wk18 2022-05-04 15:11:30 +02:00
Robert Schmidt
94aeb43847 Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into integration_2022_wk18 2022-05-04 12:26:01 +02:00
Robert Schmidt
ada4be081c Remove clock_gettime() introduced in this branch 2022-05-04 10:48:25 +02:00
Robert Schmidt
6d35883b2a Add help strings for new config options 2022-05-04 10:47:31 +02:00
Robert Schmidt
cc6469c77d Upgrade SA test USRP IP address after CI migration 2022-05-04 10:47:31 +02:00
Robert Schmidt
400b52b46f Do not separately install python for UHD, is done in general packages 2022-05-04 10:00:48 +02:00
Vijay Chadachan
139d20a9ba Removing unused variables 2022-05-03 11:58:15 +02:00
luis_pereira87
114dcc6a08 Remove irrelevant comment 2022-05-03 08:57:02 +01:00
luis_pereira87
6db761692d Remove update_pdsch_ps and update_pusch_ps flags to use_rrc_processing_timer instead 2022-05-03 08:55:25 +01:00
francescomani
299642344a fix for ssb offset scaling issue 2022-05-02 19:08:10 +02:00
luis_pereira87
be3498ddd2 Update documentation to be able to run OAI gNB with OAI UE and COTS UE with the same configuration file 2022-05-02 14:26:17 +01:00
luis_pereira87
305347af9a Fix indentation and improve function nr_mac_enable_ue_rrc_processing_timer 2022-05-02 14:19:52 +01:00
luis_pereira87
79d9c2e8dc Address review comments 2022-05-02 12:03:55 +01:00
luis_pereira87
4b7b621f00 Minor improvements and cleanup in 5G NR SA configuration files 2022-05-02 12:03:55 +01:00
luis_pereira87
8569a47bc6 Remove sib1_tda from configuration files to use default value 2022-05-02 12:03:55 +01:00
luis_pereira87
d8a127810c Fix mcs table update during RRCReconfiguration 2022-05-02 12:03:55 +01:00
luis_pereira87
ca06668682 Handle RRC processing time at gNB 2022-05-02 12:03:55 +01:00
Vijay Chadachan
a8f879ea12 Update for the code review comment.
Instead of NULL RAND value check, added the flag to indicate if the
AUTH process started. The flag is used manage the timer handling
for authentication process when stored RAND values is same as received
RAND value in AUTH_REQ.
2022-04-28 18:08:20 +02:00
francescomani
3ec401f2f6 Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR 2022-04-28 17:26:33 +02:00
Sakthivel Velumani
454dc0cfab Fixed memory leaks identified by address san
There is still a leak that needs to be fixed in rrc_UE.c
Should properly free NR_BCCH_BCH_Message_t *bcch_message after asn decoder using ASN_STRUCT_FREE()
2022-04-28 18:53:42 +05:30
Laurent Thomas
85eb5926dd x2 nsa bug 2022-04-28 14:36:03 +02:00
francescomani
3547940e3f Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-04-28 14:26:24 +02:00
Robert Schmidt
00609ed15a Enable UDP traffic test in 5G FDD RFsim test 2022-04-28 14:04:16 +02:00
Robert Schmidt
d5419a27f2 Correct check for free symbols for PUSCH/PDSCH allocation 2022-04-28 14:04:15 +02:00
Robert Schmidt
9fcc94313c Make variables in nr_acknack_scheduling() const 2022-04-28 14:01:20 +02:00
Robert Schmidt
db0a9f60c1 Correct slot calculation in nr_acknack_scheduling() 2022-04-28 14:01:20 +02:00
Robert Schmidt
1060de4c32 Correct frame calculation in UL scheduler 2022-04-28 14:01:20 +02:00
Robert Schmidt
4be054b8ba Fix band66 CI config file locationAndBandwidth 2022-04-28 14:01:20 +02:00
francescomani
40b0ce9978 vrb map fixes 2022-04-28 14:01:20 +02:00
francescomani
3054102200 targets config file cleanup 2022-04-28 14:01:20 +02:00
Robert Schmidt
e4e08925ec Speed up random TB filling in phy-test mode 2022-04-28 14:01:19 +02:00
Robert Schmidt
3571769bef Correctly initialize RLC when using phy-test mode
When using phy-test mode, the RNTI for PDCP/RLC initialization would be
0, incorrectly initializing these layers, fixed in this commit.

Additionally, in this commit, we only trigger the initialization in
cases where the UE context is initialized (before, the RNTI might be 0
in other cases as well).
2022-04-28 13:42:19 +02:00
hardy
264599a071 update AS UE IP address after IT migration 2022-04-28 11:16:19 +02:00
luis_pereira87
3bdc709243 Fix build of phy_simulators 2022-04-28 09:04:14 +01:00
luis_pereira87
dda9077708 Remove all GTPU tunnels for a specific RNTI after UEContextRelease 2022-04-28 09:04:14 +01:00
luis_pereira87
4df04fc48c Avoid gNB to exit when UE release or becomes out of coverage 2022-04-28 09:04:14 +01:00
Robert Schmidt
720af7a41e Merge branch 'integration_2022_wk17' into 'develop'
integration_2022_wk17

See merge request oai/openairinterface5g!1539
2022-04-28 07:51:04 +00:00
Robert Schmidt
8d43b9c477 NSA 2x2: Set bitrate threshold to mark test green (setup problem) 2022-04-28 09:47:57 +02:00
Eurecom
e946ddbe47 bugfix in if5_tools.c 2022-04-27 21:34:06 +02:00
Raphael Defosseux
ced2a66f6e fix(ci): changing the Docker Hub account to push to
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-27 18:36:01 +02:00
Robert Schmidt
b089469935 Reduce nr_dlsim 256QAM MCS 27 test case to MCS 26, see #543 2022-04-27 18:15:46 +02:00
Robert Schmidt
730fa472ae NSA-2x2 test: increase DL traffic requirements 2022-04-27 18:09:21 +02:00
Robert Schmidt
e98afec567 NSA-2x2 test: improve gNB configuration 2022-04-27 18:09:21 +02:00
Raphael Defosseux
629b04dc80 fix(ci): typo when printing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-27 15:26:05 +02:00
Robert Schmidt
c265cbda8a NSA-B200(-Container) test: increase UL traffic requirements 2022-04-27 16:36:16 +02:00
Robert Schmidt
a4f3d431f5 Further improve B210/NSA gNB configuration file 2022-04-27 16:31:35 +02:00
Manish
e168c0f33b help menu updated in document for native architecture.
Compilation steps corrected on Ubuntu 20.

Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-04-27 05:37:42 +00:00
Robert Schmidt
89e7923652 Increase NSA B210 throughput requirements 2022-04-26 18:26:09 +02:00
Robert Schmidt
4389fdea4e Harmonize NSA DMRS AdditionalPosition with SA 2022-04-26 18:26:09 +02:00
Robert Schmidt
57d1b22ca4 Improve B210 gNB configuration 2022-04-26 17:48:23 +02:00
Robert Schmidt
b805e6db47 Use --continuous-tx for B210-based gNB (TDD) 2022-04-26 17:40:42 +02:00
Raphael Defosseux
275522eae3 feat(ci): reporting in HTML of formatting and licences checks
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-26 16:54:42 +02:00
Robert Schmidt
48cb251044 Merge remote-tracking branch 'origin/NR_SR_fixes' into integration_2022_wk17 2022-04-26 16:29:25 +02:00
Robert Schmidt
5dc87bdcad Merge remote-tracking branch 'origin/rename_frame_type' into integration_2022_wk17 2022-04-26 15:16:24 +02:00
Robert Schmidt
28c3205f22 Merge remote-tracking branch 'origin/fix-rfsim-ue4G-sync' into integration_2022_wk17
Conflicts:
	targets/ARCH/rfsimulator/simulator.c
2022-04-26 15:16:09 +02:00
Robert Schmidt
327ccc0895 Merge remote-tracking branch 'origin/fix-ue-dlsch' into integration_2022_wk17 2022-04-26 15:12:26 +02:00
Robert Schmidt
df3674c129 Merge remote-tracking branch 'origin/bugfix-nr-rlc-status-generation' into develop
Conflicts:
	openair2/LAYER2/nr_rlc/nr_rlc_entity_am.c
2022-04-26 14:13:51 +02:00
Robert Schmidt
917c0bfc10 Merge remote-tracking branch 'origin/nr-rlc-speedup-ack-nack-reception' into develop 2022-04-26 14:11:54 +02:00
Raphael Defosseux
5761f24eb0 fix(ci): 1st step to migrate the formatting / license check to the new pipeline env
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-26 14:02:06 +02:00
Raphael Defosseux
8d2e5fd7aa fix(ci): CN5G does not keep PCAP in artifacts
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-26 12:07:56 +02:00
Vijay Chadachan
05567b59f1 Fix for OAI UE AUTH_REQ processing additional check for RAND value
It was observed in simulation test the OAI UE always sends the sucessful
AUTH_RES when the AUTH_REQ has the RAND value "0". This opens a back door
in the authentication process.

The code is modified to fix this issue in OAI UE.
2022-04-26 10:59:42 +02:00
Raphael Defosseux
50612fdcc2 fix(ci): when deploy CN5G, health detection fixed to display the image tag/date in HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-26 10:40:45 +02:00
Laurent Thomas
3c6a628b74 fix 2 bugs: one new introduced by merge develop, one introduced by extra change asked in code review 2022-04-25 23:34:48 +02:00
Robert Schmidt
532bb0da96 Remove useless comments 2022-04-22 17:54:41 +02:00
Raphael Defosseux
998452e679 feat(ci): add script to properly flatten the target images
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-22 16:53:34 +02:00
Raphael Defosseux
4c4cbc963b fix(ci): little fixes after migration to new infra:
- Better mechanism for qlog cleaning
 - Faster attachment check
 - html.py is confusing for some python3 installation -- renaming it

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-22 12:28:09 +02:00
Cedric Roux
4b4e419aba nr rlc: fix NR RLC AM status generation
Several problems were found and fixed.
2022-04-21 16:47:27 +02:00
francescomani
9327e99152 additional fixes for SR 2022-04-21 16:29:22 +02:00
Raphael Defosseux
b8ac9d5db9 fix(ci): fix helm charts for phy-sim testing on cluster new infra
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-21 15:04:45 +02:00
Raphael Defosseux
d592b1ff5b fix(ci): dummy commit to re-trigger
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-20 17:56:25 +02:00
Raphael Defosseux
32b2f76c57 fix(ci): first port to the new Eurecom infrastructure:
* Proxy no longer required for git cloning
* Most of the IP addresses have been changed
  - Remaining --> 192.168.18.89 for amariue

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-20 14:30:24 +02:00
francescomani
f1a38dbc98 CSI-IM harmonization 2022-04-20 13:47:51 +02:00
francescomani
33663e68b0 rename frame_type 2022-04-19 18:37:14 +02:00
Cedric Roux
8b0be9cf87 nr rlc: speedup ack/nack reception
The code completely changed, expect problems.
2022-04-15 12:20:02 +02:00
Robert Schmidt
803864d4ed Merge branch 'develop-2x2-segFault' into 'develop'
Fix segmentation fault at UE for 2x2

See merge request oai/openairinterface5g!1527
2022-04-15 08:13:33 +00:00
francescomani
ca51ba7d3f ignoring PUCCH2 TPC for now 2022-04-14 19:30:22 +02:00
francescomani
815a15e544 fixes for SR in pucch0 2022-04-14 17:43:02 +02:00
rmagueta
31319e8063 Fix pdcch_est_size 2022-04-13 16:54:09 +01:00
Laurent THOMAS
b2560daa3d merge develop and fix one double free bug in nr_dlschsim 2022-04-13 15:15:11 +02:00
Robert Schmidt
9a330b3d96 Merge branch 'integration_2022_wk15b' into 'develop'
integration_2022_wk15b

See merge request oai/openairinterface5g!1524

MR !1508 Remove NR UE PDCCH
2022-04-13 08:28:11 +00:00
Laurent THOMAS
2373b02150 review remarks 2022-04-12 20:52:40 +02:00
Mario Hudon
06b637c1cf Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UE_thread_improvement_IDCC 2022-04-12 12:59:27 -04:00
Florian Kaltenberger
ef6ea331cf Update TESTING_5GSA_setup.md 2022-04-12 11:48:42 +00:00
francescomani
d642c74b66 reintroducing RA logs to avoid CI test failure 2022-04-12 11:26:20 +02:00
francescomani
8927c648d4 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-04-12 09:55:57 +02:00
francescomani
4452308184 Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR 2022-04-12 09:40:52 +02:00
Robert Schmidt
37eb845b66 Merge branch 'integration_2022_wk15' into 'develop'
integration_2022_wk15

See merge request oai/openairinterface5g!1522
2022-04-11 22:06:50 +00:00
Laurent THOMAS
4ad71064b8 review comments 2022-04-11 19:29:45 +02:00
Laurent THOMAS
b738f8a6a9 tackle code review remarks 2022-04-11 17:27:11 +02:00
Laurent THOMAS
421603534c fix regression 2022-04-11 10:52:53 +02:00
francescomani
9bf8c0e009 config file cleanup 2022-04-11 10:00:49 +02:00
Laurent THOMAS
b860d76cd6 fix lte-ue.c main loop with 5G common vars 2022-04-11 09:39:16 +02:00
Laurent Thomas
95a58d646a merge develop, no test 2022-04-10 22:22:52 +02:00
Laurent Thomas
f2e6537195 roolback regression 2022-04-10 22:11:37 +02:00
Raymond Knopp
86b5b9db3d Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair2/GNB_APP/gnb_config.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-09 19:44:26 +02:00
Robert Schmidt
cae952e1f3 Merge remote-tracking branch 'origin/ci_add_2nd_ue' into integration_2022_wk15 2022-04-09 13:11:04 +02:00
Robert Schmidt
3e6e9f449c Merge remote-tracking branch 'origin/fix-develop-segvs' into integration_2022_wk15 2022-04-09 13:10:00 +02:00
Robert Schmidt
9151666960 Merge remote-tracking branch 'origin/nr_gold_init_improv' into integration_2022_wk15 2022-04-09 13:09:50 +02:00
Robert Schmidt
d2053ec378 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into integration_2022_wk15 2022-04-09 13:09:40 +02:00
Laurent Thomas
8623bc6690 a small out of buffer access, likely only santize addr detection 2022-04-08 18:22:40 +02:00
Laurent THOMAS
1a2be8fc89 fix dft modifications related to alignment 2022-04-08 18:22:40 +02:00
Laurent THOMAS
f46240ca2b fix code review remarks 2022-04-08 18:22:38 +02:00
Laurent THOMAS
e1b9881c78 fix memory errors 2022-04-08 17:56:03 +02:00
francescomani
680c605e32 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-04-08 17:02:35 +02:00
Raphael Defosseux
dc4feae780 Merge remote-tracking branch 'origin/develop' into ci_add_2nd_ue 2022-04-08 16:45:59 +02:00
Raphael Defosseux
9547cb4f6b Merge branch 'integration_2022_wk14' into 'develop'
integration_2022_wk14

See merge request oai/openairinterface5g!1519

MR 1471 : L2 sim fixes and 5G SA L2SIM CI integration  
MR 1325 : SDAP  
Cherry-picks on MR 1517 : correct gNB fail detection  
MR 1464 : LDPC decoder memory optim  
MR 1514 : Amarisoft UE automation
2022-04-08 13:18:25 +00:00
Robert Schmidt
6ad71e290a Comment unused function that have been introduced in this integration branch 2022-04-08 11:30:19 +02:00
Raphael Defosseux
5e1e27699d fix(ci): the PCAP file was getting too big
-- Excluded the 2nd UE container IP address from capture
 -- Also added support for multiple UEs for dlsch_ulsch_stats

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-08 10:59:24 +02:00
Manish
4869b10984 Second OAI UE added in CI docker validation
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-04-08 10:57:37 +02:00
Robert Schmidt
86a704caa9 Merge remote-tracking branch 'origin/ci_support_amarisoft_ue' into integration_2022_wk14 2022-04-07 21:44:45 +02:00
Robert Schmidt
5669269ca9 Harmonize NSA 2x2 and LTE 2x2 eNB configs 2022-04-07 21:12:31 +02:00
francescomani
1485caa97e cleanup of episci config files 2022-04-07 14:00:19 +02:00
Laurent THOMAS
2cdc7304f1 merge develop 2022-04-07 10:00:41 +02:00
Robert Schmidt
810e62e13b Merge remote-tracking branch 'origin/ldpc-decoder-memory' into integration_2022_wk14 2022-04-06 23:45:44 +02:00
hardy
276c7be575 fix SYNC_STATUS flag mgt to get the final status correct 2022-04-06 23:45:25 +02:00
Robert Schmidt
0a03755f9d Correct gNB fail detection when running in VM 2022-04-06 23:45:19 +02:00
Robert Schmidt
054688ade4 Merge remote-tracking branch 'origin/nr_sdap' into integration_2022_wk14 2022-04-06 23:45:07 +02:00
Robert Schmidt
d8d3106baf Merge remote-tracking branch 'origin/episys-throughput-updates-and-downlink-siso-cm' into integration_2022_wk14 2022-04-06 23:44:59 +02:00
Laurent THOMAS
293a53e373 code review remarks, cannot perform full test (develop bugged) 2022-04-06 17:07:25 +02:00
Robert Schmidt
baa76323d2 Merge branch 'integration_2022_wk13b' into 'develop'
integration_2022_wk13b

See merge request oai/openairinterface5g!1515
2022-04-06 05:53:24 +00:00
hardy
402b9abb8c change ping stage description in xml 2022-04-05 19:00:48 +02:00
Robert Schmidt
906b4b9c1e Tune configs LTE-2x2, NSA-2x2 2022-04-05 18:36:26 +02:00
hardy
b245b3b1b6 more logging, copy logs, create HTML row 2022-04-05 15:18:55 +02:00
Sakthivel Velumani
2c23b28ba6 Merge branch 'develop' into ldpc-decoder-memory 2022-04-05 16:02:35 +05:30
Sakthivel Velumani
a4c8fe029a Fixing bad memory allocation and initialization
This (sometimes) corrupts PBCH channel estimates leading to false time synchronization of received samples.
2022-04-05 15:28:23 +05:30
hardy
76c0335a8b initial work for amarisoft ue 2022-04-05 09:11:45 +02:00
Mario Hudon
2e99d33f27 Fixed compile warning 2022-04-04 15:41:36 -04:00
Mario Hudon
147efc44e1 Merge remote-tracking branch 'oai-eurecom/develop' into NR_UE_thread_improvement_IDCC 2022-04-04 14:51:15 -04:00
Mario Hudon
b98f10b736 - Fixed failing CI tests
- Memory leak
  - Seg fault in dlsim tests
2022-04-04 14:32:27 -04:00
Robert Schmidt
0c431d969f Further tune LTE 2x2 gains 2022-04-04 17:26:00 +02:00
luis_pereira87
29f47c49c1 Fix segmentation fault for NSA 2022-04-04 11:05:52 +01:00
Raphael Defosseux
b7360eee04 fix(ci): when running modems, forcing fast write to stdout and files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-04 11:47:49 +02:00
Robert Schmidt
ec82ddea38 Don't call calculate_preferred_dl_tda() in do-ra mode
In --do-ra mode, calculate_preferred_dl_tda() would be called without a
BWP. Then, get_searchspace() would search in the scc, leading to a
segfault. Therefore, don't call calculate_preferred_dl_tda() in do-ra
mode.
2022-04-03 19:25:14 +02:00
francescomani
03510c83b7 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-04-03 15:33:30 +02:00
Robert Schmidt
db00707e66 CI scripts: correct asterix USRP IP address 2022-04-02 20:45:43 +02:00
francescomani
33d153f132 Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-04-01 19:42:28 +02:00
Robert Schmidt
bca61ec634 Merge remote-tracking branch 'origin/build_oai_support_on_ubuntu20' into integration_2022_wk13b 2022-04-01 18:40:36 +02:00
Robert Schmidt
5d63a756e6 Merge remote-tracking branch 'origin/fix-initialBWP-procedures' into integration_2022_wk13b 2022-04-01 18:40:30 +02:00
athanassopoulos
cf30f61e65 Changes to SDAP code
1. Removed SDAP struct from protocol context.
2. Added configuration for the SDAP.
3. SDAP doesn't use pdcp_entities, the values come from function arguements.
4. Make nr_pdcp_ue_manager accessible from SDAP.
5. Avoid using the PDCP locking mechanism in SDAP.
6. Removed nr_pdcp_find_entity_sdap function.
7. Rename dummy eNB function to make GTP compile (no SDAP).
8. Fix: Regression issues with LTE
9. Fix: Regression issues with NR CU/DU
2022-04-01 17:04:08 +02:00
Robert Schmidt
1d4cefb183 Merge remote-tracking branch 'origin/includes-oai_usrpdevif' into integration_2022_wk13b 2022-04-01 13:36:52 +02:00
Robert Schmidt
e8463bd610 Merge remote-tracking branch 'origin/fix-running-modem-in-generic-fedora-container' into integration_2022_wk13b 2022-04-01 13:36:43 +02:00
Robert Schmidt
30f14c7e55 Rename dummy eNB function to make GTP compile in 4G (no SDAP) 2022-04-01 13:35:40 +02:00
athanassopoulos
a826af5839 SDAP Initial Implementation 2022-04-01 13:35:40 +02:00
Robert Schmidt
8eb22e7262 Remove duplicate statements 2022-04-01 11:44:33 +02:00
Robert Schmidt
e15002c86c Shift correct number of params for build_oai --build-dir 2022-04-01 10:22:48 +02:00
Robert Schmidt
cb5e9d90e4 Create build_oai option to pass cmake params; add boost include dir caracal 2022-04-01 10:22:30 +02:00
Robert Schmidt
5a3eeac5e4 Merge branch 'integration_2022_wk13' into 'develop'
integration_2022_wk13

See merge request oai/openairinterface5g!1510
2022-04-01 07:47:46 +00:00
Robert Schmidt
42a6136683 Correct caracal's USRP IP addresses 2022-04-01 08:28:29 +02:00
Robert Schmidt
1472830d09 Correct include directories for oai_usrpdevif 2022-04-01 08:27:50 +02:00
Manish
790f2802f7 Help Menu and Argument Flag Aligned
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-04-01 03:48:44 +00:00
Raphael Defosseux
87c5007970 fix(container): when running in fedora-generic-kerner container, no setting of priority
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-31 16:26:59 +02:00
Robert Schmidt
d91ed6fa80 Update USRP IP address in CI XML file 2022-03-31 15:10:42 +02:00
Robert Schmidt
120194e5e6 Fix caracal USRP address 2022-03-31 14:16:28 +02:00
Raphael Defosseux
2c64a0d757 fix(ci): fix little typo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-31 10:24:39 +02:00
Raphael Defosseux
c832d42eb4 doc(l2sim): adding a light tutorial for L2 sim + proxy using containers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-31 10:23:43 +02:00
Raphael Defosseux
e0befd2a8f fix(ci): 2 little typos
- The GitLab pipeline reporting for the 5G RF sim container was the same as 4G RF
  - Calling a sudo command without providing password

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-31 10:15:47 +02:00
hardy
100832b111 fix nrmodule2 network interface 2022-03-31 09:26:15 +02:00
Robert Schmidt
3fd8b17e1a Merge remote-tracking branch 'origin/ci-fixes-mar-2022' into integration_2022_wk13 2022-03-30 18:02:03 +02:00
Mario Hudon
1985393d51 - Fixed NR UE Scope build
- Added a double data buffer in the NR UE Scope to reduce the risk of race condition/data corruption between the Scope thread and the Rx thread
2022-03-30 11:38:53 -04:00
Robert Schmidt
665db19ed6 Change first SA test to DDSUU 2.5ms TDD period + ping to 10ms 2022-03-30 17:25:37 +02:00
hardy
aca240e9e3 fix ttyUSBx for quectel nrmodule2 2022-03-30 16:56:49 +02:00
Raphael Defosseux
426ded6e31 fix(build): fix warnings on circular dependency
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 16:42:12 +02:00
Raphael Defosseux
a02adbdcb4 feat(ci): mechanism to create multiple unique tags per week
-- In case we do multiple merges per week
  -- Also use the proper week numbering (ISO week number, with Monday as first day of week (01..53))

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 14:09:45 +02:00
Raphael Defosseux
dab954d71d feat(ci): cppcheck stage updates
* using focal instead of xenial (new cppcheck version)
  * detecting the difference in stats with latest develop stats

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 14:09:45 +02:00
Raphael Defosseux
52ead754c0 fix(ci): some little cosmetics fixes
* The quectel CM program output is now redirected to a file. Easier to follow when running
* I added `-i 1` option to all server iperf commands to have details
* module-based iperf logs are also copied to the RAN enb log folder so they are artifacted
* iperf3 console output was badly formatted
* `docker kill --signal INT` does not stop the container

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 14:09:45 +02:00
Raphael Defosseux
4a51762a83 feat(ci): adding automation for 5G NR SA L2 simulator with Proxy
- Adding new templates for nFAPI in gNB and NR-UE images
  - Better entrypoint for NR-UE (alignment on others)
  - New Test method: StatsFromGenObject
  - At deployment, image name, size and date are printed
  - Initial scenario with 1 NR-UE and just ping operations
  - Trigger new child sub-pipeline for L2-sim-5G tests

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 13:57:22 +02:00
Robert Schmidt
73277172f6 Update build_oai -h 2022-03-30 10:52:04 +02:00
Manish
8df0cc3aa9 Compile time flag added for native architecture compilation
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-30 10:52:04 +02:00
Raymond Knopp
10b4f4331e CQI report in slots 7/27 2022-03-29 23:10:08 +02:00
Raymond Knopp
b7389ab3d1 Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-03-29 22:57:56 +02:00
Melissa Elkadi
8e90e7415a Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-29 13:41:35 -07:00
Robert Schmidt
69fcab9243 Merge remote-tracking branch 'origin/nr_mimo_precoding_codebook_I' into integration_2022_wk13 2022-03-29 22:09:34 +02:00
Robert Schmidt
ee9ec777e6 Update libprotobuf-c docker file paths (now installed from package) 2022-03-29 04:22:54 +00:00
Robert Schmidt
8c8f3f8678 Compiling protobuf-c requires protobuf, so add it 2022-03-29 04:22:54 +00:00
Robert Schmidt
df93c43ec4 Add support for Ubuntu 22 2022-03-29 04:22:54 +00:00
Robert Schmidt
255f4f1f40 Fix additional packages for Fedora 35 2022-03-29 04:22:54 +00:00
Robert Schmidt
1fc659331f Stop build_oai after dep installation if no compilation requested 2022-03-29 04:22:54 +00:00
Robert Schmidt
51e3b6c790 Add support for Fedora 35 and add missing gcc/g++ packages (both required) 2022-03-29 04:22:54 +00:00
Robert Schmidt
38e0bacf26 Install protobuf from repository if available 2022-03-29 04:22:54 +00:00
Robert Schmidt
951682821c Remove old Ubuntu releases 2022-03-29 04:22:54 +00:00
Robert Schmidt
a2e7a770c0 Remove unused ssh repository 2022-03-29 04:22:54 +00:00
Robert Schmidt
686bacabbe Do not trap ^C in build_oai, and remove unused bash function 2022-03-29 04:22:54 +00:00
Manish
08c06b96ad install_external_packages.ubuntu20 file removed
native architecture flag removed as compilation happen on diffrent server in CI

Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-29 04:22:54 +00:00
Manish
8f64e6414c Build document updated for compilation on Ubuntu 20 using buil-oai
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-29 04:22:54 +00:00
Manish
a87741ceda Ubuntu 20.04 compilation support added in buil-oai
Compilation flag updated for native architecture

Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-29 04:22:54 +00:00
Raymond Knopp
65bea43111 Merge branch 'tdd25period_for_MR' of https://gitlab.eurecom.fr/oai/openairinterface5g into tdd25period_for_MR
Conflicts:
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
2022-03-28 21:55:24 +02:00
Raymond Knopp
9bd16f3c66 - fix for CSI-RS allocation (slot slot 0 in symbol 13, SIB1 10 symbols instead of 12 by default)
- extra logging for CRNTI procedure (to catch bug in nr_free_list
2022-03-28 21:45:50 +02:00
francescomani
6e48ec9266 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-28 18:32:59 +02:00
Robert Schmidt
ab654ac15c Merge remote-tracking branch 'origin/force-256qam-off' into integration_2022_wk13 2022-03-28 17:48:22 +02:00
Robert Schmidt
404bcf7880 Merge remote-tracking branch 'origin/Bug_Fix_RIV_162_PRBs' into integration_2022_wk13 2022-03-28 14:11:28 +02:00
Robert Schmidt
9070e4a1a1 Merge remote-tracking branch 'origin/develop-2oaiue-doc-update' into integration_2022_wk13 2022-03-28 14:09:19 +02:00
Laurent THOMAS
c0568a997a fix bugs, delete dead code 2022-03-28 12:05:18 +02:00
rmagueta
a020c51772 Fix warning after merge 2022-03-28 10:31:50 +01:00
rmagueta
495b3f39c5 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-03-28 10:12:29 +01:00
Robert Schmidt
2c86b745fd Merge branch 'integration_2022_wk12_a' into 'develop'
integration_2022_wk12_a

See merge request oai/openairinterface5g!1503
2022-03-28 08:09:38 +00:00
Laurent THOMAS
a79ccb9992 fix nr_deinterleaving_ldpc() again, we are now too short in the buffer 2022-03-25 21:45:37 +01:00
Robert Schmidt
2a88c61533 Merge remote-tracking branch 'origin/fix_nr_odd_prb' into integration_2022_wk12_a 2022-03-25 19:35:48 +01:00
Laurent THOMAS
9be58373bc fix regression on harq in UE 2022-03-25 18:20:05 +01:00
francescomani
65d0318504 using tbslbrm at mac also for ulsch as in scf spec 2022-03-25 17:52:44 +01:00
Laurent THOMAS
73053aa712 fix bug introduced in this branch 2022-03-25 16:32:07 +01:00
Mario Hudon
9ee29c5bfc Merge remote-tracking branch 'oai-eurecom/develop' into NR_UE_thread_improvement_IDCC 2022-03-25 09:53:00 -04:00
Robert Schmidt
bf58c6b475 Merge remote-tracking branch 'origin/fix_rballoc_mask_type' into integration_2022_wk12_a 2022-03-25 08:29:52 +01:00
francescomani
53ae20354d removing wrong sib1_tda in config files 2022-03-25 08:21:25 +01:00
Laurent THOMAS
b153d2d1ee fix bug in nr_rate_matching 2022-03-24 21:10:23 +01:00
luis_pereira87
ed4cc7c257 Fix segmentation fault when using CU-DU split 2022-03-24 15:37:26 +00:00
luis_pereira87
9a884af00a Fix rballoc_mask variable type from uint8_t to uint16_t 2022-03-24 14:19:02 +00:00
Robert Schmidt
3d564fb94a Merge remote-tracking branch 'origin/develop-2oaiue-doc-update' into integration_2022_wk12_a 2022-03-24 14:47:27 +01:00
Robert Schmidt
288c29da84 Apply review suggestions 2022-03-24 14:39:16 +01:00
Laurent THOMAS
a7e7d05da3 fix difficult to read code 2022-03-24 14:38:17 +01:00
Laurent THOMAS
42c1679545 remove one global 2022-03-24 14:05:31 +01:00
Laurent THOMAS
ed1c87b598 commit before rebase 2022-03-24 14:05:30 +01:00
Manish
128bd86f67 OAI UE IP Address Aligned in Readme with New IP Series for OAI UEs
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-24 11:33:19 +00:00
Sakthivel Velumani
f305b486dd Merge branch 'develop' into ldpc-decoder-memory 2022-03-24 17:02:46 +05:30
francescomani
8fbe727b32 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-24 12:31:38 +01:00
Manish
f6fc820d52 Merge branch 'develop-2oaiue-doc-update' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-2oaiue-doc-update 2022-03-24 11:13:59 +00:00
Manish
7bdf4f19a7 OAI Database Updated for IMSI and OAI UE Added in Docker Compose.
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-24 11:09:35 +00:00
Manish
154c5d587c Updating the 5G RF simulator tutorial for registration of 2 OAI UE with 5GC
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-24 10:59:19 +00:00
Robert Schmidt
447aeeabea Merge remote-tracking branch 'origin/ci_fix_Ttracer_NSA' into integration_2022_wk12_a 2022-03-24 11:45:03 +01:00
Robert Schmidt
7684803c64 Merge remote-tracking branch 'origin/nr-lc-sched' into integration_2022_wk12_a 2022-03-24 11:34:26 +01:00
Manish
1a60377c56 Updating the 5G RF simulator tutorial for registration of 2 OAI UE with 5GC
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-24 08:05:53 +00:00
luis_pereira87
408c9ec7c2 Fix RIV value for 162 PRBs 2022-03-23 22:17:03 +00:00
Mario Hudon
4a00c99ab0 Fixed rebaseline to develop 2022-03-23 17:11:02 -04:00
Melissa Elkadi
3e6f957a63 Several nfapi bug fixes for RX ind and SR ind
The SR ind was not properly being packed and unpacked.
The RX inidcation was not properly being allocated
prior to unpacking.
The freq_shift field was declared as a uint16_t but
push/pulled as a uint8_t.
Added MSG_TRUNC in the nfapi VNF recvfrom.
2022-03-23 10:03:08 -07:00
francescomani
548315ff64 fix memory leaks after merge 2022-03-23 16:22:51 +01:00
francescomani
3387a94ae3 fix for fr2 sl_ahead 2022-03-23 15:47:07 +01:00
francescomani
af0f4a08ea Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-23 11:02:34 +01:00
Melissa Elkadi
f5e143ec78 Removing multiple conf files when running multiple NRUEs 2022-03-22 14:49:23 -07:00
Melissa Elkadi
0df18854fc Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-22 11:52:34 -07:00
Robert Schmidt
de824b7b19 Merge remote-tracking branch 'origin/remove-basic-sim' into integration_2022_wk12_a 2022-03-22 17:42:15 +01:00
Robert Schmidt
3be77c09b5 Change asterix's N310 USRP
Replace the N310. Thus, the management IP address works, and the second
SFP connector can be used.
2022-03-22 17:33:48 +01:00
Mario Hudon
5ec4a94094 Merge remote-tracking branch 'oai-eurecom/develop' into NR_UE_thread_improvement_IDCC 2022-03-22 11:35:22 -04:00
francescomani
12f9dd95eb Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-22 09:44:40 +01:00
Raymond Knopp
d840ca0dee Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-22 07:03:40 +01:00
luis_pereira87
eb8e4b4999 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2022-03-22 05:47:56 +00:00
Robert Schmidt
35a668740c Merge branch 'integration_2022_wk11' into 'develop'
integration_2022_wk11

See merge request oai/openairinterface5g!1495
2022-03-21 23:39:50 +00:00
Robert Schmidt
937f593028 Merge remote-tracking branch 'origin/develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-21 13:36:38 +01:00
rmagueta
f0f8acb06a Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-03-21 10:10:21 +00:00
francescomani
3dc7da3b22 fix for bad merge issues 2022-03-20 15:08:56 +01:00
Robert Schmidt
70265d9c64 Refactor fill_default_secondaryCellGroup(): less parameters 2022-03-18 18:54:57 +01:00
Raymond Knopp
05c07c401f removal of some logs. Temporary suppression of QAM256 for 5G Records testing 2022-03-18 18:51:22 +01:00
Robert Schmidt
e89dfc0243 Refactor RRC: do not duplicate configuration in rrc_gNB_carrier_t 2022-03-18 18:49:09 +01:00
Robert Schmidt
f646b9a57c Add parameter to disable 256 QAM activation 2022-03-18 18:49:09 +01:00
Raphael Defosseux
663ad7df5c fix(ci): typo on bash variable setting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-18 17:57:53 +01:00
Robert Schmidt
ca303c9fd5 Merge remote-tracking branch 'origin/continuous-tx' into integration_2022_wk11 2022-03-18 16:51:50 +01:00
Robert Schmidt
d3b80b4785 Merge remote-tracking branch 'origin/nr-ue-fixes' into integration_2022_wk11 2022-03-18 16:48:43 +01:00
Robert Schmidt
a530166b45 Merge remote-tracking branch 'origin/fix-legacy-errors-lte' into integration_2022_wk11 2022-03-18 16:43:25 +01:00
Raphael Defosseux
94f8e5b213 fix(ci): tcp_bridge_oai.Rel15.txt is no longer built. That's one less report file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-18 11:20:17 +01:00
francescomani
256a00af77 default SIB TDA = 1 (and chech to avoid csi-rs overlapping) 2022-03-18 11:10:21 +01:00
Raphael Defosseux
4d4f946a10 fix(ci): properly disabling basic-sim build and test and also the obsolete flexran-rtc
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-18 10:39:58 +01:00
francescomani
85e879b1ea remove call to csirs configuration in SA (not working yet, asn1 encoding fails) 2022-03-18 10:30:12 +01:00
Melissa Elkadi
a5e4cbb971 Merge branch 'episys-throughput-updates-and-downlink-siso-cm' of https://gitlab.eurecom.fr/oai/openairinterface5g into episys-throughput-updates-and-downlink-siso-cm 2022-03-17 12:48:14 -07:00
Melissa Elkadi
91d42fd5ec Fixing memory leaks and hoping to fix num_dci_option bug 2022-03-17 12:44:30 -07:00
francescomani
eefc779817 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-17 18:33:45 +01:00
Robert Schmidt
b1eaa6606b Merge remote-tracking branch 'origin/NR_MIMO_memory' into integration_2022_wk11 2022-03-17 17:45:00 +01:00
Robert Schmidt
57cfd7bc32 Remove basic simulator
The basic simulator can be replaced with the RF simulator. Use option
--rfsim.
2022-03-17 08:25:16 +01:00
francescomani
8ef72fb939 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-17 07:51:35 +01:00
Robert Schmidt
7cbca077e0 Merge remote-tracking branch 'origin/NR_UL_VRB_MAP_improv' into integration_2022_wk11 2022-03-16 23:26:59 +01:00
Robert Schmidt
5be1825361 Merge branch 'integration_2022_wk10' into 'develop'
Integration 2022 wk10

See merge request oai/openairinterface5g!1485
2022-03-16 22:23:07 +00:00
Robert Schmidt
5a8b235ab4 Fix: make simulators compile 2022-03-16 10:00:43 +01:00
Melissa Elkadi
22f4b083c2 Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-15 08:57:50 -07:00
Melissa Elkadi
2e0d8fd753 Removing TimeDomainAllocationList from conf file
Also updating pdcch_config for SIB1
2022-03-15 08:56:21 -07:00
Robert Schmidt
b0dd17f938 Merge remote-tracking branch 'origin/NR_SR_bugfix' into integration_2022_wk10 2022-03-14 19:11:17 +01:00
luis_pereira87
9b737d0985 Move ternary operators to outside of functions input parameters 2022-03-14 11:48:09 +00:00
francescomani
1ab1fde7b8 fix for fdd and other warnings 2022-03-11 14:00:30 +01:00
Robert Schmidt
0c5242ea85 Apply review comment 2022-03-11 11:36:07 +00:00
Robert Schmidt
595dd27ab0 Configure only one address for asterix's N310
Deletes the second_addr parameter in all files that also use the
mgmt_addr=192.168.18.240 (asterix's N310).
2022-03-11 09:43:37 +01:00
Sakthivel Velumani
91426a08bd Merge branch 'develop' into ldpc-decoder-memory 2022-03-11 12:39:26 +05:30
Raymond Knopp
d24068a33b some bugfixes for CSI reporting with PUCCH2. Configuration of cqi_Table 2 for CSI reporting when 256-QAM is enabled. 2022-03-11 01:23:39 +01:00
francescomani
48cd851cab SA SR bugfix 2022-03-10 18:31:46 +01:00
Sakthivel Velumani
0c28328986 Fixed merge errors 2022-03-10 15:19:42 +05:30
francescomani
ddbc306246 Merge branch 'NR_UL_VRB_MAP_improv' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_VRB_MAP_improv 2022-03-09 14:57:33 +01:00
francescomani
e7508533b6 review fix 2022-03-09 14:57:26 +01:00
Robert Schmidt
73bd9034aa Use strtok_r() to split strings in gnb_config.c 2022-03-09 14:39:38 +01:00
Robert Schmidt
b63c7b0e54 Merge remote-tracking branch 'origin/usrp_x400-rebase' into integration_2022_wk10 2022-03-09 10:24:35 +01:00
Robert Schmidt
fd7c9b8819 Merge remote-tracking branch 'origin/doc-fixes' into integration_2022_wk10 2022-03-09 10:23:48 +01:00
Melissa Elkadi
d1cd5b771b Clean up to nFAPI and error checking UL_TTI_REQ n_pdus
We seprarated out the large if block in the push/pull
of the UL_TTI_REQ fields to make it easier to read
and debug. Furthermore, we add in AsserFatals before
indexing in UL_TTI_REQ PDU list to ensure we are not
indexing past the end of the array.
2022-03-08 07:47:44 -08:00
francescomani
afb4cab5e1 fix dl retransmissions 2022-03-08 14:30:16 +01:00
Raphael Defosseux
05a63b60e5 fix(doc): README does not have anymore the license info
* Also added obsolence messages for the old L2 simulator since 2022.w01 EpiSci merge
  * Added link to their new tutorial

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-08 10:58:31 +01:00
francescomani
deee2a9ca1 Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-03-08 09:16:18 +01:00
Raymond Knopp
f2e21b7381 removed AssertFatal in nr_sch_dmrs.c which prevented using type B configuration (e.g. for 10 MHz test in CI) 2022-03-08 07:47:46 +01:00
Robert Schmidt
d8209228e7 Hide warning of unused variable
From the comment above the line with the warning:
> This asn1cCalloc leaks memory but also masks a bug.
> If we delete this asn1cCalloc statement, eNB will crash in NSA mode.
> Please don't delete the following line unless the bug has been found
2022-03-07 23:24:50 +01:00
Robert Schmidt
9714877ee0 Merge remote-tracking branch 'origin/remove-NR_UE_PBCH' into integration_2022_wk10 2022-03-07 23:12:49 +01:00
Robert Schmidt
e285b003dc Merge remote-tracking branch 'origin/isolate-lfds' into integration_2022_wk10 2022-03-07 23:11:55 +01:00
Robert Schmidt
ca5f4755ee Merge remote-tracking branch 'origin/F1_sync_configuration' into integration_2022_wk10 2022-03-07 23:08:40 +01:00
Melissa Elkadi
b66d187477 Including more UE conf files for multi-UE tests 2022-03-07 12:00:10 -08:00
Melissa Elkadi
a6049bcddf Relying on mac->ra.ra_state instead of RRC state. 2022-03-07 11:59:23 -08:00
Robert Schmidt
d03a8b387f Set kernel parameters when loading N300 2022-03-07 18:01:03 +01:00
Robert Schmidt
4d9ee5d11c Add X400 to devtype_names, make char* array 2022-03-07 18:01:03 +01:00
Florian Kaltenberger
473328a057 Add support for USRP X400 2022-03-07 18:00:57 +01:00
Thomas Schlichter
e3901a499b call process_CellGroup() after add_new_nr_ue() in gNB_scheduler_ulsch.c
In case of do-ra mode (NSA) the OAI UE needs this, so the gNB correctly establishes the DRB.
2022-03-07 16:22:50 +01:00
Thomas Schlichter
e7500354c1 harmonize RLC and PDCP configurations in nr_DRB_preconfiguration() and fill_default_secondaryCellGroup()
nr_DRB_preconfiguration() is used in phy-test mode by both, OAI UE and gNB, and in all other modes by OAI UE.
Because of inconsistencies, data transfer with OAI UE was only reliably working in phy-test mode.
Ultimately, OAI UE should use nr_DRB_preconfiguration() only in phy-test mode and do proper DRB configuration instead in all other modes!
2022-03-07 16:02:01 +01:00
francescomani
ea984f8c4c using a global definition for the number of nscid for dmrs 2022-03-07 15:51:33 +01:00
Melissa Elkadi
79cc21f6f5 Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-07 06:33:51 -08:00
Thomas Schlichter
05daeb66b4 Merge remote-tracking branch 'origin/develop' into fix_nr_odd_prb 2022-03-07 10:09:51 +01:00
francescomani
1dac24844b Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-03-07 09:47:19 +01:00
Thomas Schlichter
9378a076ee Merge remote-tracking branch 'origin/develop' into continuous-tx 2022-03-07 09:44:49 +01:00
francescomani
8dfc5d59b4 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-07 09:26:08 +01:00
francescomani
4e76491f79 Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-03-07 09:09:17 +01:00
Raymond Knopp
2bd90d5b49 Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair2/RRC/NR/MESSAGES/asn1_msg.h
2022-03-07 07:38:03 +01:00
luis_pereira87
b2316f045e Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-07 01:19:20 +00:00
Raymond Knopp
fcd88de2ab SR/CSI multiplexing fix. default sl_head=6 instead of 4 to check if RF simulator behaves better 2022-03-07 00:08:12 +01:00
Robert Schmidt
a981291ba8 Merge branch 'integration_2022_wk09_b' into 'develop'
Integration 2022 wk09 b

See merge request oai/openairinterface5g!1483
2022-03-06 18:14:42 +00:00
Laurent Thomas
939b249ba8 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into remove-NR_UE_PBCH 2022-03-06 15:53:09 +01:00
Laurent Thomas
aa910f52b6 debug after develop merge 2022-03-06 15:52:42 +01:00
Raymond Knopp
3402ea00cc build for NR UE 2022-03-06 09:40:36 +01:00
Raymond Knopp
091386174e bugfix for new sf_ahead parameter 2022-03-05 23:20:35 +01:00
Raymond Knopp
4ca985858f to trigger CI 2022-03-05 22:24:34 +01:00
Raymond Knopp
f99754a5ea Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-03-05 21:12:32 +01:00
Raymond Knopp
79a5249a72 for testing 2022-03-05 16:18:06 +01:00
Robert Schmidt
07e6ea7edd Merge remote-tracking branch 'origin/fix-nrofHARQ' into integration_2022_wk09_b 2022-03-05 13:35:06 +01:00
Robert Schmidt
cadbf67f67 Merge remote-tracking branch 'origin/tx-thread-stats-fix' into integration_2022_wk09_b 2022-03-05 13:34:15 +01:00
Robert Schmidt
0220f4a6e9 Merge remote-tracking branch 'origin/NR_RRC_256QAM_DL' into integration_2022_wk09_b 2022-03-05 13:33:18 +01:00
francescomani
26d8766d27 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-04 18:08:09 +01:00
Robert Schmidt
9ea4b3cdb0 Merge remote-tracking branch 'origin/ci_fix_log_rotation' into integration_2022_wk09_b 2022-03-04 17:55:15 +01:00
francescomani
4fcbdc24a3 Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-03-04 17:50:43 +01:00
francescomani
d7b117ba25 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-04 17:24:53 +01:00
luis_pereira87
9f88fe18a3 Creation of get_pdsch_TimeDomainAllocationList function to avoid replicated code 2022-03-04 16:10:45 +00:00
luis_pereira87
078dff03b1 Revert do_SRS to develop version in config files (re-enable SRS) 2022-03-04 15:43:52 +00:00
luis_pereira87
3f0eee5019 Replace module_id by sib1 as input parameter in some functions where only sib1 is required 2022-03-04 15:38:48 +00:00
luis_pereira87
11334aa45f Delete duplicated prototype function (update to develop implementation) 2022-03-04 14:34:26 +00:00
luis_pereira87
0e85b51f76 Creation of get_dl_bwp_genericParameters and get_ul_bwp_genericParameters functions to avoid replicated code 2022-03-04 14:15:58 +00:00
hardy
ce9229a1d2 change log rotation concept for module UE 2022-03-04 14:58:57 +01:00
luis_pereira87
0d92901787 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures 2022-03-04 13:09:44 +00:00
Robert Schmidt
a45bbd4022 Merge branch 'integration_2022_wk09' into 'develop'
Integration 2022 wk09

See merge request oai/openairinterface5g!1477
2022-03-04 12:57:53 +00:00
matzakos
41635fafd7 Remove redundant BWP conf. parameters in CU/DU configuration files 2022-03-04 13:09:06 +01:00
Robert Schmidt
bc2246a566 Remove usage of MSC library after last merge 2022-03-04 09:21:02 +01:00
Melissa Elkadi
7e0757fb48 Addressing MR review comments
- OPENAIR_DIR replaced with AWGN_RESULTS_DIR
- Copying UCI_2_3_4 PDU with rx'd PDU from proxy
- Reverting hacks/whitespace changes
2022-03-03 15:46:54 -08:00
francescomani
f9cebbdebb bugfix for dl_dmrs_config in SA 2022-03-03 18:34:09 +01:00
Robert Schmidt
807e5dd71c Merge remote-tracking branch 'origin/NR_SA_pdu_session_modify_release' into integration_2022_wk09 2022-03-03 18:05:27 +01:00
francescomani
38ad123714 fix for VRB map occupation for PRACH 2022-03-03 17:50:57 +01:00
Robert Schmidt
29fa474673 Correctly reconfigure nrofHARQ processes 2022-03-03 16:38:16 +01:00
francescomani
dcb414c38f bugfix for pusch 2022-03-03 13:55:02 +01:00
francescomani
f2314ff6a7 logs 2022-03-03 11:29:06 +01:00
francescomani
e0acdf6d67 missing condition on free nr_mimo_precoding_matrix 2022-03-03 08:59:13 +01:00
francescomani
c36c8ccae0 addressing additional review and some wrong allocation 2022-03-02 18:54:35 +01:00
francescomani
647adcd6ce more leaks fixed 2022-03-02 15:48:40 +01:00
hardy
3a55cff770 bugfix indexing for rt stats detection 2022-03-02 15:14:23 +01:00
francescomani
dcbc60df6b cleanup nr ue phy init 2022-03-02 11:57:01 +01:00
Laurent Thomas
4c62aef755 rebase on develop 2022-03-02 11:26:16 +01:00
francescomani
bc158e4ce4 fixing asan leaks after merge 2022-03-02 11:00:17 +01:00
Thomas Schlichter
d09366c503 NR_UE: correctly scale UL frequency offset (relevant for FDD) 2022-03-02 09:27:16 +01:00
Thomas Schlichter
bf4429196a NR_UE: fix UL retransmission 2022-03-02 09:27:03 +01:00
Robert Schmidt
48f26086d3 Merge remote-tracking branch 'origin/x2-release-req-no-sctp' into integration_2022_wk09 2022-03-01 18:52:52 +01:00
Robert Schmidt
7857522d95 Merge remote-tracking branch 'origin/ci_improve_reporting_xnb' into integration_2022_wk09 2022-03-01 18:52:42 +01:00
Robert Schmidt
d6dc279439 Merge remote-tracking branch 'origin/NR_UE_CSIRS_scheduling' into integration_2022_wk09 2022-03-01 18:52:33 +01:00
Robert Schmidt
6146f44b80 CI: log to see why RT stats checking fails 2022-03-01 18:50:53 +01:00
Robert Schmidt
7683014c80 Fix nr_dlsim 2022-03-01 18:29:46 +01:00
Melissa Elkadi
241f00d170 Adding min_rxtxtime = 6; to NSA gNB conf file 2022-03-01 08:29:27 -08:00
Melissa Elkadi
bf153a2306 Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-01 07:23:54 -08:00
Melissa Elkadi
7681feee07 Removing "included fixes" from root dir README 2022-03-01 07:23:14 -08:00
francescomani
eec513ab4f Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-01 16:05:30 +01:00
francescomani
43ea92bf8f Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-03-01 15:08:30 +01:00
francescomani
62f23df256 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-01 12:15:57 +01:00
francescomani
e443f75d47 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-01 11:20:14 +01:00
Robert Schmidt
98a684d157 Tpool: no measurements (no trials) if not measured 2022-03-01 08:57:32 +01:00
Robert Schmidt
261c80d659 Tpool: don't override positive performanceFlag 2022-03-01 08:49:38 +01:00
Robert Schmidt
17a956067a Fix HTML 2022-03-01 08:33:28 +01:00
Robert Schmidt
37e09d1ca8 Merge remote-tracking branch 'origin/NR_SA_10MHz' into integration_2022_wk09 2022-02-28 23:43:10 +01:00
Robert Schmidt
bf70a3bfb4 Merge branch 'integration_2022_wk08_b' into 'develop'
integration_2022_wk08_b

See merge request oai/openairinterface5g!1469
2022-02-28 20:39:22 +00:00
Laurent Thomas
c8abd3c0bf remove lfds v6, lfds v7 for flexran only 2022-02-28 20:47:27 +01:00
Robert Schmidt
f2ffe3f9b0 Fix CI code 2022-02-28 16:58:11 +01:00
hardy
1fc6d12aef Add retx checkers to make CI test fail on retx thresholds 2022-02-28 16:44:08 +01:00
hardy
8d871c3c3b add Detected UL Failure marker 2022-02-28 16:42:19 +01:00
Robert Schmidt
63dea20c64 Address review comments 2022-02-28 14:35:18 +01:00
Thomas Schlichter
cf5dafe74e use only one memcpy() in case "start_re + nb_re == ofdm_symbol_size" in nr_ulsch_demodulation.c and nr_dlsch_demodulation.c 2022-02-28 14:14:01 +01:00
Robert Schmidt
d90f9d8d6f CI: show correct Tx Processing in HTML, add processing count number 2022-02-28 14:13:01 +01:00
Thomas Schlichter
49196f3c91 NR_UE: fix nr_dlsch_extract_rbs_single() for start_rb > nb_rb_pdsch/2 2022-02-28 14:08:45 +01:00
matzakos
368819310d Synchronize config files of CU/DU with the ones of the CI 2022-02-28 10:14:29 +01:00
Robert Schmidt
2adf56b08a Lower logging in handle_nr_ulsch() 2022-02-26 16:10:03 +01:00
Robert Schmidt
6d165912f5 Merge remote-tracking branch 'origin/episys-ul-info-cleanup' into integration_2022_wk08_b 2022-02-26 16:10:03 +01:00
Robert Schmidt
b8511d511d fix 2022-02-26 00:05:36 +01:00
Robert Schmidt
2736d0fe16 Merge remote-tracking branch 'origin/repair-f1-5g' into integration_2022_wk08_b 2022-02-25 23:54:04 +01:00
Robert Schmidt
48df6e0ebb Merge remote-tracking branch 'origin/ci_run_sanitize_and_debug' into integration_2022_wk08_b 2022-02-25 23:53:40 +01:00
Robert Schmidt
17675e5989 Merge remote-tracking branch 'origin/fix-Nid_cell-different_from_0' into integration_2022_wk08_b 2022-02-25 23:37:38 +01:00
Robert Schmidt
af0048c86c Merge remote-tracking branch 'origin/bugfix-nr-rlc-2022-w08' into integration_2022_wk08_b 2022-02-25 23:37:29 +01:00
francescomani
588e013d2d fix physim compilation 2022-02-25 18:23:39 +01:00
Robert Schmidt
823aaa70dd Fix warning in lte UE scope and ocp-enb 2022-02-25 18:06:04 +01:00
Robert Schmidt
26d0d65747 get execution time_stats_t from Tpool job 2022-02-25 17:55:27 +01:00
Robert Schmidt
211b6feadf Use (portable) rdtsc_oai() in tpool 2022-02-25 17:55:27 +01:00
Robert Schmidt
c6ac88ffa6 Remove deprecated ocp-gnb 2022-02-25 17:55:27 +01:00
Robert Schmidt
cf815ffbce Fix compilation error in ocp-enb 2022-02-25 17:55:27 +01:00
Robert Schmidt
7d70d45d13 Remove dead code 2022-02-25 17:27:02 +01:00
Robert Schmidt
8419166fc4 Move time_meas.{c,h} to common/utils/ 2022-02-25 17:27:02 +01:00
Robert Schmidt
9ead3d7ad2 Clean up CMakeLists.txt (no functional changes) 2022-02-25 17:27:02 +01:00
Robert Schmidt
76d609f7fa Delete unused code 2022-02-25 17:27:02 +01:00
Robert Schmidt
d20ff45fc6 Remove logging module dependency from Tpool 2022-02-25 17:22:02 +01:00
Robert Schmidt
b742717fb8 Remove timing functions from logging module 2022-02-25 17:22:01 +01:00
Robert Schmidt
a0ac75a45b Delete unused files 2022-02-25 17:21:17 +01:00
Robert Schmidt
8a43a0306f fix nr_ulsim 2022-02-25 17:21:17 +01:00
Robert Schmidt
b9b2eb007a Fix for nr_dlsim 2022-02-25 17:21:17 +01:00
Sakthivel Velumani
57c480a8a3 Merged the two thread stats into a global one 2022-02-25 17:21:17 +01:00
Sakthivel Velumani
866311ac15 enabled second tx thread stats 2022-02-25 17:21:17 +01:00
francescomani
15565c9659 gold init improvement at ue for pusch 2022-02-25 14:49:31 +01:00
Thomas Schlichter
34ab52b6c3 fix scrambling initialization in nr_dlsim and nr_ulsim 2022-02-25 13:35:50 +01:00
Thomas Schlichter
05d61a0828 fix scrambling initialization in nr_dlsim and nr_ulsim 2022-02-25 12:57:17 +01:00
Thomas Schlichter
8cfb8b6a3b Fix correlation calculation in nr_dlsch_channel_compensation() 2022-02-25 12:40:50 +01:00
francescomani
b9ae5db874 gold init improvement at ue for dl channels 2022-02-25 12:09:42 +01:00
francescomani
e96bb10289 improving also pusch dmrs init 2022-02-25 10:05:14 +01:00
Thomas Schlichter
2655748b69 NR_UE: fix nr_pdcch_extract_rbs_single() for odd number od PDCCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter
d0beb9796c NR_UE: fix nr_pdcch_channel_estimation() for odd number of PDCCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter
c7ca405199 gNB: fix nr_generate_pdsch() for odd number of PDSCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter
4d90aad48f NR_UE: fix nr_dlsch_extract_rbs_single() for odd number of PDSCH RBs 2022-02-25 09:35:44 +01:00
Melissa Elkadi
7aed0b6e76 These changes should not be checked in or merged to develop 2022-02-24 16:01:51 -08:00
Melissa Elkadi
2b1cc455b0 Merge branch 'episys-ul-info-cleanup' into episys/master-sa 2022-02-24 15:48:43 -08:00
Melissa
da63c3f69a Merge branch 'episys/mel/debug-thorughput-new-sa-master' into 'episys/master-sa'
Properly sending DL ACK/nACKs

See merge request aburger/openairinterface5g!113
2022-02-24 23:07:26 +00:00
Melissa Elkadi
ce12e8270b Code clean up 2022-02-24 14:58:50 -08:00
Mario Hudon
2e4c90dd56 Merge remote-tracking branch 'develop' into NR_UE_thread_improvement_IDCC 2022-02-24 17:24:58 -05:00
Mario Hudon
c918e76f74 Complete NR_UE_PDCCH global variable/structure cleanup 2022-02-24 15:28:50 -05:00
Robert Schmidt
8b526c3cb7 Address review comment 2022-02-24 20:52:43 +01:00
francescomani
5846a9b832 checking if csi_MeasConfig was already allocated 2022-02-24 18:51:07 +01:00
Melissa Elkadi
13401a5f8c Comments from OAI:
This commit include dynamically setting the slots_per_frame
value based on configuration. It also includes some comments.
Lastly, simplified bug fix in MAC layer related to sched_frame
calculation.
2022-02-24 09:49:47 -08:00
Melissa Elkadi
5f7f56f056 Added a comment to justify pdu_len checks in gNB 2022-02-24 09:03:00 -08:00
francescomani
50d4d3e8aa addressing review comments 2022-02-24 17:05:59 +01:00
francescomani
ba92e37407 re-initialization of gold sequences at gnb if needed according to fapi messages 2022-02-24 16:25:12 +01:00
Panos Matzakos
1858418fb8 Update TESTING_5GSA_setup.md for CU/DU instructions 2022-02-24 14:57:11 +00:00
Robert Schmidt
f19ea82f8e Drop an sgNB release request if no SCTP endpoint available 2022-02-24 12:54:04 +01:00
Melissa Elkadi
0165ffd160 Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master 2022-02-23 15:55:06 -08:00
Melissa
817fc792e8 Merge branch 'episys/david/updating_channel_info_with_msg_id' into 'episys/master-sa'
Using message_id to identify channel info.

See merge request aburger/openairinterface5g!114
2022-02-23 22:59:45 +00:00
Deokseong "David" Kim
bfebc0cb18 Using message_id to identify channel info. 2022-02-23 22:59:45 +00:00
Robert Schmidt
61e608adb5 Support reconfiguration of number of HARQ processes
In F1, the time until the serving cell config comes from CU can be
longer than when we want to schedule a particular UE. Then, if we don't
configure the default number of HARQ processes, we can have a segfault.

In this commit, we initially configure 8 HARQ processes. When we get the
right number from RRC, we reconfigure.
2022-02-23 21:54:03 +01:00
Robert Schmidt
048b539050 Correctly initialize PDCP in F1 mode 2022-02-23 21:21:54 +01:00
Laurent THOMAS
f4c39e9dd3 Merge branch 'fix-legacy-errors-lte' of https://gitlab.eurecom.fr/oai/openairinterface5g into fix-legacy-errors-lte 2022-02-23 20:59:04 +01:00
Laurent THOMAS
db1cc4cf5f better variable name 2022-02-23 20:37:30 +01:00
Laurent THOMAS
a4216b44ef ue sync, assert in wrong PUCCH decoded values 2022-02-23 18:43:47 +01:00
Laurent THOMAS
22d2e9a38f fix warnings and race cond in polar codec 2022-02-23 18:02:55 +01:00
Melissa Elkadi
4398630da7 Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-23 08:55:10 -08:00
Laurent THOMAS
11441023db fix polar race condition 2022-02-23 17:19:02 +01:00
Robert Schmidt
ae803b5370 Prevent heap buffer overflow in nr_dlsch_channel_compensation()
The TX correlation calculation incremented the pointer over the outer
TX antenna inside the inner TX antenna loop.  Incrementing the pointer
in the outer loop instead prevents overflowing.
2022-02-23 16:58:25 +01:00
francescomani
d4ce30c54d additional review fixes 2022-02-23 16:52:13 +01:00
rmagueta
41976e7653 Fix build after merge 2022-02-23 16:04:00 +01:00
francescomani
74a01ca46a Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-02-23 16:03:54 +01:00
francescomani
17dc227c3b Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-02-23 15:20:22 +01:00
francescomani
5c56bb21ce Merge remote-tracking branch 'origin/develop' into NR_SA_10MHz 2022-02-23 15:08:52 +01:00
francescomani
ddfb131f68 Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2022-02-23 14:55:33 +01:00
francescomani
4c8c11d9db Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-23 13:53:11 +01:00
luis_pereira87
dc4a82934d Fixes after merge 2022-02-23 11:53:57 +00:00
luis_pereira87
47fc4750e1 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-02-23 11:34:37 +00:00
Robert Schmidt
34edc9c04c Increase CI physim time limit 2022-02-23 12:33:23 +01:00
Robert Schmidt
f9079f1d2b Do not do RLC Ind if no data for LC 2022-02-23 10:15:53 +01:00
Robert Schmidt
06236ff796 Consider fixed MAC overhead while no RLC PDU number 2022-02-23 10:15:53 +01:00
Robert Schmidt
79591741e1 Fixup: do not abort scheduling when UE has no CCE 2022-02-23 10:15:53 +01:00
Guido Casati
f8d6677d4d Adapted phytest scheduler to multiple LCs scheduling logic 2022-02-23 10:15:53 +01:00
Guido Casati
0df80e648a Replaced lcid_mask with arrays logic
- this will be later used to prioritise the LCs
2022-02-23 10:15:50 +01:00
Guido Casati
68471d0525 Extending DL scheduling to multiple LCIDs 2022-02-23 10:11:27 +01:00
francescomani
c61a0dd223 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-23 10:11:04 +01:00
Robert Schmidt
6fbfa3b066 Merge branch 'integration_2022_wk08' into 'develop'
Integration 2022 wk08

See merge request oai/openairinterface5g!1459
2022-02-23 07:19:58 +00:00
Robert Schmidt
70ba0cda0e Free rx_ind if dl_indication not called 2022-02-22 19:42:50 +01:00
Robert Schmidt
7b73a9e14e Build phy sims with optimizations
As of this commit, the CI would take too much time to process dl_sim.
This commit activate optimizations to be within the CI time limits.
2022-02-22 19:33:49 +01:00
Laurent THOMAS
efcac39c76 simplify polar codec interface 2022-02-22 18:30:44 +01:00
Melissa Elkadi
abbcbe6aa5 Adding fixes for MR from review
These include:
- Simplifying VNF code.
- Adding comments to several areas of the code.
- Using free_and_zero macros
- Fixing spelling errors
2022-02-22 09:16:59 -08:00
francescomani
774b750cb1 fix for mimo dlsim 2022-02-22 17:27:42 +01:00
Raymond Knopp
1976f433dc changes for Panther 2022-02-22 16:15:29 +01:00
francescomani
c3d0d6d82a addressing review comments 2022-02-22 14:39:04 +01:00
francescomani
edb32cad99 fix in config_csirs 2022-02-22 13:37:39 +01:00
hardy
4a060892d2 fix NSA T tracer file copy 2022-02-22 13:24:58 +01:00
francescomani
69baaa6998 Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-02-22 11:21:59 +01:00
Robert Schmidt
04e2d4f6f8 Fix polar encoder memory leaks 2022-02-21 22:38:22 +01:00
Robert Schmidt
ec00d84299 Prevent memory leak of rx_ind message 2022-02-21 22:35:22 +01:00
Robert Schmidt
9656d646db reallocarray -> realloc since CI env has no reallocarray 2022-02-21 20:08:42 +01:00
Robert Schmidt
27aa036f0e Merge remote-tracking branch 'origin/iqreplay_bugfix' into integration_2022_wk08 2022-02-21 20:07:21 +01:00
Robert Schmidt
a5fd5c3e6b Merge remote-tracking branch 'origin/multiple-ues-min-prbs-bug-fix' into integration_2022_wk08 2022-02-21 20:06:55 +01:00
Robert Schmidt
d5280c679f Merge remote-tracking branch 'origin/ci-improve-rfsim-test' into integration_2022_wk08 2022-02-21 20:05:03 +01:00
Robert Schmidt
719f82870d Don't redirect stack trace to file 2022-02-21 19:47:14 +01:00
Robert Schmidt
b112282e2b Suppress warning, print stacktrace to stdout 2022-02-21 19:42:45 +01:00
francescomani
4fbf9ea10e fix for 2 antenna ports 2022-02-21 18:35:08 +01:00
Raphael Defosseux
8981b53f83 fix(ci): changes after code review.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:39:38 +01:00
Raphael Defosseux
4c76eb6c00 fix(ci): display state of container even when successful
recover the full MAGMA-MME log

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Raphael Defosseux
519dea7780 fix(ci): correct services in scenario files
fix(doc): updated the Tutorial with only MAGMA-MME references and logs

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Raphael Defosseux
2728ce02c8 feat(ci): switching from OAI-MME to MAGMA-MME for RF sim testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Raphael Defosseux
0b7be7466e fix(ci): display state of container when failure, better tshark filtering, auto-undeploy if deploy went wrong
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
francescomani
77c8439ba3 remoing unused parameter 2022-02-21 15:24:17 +01:00
Melissa Elkadi
7fb509511d Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-21 06:19:54 -08:00
francescomani
30f6210932 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-21 15:16:39 +01:00
Laurent THOMAS
9aba6d722b fix bugs in polar encode, when len+crc_len>64 2022-02-21 13:37:32 +01:00
Thomas Schlichter
e8278de15c fix for 5G NR UL transform precoding
get_index_for_dmrs_lowpapr_seq() was accessing the array dmrs_ul_allocated_res[] out of bounds.
2022-02-21 13:37:32 +01:00
Robert Schmidt
0ad3faaf2a Disable ASAN on ulsim 2022-02-21 13:37:32 +01:00
Robert Schmidt
32824030f4 Fix cmake command target CMakeLists.txt 2022-02-21 13:37:32 +01:00
Robert Schmidt
f51590b546 Don't leak check in {nr_,}{d,u}lsim, fix buffer overflows in dlsim 2022-02-21 13:37:32 +01:00
Robert Schmidt
990385eea0 Move CMake macro definitions to separate file 2022-02-21 13:37:32 +01:00
Robert Schmidt
52fdca3141 Do not create CMakeLists.txt; new build_oai option -d 2022-02-21 13:37:30 +01:00
Robert Schmidt
cdea2899bc Remove memory leaks from ldpctest
except for:
- config module
2022-02-21 13:36:41 +01:00
Robert Schmidt
fe61216a66 Correctly free memory in nr_pbchsim
Except for:
- polar code
2022-02-21 13:36:41 +01:00
Robert Schmidt
3f4fa05c74 nr_pucchsim: correctly free SR PDU 2022-02-21 13:36:41 +01:00
Robert Schmidt
d601209036 Fix nr_ulschsim: correct size for N_RB_UL 2022-02-21 13:36:41 +01:00
Robert Schmidt
2251453cbd Fix nr_dlschsim: correct size for N_RB_DL
Fix warning, drop undefined function
2022-02-21 13:36:41 +01:00
Robert Schmidt
65c6456472 Resolve buffer overflows polartest 2022-02-21 13:36:41 +01:00
Laurent THOMAS
3e2c9af134 with polar structures delete and better cpu performance 2022-02-21 13:36:41 +01:00
Laurent THOMAS
be314a9770 remove usage of undefined var in polar and memory leaks 2022-02-21 13:36:41 +01:00
Robert Schmidt
51625f3c8f Resolve memory issues in nr_prachsim
Except for config module and dlopen()
2022-02-21 13:36:41 +01:00
Robert Schmidt
dcae857463 Fix memory problems in nr_pucchsim
except:
- from dlopen()
- from configuration module
- uninitialized value
2022-02-21 13:36:41 +01:00
Robert Schmidt
81537701b2 Fix: channel chF large enough for 5G 2022-02-21 13:36:39 +01:00
Robert Schmidt
b4dbf46dde Provide term_freq_channel() to free memory in abstraction.c 2022-02-21 13:35:36 +01:00
Robert Schmidt
32c7795aad Fixes for 0bdb1b9f402c5315a591b1fbc4310dbc62fc820d 2022-02-21 13:35:36 +01:00
Robert Schmidt
0827b2f5b8 Fix leaks & unitialized memory in nr_ulschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
399e6d78f7 new_nr_ue_ulsch(): no abstraction_flag, add term_nr_ue_transport() 2022-02-21 13:35:35 +01:00
Robert Schmidt
20a8704c98 unitialized jump dlschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
e66e9eef7d UL Ref Sig Seq: initialize only once, free and reset to NULL 2022-02-21 13:35:35 +01:00
Robert Schmidt
7638e65379 Free memory in nr_dlschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
338019601c new_nr_ue_dlsch(): remove abstraction_flag 2022-02-21 13:35:35 +01:00
Robert Schmidt
20e13db86b Implement logTerm() to close logging subsystem 2022-02-21 13:35:35 +01:00
Robert Schmidt
d2523bfa44 Remove unused SI and RA DLSCH from nr_dlschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
efd62d14a7 Implement term_nr_ue_signal(), remove abstraction_flag from init_nr_ue_signal()
term_nr_ue_signal() frees all memory, except for dfts lib load
2022-02-21 13:35:34 +01:00
Robert Schmidt
5794c07c94 Correctly implement phy_free_nr_gNB()
Frees all allocated memory, except for library loading related, and ul
reference signal sequences, which are allocated in static variables
2022-02-21 13:34:40 +01:00
Laurent THOMAS
06dd706df7 fix undefined vars in pbchsim.c 2022-02-21 13:34:40 +01:00
Robert Schmidt
331575ebab Fix memory leaks in nr_ulschsim 2022-02-21 13:34:40 +01:00
Robert Schmidt
136cc93aa9 Fix memory leaks in nr_dlschsim 2022-02-21 13:34:40 +01:00
Robert Schmidt
ac0af5a84e Fix shlib loaded: free memory, handle lib reload
- introduce loader_reset() that frees all memory
- resolve memory leak in loader_format_shlibpath()
- correctly handle library reload: check if a function has been
  retrieved already. Don't leak memory (strdup()), and handle multiple
  reloads of different functions from the same SO
2022-02-21 13:34:40 +01:00
Robert Schmidt
923edebd3c Enable Address Sanitizer on physical simulators
- install libasan in physim containers
- run physim containers with SYS_CAP_PTRACE capability
- remove static-libasan: not available in RHEL8:

  The physims are tested in a container environment on top of RHEL8. To
  my knowledge, no package provides the static ASan library there.
  Therefore, remove it here to be able to run these tests.
2022-02-21 13:34:39 +01:00
Sakthivel Velumani
f6e25c0e15 code cleanup ldpctest.c 2022-02-21 16:41:18 +05:30
luis_pereira87
fb6936fe27 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
#	openair2/RRC/NR/rrc_gNB.c
2022-02-21 11:00:27 +00:00
Sakthivel Velumani
f448f8021f removed init function 2022-02-21 15:28:38 +05:30
Sakthivel Velumani
9b4a7526ad Fix incorrect merge 2022-02-21 15:26:00 +05:30
francescomani
d12eb8efc4 Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-02-21 10:38:23 +01:00
Laurent Thomas
7ee3bacc34 Merge branch 'integration_2022_wk08' of https://gitlab.eurecom.fr/oai/openairinterface5g into integration_2022_wk08 2022-02-21 10:29:30 +01:00
Laurent Thomas
67b299e341 fix a warning in assertions.h, appear only with some gcc versions 2022-02-21 10:29:06 +01:00
francescomani
7bb7c4d290 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-21 09:24:07 +01:00
Sakthivel Velumani
1c49caddc8 Merge branch 'develop' into ldpc-decoder-memory 2022-02-21 13:53:06 +05:30
francescomani
3b7430a745 Merge remote-tracking branch 'origin/develop' into NR_SA_10MHz 2022-02-21 09:12:21 +01:00
Robert Schmidt
86c4882245 Merge remote-tracking branch 'origin/NR_2port_CSIRS' into integration_2022_wk08 2022-02-20 19:48:34 +01:00
Cedric Roux
78f0c8ff29 nr rlc: harmonize computation of sn_count
Functions generate_missing() and missing_size() had different
computations of sn_count. Not sure if it is a problem or not,
but let's do the same in both functions.

Hopefully the computation is correct.
2022-02-20 16:00:54 +01:00
Cedric Roux
7c652df820 nr rlc: bugfix - so_end was used instead of sn_end 2022-02-20 15:56:56 +01:00
Robert Schmidt
72a4ed80da Merge remote-tracking branch 'origin/msc-removal' into integration_2022_wk08 2022-02-19 19:43:11 +01:00
Robert Schmidt
21f862641c Merge remote-tracking branch 'origin/cleanup-20220125' into integration_2022_wk08 2022-02-19 19:34:01 +01:00
Robert Schmidt
454aae1d96 Merge branch 'integration_2022_wk07_c' into 'develop'
integration_2022_wk07_c

See merge request oai/openairinterface5g!1451

This merges the following MRs:
- MR !1436 fairRR LTE scheduler fixes: should make the connection more stable, less UL retransmissions
- MR !1386 phy sync improvements: the 5G NR UE should sync better
- MR !1361 FDD support (no traffic): adds FDD support for the scheduler, but heavy traffic has not been tested
- MR !1447 using uid for PUCCH RRC conf: use the RRC UID to decide on PUCCH resources, should in particular avoid the "PUCCH straddles DC carrier" assert
- fix for 5G F1 RFsim test fail
2022-02-19 16:28:53 +00:00
Raymond Knopp
6d9d1f0b94 changes for 2.5ms TDD period 2022-02-19 13:07:20 +01:00
Melissa Elkadi
ca336ea917 Fixing comments from MR review. 2022-02-18 10:27:34 -08:00
Melissa Elkadi
221e8402cc Fixing spacing in lines were already changing 2022-02-18 10:14:16 -08:00
Melissa Elkadi
b2e2a6bc2e Changing UL_INFO naming convention to be normal 2022-02-18 10:08:44 -08:00
Melissa Elkadi
0db8f80f73 Removing invalid log 2022-02-18 09:58:26 -08:00
Melissa Elkadi
b7c767147e Hacks with comments are added in this commit.
These allow the NRUE to reach roughtly 15-25 Mbps
with ~20%-34% packetloss without crashing.
2022-02-18 09:48:38 -08:00
Francois TABURET
cffb27b086 Update iqrecordplayer_usage.md 2022-02-18 17:46:08 +00:00
alblf
3d577aa0fc doc update 2022-02-18 18:40:56 +01:00
Melissa Elkadi
bf3d7959bd Comment for #define _GNU_SOURCE 2022-02-18 09:39:06 -08:00
francescomani
c4547c7afd fixing wrong interpretation of support for 256qam table 2022-02-18 18:38:51 +01:00
Melissa Elkadi
cc22ec9978 Calling scheduler before handling DCI to ensure nbits are set
Previously, we thought the memset in the nr_ue_dl_indication()
was causing issues / exposing a race. This is not the case. The
memset is not problematic, the issue is that in the emulate_l1
mode we were not always configuring the DCI nbits before handling
the DCI when we are pushing high (15 Mbps) throughput traffic.
2022-02-18 09:29:00 -08:00
alblf
a1aae82925 Fix duplicated memory allocation when replaying using mmap,
add use_mmap parameter for the record player device
fix assertion when replaying without using mmap
2022-02-18 18:22:14 +01:00
Laurent THOMAS
dca9be3c33 code review comments (incl. actual bugs) 2022-02-18 16:10:10 +01:00
francescomani
d0228cf18a Merge branch 'NR_2port_CSIRS' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_2port_CSIRS 2022-02-18 13:39:02 +01:00
francescomani
0a59bffbb1 fix phy-test check 2022-02-18 13:38:45 +01:00
Robert Schmidt
6569fd7614 Do not prematurely overwrite scheduler information
Overwriting sched_pusch information at that stage would in particular
lose information on the current frame/slot. Overwriting sched_pusch with
the retInfo structure is already done at the end of
allocate_ul_retransmission(), and is therefore not necessary at this
stage.
2022-02-18 12:52:59 +01:00
Robert Schmidt
9b302d0432 Fix DU default config, increase 5G F1 RFsim throughput requirements 2022-02-18 12:20:06 +01:00
Robert Schmidt
63989e8a69 Fix for F1 RFsim fail
We compute the preferred DL TDAs when receiving the cellGroup from the
RRC. However, in F1 and the RFsim, it seems that the scheduler tries to
access the preferred DL TDAs before they have been set after receiving
the cellGroup. In this commit, add a simple check to verify the
preferred TDA has been set up.
2022-02-18 12:16:08 +01:00
francescomani
2cc96f5025 log level fix for ptrs in dlsim 2022-02-18 11:11:48 +01:00
hardy
58e0e33327 test T_stdout 2 for NSA 2022-02-18 11:06:08 +01:00
francescomani
9eb1137b54 fix for scc/scc_SIB at UE 2022-02-18 10:14:52 +01:00
Laurent THOMAS
39dd02aeef Merge branch 'remove-NR_UE_PBCH' of https://gitlab.eurecom.fr/oai/openairinterface5g into remove-NR_UE_PBCH 2022-02-18 09:41:43 +01:00
Laurent THOMAS
8e3f720b7d fix unaligned mem for SIMD 2022-02-18 09:41:18 +01:00
Laurent THOMAS
18a421578f finish remove global vars for UE PBCH 2022-02-18 09:41:18 +01:00
Laurent THOMAS
53001d0d10 remove-NR_UE_PBCH scope to finish 2022-02-18 09:41:18 +01:00
Melissa Elkadi
a21fb77dd1 Added comment to justify uci_size condition
Also, properly filling the CCE index and Agg level
in the stub function when we get the DCI from
nfapi
2022-02-17 10:25:28 -08:00
francescomani
7b4b7b9619 fix for dlschsim 2022-02-17 18:13:57 +01:00
Melissa Elkadi
2208abfedd Modifying change to MAC layer
Instead of conditionally calling the pucch_scheduler
we now only call the functions we need from the stub
function directly. This is better because we are not
modifying the OAI MAC layer code and ensuring that we
are not calling the pucch_scheduler twice for the same
sfn/slot
2022-02-17 08:48:26 -08:00
francescomani
9f02206b8a error message if no uecap in fill_default_secondaryCellGroup 2022-02-17 17:43:24 +01:00
Robert Schmidt
e890cee31c Reduce max_num_ue after successful PUCCH alloc 2022-02-17 13:58:27 +01:00
Robert Schmidt
fd40aa2666 Make nr_find_nb_rb() take minimum RBsize
Fixes a bug when scheduling multiple UEs
2022-02-17 13:58:24 +01:00
francescomani
ba27a01827 fix dlschsim 2022-02-17 10:43:37 +01:00
francescomani
bcbafdf094 fix for ulprbbl memcpy 2022-02-17 10:31:16 +01:00
francescomani
77153fbf5f TBSLBRM for DL computed ad MAC (added fapi parameter) 2022-02-17 10:16:22 +01:00
Robert Schmidt
ff0fb53056 Merge remote-tracking branch 'origin/nr-fdd-scheduling' into integration_2022_wk07_c 2022-02-17 09:32:44 +01:00
Robert Schmidt
b97d26cb86 Merge remote-tracking branch 'origin/NR_SA_UID' into integration_2022_wk07_c 2022-02-17 09:02:16 +01:00
Melissa Elkadi
5637b62ed8 Return in gNB if pdu_len is less than cast length
This is what we did in the NRUE for NSA mode
2022-02-16 16:26:41 -08:00
Melissa Elkadi
c917352dd2 Resolving issues in MR:
Adding error checking before indexing in mac layer harq array
Adding error checking before writing ul_harq_sfn_slot
Added comments
Made a "static" free_uci_inds() actually static
2022-02-16 16:11:19 -08:00
Melissa Elkadi
e5ddd558ad Fixing spacing in nfapi code 2022-02-16 15:13:26 -08:00
Melissa Elkadi
3c925942a9 Getting rid of pthread warning with GNU_SOURCE 2022-02-16 13:18:32 -08:00
Melissa Elkadi
10d0f13ceb Revert "Getting rid of pthread warning and fixing nfapi"
This reverts commit 9a78b58927.
2022-02-16 13:15:15 -08:00
Melissa Elkadi
9a78b58927 Getting rid of pthread warning and fixing nfapi
The nfapi code releases dl_ttis and tx_data_reqs
if the buffer has data in it. In the proxy code we
overwrite this instead of dropping the packet.
2022-02-16 13:12:12 -08:00
hardy
d8dccbad59 update of sa tests requirements aligned with 256qam 2022-02-16 17:14:01 +01:00
Laurent THOMAS
d1c2eb03db Merge branch 'fix-legacy-errors-lte' of https://gitlab.eurecom.fr/oai/openairinterface5g into fix-legacy-errors-lte 2022-02-16 15:11:18 +01:00
Laurent THOMAS
2ea133ffa4 ue sync, assert in wrong PUCCH decoded values 2022-02-16 15:04:15 +01:00
Laurent THOMAS
96f2b4e2f3 fix unaligned mem for SIMD 2022-02-16 14:49:19 +01:00
francescomani
8c1ed65c1f Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-02-16 13:46:54 +01:00
hardy
298008677c fix rfsim test + update html reporting 2022-02-16 12:27:03 +01:00
francescomani
83cd94cf6a dynamic selection of codewords for DL init 2022-02-16 11:18:15 +01:00
Robert Schmidt
9a7154f3d4 Merge remote-tracking branch 'origin/fairRR-sched-debug' into integration_2022_wk07_c 2022-02-16 10:34:36 +01:00
Robert Schmidt
cfa3b0caf0 Merge remote-tracking branch 'origin/ue-phy-sync-improvements' into integration_2022_wk07_c 2022-02-16 10:08:59 +01:00
hardy
87a840c5b5 fix bash script syntax error, preventing test from running 2022-02-16 09:48:29 +01:00
francescomani
cdaaece997 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-16 08:33:12 +01:00
francescomani
b7408c842a modifying the 24PRB CI test case 2022-02-16 08:27:54 +01:00
hardy
a9844b773c add rfsim sa test 24PRB 2022-02-16 08:16:43 +01:00
rmagueta
9691946845 Fix Nid_cell in PUSCH dmrs and scrambling 2022-02-16 00:52:57 +00:00
Melissa Elkadi
679816c3c1 Added comment around asn1cCalloc memory leak 2022-02-15 15:05:04 -08:00
Robert Schmidt
af6836d9f1 Merge branch 'integration_2022_wk07_b' into 'develop'
integration_2022_wk07_b

See merge request oai/openairinterface5g!1448
2022-02-15 21:18:48 +00:00
rmagueta
ff8c47d3aa Fix scramblingID and gold sequence for PDCCH and PDSCH 2022-02-15 17:04:50 +00:00
Laurent THOMAS
6054d3aecc finish remove global vars for UE PBCH 2022-02-15 17:44:24 +01:00
Melissa Elkadi
39d9febc0c Hardcoding TI and UL_CQI in stub function.
Also, the allocation of the eNB measurement
report keeps getting commented out becasue
the compiler throws an error. I have un-commented
the allocation of memory (becasue it breaks NSA
mode) and added a memset to ensure we are using
the allocated memory. This gets rid of the
warning and ensures NSA mode still works.
2022-02-15 08:39:55 -08:00
francescomani
50b0abc18d testing highest mcs for 256qam 2022-02-15 15:29:48 +01:00
Laurent THOMAS
67ca2759b2 remove-NR_UE_PBCH scope to finish 2022-02-15 13:13:15 +01:00
francescomani
84eb7763bd using config file parameters in init_codebook_gNB 2022-02-15 09:46:13 +01:00
Robert Schmidt
6af9ac6c9c Fix SA OAIUE N310 test's USRP IP address 2022-02-15 09:30:21 +01:00
hardy
71c33bec45 Merge remote-tracking branch 'origin/ue-rfsim-fix' into integration_2022_wk07_b 2022-02-15 09:26:01 +01:00
hardy
d4ce61c595 Merge remote-tracking branch 'origin/fix-macpdu2wireshark-2022-w06' into integration_2022_wk07_b 2022-02-15 09:25:38 +01:00
hardy
9cd1a06115 relaxing ping test acceptance threshold 2022-02-15 09:25:14 +01:00
hardy
d61c097e98 Merge remote-tracking branch 'origin/ci_fix_bidir_develop' into integration_2022_wk07_b 2022-02-15 09:23:57 +01:00
hardy
3a27fb6259 Merge remote-tracking branch 'origin/ci_162prb_conf_file' into integration_2022_wk07_b 2022-02-15 09:23:42 +01:00
Melissa Elkadi
e461ab51a1 Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-14 16:16:43 -08:00
Melissa Elkadi
6de93fbb59 Only assigning harq_pid in emulated L1 mode. 2022-02-14 16:15:39 -08:00
Melissa Elkadi
abddc13a13 Adding \n to several logs and demoting two logs 2022-02-14 13:51:57 -08:00
Melissa Elkadi
ea6e96aada Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master 2022-02-14 12:25:36 -08:00
Melissa Elkadi
d8d616a1fa Setting timing advance in stub function.
The timing advance field could be abstracted in
the proxy gNB. Currently we are not abstracting
this value.
2022-02-14 12:24:34 -08:00
Melissa Elkadi
5e7de1cdfc Fixing typo and adding .h files for linking 2022-02-14 11:41:22 -08:00
francescomani
c645c12db4 using uid also in SA 2022-02-14 20:28:05 +01:00
Melissa Elkadi
af18fc7e70 Log demotion and white space clean up 2022-02-14 11:14:13 -08:00
Melissa Elkadi
26349dbe20 More clean up for merge request 2022-02-14 11:07:14 -08:00
Melissa Elkadi
987363b8a8 Clean up for MR 2022-02-14 10:34:23 -08:00
francescomani
ec4ae32af0 N1 N2 and XP for DL antenna ports in config file 2022-02-14 19:00:55 +01:00
francescomani
db257fd5a9 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-14 18:29:09 +01:00
francescomani
f1260a09e6 some fixes for phy-test mode 2022-02-14 17:40:57 +01:00
hardy
a427a20186 add tcp bidir to nsa 2x2 2022-02-14 16:25:54 +01:00
hardy
ca1afb4aae fix bidir test for ltebox 2022-02-14 16:04:50 +01:00
hardy
1d9bb72a1c Merge remote-tracking branch 'origin/ci_162prb_conf_file' into ci_fix_bidir_develop 2022-02-14 15:05:54 +01:00
luis_pereira87
7e1b38db13 Fix segmentation fault in phy-test 2022-02-14 14:03:05 +00:00
luis_pereira87
fdc2cb8716 Fix pucch resource calculation 2022-02-14 13:11:03 +00:00
luis_pereira87
6436f77aa0 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures 2022-02-14 10:20:42 +00:00
luis_pereira87
bfc34f329e Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
2022-02-14 09:50:58 +00:00
francescomani
4329051120 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-14 09:20:22 +01:00
francescomani
de88c3f45c Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2022-02-14 08:57:52 +01:00
Sakthivel Velumani
5c9c2783a5 removed crc from ldpctest 2022-02-14 09:49:54 +05:30
Sakthivel Velumani
ba891206e5 fixed stacksmashing error 2022-02-14 09:47:34 +05:30
Sakthivel Velumani
3a22b99869 Merge branch 'develop' into ldpc-decoder-memory 2022-02-14 09:44:15 +05:30
Raymond Knopp
4756c5a167 added configurable "sf_ahead" for NR/LTE in RU section. Tested in NR with sf_ahead=2 (normally 3) 2022-02-13 22:15:48 +01:00
Raymond Knopp
5ba8b83856 Merge remote-tracking branch 'origin/aw2s-n41' into harq_latency_control
Conflicts:
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/nr_rrc_proto.h
	openair2/RRC/NR/rrc_gNB_nsa.c
	openair2/RRC/NR/rrc_gNB_reconfig.c
	targets/ARCH/AW2SORI/oaiori.c
2022-02-13 12:24:45 +01:00
Raymond Knopp
da54df5bb2 Merge remote-tracking branch 'origin/develop' into harq_latency_control
Conflicts:
	cmake_targets/phy_simulators
	openair1/PHY/CODING/crc_byte.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/RRC/NR/rrc_gNB.c
2022-02-13 09:55:01 +01:00
Raymond Knopp
74fd3f029a changes for AW2S NR support in ORI library 2022-02-13 09:44:15 +01:00
Robert Schmidt
141b9d2c0f Merge branch 'integration_2022_wk06_a' into 'develop'
integration_2022_wk06_a

See merge request oai/openairinterface5g!1438
2022-02-12 19:55:52 +00:00
englab
665d1caa0b First examples of global structure elements move to function stack 2022-02-11 17:17:07 -05:00
francescomani
67efa202e2 call to config_csirs also in sa 2022-02-11 19:32:40 +01:00
francescomani
9237cb545c passing UECAP structure to RRC reconfiguration functions 2022-02-11 18:57:48 +01:00
francescomani
d2a559f91e improvements in config_csirs 2022-02-11 18:35:26 +01:00
hardy
c159ca13de update thread_pool_size for NSA 2x2 and SA 2x2 2022-02-11 15:10:46 +01:00
hardy
9fa3760c09 update nrmodule2 logrotation threshold 2022-02-11 15:10:46 +01:00
hardy
a296a4ebbe improve BIDIR if client log is present yet empty 2022-02-11 15:10:46 +01:00
Raymond Knopp
b9b24588af Merge remote-tracking branch 'origin/develop' into aw2s-n41
Conflicts:
	cmake_targets/phy_simulators
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-02-11 12:21:29 +01:00
Cedric Roux
52d75940be fix macpdu2wireshark
Somehow this file was in a bad state...
2022-02-11 10:36:00 +01:00
Raymond Knopp
99f0177b3f Merge branch 'aw2s-n41' of https://gitlab.eurecom.fr/oai/openairinterface5g into aw2s-n41 2022-02-11 08:12:17 +01:00
Raymond Knopp
2b96909960 update to ori.h (with NR extensions) 2022-02-11 08:11:45 +01:00
luis_pereira87
fc783110da Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
2022-02-10 23:19:52 +00:00
Robert Schmidt
7e92d44fc2 Merge remote-tracking branch 'origin/oai-ue-time-meas' into integration_2022_wk06_a 2022-02-10 18:57:28 +01:00
Robert Schmidt
48fc337a26 Merge remote-tracking branch 'origin/fix-t-tracer-nr-ue' into integration_2022_wk06_a 2022-02-10 18:52:06 +01:00
Robert Schmidt
11d80b93a9 Increase LTE 2x2 ping test threshold to 40ms 2022-02-10 15:55:26 +01:00
Raphael Defosseux
92a021a159 fix(docker): SA FDD template file not generated; cosmetics changes on the CI side
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-10 15:45:44 +01:00
hardy
9f30ff6cc8 improve iperf client file retrieval 2022-02-10 10:42:32 +01:00
Melissa Elkadi
df06a1e8e4 Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master 2022-02-09 16:20:22 -08:00
Melissa Elkadi
4c950bb006 Resetting dl_config->number_pdus in NRUE scheduler 2022-02-09 14:06:55 -08:00
Melissa Elkadi
e81b901355 nFAPI bug fix. Not properly packing/unpacking PUCCH PDU
Attempting to manually cherry-pick this commit:
30c14c2f5a
2022-02-09 14:05:05 -08:00
Melissa
65dadfb3e2 Merge branch 'episys/master-nsa-nfapi-errors' into 'episys/master-nsa'
nfapi.c: Add on_error()

See merge request aburger/openairinterface5g!96
2022-02-09 13:56:27 -08:00
Melissa Elkadi
9322701ce4 Need a break if we queue a ul_tti_req based on PDU state
If we dont have this break we are trying to queue
the UL_TTI_REQ we just queued
2022-02-09 13:32:09 -08:00
Robert Schmidt
1252899592 Merge remote-tracking branch 'origin/ci-use-5g-t-tracer' into integration_2022_wk06_a 2022-02-09 18:39:46 +01:00
Robert Schmidt
e979e06527 Merge remote-tracking branch 'origin/nr_dlsim_fix' into integration_2022_wk06_a 2022-02-09 18:38:54 +01:00
Melissa Elkadi
60a9d41bc6 UCI ACK/NACK most of the way working
We have gotten rid of filling the ACK/NACK with
the DLSCH and now only fill with the PUCCH. This
assumes that the MAC layer is properly decoding the
dl_tti_req and tx_data_req and allows us to
simply use the MAC layers scheduled SNF/Slot
to return the ACK NACK. There are some hacks added
in this commit which ensure that the PDCP packet
has the correct header (1st byte = 80) and now with
15Mbps we are seeing about 20% packet loss and
a gNB bug on the edge case (current frame is 1023
and the gNB schduler wants an ACK in frame 0 but the
scheduled UL_TTI_REQ has a frame of 1023).
2022-02-09 07:59:10 -08:00
Melissa Elkadi
f336cbc645 Fixing pull/push array 32 and cleaning nFAPI code
Several of these changes were made previously and
lost in the merge.
2022-02-09 07:30:04 -08:00
luis_pereira87
3dce1171d5 Fixes after merge 2022-02-09 11:16:38 +00:00
luis_pereira87
9610b7124c Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
2022-02-09 11:10:31 +00:00
hardy
d87d22567a review and fix SA 162PRBconf file 2022-02-09 10:44:01 +01:00
Cedric Roux
1409e3bcb4 nr-ue: fix T tracer
T tracer was not functional anymore. because init_tpools() was called
before T_Config_Init().

The problem was that init_tpools() creates some threads and T_Config_Init()
does call fork() and the child process (which is the one running the
softmodem, the parent process is used to monitor it, this is the design
of the T tracer, maybe to change at some point, it's too complicated) has
no thread after the fork(). The threads created by init_tpools() are gone.
Game over.

In conclusion: T_Config_Init() has to be called very early in the life of
the softmodem, at least before init_tpools().
2022-02-09 10:22:01 +01:00
Thomas Schlichter
76885758aa add support for continuous transmission
In case of TDD we usually disable TX during RX.
Unfortunately some USRPs create self-interference after disabling TX.
To be able to work-around this issue, we add the flag "--continuous-tx".
2022-02-09 08:56:15 +01:00
Melissa Elkadi
a1dee602fe Duplicated packing and unpacking fixed in this commit
This now matches the develop branch as well.
2022-02-08 17:11:59 -08:00
Melissa Elkadi
a8a04c7293 Accidentally ommited SISO channel modeling change
We should be setting the queued UCI indication slot
based on the SCHEDULED slot, not the current slot.
2022-02-08 16:55:25 -08:00
Melissa
fb3e3ea6e5 Merge branch 'episys/david/adding_NR_to_NUM_MCS' into 'episys/master-nsa'
Added NR to NUM_MCS for nr channel modeling.

See merge request aburger/openairinterface5g!109
2022-02-08 15:56:44 -08:00
Melissa
2ec11592c3 Merge branch 'episys/david/fixing_Bler_tables' into 'episys/master-nsa'
Removed strange characters in the first line.

See merge request aburger/openairinterface5g!108
2022-02-08 14:55:13 -08:00
Melissa
cfc2311a96 Merge branch 'episys/david/adding_logs_for_timing_analysis' into 'episys/master-nsa'
Added logs for timing analysis.

See merge request aburger/openairinterface5g!106
2022-02-08 14:54:20 -08:00
Melissa
8c2a067a22 Merge branch 'episys/david/checking_downlink_siso_model' into 'episys/master-nsa'
Downlink SISO modeling

See merge request aburger/openairinterface5g!104
2022-02-08 14:51:55 -08:00
Melissa Elkadi
9da3cbc9ec Cherry picking UCI multiplexing for CSI reports 2022-02-08 13:03:13 -08:00
Melissa Elkadi
62b525c579 TODO: Revert this change after discussion with OAI 2022-02-08 11:59:54 -08:00
Melissa Elkadi
b897287d1f Changes made to gNB cause emulated-L1 mode not to work for multiple UEs.
It seems that the RA procedure in the gNB was modified so
the RAR is sent in a single tx_data_req. The emualted mode
was not previously handling this. We now only process the
PDU in the rx_ind that has a matching preamble. If any
other PDUs exist, we ignore them and only build Msg3 based
on this single matching RAR PDU.

Also, two bug fixes applied here in the emulate-l1 mode.
2022-02-08 11:59:04 -08:00
Melissa Elkadi
f518b9d61f Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-08 09:39:13 -08:00
Robert Schmidt
a36555b254 Merge remote-tracking branch 'origin/develop-SRS' into integration_2022_wk06_a 2022-02-08 18:06:53 +01:00
francescomani
9ff39f0d92 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2022-02-08 16:48:20 +01:00
francescomani
37a517edb7 Merge remote-tracking branch 'origin/develop' into NR_SA_10MHz 2022-02-08 16:18:27 +01:00
francescomani
46ca8cc2d0 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-08 16:01:59 +01:00
francescomani
dd9f285cb7 Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-02-08 15:37:39 +01:00
Robert Schmidt
1ed58f65b7 Merge branch 'integration_2022_wk06' into 'develop'
integration_2022_wk06

See merge request oai/openairinterface5g!1433
2022-02-08 14:11:17 +00:00
Robert Schmidt
8e6e4d8237 Log inactivity timer 2022-02-08 14:45:05 +01:00
Robert Schmidt
5bdaeb5718 Stop scheduling DL on UL failure or out of sync 2022-02-08 14:45:05 +01:00
Robert Schmidt
388cfafea8 Stop scheduling in UL after ul_failure_timer 2022-02-08 14:45:05 +01:00
Robert Schmidt
759314a125 Enrich assert in ULSCH decoding 2022-02-08 14:45:05 +01:00
Robert Schmidt
eca14f6ec9 Schedule UL 5 RBs at MCS 10 on inactivity 2022-02-08 14:45:00 +01:00
francescomani
ebfea5a0c9 fix in txdataF_precoding initialization 2022-02-08 13:45:20 +01:00
Raphael Defosseux
ae7e68baea fix(ci): fix CN5G deployment with latest images
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-08 11:06:25 +01:00
rmagueta
e8657ec854 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-02-08 09:31:32 +00:00
francescomani
90bc226ac0 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2022-02-08 08:48:04 +01:00
Melissa Elkadi
8b4ae5ef2b Remove the new UL_INFO local variable in the VNF.
This struct is used to store the uplink 5G nFAPI
messages between the proxy and the gNB MAC layer.
The original OAI implementation utilizes a similarly
named variable (UL_info) to store the uplink 5G nFAPI
messages between the PHY and MAC layer. This commit
will utilize the original UL_info variable prior to
calling the handle functions. These changes allow us
to make minimal changes to the nFAPI handle functions
and modifies the NR_UL_Indication parent function instead.
2022-02-07 15:14:22 -08:00
Laurent THOMAS
ef2fedfc5b fix existing bug in pucchsim.c and in random_channel.c 2022-02-07 23:50:01 +01:00
Robert Schmidt
a03847a26d Merge remote-tracking branch 'origin/lte-ue-fix-EpsNetworkFeatureSupport' into integration_2022_wk06 2022-02-07 18:49:39 +01:00
Robert Schmidt
9594e422bc Merge remote-tracking branch 'origin/NR_pdcch_improvements' into integration_2022_wk06 2022-02-07 18:48:52 +01:00
Robert Schmidt
997f8f9f48 SA stage2 test numbers to not overwrite logs in ZIP 2022-02-07 14:54:09 +01:00
Robert Schmidt
b06b21d1ed Perform log analysis from textlog only if T_stdout 0 2022-02-07 14:53:58 +01:00
Robert Schmidt
5e57b66cfc CI: Run T tracer in SA test 2022-02-07 14:52:52 +01:00
francescomani
f471316394 fix TRUE FALSE 2022-02-07 14:27:33 +01:00
Robert Schmidt
ce9d1bd7c5 Always schedule PUCCH to prevent stale PUCCH config 2022-02-07 14:23:17 +01:00
Robert Schmidt
b13ea677a2 Give warning when UL Failure on NR link 2022-02-07 14:23:17 +01:00
rmagueta
c1dd5da155 Fix update_ps flag for PDSCH and PUSCH 2022-02-07 12:45:14 +00:00
francescomani
8dcf0d011d two bugfixes: local pdcch_pdu in ul and wrong initialization place in find_candidate 2022-02-07 13:40:15 +01:00
Laurent THOMAS
00483797b4 code review comment 2022-02-07 10:02:08 +01:00
francescomani
9056bfa926 flag to update ps structure 2022-02-07 09:19:51 +01:00
francescomani
e27ce4db1e fix in max mcs for table1 2022-02-06 12:04:36 +01:00
Cedric Roux
92c5115f13 lte: fixes in EpsNetworkFeatureSupport.c
We have to eat all the bytes, not only one.
We have to get the bit we want from the right buffer position.

Note: only one bit is supported from this "EPS network feature support",
not sure how to properly deal with it, so let's keep the code as it is.

This commit was made because the MAGMA MME sends "EPS network feature
support" to the UE in the NAS message "Attach Accept". OAI MME does not
send this. So the bug about size was not seen.
2022-02-04 16:32:49 +01:00
luis_pereira87
e39ad834c0 Fix dci size for formats 1_0 and 0_0 and improve procedures when using Coreset0 2022-02-04 15:20:24 +00:00
francescomani
2b4ae3c4ce fix in nr_get_csi_payload 2022-02-04 10:47:34 +01:00
francescomani
f056f0c170 txdataF_precoding local 2022-02-03 19:35:30 +01:00
francescomani
a37240197c minor changes, mostly cosmetic 2022-02-03 18:57:22 +01:00
francescomani
434ee15ba0 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2022-02-03 11:38:14 +01:00
Thomas Schlichter
055bb6a6c2 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-03 10:36:42 +01:00
Masayuki Harada
66d2a3761f Add a comment. 2022-02-03 14:44:50 +09:00
luis_pereira87
b069dcd3c8 Bug fixes 2022-02-02 20:22:57 +00:00
francescomani
2408f82ace Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-02-02 18:13:46 +01:00
francescomani
220aeacbd2 bugfix for ilbrm 2022-02-02 17:37:56 +01:00
luis_pereira87
d9ed78ec01 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures 2022-02-02 15:19:07 +00:00
luis_pereira87
c30f478df9 Improve PUCCH configuration procedures 2022-02-02 15:18:06 +00:00
luis_pereira87
0166cd05d6 To use ServingCellConfigCommonSIB when ServingCellConfigCommon is NULL 2022-02-02 15:15:18 +00:00
luis_pereira87
20e767d7b6 Fix preferred DL TDA computation 2022-02-02 15:08:08 +00:00
luis_pereira87
911b40c0c3 Fix DCI format 2022-02-02 15:05:09 +00:00
luis_pereira87
5744749e9a Make NR_BCCH_DL_SCH_Message_t (SIB1) available at MAC gNB 2022-02-02 15:03:25 +00:00
luis_pereira87
aa9e30691b Fix DCI formats 2022-02-02 14:53:36 +00:00
francescomani
dc5cdd4e10 fix in xlsch bytes for memory allocation 2022-02-02 15:03:43 +01:00
Raymond Knopp
7c40c74883 Merge branch 'aw2s-n41' of https://gitlab.eurecom.fr/oai/openairinterface5g into aw2s-n41
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-02-01 21:59:44 +01:00
Raymond Knopp
86560439e7 nr-softmodem fixed after merge` 2022-02-01 21:55:49 +01:00
francescomani
8ecef89ab4 Merge remote-tracking branch 'origin/NR_pdcch_improvements' into aw2s-n41 2022-02-01 16:16:45 +01:00
francescomani
19bb8fd537 tentative fix for RRC reconfiguration after UE capabilities 2022-02-01 15:27:20 +01:00
Masayuki Harada
d937e6e2c0 Fix some problems. 2022-02-01 19:06:51 +09:00
Raymond Knopp
495f0150da Merge branch 'NR_pdcch_improvements' into aw2s-n41
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-02-01 10:56:20 +01:00
Raymond Knopp
23350deba2 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-02-01 10:49:07 +01:00
Raymond Knopp
7d4bdfb566 Merge remote-tracking branch 'origin/develop' into aw2s-n41 2022-02-01 10:46:13 +01:00
francescomani
aa6f636198 adding log_e for ulsch segmentation 2022-02-01 10:25:39 +01:00
Masayuki Harada
9cd14735de Fix compile error and remove warning. 2022-02-01 17:22:58 +09:00
francescomani
10da153332 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-02-01 09:14:16 +01:00
Robert Schmidt
284734ba86 Add 5G FDD RFsim test 2022-02-01 08:41:04 +01:00
Masayuki Harada
db303c3beb Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2022-02-01 15:44:34 +09:00
francescomani
e346608b04 bugfix after nr_set_pdsch_semi_static 2022-01-31 19:28:08 +01:00
francescomani
e4acf7e21d bugfix for pdu_index in sib1 sched function 2022-01-31 19:21:06 +01:00
francescomani
9e2185aa17 some more cleanup in memory allocation 2022-01-31 18:52:50 +01:00
Sakthivel Velumani
9934aed3cf Fix PUSCH/PDSCH parallel proc bug 2022-01-31 18:23:23 +05:30
francescomani
c95f544563 dynamic dmrs length initialization depending on actual RBs 2022-01-31 11:17:45 +01:00
Robert Schmidt
d7e7954cde Remove commented code 2022-01-28 16:20:06 +01:00
Robert Schmidt
c1b73e2d48 Harmonize DLSCH/ULSCH unscrambling in gNB/nrUE
Uses optimized scrambling if not UCI on PUSCH, or unoptimized to put
placeholder bits otherwise.
2022-01-28 16:10:50 +01:00
Robert Schmidt
b01b20129b Harmonize DLSCH/ULSCH unscrambling in gNB/nrUE 2022-01-28 16:10:50 +01:00
mjoang
9a36c36249 No need to pass dlsch_parallel into nr_ue_dlsch_procedures() as it is not needed inside nr_dlsch_decoding() 2022-01-28 16:10:50 +01:00
Robert Schmidt
b9a216d79a Take timing measurements for UL DLSCH decoding steps
- Measure time of deinterleaving, rate unmatching, and LDPC decoding of
  DLSCH decoding
- Add merge_meas() function to merge measurements into one
- Rename time meas variables with "turbo" to "ldpc"
2022-01-28 16:10:50 +01:00
Robert Schmidt
4289a21f35 Add thread to periodically print L1 UE stats to file 2022-01-28 16:10:50 +01:00
Robert Schmidt
71619bb7b4 Add measurement stats for rx_pdsch and ul_indication 2022-01-28 16:10:50 +01:00
Robert Schmidt
100ba1019e Delete commented code in phy_procedures_nrUE_RX() and indent 2022-01-28 16:10:50 +01:00
Robert Schmidt
4b04b463e0 Fix: start phy_proc_rx measurement 2022-01-28 16:10:50 +01:00
Robert Schmidt
92dbbd9f57 Delete commented code in nr_ue_pdcch_procedures() 2022-01-28 16:10:49 +01:00
Robert Schmidt
d9eb6ec5d6 Fix start of dlsch_rx_pdcch_stats measurement 2022-01-28 16:10:49 +01:00
Robert Schmidt
52e478d6a3 Include rotation in phy_proc_tx meas 2022-01-28 16:10:48 +01:00
francescomani
2cad62ad54 fix for 256qam in initialDownlinkBWP 2022-01-27 14:36:44 +01:00
francescomani
aec56c9a86 additional review comments 2022-01-27 12:22:03 +01:00
francescomani
467172f44d removing pusch 2nd codeword also at gnb 2022-01-27 11:59:55 +01:00
Laurent THOMAS
aa47fa4c41 remove F1-U protobuf implementation 2022-01-27 11:57:19 +01:00
Robert Schmidt
8c5059214e Remove log verbosity level from all conf files: it is not used 2022-01-27 10:53:07 +01:00
Robert Schmidt
a1520aacd1 Remove useless MSCGEN macro 2022-01-27 10:53:07 +01:00
Robert Schmidt
00e058537d Remove MSC library, it is not used anywhere 2022-01-27 10:53:07 +01:00
Laurent THOMAS
3e7c22e7c6 gtp-u old code delete 2022-01-26 11:27:02 +01:00
francescomani
5eb9e1f421 compute Y every time 2022-01-26 10:31:10 +01:00
sfn
0e17edc165 solve division by null for floating point zero forcing, fix fp shift 2022-01-26 03:34:29 +01:00
francescomani
0e106543ef clean up of ulsch ue structures 2022-01-25 18:54:33 +01:00
sfn
631cd33f15 Adjust ZF Rx fixed point shift 2022-01-25 12:10:08 +01:00
sfn
b66c3e0b7b Fix Codebook gen. for 3 and 4 layers 2022-01-25 12:07:38 +01:00
sfn
a73209fefb fix code book I gene. 2022-01-25 12:07:35 +01:00
sfn
283784066e implement and test foating point calc for zero forcing 2022-01-25 12:04:20 +01:00
sfn
b4a8765595 re-write the matrix inversion in zero forcing 2022-01-25 12:04:20 +01:00
sfn
8eae4bbfdc clean up zero forcing Rx 2022-01-25 12:04:20 +01:00
sfn
9ca7f14ce8 Fix 2,3 , and 4 layers zero forcing Rx with fixed point implementation (tested in dlsim) 2022-01-25 12:04:20 +01:00
sfn
8381cba16d re-implement zero forcing rx for dlsch 2022-01-25 12:04:20 +01:00
sfn
1d7569b4af clean up and optimize UE 2022-01-25 12:04:17 +01:00
Thomas Schlichter
7d47e98412 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-01-25 11:38:49 +01:00
francescomani
e7f544e139 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-01-24 19:08:21 +01:00
Raymond Knopp
cd5e07b67c minor change after merge with develop 2022-01-24 15:06:02 +01:00
Laurent THOMAS
c4f88781e5 ue sync, assert in wrong PUCCH decoded values 2022-01-24 14:19:31 +01:00
francescomani
9b9d0d6f06 addressing review comments 2022-01-24 11:51:38 +01:00
Raymond Knopp
90c66bb7b1 Merge remote-tracking branch 'origin/develop' into aw2s-n41
Conflicts:
	executables/nr-softmodem.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
2022-01-24 11:11:46 +01:00
Sakthivel Velumani
aa4db6057b updated ldpctest 2022-01-21 17:34:34 +05:30
luis_pereira87
b4e34d5e6b Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements 2022-01-21 10:53:05 +00:00
luis_pereira87
34409bacc0 Address review comments 2022-01-21 10:52:39 +00:00
francescomani
0717a7c562 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-01-21 10:31:58 +01:00
Sakthivel Velumani
a8a5897a98 Cherry pick ldpc-decoder-crc-check
commit: 3cfefe3c6f7b2854a14d94fb7072ece2ff4c5c0a
2022-01-20 21:08:44 +05:30
luis_pereira87
86096894a0 Fix build warning after merge with develop 2022-01-20 11:53:17 +00:00
luis_pereira87
7355cb454f Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-20 11:43:24 +00:00
rmagueta
6d053f7272 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-18 15:57:56 +00:00
francescomani
e62dd069dd Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-01-18 09:32:53 +01:00
rmagueta
ef021c23e0 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-17 15:46:27 +00:00
francescomani
533897605f Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-01-17 15:36:55 +01:00
rmagueta
62c2775017 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
#	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2022-01-15 17:29:13 +00:00
francescomani
350b750c33 Merge remote-tracking branch 'origin/NR_pdcch_improvements' into NR_UL_VRB_MAP_improv 2022-01-14 19:19:21 +01:00
francescomani
b9384917b3 Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-01-14 19:05:18 +01:00
luis_pereira87
a2755610fa Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-14 13:49:16 +00:00
francescomani
eb56a40d11 bugfix in msg2 frame and slot re-selection 2022-01-13 17:43:53 +01:00
rmagueta
1c3310f955 Activate SRS in some CI tests 2022-01-12 13:52:00 +00:00
rmagueta
fa216870f3 Update documentation with SRS 2022-01-12 13:34:54 +00:00
rmagueta
7b2ec0f369 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-12 13:11:40 +00:00
rmagueta
729eee0685 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-11 10:44:43 +00:00
rmagueta
30ae13a279 Replace hardcoded 8 by sizeof(uint64_t) related to memory alignment of 8 bytes 2022-01-11 10:44:23 +00:00
rmagueta
5a34801a94 SRS channel interpolation improved for comb_size 4 2022-01-11 10:32:48 +00:00
rmagueta
d14d36747d SRS channel interpolation improved for comb_size 2 2022-01-10 19:08:08 +00:00
francescomani
49cf701a4a Merge branch 'nr-fdd-scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-fdd-scheduling 2022-01-10 16:29:42 +01:00
francescomani
52b05b8fe0 review changes 2022-01-10 16:20:05 +01:00
Guido Casati
0e0b7a34f7 Restored check on pattern1.ext1 2022-01-10 15:07:12 +01:00
Guido Casati
ef6c93b842 Updating IF configuration description in RUNMODE file 2022-01-10 14:29:21 +01:00
Guido Casati
1efef96e64 Using ASN_STRUCT_FREE instead of free 2022-01-10 14:28:17 +01:00
Guido Casati
2c289c45d1 Minor fixes after code review 2022-01-10 12:18:25 +01:00
luis_pereira87
46d629aede Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
2022-01-10 10:21:07 +00:00
francescomani
8202180a18 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2022-01-10 10:39:44 +01:00
francescomani
98e8b74331 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-01-10 10:13:18 +01:00
rmagueta
af56207fdf Fix after merge 2022-01-08 13:19:41 +00:00
rmagueta
cf8f6fdeed Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/RRC/NR/L2_nr_interface.c
2022-01-08 12:11:56 +00:00
luis_pereira87
f6c735f560 Revert to timing adjustment based on cyclic prefix and improves it 2022-01-07 18:54:31 +00:00
luis_pereira87
ef298dc36c Add ffo compensation based on SSS 2022-01-07 18:02:24 +00:00
francescomani
d4d7173265 dynamic mcs selection for msg3 2022-01-07 16:58:53 +01:00
luis_pereira87
395c211e6d Fix indentation 2022-01-06 16:18:55 +00:00
luis_pereira87
b8daf747bd Increase nr_pbchsim test requirements to pass in CI 2022-01-06 14:39:31 +00:00
francescomani
10e4ce2dce dynamic mcs selection for msg4 2022-01-06 15:04:42 +01:00
francescomani
7f20ad6c6e dynamic mcs selection for msg2 2022-01-06 14:40:52 +01:00
rmagueta
3da125fa06 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-06 12:37:22 +00:00
rmagueta
56714b2c82 Fix warnings after merge with develop 2022-01-06 10:17:10 +00:00
Robert Schmidt
513eebee1e Add nr_pbchsim option to select random number seed 2022-01-06 11:05:26 +01:00
Robert Schmidt
b6b79d555e Clean up nr_pbchsim program options 2022-01-06 11:05:26 +01:00
francescomani
d385c2126b fixes for TDA in case of double symbol pdcch 2022-01-06 09:30:42 +01:00
francescomani
a15f1947d8 remove limitation for first symbol with data in dlsch 2022-01-05 16:51:39 +01:00
luis_pereira87
d1db83caab Rename min_rxtxtime in config files after merge 2022-01-05 14:12:20 +00:00
luis_pereira87
ddfd22d0fd Fix memset input parameters 2022-01-05 14:10:12 +00:00
luis_pereira87
d4f4080626 Revert "Revert "Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements""
This reverts commit 29268d0a66.
2022-01-05 14:00:09 +00:00
luis_pereira87
8a428d734e Fix nr_pbchsim to avoid multiple ffo compensations for each trial on input samples 2022-01-04 11:52:16 +00:00
luis_pereira87
1be69de2e6 Code cleanup 2022-01-03 15:37:39 +00:00
francescomani
9b70a994c0 bugfix for non-interleaved 2022-01-03 12:11:13 +01:00
francescomani
e5ee24c1ff fixes in demapping and deinterleaving at OAI UE 2022-01-03 11:56:56 +01:00
francescomani
37a2d7af57 changes to allow pdsch typeb in sib1 2021-12-31 12:00:28 +01:00
francescomani
0ddb872bea config file for 10MHz SA 2021-12-31 11:59:17 +01:00
francescomani
6f38108635 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-12-30 10:58:37 +01:00
francescomani
f76aac6582 bugfix in setting ue tdd settings 2021-12-30 10:27:02 +01:00
francescomani
b4c78a9c5b fix compilation issues after merge 2021-12-28 11:05:52 +01:00
francescomani
3a78c66e00 add 256qam test case to dlsim 2021-12-28 10:40:19 +01:00
luis_pereira87
e1d88d6fc5 Change log level 2021-12-24 13:49:56 +00:00
luis_pereira87
799e52745f Adjust sync based on PSS improvements 2021-12-24 13:47:47 +00:00
Luis Pereira
29268d0a66 Revert "Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements"
This reverts commit 96554bef51
2021-12-24 13:12:30 +00:00
rmagueta
b7a27219ac Fix warnings after merge with develop 2021-12-24 12:24:35 +00:00
rmagueta
97962f4635 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	common/utils/nr/nr_common.h
#	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
#	openair2/GNB_APP/gnb_paramdef.h
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2021-12-24 11:53:25 +00:00
luis_pereira87
96554bef51 Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2021-12-24 10:32:06 +00:00
luis_pereira87
22754562cf Adjust sync based on PSS 2021-12-24 10:26:52 +00:00
francescomani
2593a82147 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-24 09:42:43 +01:00
francescomani
3aa0c8654d Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2021-12-24 09:33:51 +01:00
luis_pereira87
f508d8c80d Improve frequency offset correction in two consecutive frames for SA 2021-12-23 17:14:46 +00:00
francescomani
62e540e6e6 fix in case uecap is null 2021-12-23 14:47:41 +01:00
francescomani
a33457aa62 fix in allocation of mcs_table in bwp structure 2021-12-23 14:27:49 +01:00
luis_pereira87
a2014a5249 Increase SSS phase hypothesis resolution 2021-12-23 10:36:58 +00:00
luis_pereira87
b830090a5a Perform frequency offset correction in two consecutive frames for SA 2021-12-22 18:27:26 +00:00
francescomani
c713d499f4 bugfix 2021-12-22 17:40:08 +01:00
rmagueta
ad37d8ae5f Change LOG levels 2021-12-22 13:26:52 +00:00
francescomani
a8d5595272 calling set mcs table function 2021-12-22 13:58:32 +01:00
francescomani
dfc5304967 passing UECAP structure to RRC reconfiguration functions 2021-12-22 10:43:08 +01:00
francescomani
36ffa3ff6c Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-22 09:31:55 +01:00
francescomani
ae29f64419 adapting function for dl 256 qam 2021-12-21 10:57:35 +01:00
Raymond Knopp
50629a83a2 first set of changes to AW2S ORI/eCPRI driver for n78 2021-12-20 21:24:52 +01:00
francescomani
5e3e1e42a5 remove softmodem param for 256 qam 2021-12-20 16:31:49 +01:00
francescomani
d0b43673cd Merge remote-tracking branch 'origin/NR_UE_Capabilities' into NR_RRC_256QAM 2021-12-20 16:07:06 +01:00
francescomani
6947202c80 sched_pdcch not a pointer in structures 2021-12-20 15:53:53 +01:00
rmagueta
65ebd0a8a7 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-20 11:48:39 +00:00
rmagueta
91ec80e3bb Fix after merge 2021-12-20 11:41:56 +00:00
rmagueta
06ec8b597e Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2021-12-20 11:06:34 +00:00
francescomani
bc04d7209b some improvements from review 2021-12-20 11:54:57 +01:00
francescomani
510a9d15dd Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2021-12-20 09:36:05 +01:00
rmagueta
5567306d49 Memory allocation optimization 2021-12-17 09:53:44 +00:00
francescomani
64b7741c16 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-17 09:18:17 +01:00
rmagueta
c2640db144 Fix memset that was deleting other variables 2021-12-16 20:22:06 +00:00
luis_pereira87
74ea4e5b5b Refactor name of two variables 2021-12-16 18:24:10 +00:00
luis_pereira87
13116299e7 Merge remote-tracking branch 'origin/develop-SRS' into develop-SRS
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
2021-12-16 17:44:36 +00:00
luis_pereira87
00904bc2a0 Real-time performance optimization 2021-12-16 17:43:31 +00:00
luis_pereira87
ebc33e4b3e Real-time performance optimization 2021-12-16 17:39:49 +00:00
luis_pereira87
6010aaeffc Add SRS resource allocation in fill_ul_rb_mask 2021-12-16 16:48:05 +00:00
francescomani
2414a681f8 additional parameters in pucch structure to avoid double computation 2021-12-16 14:44:40 +01:00
rmagueta
ec8ec353b6 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-16 10:10:53 +00:00
francescomani
842a4bbf40 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2021-12-16 09:29:16 +01:00
rmagueta
d2c6d66588 SRS Tracer improvements 2021-12-15 18:47:00 +00:00
francescomani
f2f6850b33 first version to check pucch vrb occupation 2021-12-15 18:03:43 +01:00
rmagueta
8aac96062a Add UL time channel estimation based on SRS 2021-12-15 17:02:57 +00:00
rmagueta
ecd09b3068 Change variable name 2021-12-15 14:39:31 +00:00
rmagueta
d31db3dd7e Change variable name 2021-12-15 14:16:30 +00:00
Raymond Knopp
99e006f750 testing with UM/No Harq 2021-12-15 13:38:00 +01:00
sfn
461cf243e5 Minor change nr_mimo_precoding_matrix 2021-12-15 13:18:19 +01:00
sfn
223ad6aabe Enable 4 layers Transmission for PDSCH: tested only for dlsim and RFsim with pmi=0 2021-12-15 12:55:27 +01:00
francescomani
909f0ad44f changing the name of a function 2021-12-15 09:43:08 +01:00
francescomani
366c42e6fa fix in prach vrb occupation 2021-12-15 09:31:30 +01:00
francescomani
bdf5d26b82 changing the name of a function 2021-12-15 08:44:53 +01:00
rmagueta
096869e07f SRS tracer improvements 2021-12-14 20:11:41 +00:00
rmagueta
351b74205b Increase SRS periodicity to get higher bitrate in NSA 2021-12-14 18:07:41 +00:00
rmagueta
edb6b9b422 Increase SRS periodicity to get higher bitrate 2021-12-14 18:00:55 +00:00
rmagueta
9e2ab1a36a Delete min_rxtxtime_pdsch from config file gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf to get 0 errors in iperf with COTS 2021-12-14 13:57:45 +00:00
Raymond Knopp
171408bc4d pucch DTX threshold modification 2021-12-13 21:25:38 +01:00
francescomani
9f9fdb95eb fix in config file 2021-12-13 16:12:10 +01:00
francescomani
5e52210f5d Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-13 15:52:53 +01:00
francescomani
29599ab91f fixes for FDD 2021-12-13 15:52:46 +01:00
rmagueta
b4e108e46c Code formatting improvements 2021-12-13 13:09:13 +00:00
rmagueta
cb1cc0a243 Merge remote-tracking branch 'origin/develop-SRS' into develop-SRS-Tracer 2021-12-13 11:33:50 +00:00
rmagueta
1341646ba4 Call on_off for GNB_PHY_UL_CHANNEL_ESTIMATE 2021-12-13 11:33:31 +00:00
rmagueta
1dfb9b07ce Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-13 11:15:44 +00:00
rmagueta
a2842e953d Add GNB_PHY_UL_CHANNEL_ESTIMATE for Tracer 2021-12-13 10:58:57 +00:00
Raymond Knopp
e9e5dd4c1a Merge branch 'CSI-SA' into aw2s-n41
Conflicts:
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair2/LAYER2/NR_MAC_gNB/config.c
2021-12-12 22:47:46 +01:00
Raymond Knopp
34866293c1 minor changes 2021-12-11 17:32:09 +01:00
rmagueta
2ad5045efe Tracer for UL estimated channel based on SRS 2021-12-10 20:02:39 +00:00
francescomani
0f48386133 improvements in handling tdd structure 2021-12-10 17:44:46 +01:00
rmagueta
74e962653b Add OAI logo and prev/next UE buttons 2021-12-10 15:40:02 +00:00
sfn
b942851a4c Fix failure of phy-sim 2021-12-10 15:50:04 +01:00
rmagueta
0f62e37e22 Add do_SRS parameter also for NSA 2021-12-09 17:39:39 +00:00
rmagueta
6fa17e2d29 Add do_SRS parameter in some config files 2021-12-09 16:59:57 +00:00
rmagueta
80853a0f6f Create do_SRS parameter to enable the periodic SRS 2021-12-09 16:54:16 +00:00
rmagueta
39eb4ded16 Add min_rxtxtime_pdsch in some config files 2021-12-09 15:50:57 +00:00
francescomani
20c30c46b0 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2021-12-09 13:28:19 +01:00
francescomani
d6dedc1f49 handling multiple pdcch pdu at fapi and phy 2021-12-09 13:14:19 +01:00
Raymond Knopp
9b0d2384ea minor changes after merge 2021-12-09 12:34:08 +01:00
Thomas Schlichter
bfd0de0a22 remove now unneccessary MAC includes and forward declaration 2021-12-09 11:38:39 +01:00
sfn
a778f69a76 Remove dependency of init_codebook_gNB on mac parameters 2021-12-09 10:36:01 +01:00
francescomani
72b0fac74a Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-12-08 12:09:52 +01:00
francescomani
e4dc6d11b8 symbol level occupation for ULSCH and msg3 2021-12-08 09:27:33 +01:00
francescomani
7cb3739cf6 bitmap occupation function 2021-12-07 14:54:48 +01:00
francescomani
1dd8c67fc2 block ul prbs in map with prbbl 2021-12-07 14:35:42 +01:00
rmagueta
ce967780e1 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2021-12-07 10:07:02 +00:00
francescomani
7e1ebc3653 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-07 10:07:40 +01:00
francescomani
0421171de0 Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2021-12-07 09:23:42 +01:00
francescomani
82dc3430f7 function for bitmap from start symbol and length 2021-12-06 11:20:51 +01:00
francescomani
a7d72715cf addressing review comments and some other changes 2021-12-04 17:09:55 +01:00
francescomani
5f0a9fba89 reworking handling pdcch at mac, including support for multiple pdcch pdu 2021-12-04 15:49:33 +01:00
rmagueta
5301e0a110 Fix SRS mapping above PRB 53 to work with COTS 2021-12-04 13:58:57 +00:00
rmagueta
a41b131f21 Fix first SRS reception at gNB 2021-12-03 18:07:33 +00:00
rmagueta
75057be8ef Add missing configuration for NSA 2021-12-03 16:17:20 +00:00
luis_pereira87
222ff5c11d Fix segmentation fault when exporting packets to wireshark with high MCS 2021-12-03 15:12:09 +00:00
rmagueta
4b79dbc377 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-02 11:01:19 +00:00
rmagueta
e013208451 Remove temporary xer_fprint 2021-12-02 11:01:01 +00:00
francescomani
3d10b9fc41 symbol-wise vrb map occupation for dl 2021-12-02 10:08:55 +01:00
rmagueta
3d00d78af8 Power noise estimation based on SRS 2021-12-02 01:30:06 +00:00
rmagueta
340508ffe0 Extension of the channel interpolation implementation for the case NR_SRS_Resource__transmissionComb_PR_n4 2021-12-01 14:43:04 +00:00
Raymond Knopp
6fb731ea5d Merge remote-tracking branch 'origin/NR_2port_CSIRS' into CSI-SA
Conflicts:
	ci-scripts/xml_files/fr1_sa_quectel.xml
	executables/nr-gnb.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
2021-12-01 14:51:10 +01:00
rmagueta
d7af1269b7 Fix LOG 2021-12-01 11:13:45 +00:00
rmagueta
dbba6c6518 Perform channel interpolation for SRS at gNB 2021-12-01 01:50:58 +00:00
rmagueta
3a983dbf9c LS channel estimation based on SRS at gNB 2021-11-30 18:24:51 +00:00
francescomani
99250c9524 fix for Y 2021-11-30 09:27:07 +01:00
rmagueta
0ae0c9ac56 Do not perform ULSCH scheduling on slots where there is SRS scheduling 2021-11-29 17:37:50 +00:00
francescomani
df9e492d02 removing bwp from pdcch_pdu_idx and cce_list 2021-11-29 16:39:05 +01:00
francescomani
2242c6a8a9 cosmetic changes in codebook initialization 2021-11-29 14:42:07 +01:00
sfn
e993a59d22 Make use of gNB precoding matrix for PDSCH layer precoding 2021-11-29 12:14:33 +01:00
sfn
0517b97382 Add codebook type I precoding matrices generation function 2021-11-29 12:14:33 +01:00
francescomani
4a26745919 Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2021-11-29 09:34:57 +01:00
francescomani
90fb3282f9 fix in dmrs config type at ue 2021-11-28 14:50:09 +01:00
rmagueta
ed38681ab5 gNB schedules different SRS resources for different UEs 2021-11-28 02:00:53 +00:00
rmagueta
fff3477811 Fix SRS mapping at UE 2021-11-28 01:18:44 +00:00
rmagueta
a9d474193b Fix BWP start in SRS 2021-11-26 18:28:35 +00:00
rmagueta
3259303690 Add gNB support for multiple UEs for SRS on PHY 2021-11-26 18:03:56 +00:00
francescomani
fa2ce6e680 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-11-26 11:34:22 +01:00
rmagueta
6847a1969b Fix build warning 2021-11-25 11:54:05 +00:00
rmagueta
fbc45b3571 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
2021-11-25 11:09:20 +00:00
rmagueta
03393ddc89 Minor fixes for multiple antennas scenario 2021-11-25 11:01:54 +00:00
rmagueta
b3e5b83b8b Fix build warning 2021-11-23 19:17:13 +00:00
rmagueta
71c64e023d Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-11-23 19:02:33 +00:00
rmagueta
01a260f1f9 gNB is receiving the SRS signal 2021-11-23 18:55:29 +00:00
rmagueta
37950f470b Fix in nfapi_nr_srs_pdu_t 2021-11-23 16:51:03 +00:00
rmagueta
cce7ed5483 Remove obsolete code and fix build warnings 2021-11-22 18:35:52 +00:00
rmagueta
c2d948a055 Implementation of the remaining procedures until call the new PHY function nr_get_srs_signal at gNB 2021-11-22 17:46:48 +00:00
francescomani
1f75a9780d scheduling of csi for im 2021-11-22 16:27:42 +01:00
rmagueta
9551cf4a82 Implementation of get_nr_srs_offset function to remove the hardcoded offset sl40 2021-11-22 14:27:22 +00:00
rmagueta
5697860db1 Fill NFAPI of SRS pdu 2021-11-22 13:56:18 +00:00
rmagueta
d70b52a76c Compute frame/slot at gNB to receive the SRS 2021-11-22 11:53:07 +00:00
rmagueta
86f306ee25 Create the rrc_get_max_nr_csrs function to get a configuration for SRS which fills the entire UL BWP 2021-11-19 17:51:41 +00:00
francescomani
79be6685fd changes in ue fapi handling to include csi-rs pdu 2021-11-19 17:42:24 +01:00
rmagueta
67c2ddb742 Fix SRS mapping at UE for a number of PRBs higher than 53 2021-11-19 15:43:56 +00:00
francescomani
f80ba3e4db nzp csi-rs scheduling function 2021-11-19 15:48:07 +01:00
rmagueta
10ecfcda40 Fix phi_M_ZC_6 2021-11-19 11:51:23 +00:00
rmagueta
2aeee0534b Fix phi_M_ZC_12 2021-11-19 11:42:04 +00:00
rmagueta
2c35192416 Fix phi_M_ZC_18 2021-11-19 11:31:03 +00:00
rmagueta
d8dc5baf3c Fix phi_M_ZC_24 2021-11-18 19:50:53 +00:00
Masayuki Harada
aba84b06cb Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2021-11-18 09:27:37 +09:00
rmagueta
f05ede7fed UE is transmitting the SRS periodically 2021-11-17 19:10:21 +00:00
rmagueta
dfec275b1c Send srs_config_pdu from MAC to PHY 2021-11-16 18:12:57 +00:00
francescomani
59e727049d bugfix in dmrs_ports handling at UE for pdsch 2021-11-16 12:04:00 +01:00
rmagueta
8c20f69aeb Compute slot and frame for SRS transmission at UE 2021-11-15 17:27:42 +00:00
francescomani
174ee99d3c fix in dlsim 2021-11-15 16:47:56 +01:00
Guido Casati
12700a1727 Updated band 78 conf file for SA mode 2021-11-15 16:13:15 +01:00
Guido Casati
7c941435ad Bugfix wrong configuration of initial ack nack timing in FDD mode 2021-11-15 16:13:15 +01:00
Guido Casati
0466281380 Update conf file for band 66 according to default SA mode scenario
- conf file now takes into account the basic SA scenario with gNB and CN in the same PC
- Network parameters and gNB interfaces have been updated accordingly
2021-11-15 16:13:15 +01:00
luis_pereira87
dd1f8fbaee Update SA default configuration files 2021-11-15 11:59:21 +00:00
rmagueta
dd018928b1 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-11-15 11:42:35 +00:00
rmagueta
4f783e83b6 Set SRS as periodic 2021-11-15 11:41:10 +00:00
rmagueta
55d753bb8e Revert "Create gNB_scheduler_SRS.c"
This reverts commit 68e968e556.
2021-11-15 11:10:55 +00:00
francescomani
b218f55a82 setting max mcs to the one reported by CSI 2021-11-15 11:27:17 +01:00
francescomani
83e203476f Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-11-15 10:51:09 +01:00
rmagueta
68e968e556 Create gNB_scheduler_SRS.c 2021-11-13 17:10:07 +00:00
rmagueta
6c767458e8 Fill fapi_nr_ul_config_srs_pdu struct 2021-11-12 14:23:08 +00:00
francescomani
8849a5e20d fix for numDmrsCdmGrpsNoData in SA 2021-11-12 09:55:58 +01:00
Roberto Louro Magueta
7c899fd147 Revert "Init SRS parameters at gNB"
This reverts commit 6aea63a0eb
2021-11-11 17:58:11 +00:00
rmagueta
6aea63a0eb Init SRS parameters at gNB 2021-11-11 16:46:43 +00:00
francescomani
2eac9f53c7 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-11-11 16:35:46 +01:00
rmagueta
7e8dd29828 Add SRS debug 2021-11-11 15:13:34 +00:00
rmagueta
dc59ed65bd Creating the empty functions required for the NR-SRS 2021-11-10 19:24:32 +00:00
rmagueta
f91017e2f0 Change LOG levels 2021-11-10 17:31:49 +00:00
rmagueta
4acc0f05ac Update config files for SA 2021-11-10 16:57:36 +00:00
francescomani
26a541e2b0 removing unnecessary free tdd_UL_DL_ConfigurationCommon 2021-11-10 16:24:05 +01:00
francescomani
bf8a191370 fixing msg2 scheduler 2021-11-10 15:24:08 +01:00
francescomani
47847f1701 bugfix in ul preprocessor 2021-11-09 15:57:31 +01:00
francescomani
6087030c78 adding min_rxtxtime_pdsch to fdd config file 2021-11-09 13:53:58 +01:00
francescomani
1624e81141 fixes in UL scheduler at UE 2021-11-09 10:18:39 +01:00
francescomani
911b38776f to avoid unnecessary error message for mixed slot in fdd 2021-11-08 18:07:38 +01:00
francescomani
bde7e3a378 fixing initialization of UL_tti_req_ahead 2021-11-08 17:39:58 +01:00
francescomani
6ce5f98c62 some fixes 2021-11-08 16:52:00 +01:00
francescomani
c9f2f54df3 using minRXTXTIMEpdsch in acknack scheduling (for common case) 2021-11-08 15:18:05 +01:00
francescomani
3808937231 Merge remote-tracking branch 'origin/NR_UE_acknack' into nr-fdd-scheduling 2021-11-08 11:53:50 +01:00
francescomani
30cc2b764f removing min_fb_time from acknack scheduling 2021-11-08 11:00:59 +01:00
francescomani
3fcbfdadad Minimum value of DL to ACK 2021-11-08 10:26:14 +01:00
francescomani
6784eac3f5 runmodem update for sa 2021-11-08 09:52:43 +01:00
francescomani
d872a9bc95 runmodem update for IF frequency 2021-11-08 09:52:29 +01:00
Guido Casati
565fb88342 Simplified set_tdd_config_nr_ue function
- reviewed redundant code
- removed unnecessary return
2021-11-05 16:05:10 +01:00
Guido Casati
9d9bc0e718 Conf file for band 66 in SA mode 2021-11-05 16:05:10 +01:00
Guido Casati
755c8d5055 Fixed calculation of num dmrs per prb at gnb side
- the param was hardcoded to 12 at gNB side
  while it was computed at UE side
- the same function used at UE side has been moved to the common file
- now the computation at gNB side is consistent with the UE
2021-11-05 16:05:10 +01:00
Guido Casati
a5f18dbb20 Enhancements to the overall MAC logging
- updating to NR_MAC tag
- minor cleanups
- added more relavant info for debugging purposes
2021-11-05 16:05:10 +01:00
Guido Casati
0286138f33 Adaptations of the MAC scheduling to support FDD
- removed calls to the TDD UL/DL configuration common in FDD mode
- bugfix in the generation of prach info from index
- initial adaptation of gNB schedulers
- adapted PUCCH ack/nack scheduling by taking into account 6 slots min
  delay in FDD mode (to be integrated with latest development of PUCCH)
- made the use of nr_slots_per_frame more consistent
2021-11-05 16:05:01 +01:00
Masayuki Harada
010f64db50 Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2021-11-01 14:45:52 +09:00
Eurecom
a0f6545733 added 133/162 PRBs to nr_dlsim 2021-10-31 21:14:53 +01:00
Eurecom
6d6dd8f177 small modification in UE RX for handling DMRS configuration 2021-10-31 21:00:50 +01:00
francescomani
2db3e842fd Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-10-22 11:09:51 +02:00
Masayuki Harada
30b40a0d5f Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2021-10-21 19:49:26 +09:00
Masayuki Harada
772e873720 Add some comment and logs. 2021-10-21 19:45:42 +09:00
Masayuki Harada
4ff836fe52 Merge remote-tracking branch 'remotes/origin/oai_develop' into NR_SA_pdu_session_modify_release 2021-10-20 00:42:05 +09:00
Eurecom
4496b05423 testing CSI reporting and MIMO DL 2021-10-17 18:03:55 +02:00
Eurecom
f83c02d981 Merge branch 'NR_2port_CSIRS' into CSI-SA
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_ulsch.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2021-10-17 02:13:11 +02:00
Eurecom
52af089e2d Merge remote-tracking branch 'origin/integration_2021_wk41' into CSI-SA
Conflicts:
	ci-scripts/xml_files/fr1_sa_quectel.xml
	openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair2/GNB_APP/gnb_config.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2021-10-16 16:04:54 +02:00
Eurecom
8b441a19d6 Merge remote-tracking branch 'origin/integration_2021_wk41' into NR_2port_CSIRS 2021-10-16 15:55:59 +02:00
Eurecom
e1eebbad19 CSI RSRP reporting ok. 2021-10-16 11:11:05 +02:00
Masayuki Harada
cceed0341f Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into oai_develop 2021-10-15 15:30:04 +09:00
Eurecom
85d54ac9df logging 2021-10-14 15:46:50 +02:00
Eurecom
71d933d2f4 Merge remote-tracking branch 'origin/bandwidth-testing-abs' into bandwidth-testing
Conflicts:
	executables/nr-ru.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
2021-10-11 13:46:15 +02:00
Eurecom
a28c6e7c9f MAC support for prb blacklisting 2021-10-08 21:21:28 +02:00
Eurecom
7b1d84df74 Merge branch 'bandwidth-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into bandwidth-testing 2021-10-08 15:46:15 +02:00
Raymond Knopp
7d7dd29514 blacklisting of PRBs in configuration file 2021-10-08 15:44:57 +02:00
Eurecom
a0eddabbbd log reduction 2021-10-06 22:44:22 +02:00
Raymond Knopp
3549168347 removal of mean signal level 2021-10-06 22:43:06 +02:00
Raymond Knopp
33371f226a initial changes for n41 support with aw2s RRU 2021-10-05 11:37:34 +02:00
francescomani
97d114e0ed bugfix 2021-10-04 17:11:41 +02:00
Eurecom
95478f1937 Merge branch 'bandwidth-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into bandwidth-testing 2021-09-29 21:34:51 +02:00
Raymond Knopp
d9235268b4 MAC statistics in separate thread 2021-09-29 21:32:22 +02:00
Eurecom
bc03e8c13d Merge branch 'bandwidth-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into bandwidth-testing 2021-09-29 14:46:05 +02:00
francescomani
36c321a785 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-09-29 14:11:27 +02:00
Eurecom
5392b1f13f Merge branch 'bandwidth-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into bandwidth-testing 2021-09-27 07:22:13 +02:00
Eurecom
286893a1ed commit before merge 2021-09-27 07:21:00 +02:00
Masayuki Harada
d6475ac6e3 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into oai_develop 2021-09-16 15:37:32 +09:00
Xue Song
124ccbf14c modify pdusession modify procedure 2021-09-14 09:53:42 +00:00
francescomani
9fb094600f cosmetic changes and duplicate code 2021-09-13 14:54:49 +02:00
francescomani
cfccd8ece8 fix another compilation issue 2021-09-13 10:01:05 +02:00
Xue Song
64a7359a4c set fiveQI in ngap_gNB_handle_pdusession_modify_request() 2021-09-13 07:59:22 +00:00
francescomani
b31199c4ef make csirs prb occupation generic 2021-09-12 11:27:45 +02:00
francescomani
736b8be64d fix phy sim compilation issue 2021-09-12 10:08:26 +02:00
francescomani
3c766d29f3 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-09-12 09:38:38 +02:00
Xue Song
9a09335495 add rrc_gNB_modify_dedicatedRRCReconfiguration()
add rrc_gNB_process_NGAP_PDUSESSION_MODIFY_REQ()
add rrc_gNB_send_NGAP_PDUSESSION_MODIFY_RESP()
2021-09-10 08:41:21 +00:00
Masayuki Harada
fd297ef080 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into oai_develop 2021-09-10 15:13:37 +09:00
francescomani
17c0268775 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-09-07 17:17:35 +02:00
francescomani
32bbf94c5d adding condition to use type 2 only for OAI UE 2021-09-07 16:54:53 +02:00
francescomani
822d8e71ad fixed missed initialization 2021-08-27 16:05:35 +02:00
francescomani
b10d32d8b8 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-08-27 16:02:58 +02:00
He Shanyun
cc7c4ba2e4 Merge commit '6df331d80ec05aca315778708ce72914f961ee7b' into oai_develop 2021-08-26 05:49:12 +00:00
francescomani
0934403a42 bugfix in setting the nb of layers for sa 2021-08-10 14:26:09 +02:00
francescomani
2e8018d28f avoid segmentation fault in scheduling csirs for sa 2021-08-10 12:32:52 +02:00
francescomani
3c7796adaa Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-07-27 11:00:29 +02:00
Thomas Schlichter
cdbdb15858 fix 2 layer MIMO in nr_dlsim after last merge with develop 2021-07-12 14:42:03 +02:00
francescomani
57775af3c1 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-07-12 14:02:31 +02:00
francescomani
9709b5efe7 copying retInfo to sched_pusch in the right place 2021-07-07 17:41:36 +02:00
francescomani
c72156aa07 bugfix in set_dl_mcs 2021-07-06 17:45:10 +02:00
francescomani
1de542eb35 removing layers from UE_info 2021-07-01 14:41:05 +02:00
francescomani
a8c4dd537f fill dmrs mask depending on actual number of frontloaded symbols, not maxlength 2021-06-25 18:10:16 +02:00
francescomani
c9a3125937 get nrOfLayers from DCI info at UE 2021-06-24 14:37:24 +02:00
francescomani
ee2079816b handling dl dmrs ports at mac and other modifications for semi static parameters for dlsch 2021-06-23 18:30:24 +02:00
francescomani
ed54f59818 handling dl dmrs ports at phy 2021-06-22 18:29:22 +02:00
francescomani
ee2f133cae max mimo layers depending on antenna ports from config file 2021-06-21 12:19:39 +02:00
francescomani
d3ad905324 remove debug print from log 2021-06-17 18:24:13 +02:00
francescomani
549e3a9159 remove choice in CSI report structure 2021-06-17 18:21:25 +02:00
francescomani
0ec932b57f nb of layers from CSI Report 2021-06-17 13:18:45 +02:00
francescomani
5e4d40b1ec bugfix in rrc configuration 2021-06-17 12:55:43 +02:00
francescomani
39defb49ed passing nroflayers to nr_find_nb_rb 2021-06-17 10:54:52 +02:00
Thomas Schlichter
311b97685e gNB: add nrOfLayers to sched_pdsch 2021-06-17 10:41:30 +02:00
francescomani
40c51ebc0b tbs computation on the fly in pf_dl 2021-06-17 10:37:34 +02:00
francescomani
5d34f4906d set mcs from csi report 2021-06-17 10:04:03 +02:00
francescomani
63d0c085a6 fixing dlsim ulsim 2021-06-16 18:47:03 +02:00
francescomani
3ca8ee8601 some cleanup and fixes 2021-06-16 10:51:17 +02:00
francescomani
ec36342fa6 Merge branch 'NR_2port_CSIRS' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_2port_CSIRS 2021-06-16 08:50:08 +02:00
francescomani
71a9ee0c4e flexible csi configuration including do_csirs config parameter 2021-06-15 18:04:06 +02:00
Eurecom
0cdff39806 Merge remote-tracking branch 'origin/develop-NR_SA_F1AP_5GRECORDS' into NR_2port_CSIRS 2021-06-15 17:54:37 +02:00
francescomani
0f5071c166 bugfix in zero padding 2021-06-11 12:06:13 +02:00
francescomani
5451db54f1 RRC configuration for CSI-IM 2021-06-09 15:27:34 +02:00
Eurecom
3e8bc05bdf testing with 2x2 and 4x4 with N310, small modifications in nr_ru_procedures and usrp_lib.cpp for multiple antennas 2021-06-08 19:23:00 +02:00
Eurecom
3dbf4e94cb handling for UL failure. added do_precoding flag to nr-ru procedures. testing with 2x2 N310. 2021-06-08 18:38:17 +02:00
francescomani
9a030b42f0 Merge remote-tracking branch 'origin/develop-NR_SA_F1AP_5GRECORDS' into NR_2port_CSIRS 2021-06-08 14:50:52 +02:00
francescomani
601381cb44 another tentative change of configuration for 2 port CSI 2021-06-08 08:47:55 +02:00
francescomani
4819b14671 bitlen for typeI single panel 2021-06-07 17:36:16 +02:00
francescomani
c114c245de adding rrc parameter csi-ReportingBand 2021-06-04 18:19:54 +02:00
francescomani
4b0883f2e0 adding cri_RI_LI_PMI_CQI option 2021-06-04 11:56:15 +02:00
francescomani
9cda0a0ced update in CSI report evaluation including PMI 2021-06-04 09:54:01 +02:00
francescomani
c3627daa22 update in CSI meas computation, including PMI for 2 port 2021-06-03 16:03:48 +02:00
francescomani
2959b34704 2 port CSI configuration 2021-06-02 12:37:43 +02:00
1011 changed files with 29377 additions and 66236 deletions

View File

@@ -21,28 +21,14 @@
# OpenAirInterface License #
### Included Fixes: ###
- Ease of use of gprof and address sanitizer for debugging purposes
- Updated json files to allow for GDB, real-time debugging capabilities
- Updated logging features to minimally log only key connection milestones. This imroves scalability of multiple UEs.
- Updated logging to include time stamp for timing analysis
- Updated memory allocation procedures to correct size requirements
- Added debugging features to handle signal terminations
- nfapi.c pullarray8 fix invalid pointer math
- Overlapping destination and source memory in memcpy, so updated to memmove to check for this bug
- Advanced error checking mechanisms in critical pack and unpack functions
- Created option for CPU assignment to UE to improve scalability
- Added EPC integration to allow multiple individual UE entities to each have their USIM information parced by the executables
- Updated random value seeds to minimize probability of error in generation of random values
- Enables capability round robin scheduler if desired
- Enables capability real time scheduler if desired
- Added new standalone functions to the UE phy-layer (phy_stub_ue.c) to incorporate individual UE entities
- Updated sending and packing functions in UE (lte_ue.c) to incorporate new standalone changes
- Incorporated semaphores to control timing of incoming downlink packets
- Implemented new queuing system to handle message exchange from UE to eNB and vice versa
- Updated global value in nFAPI for size of subframe
- Updated global value to increase scalability in system
* [OAI License Model](http://www.openairinterface.org/?page_id=101)
* [OAI License v1.1 on our website](http://www.openairinterface.org/?page_id=698)
It is distributed under **OAI Public License V1.1**.
The license information is distributed under [LICENSE](LICENSE) file in the same directory.
Please see [NOTICE](NOTICE.md) file for third party software that is included in the sources.
# Where to Start #

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -1,12 +1,26 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Chart.Name }}-{{ .Values.global.namespace }}-rbac
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
name: {{ .Chart.Name }}-{{ .Release.Namespace }}-role
rules:
- apiGroups:
- security.openshift.io
resourceNames:
- privileged
resources:
- securitycontextconstraints
verbs:
- use
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Chart.Name }}-{{ .Release.Namespace }}-binding
subjects:
- kind: ServiceAccount
name: {{ .Values.global.serviceAccountName }}
namespace: {{ .Values.global.namespace }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: Role
name: {{ .Chart.Name }}-{{ .Release.Namespace }}-role
apiGroup: rbac.authorization.k8s.io

View File

@@ -4,9 +4,9 @@
global:
serviceAccountName: oai-physim-sa
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: TAG
## Declaring values specific to coressponding physim to overwrite

View File

@@ -222,7 +222,7 @@ pipeline {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'Test-RF-Sim-Container-4G')
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'Test-RF-Sim-Container-5G')
}
}
post {
@@ -238,6 +238,26 @@ pipeline {
}
}
}
stage ("5G L2 Simulators") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-L2-Sim-Test-5G', 'Test-L2-Sim-Container-5G')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-L2-Sim-Test-5G')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("NSA B200 Sanity Check") {
when { expression {doMandatoryTests} }
steps {

View File

@@ -136,16 +136,6 @@ pipeline {
// For the moment, there is no fail criteria. Just a notification of number of files that do not follow
sh "./ci-scripts/checkCodingFormattingRules.sh"
}
// With Mosaic 5G being part of OSA and making all it's repositories public
// No need to pass credentials to clone flexran-rtc
if (doMandatoryTests) {
sh "mkdir flexran"
dir ('flexran') {
sh "git clone https://gitlab.eurecom.fr/flexran/flexran-rtc.git . > ../git_clone.log 2>&1"
sh "git checkout develop >> ../git_clone.log 2>&1"
sh "zip -r -qq flexran.zip ."
}
}
}
}
post {
@@ -159,16 +149,6 @@ pipeline {
}
}
stage ("Start VM -- basic-sim") {
steps {
lock (vmResource) {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
}
stage ("Start VM -- gnb-usrp") {
steps {
lock (vmResource) {
@@ -211,15 +191,6 @@ pipeline {
stage ("Variant Builds") {
parallel {
stage ("Build basic simulator") {
steps {
gitlabCommitStatus(name: "Build basic-sim") {
timeout (time: 45, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build 5G gNB-USRP") {
steps {
gitlabCommitStatus(name: "Build gNB-USRP") {
@@ -270,9 +241,9 @@ pipeline {
script {
dir ('archives') {
if (fileExists('red_hat')) {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_eth ue_eth gnb_usrp nr_ue_usrp red_hat"
sh "zip -r -qq vm_build_logs.zip enb_eth ue_eth gnb_usrp nr_ue_usrp red_hat"
} else {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_eth ue_eth gnb_usrp nr_ue_usrp"
sh "zip -r -qq vm_build_logs.zip enb_eth ue_eth gnb_usrp nr_ue_usrp"
}
}
if(fileExists('archives/vm_build_logs.zip')) {
@@ -306,44 +277,6 @@ pipeline {
parallel {
stage ("VM-based tests") {
stages {
stage ("Build Flexran Controller") {
when {
expression {doMandatoryTests}
}
steps {
lock (vmResource) {
script {
timeout (time: 20, unit: 'MINUTES') {
try {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant flexran-rtc --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
stage ("Test basic simulator") {
when {
expression {doMandatoryTests}
}
steps {
lock (vmResource) {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test basic-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
stage ("Test L1 simulator") {
when {
expression {doMandatoryTests}
@@ -581,7 +514,7 @@ pipeline {
script {
if (doMandatoryTests) {
dir ('archives') {
sh "if [ -d basic_sim/test ] || [ -d rf_sim/test ] || [ -d l2_sim/test ]; then zip -r -qq vm_tests_logs.zip */test ; fi"
sh "if [ -d rf_sim/test ] || [ -d l2_sim/test ]; then zip -r -qq vm_tests_logs.zip */test ; fi"
}
if(fileExists('archives/vm_tests_logs.zip')) {
archiveArtifacts artifacts: 'archives/vm_tests_logs.zip'

View File

@@ -26,6 +26,9 @@ def nodeExecutor = params.nodeExecutor
// Name of the phone resource
def ciServerResource = params.serverResource
// Docker Hub account to push to
def DH_Account = "oaisoftwarealliance"
pipeline {
agent {
label nodeExecutor
@@ -55,7 +58,9 @@ pipeline {
stage ("Push to DockerHub") {
steps {
script {
WEEK_TAG = sh returnStdout: true, script: 'date +"%Y.w%U"'
WEEK_REF = sh returnStdout: true, script: 'date +"%Y.w%V"'
WEEK_REF = WEEK_REF.trim()
WEEK_TAG = sh returnStdout: true, script: 'python3 ./ci-scripts/provideUniqueImageTag.py --start_tag ' + WEEK_REF
WEEK_TAG = WEEK_TAG.trim()
withCredentials([
@@ -64,11 +69,11 @@ pipeline {
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue"]
sh "docker login -u ${DH_Username} -p ${DH_Password} > /dev/null 2>&1"
listOfImages.eachWithIndex { item, iindex ->
sh "docker image tag ${item}:develop ${DH_Username}/${item}:develop"
sh "docker image tag ${item}:develop ${DH_Username}/${item}:${WEEK_TAG}"
sh "docker push --quiet ${DH_Username}/${item}:${WEEK_TAG}"
sh "docker push --quiet ${DH_Username}/${item}:develop"
sh "docker rmi ${DH_Username}/${item}:${WEEK_TAG} ${DH_Username}/${item}:develop"
sh "docker image tag ${item}:develop ${DH_Account}/${item}:develop"
sh "docker image tag ${item}:develop ${DH_Account}/${item}:${WEEK_TAG}"
sh "docker push --quiet ${DH_Account}/${item}:${WEEK_TAG}"
sh "docker push --quiet ${DH_Account}/${item}:develop"
sh "docker rmi ${DH_Account}/${item}:${WEEK_TAG} ${DH_Account}/${item}:develop"
}
sh "docker logout > /dev/null 2>&1"
}

View File

@@ -113,6 +113,21 @@ pipeline {
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling SA-AmariS
jobName = "RAN-SA-AmariS-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling OAIUE N310-X300
jobName = "RAN-SA-OAIUE-N310-X300-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [

18
ci-scripts/as_ue/oai_ext_app.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
ue_id="$1" # UE id
duration="$2" # Sim duration
shift
shift
function end
{
exit 0
}
trap end INT TERM
echo "ip netns exec $ue_id $@ > /tmp/test_${ue_id}.log"
ip netns exec $ue_id $@ > /tmp/test_$ue_id.log

View File

@@ -0,0 +1,172 @@
/* UE simulator configuration */
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 1
#define TDD 1
#define CELL_BANDWIDTH 40
#define UE_COUNT 3 // number of simulated UEs 208970100001127, 208970100001128, 208970100001129
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: true,
cells: [{
rf_port: 0,
bandwidth: CELL_BANDWIDTH,
#if TDD == 1
band: 78,
dl_nr_arfcn:621312,
ssb_nr_arfcn:621312,
//band: 41,
//dl_nr_arfcn:517020,
//ssb_nr_arfcn:516990,
#else
band: 7,
dl_nr_arfcn: 536020,
ssb_nr_arfcn: 535930,
ssb_subcarrier_spacing: 15,
#endif
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* Enable it to allow sim_events to be handled remotely */
//rue_bind_addr: "127.0.10.11",
ue_list: [
{
/* UE capabilities */
/* USIM data */
"ue_id" : 0,
"imsi": "208970100001127",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
}, /*end UE object 0*/
{
/* UE capabilities */
/* USIM data */
"ue_id" : 1,
"imsi": "208970100001128",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
}, /*end UE object 1*/
{
/* UE capabilities */
/* USIM data */
"ue_id" : 2,
"imsi": "208970100001129",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
} /*end UE object 2*/
],/*end UE list*/
}/*end json*/

View File

@@ -0,0 +1,142 @@
/* UE simulator configuration */
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 1
#define TDD 1
#define CELL_BANDWIDTH 40
#define UE_COUNT 2 // number of simulated UEs 208970100001127, 208970100001128, 208970100001129
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: true,
cells: [{
rf_port: 0,
bandwidth: CELL_BANDWIDTH,
#if TDD == 1
band: 78,
dl_nr_arfcn:621312,
ssb_nr_arfcn:621312,
//band: 41,
//dl_nr_arfcn:517020,
//ssb_nr_arfcn:516990,
#else
band: 7,
dl_nr_arfcn: 536020,
ssb_nr_arfcn: 535930,
ssb_subcarrier_spacing: 15,
#endif
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* Enable it to allow sim_events to be handled remotely */
//rue_bind_addr: "127.0.10.11",
ue_list: [
{
/* UE capabilities */
/* USIM data */
"ue_id" : 1,
"imsi": "208970100001127",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
}, /*end UE object 0*/
{
/* UE capabilities */
/* USIM data */
"ue_id" : 2,
"imsi": "208970100001128",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
"tag": "ping",
"prog":"oai_ext_app.sh",
start_time: 15,
end_time: 25,
"args":["ping 192.168.70.136"],
"event":"ext_app"
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
} /*end UE object 1*/
],/*end UE list*/
}/*end json*/

View File

@@ -0,0 +1,150 @@
/* UE simulator configuration */
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 1
#define TDD 1
#define CELL_BANDWIDTH 40
#define UE_COUNT 2 // number of simulated UEs 208970100001127, 208970100001128, 208970100001129
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: true,
cells: [{
rf_port: 0,
bandwidth: CELL_BANDWIDTH,
#if TDD == 1
band: 78,
dl_nr_arfcn:621312,
ssb_nr_arfcn:621312,
//band: 41,
//dl_nr_arfcn:517020,
//ssb_nr_arfcn:516990,
#else
band: 7,
dl_nr_arfcn: 536020,
ssb_nr_arfcn: 535930,
ssb_subcarrier_spacing: 15,
#endif
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* Enable it to allow sim_events to be handled remotely */
//rue_bind_addr: "127.0.10.11",
ue_list: [
{
/* UE capabilities */
/* USIM data */
"ue_id" : 1,
"imsi": "208970100001127",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
"tag": "ping",
"prog":"oai_ext_app.sh",
start_time: 15,
end_time: 25,
"args":["ping 192.168.70.136"],
"event":"ext_app"
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
}, /*end UE object 0*/
{
/* UE capabilities */
/* USIM data */
"ue_id" : 2,
"imsi": "208970100001128",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
"tag": "ping",
"prog":"oai_ext_app.sh",
start_time: 15,
end_time: 25,
"args":["ping 192.168.70.136"],
"event":"ext_app"
},
{
event: "power_off",
start_time: 30,
}
] /*end sim events */
} /*end UE object 1*/
],/*end UE list*/
}/*end json*/

View File

@@ -0,0 +1,150 @@
/* UE simulator configuration */
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 1
#define TDD 1
#define CELL_BANDWIDTH 40
#define UE_COUNT 2 // number of simulated UEs 208970100001127, 208970100001128, 208970100001129
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: true,
cells: [{
rf_port: 0,
bandwidth: CELL_BANDWIDTH,
#if TDD == 1
band: 78,
dl_nr_arfcn:621312,
ssb_nr_arfcn:621312,
//band: 41,
//dl_nr_arfcn:517020,
//ssb_nr_arfcn:516990,
#else
band: 7,
dl_nr_arfcn: 536020,
ssb_nr_arfcn: 535930,
ssb_subcarrier_spacing: 15,
#endif
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* Enable it to allow sim_events to be handled remotely */
//rue_bind_addr: "127.0.10.11",
ue_list: [
{
/* UE capabilities */
/* USIM data */
"ue_id" : 1,
"imsi": "208970100001127",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
"tag": "ping",
"prog":"oai_ext_app.sh",
start_time: 20,
end_time: 30,
"args":["ping 192.168.70.136"],
"event":"ext_app"
},
{
event: "power_off",
start_time: 60,
}
] /*end sim events */
}, /*end UE object 0*/
{
/* UE capabilities */
/* USIM data */
"ue_id" : 2,
"imsi": "208970100001128",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [
{
event: "power_on",
start_time: 5,
},
{
"tag": "ping",
"prog":"oai_ext_app.sh",
start_time: 40,
end_time: 50,
"args":["ping 192.168.70.136"],
"event":"ext_app"
},
{
event: "power_off",
start_time: 60,
}
] /*end sim events */
} /*end UE object 1*/
],/*end UE list*/
}/*end json*/

View File

@@ -0,0 +1,113 @@
/* UE simulator configuration */
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 1
#define TDD 1
#define CELL_BANDWIDTH 40
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue1.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and
allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: false,
cells: [{
rf_port: 0,
bandwidth: CELL_BANDWIDTH,
#if TDD == 1
band: 78,
dl_nr_arfcn:621312,
ssb_nr_arfcn:621312,
//band: 41,
//dl_nr_arfcn:517020,
//ssb_nr_arfcn:516990,
#else
band: 7,
dl_nr_arfcn: 536020,
ssb_nr_arfcn: 535930,
ssb_subcarrier_spacing: 15,
#endif
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* Enable it to allow sim_events to be handled remotely */
//rue_bind_addr: "127.0.10.11",
ue_list: [
{
/* UE capabilities */
/* USIM data */
"imsi": "208970100001127",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 66051,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 66051,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [{
event: "power_on",
start_time: 5,
}, {
"tag": "ping",
"prog":"oai_ext_app.sh",
start_time: 15,
end_time: 25,
"args":["ping 192.168.70.136"],
"event":"ext_app"
},
{
event: "power_off",
start_time: 30,
}]
}
],
}

View File

@@ -0,0 +1,109 @@
/* UE simulator configuration */
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 1
#define TDD 1
#define CELL_BANDWIDTH 20
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and
allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: false,
cells: [{
rf_port: 0,
bandwidth: CELL_BANDWIDTH,
#if TDD == 1
// band: 78,
// dl_nr_arfcn:621312,
// ssb_nr_arfcn:621312,*/
band: 41,
dl_nr_arfcn:517020,
ssb_nr_arfcn:516990,
#else
band: 7,
dl_nr_arfcn: 536020,
ssb_nr_arfcn: 535930,
ssb_subcarrier_spacing: 15,
#endif
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* Enable it to allow sim_events to be handled remotely */
//rue_bind_addr: "127.0.10.11",
ue_list: [
{
/* UE capabilities */
/* USIM data */
"imsi": "208970100001127",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [
{
sst: 1,
sd: 1,
},
],
default_pdu_session_snssai: {
sst: 1,
sd: 1,
},
/* Enable it to allow sim_events to be handled remotely */
//rue_addr: "127.1.0.0",
/* Enable it to create a TUN interface for each UE PDN */
tun_setup_script: "ue-ifup",
sim_events: [{
event: "power_on",
start_time: 5,
}, {
event: "ext_app",
start_time: 15,
end_time: 25,
prog: "ext_app.sh",
args: ["iperf", " -c 172.21.10.5", " -u"," -b 1M"," -i 1"," -t 10"]
}, {
event: "power_off",
start_time: 30,
}]
}
],
}

View File

@@ -62,7 +62,7 @@ function build_on_vm {
echo "ARCHIVES_LOC = $ARCHIVES_LOC"
echo "BUILD_OPTIONS = $BUILD_OPTIONS"
if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]]
if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
echo "This VM type is no longer supported in the pipeline framework"
return

View File

@@ -14,7 +14,7 @@ steps:
ADB: #on Caracal
ADBIPAddress : 192.168.18.196
ADBIPAddress : 172.21.16.132
ADBUserName : oaici
ADBPassword : KkexF6CErOi1fNuebCPsuIVK

View File

@@ -59,7 +59,7 @@ if [ $# -eq 0 ]
then
echo " ---- Checking the whole repository ----"
echo ""
NB_FILES_TO_FORMAT=`astyle --dry-run --options=ci-scripts/astyle-options.txt --recursive *.c *.h | grep -c Formatted || true`
NB_FILES_TO_FORMAT=`astyle --dry-run --options=ci-scripts/astyle-options.txt --recursive --exclude=ci-scripts --exclude=cmake_targets *.c *.h | grep -c Formatted || true`
echo "Nb Files that do NOT follow OAI rules: $NB_FILES_TO_FORMAT"
echo $NB_FILES_TO_FORMAT > ./oai_rules_result.txt
@@ -136,7 +136,7 @@ fi
# Merge request scenario
MERGE_COMMMIT=`git log -n1 --pretty=format:%H`
TARGET_INIT_COMMIT=`cat .git/refs/remotes/origin/$TARGET_BRANCH`
TARGET_INIT_COMMIT=`git log -n1 --pretty=format:%H origin/$TARGET_BRANCH`
echo " ---- Checking the modified files by the merge request ----"
echo ""

View File

@@ -12,7 +12,7 @@ idefix:
LogStore : /media/usb-drive/ci_qlogs
PLMN : 22201
UENetwork : wwan0
HostIPAddress : 192.168.18.188
HostIPAddress : 172.21.16.135
HostUsername : oaicicd
HostPassword : oaicicd
HostSourceCodePath : none
@@ -27,18 +27,66 @@ nrmodule2_quectel:
Apn :
OAICN5G : oai
OAI-Rel14-Docker : oai.ipv4
WakeupScript : ci_ctl_qtel.py /dev/ttyUSB7 wup
DetachScript : ci_ctl_qtel.py /dev/ttyUSB7 detach
WakeupScript : ci_ctl_qtel.py /dev/ttyUSB2 wup
DetachScript : ci_ctl_qtel.py /dev/ttyUSB2 detach
LogStore : /media/ci_qlogs
PLMN : 20897
UENetwork : wwan1
HostIPAddress : 192.168.18.189
UENetwork : wwan0
HostIPAddress : 172.21.16.139
HostUsername : nrmodule2
HostPassword : linux
HostSourceCodePath : none
StartCommands :
- sudo -S ip link set dev wwan1 mtu 1500
MTU : 1500
# CAUTION: 192.168.18.89 address has to be changed when the server is moved
#single UE single ping
amarisoft_ue_1:
ID: amarisoft_ue_1
State : enabled
Kind : amarisoft
#not required for AS config but needed for py script
WakeupScript : none
DetachScript : none
#end
Cmd : /root/NV17-12-21/ue/lteue
Config : /root/NV17-12-21/ue/config/oaicicd-ue-Ping-SATest.cfg
Duration : 60
Ping : /tmp/test_ue1.log
UELog : /tmp/ue1.log
HostIPAddress : 172.21.16.144
HostUsername : root
HostPassword : toor
HostSourceCodePath : /tmp
#an other scenario example
#notice : this will not work as such, only suggestion for multi ue scenario
amarisoft_ue_2:
ID: amarisoft_ue_2
State : enabled
Kind : amarisoft
#not required for AS config but needed for py script
WakeupScript : none
DetachScript : none
#end
Cmd : /root/NV17-12-21/ue/lteue
Config : /root/NV17-12-21/ue/config/xxxxxxx.cfg #to be updated for an other scenario
Duration : 60
Ping :
- /tmp/test_ue1.log #to be updated fo an other scenario
- /tmp/test_ue2.log #could be a list for a multi ue scenario
UELog :
- /tmp/ue1.log
- /tmp/ue1.log
HostIPAddress : 192.168.18.89
HostUsername : root
HostPassword : toor
HostSourceCodePath : /tmp
#do not remove
dummy:
ID: ''
State : ''
@@ -50,7 +98,7 @@ dummy:
DetachScript : ''
PLMN : 22201
UENetwork : wwan0
HostIPAddress : 192.168.18.188
HostIPAddress : 172.21.16.135
HostUsername : oaicicd
HostPassword : oaicicd
HostSourceCodePath : none

View File

@@ -0,0 +1,81 @@
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
#---------------------------------------------------------------------
#
# Required Python Version
# Python 3.x
#
#---------------------------------------------------------------------
#to use isfile
import os
import sys
import logging
#to create a SSH object locally in the methods
import sshconnection
#time.sleep
import time
import re
import subprocess
from datetime import datetime
class AS_UE:
def __init__(self,Module):
#create attributes as in the UE dictionary
for k, v in Module.items():
setattr(self, k, v)
#-----------------$
#PUBLIC Methods$
#-----------------$
def WaitEndScenario(self):
logging.debug('waiting for scenario duration')
time.sleep(int(self.Duration))
def KillASUE(self):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
mySSH.command('killall --signal SIGKILL lteue-avx2', '#', 5)
mySSH.close()
def RunScenario(self):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
logging.debug("Deleting old artifacts :")
cmd='rm -rf ' + self.Ping + ' ' + self.UELog
mySSH.command(cmd,'#',5)
logging.debug("Running scenario :")
cmd='echo $USER; nohup '+self.Cmd + ' ' + self.Config + ' &'
mySSH.command(cmd,'#',5)
mySSH.close()

View File

@@ -93,6 +93,7 @@ class Containerize():
self.allImagesSize = {}
self.collectInfo = {}
self.deployedContainers = []
self.tsharkStarted = False
self.pingContName = ''
self.pingOptions = ''
@@ -106,6 +107,9 @@ class Containerize():
self.registrySvrId = ''
self.testSvrId = ''
#checkers from xml
self.ran_checkers={}
#-----------------------------------------------------------
# Container management functions
#-----------------------------------------------------------
@@ -239,7 +243,7 @@ class Containerize():
# Build the base image only on Push Events (not on Merge Requests)
# On when the base image docker file is being modified.
if forceBaseImageBuild:
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target ' + baseImage + ' --tag ' + baseImage + ':' + baseTag + ' --file docker/Dockerfile.base' + self.dockerfileprefix + ' --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" . > cmake_targets/log/ran-base.log 2>&1', '\$', 1600)
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target ' + baseImage + ' --tag ' + baseImage + ':' + baseTag + ' --file docker/Dockerfile.base' + self.dockerfileprefix + ' . > cmake_targets/log/ran-base.log 2>&1', '\$', 1600)
# First verify if the base image was properly created.
status = True
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' ' + baseImage + ':' + baseTag, '\$', 5)
@@ -290,6 +294,9 @@ class Containerize():
if image != 'ran-build':
mySSH.command('sed -i -e "s#' + "ran-build" + ':latest#' + "ran-build" + ':' + imageTag + '#" docker/Dockerfile.' + pattern + self.dockerfileprefix, '\$', 5)
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target ' + image + ' --tag ' + image + ':' + imageTag + ' --file docker/Dockerfile.' + pattern + self.dockerfileprefix + ' . > cmake_targets/log/' + image + '.log 2>&1', '\$', 1200)
# Flatten Image
if image != 'ran-build':
mySSH.command('python3 ./ci-scripts/flatten_image.py --tag ' + image + ':' + imageTag, '\$', 300)
# split the log
mySSH.command('mkdir -p cmake_targets/log/' + image, '\$', 5)
mySSH.command('python3 ci-scripts/docker_log_split.py --logfilename=cmake_targets/log/' + image + '.log', '\$', 5)
@@ -603,6 +610,8 @@ class Containerize():
if containerToKill:
mySSH.command('docker kill --signal INT ' + containerName, '\$', 30)
time.sleep(5)
mySSH.command('docker kill --signal KILL ' + containerName, '\$', 30)
time.sleep(5)
mySSH.command('docker logs ' + containerName + ' > ' + lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '\$', 30)
mySSH.command('docker rm -f ' + containerName, '\$', 30)
# Forcing the down now to remove the networks and any artifacts
@@ -624,7 +633,7 @@ class Containerize():
else:
if containerToKill:
logging.debug('\u001B[1m Analyzing ' + nodeB_prefix + 'NB logfile \u001B[0m ' + self.eNB_logFile[self.eNB_instance])
logStatus = RAN.AnalyzeLogFile_eNB(self.eNB_logFile[self.eNB_instance], HTML)
logStatus = RAN.AnalyzeLogFile_eNB(self.eNB_logFile[self.eNB_instance], HTML, self.ran_checkers)
else:
logStatus = 0
if (logStatus < 0):
@@ -636,7 +645,7 @@ class Containerize():
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './' + self.eNB_logFile[self.eNB_instance], self.eNBSourceCodePath + '/cmake_targets/')
logging.info('\u001B[1m Undeploying OAI Object Pass\u001B[0m')
def DeployGenObject(self, HTML):
def DeployGenObject(self, HTML, RAN, UE):
self.exitStatus = 0
logging.info('\u001B[1m Checking Services to deploy\u001B[0m')
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose config --services'
@@ -677,44 +686,100 @@ class Containerize():
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps -a'
count = 0
healthy = 0
newContainers = []
while (count < 10):
count += 1
containerStatus = []
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
healthy = 0
for state in deployStatus.split('\n'):
res = re.search('Up \(healthy\)', state)
res = re.search('Name|----------', state)
if res is not None:
continue
if len(state) == 0:
continue
res = re.search('^(?P<container_name>[a-zA-Z0-9\-\_]+) ', state)
if res is not None:
cName = res.group('container_name')
found = False
for alreadyDeployed in self.deployedContainers:
if cName == alreadyDeployed:
found = True
if not found:
newContainers.append(cName)
self.deployedContainers.append(cName)
if re.search('Up \(healthy\)', state) is not None:
healthy += 1
if re.search('rfsim4g-db-init.*Exit 0', state) is not None:
subprocess.check_output('docker rm -f rfsim4g-db-init || true', shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
containerStatus.append(state)
if healthy == self.nb_healthy[0]:
count = 100
else:
time.sleep(10)
imagesInfo = ''
for newCont in newContainers:
cmd = 'docker inspect -f "{{.Config.Image}}" ' + newCont
imageName = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
imageName = str(imageName).strip()
cmd = 'docker image inspect --format "{{.RepoTags}}\t{{.Size}}\t{{.Created}}" ' + imageName
imagesInfo += subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n'
for imageInfo in imagesInfo.split('\n'):
html_cell += imageInfo[:-11] + '\n'
html_cell += '\n'
for cState in containerStatus:
html_cell += cState + '\n'
html_cell += '</pre>'
html_queue.put(html_cell)
if count == 100 and healthy == self.nb_healthy[0]:
if self.tsharkStarted == False:
logging.debug('Starting tshark on public network')
self.CaptureOnDockerNetworks()
self.tsharkStarted = True
HTML.CreateHtmlTestRow('n/a', 'OK', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTestRowQueue('n/a', 'OK', 1, html_queue)
for cState in containerStatus:
logging.debug(cState)
logging.info('\u001B[1m Deploying OAI Object(s) PASS\u001B[0m')
else:
self.exitStatus = 1
HTML.CreateHtmlTestRow('Could not deploy in time', 'KO', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTestRowQueue('Could not deploy in time', 'KO', 1, html_queue)
for cState in containerStatus:
logging.debug(cState)
logging.error('\u001B[1m Deploying OAI Object(s) FAILED\u001B[0m')
HTML.testCase_id = 'AUTO-UNDEPLOY'
UE.testCase_id = 'AUTO-UNDEPLOY'
HTML.desc = 'Automatic Undeployment'
UE.desc = 'Automatic Undeployment'
UE.ShowTestID()
self.UndeployGenObject(HTML, RAN, UE)
self.exitStatus = 1
def CaptureOnDockerNetworks(self):
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml config | grep com.docker.network.bridge.name | sed -e "s@^.*name: @@"'
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
cmd = 'sudo nohup tshark -f "not tcp and not arp and not port 53 and not host archive.ubuntu.com and not host security.ubuntu.com and not port 2152"'
if re.search('4g.*rfsimulator', self.yamlPath[0]) is not None:
# Excluding any traffic from LTE-UE container (192.168.61.30)
# From the trf-gen, keeping only PING traffic
cmd = 'sudo nohup tshark -f "(host 192.168.61.11 and icmp) or (not host 192.168.61.11 and not host 192.168.61.30 and not arp and not port 53 and not port 2152)"'
elif re.search('5g.*rfsimulator', self.yamlPath[0]) is not None:
# Excluding any traffic from NR-UE containers (192.168.71.150 and 192.168.71.151)
# From the ext-dn, keeping only PING traffic
cmd = 'sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not host 192.168.71.150 and not host 192.168.71.151 and not arp and not port 53 and not port 2152 and not port 2153)"'
elif re.search('5g_l2sim', self.yamlPath[0]) is not None:
cmd = 'sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not arp and not port 53 and not port 2152 and not port 2153)"'
else:
return
for name in networkNames.split('\n'):
res = re.search('rfsim', name)
if res is not None:
if re.search('rfsim', name) is not None or re.search('l2sim', name) is not None:
cmd += ' -i ' + name
cmd += ' -w /tmp/capture_'
ymlPath = self.yamlPath[0].split('/')
cmd += ymlPath[1] + '.pcap > /tmp/tshark.log 2>&1 &'
logging.debug(cmd)
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
self.tsharkStarted = True
def UndeployGenObject(self, HTML, RAN, UE):
self.exitStatus = 0
@@ -745,7 +810,11 @@ class Containerize():
cName = res.group('container_name')
cmd = 'cd ' + self.yamlPath[0] + ' && docker logs ' + cName + ' > ' + cName + '.log 2>&1'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
if re.search('magma-mme', cName) is not None:
cmd = 'cd ' + self.yamlPath[0] + ' && docker cp -L ' + cName + ':/var/log/mme.log ' + cName + '-full.log'
logging.debug(cmd)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
fullStatus = True
if anyLogs:
cmd = 'mkdir -p '+ logPath + ' && cp ' + self.yamlPath[0] + '/*.log ' + logPath
@@ -755,45 +824,48 @@ class Containerize():
# Analyzing log file(s)!
listOfPossibleRanContainers = ['enb', 'gnb', 'cu', 'du']
for container in listOfPossibleRanContainers:
filename = self.yamlPath[0] + '/rfsim?g-oai-' + container + '.log'
cmd = 'ls ' + filename
filenames = self.yamlPath[0] + '/*-oai-' + container + '.log'
cmd = 'ls ' + filenames
containerStatus = True
try:
lsStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
filename = str(lsStatus).strip()
filenames = str(lsStatus).strip()
except:
containerStatus = False
if not containerStatus:
continue
logging.debug('\u001B[1m Analyzing xNB logfile ' + filename + ' \u001B[0m')
logStatus = RAN.AnalyzeLogFile_eNB(filename, HTML)
if (logStatus < 0):
fullStatus = False
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'KO', logStatus)
else:
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
for filename in filenames.split('\n'):
logging.debug('\u001B[1m Analyzing xNB logfile ' + filename + ' \u001B[0m')
logStatus = RAN.AnalyzeLogFile_eNB(filename, HTML, self.ran_checkers)
if (logStatus < 0):
fullStatus = False
self.exitStatus = 1
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'KO', logStatus)
else:
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
listOfPossibleUeContainers = ['lte-ue*', 'nr-ue*']
for container in listOfPossibleUeContainers:
filename = self.yamlPath[0] + '/rfsim?g-oai-' + container + '.log'
cmd = 'ls ' + filename
filenames = self.yamlPath[0] + '/*-oai-' + container + '.log'
cmd = 'ls ' + filenames
containerStatus = True
try:
lsStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
filename = str(lsStatus).strip()
filenames = str(lsStatus).strip()
except:
containerStatus = False
if not containerStatus:
continue
logging.debug('\u001B[1m Analyzing UE logfile ' + filename + ' \u001B[0m')
logStatus = UE.AnalyzeLogFile_UE(filename, HTML, RAN)
if (logStatus < 0):
fullStatus = False
HTML.CreateHtmlTestRow('UE log Analysis', 'KO', logStatus)
else:
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
for filename in filenames.split('\n'):
logging.debug('\u001B[1m Analyzing UE logfile ' + filename + ' \u001B[0m')
logStatus = UE.AnalyzeLogFile_UE(filename, HTML, RAN)
if (logStatus < 0):
fullStatus = False
HTML.CreateHtmlTestRow('UE log Analysis', 'KO', logStatus)
else:
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
cmd = 'rm ' + self.yamlPath[0] + '/*.log'
logging.debug(cmd)
@@ -824,6 +896,7 @@ class Containerize():
logging.error('\u001B[1m Undeploying OAI Object(s) FAILED\u001B[0m')
return
self.deployedContainers = []
# Cleaning any created tmp volume
cmd = 'docker volume prune --force || true'
logging.debug(cmd)
@@ -836,6 +909,40 @@ class Containerize():
HTML.CreateHtmlTestRow('n/a', 'KO', CONST.ALL_PROCESSES_OK)
logging.info('\u001B[1m Undeploying OAI Object(s) FAIL\u001B[0m')
def StatsFromGenObject(self, HTML):
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
logPath = '../cmake_targets/log/' + ymlPath[1]
# if the containers are running, recover the logs!
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
cmd = 'docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" '
anyLogs = False
for state in deployStatus.split('\n'):
res = re.search('Name|----------', state)
if res is not None:
continue
if len(state) == 0:
continue
res = re.search('^(?P<container_name>[a-zA-Z0-9\-\_]+) ', state)
if res is not None:
anyLogs = True
cmd += res.group('container_name') + ' '
message = ''
if anyLogs:
logging.debug(cmd)
stats = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
for statLine in stats.split('\n'):
logging.debug(statLine)
message += statLine + '\n'
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n' + message + '</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', 1, html_queue)
def PingFromContainer(self, HTML, RAN, UE):
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
@@ -1042,19 +1149,19 @@ class Containerize():
mySSH.open(ipAddr, userName, password)
# Check if route to asterix gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.64/26"', '\$', 10)
result = re.search('192.168.18.194', mySSH.getBefore())
result = re.search('172.21.16.127', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.64/26 via 192.168.18.194 dev eno1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.64/26 via 172.21.16.127 dev eno1', '\$', 10)
# Check if route to obelix enb exists
mySSH.command('ip route | grep --colour=never "192.168.68.128/26"', '\$', 10)
result = re.search('192.168.18.193', mySSH.getBefore())
result = re.search('172.21.16.128', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 192.168.18.193 dev eno1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 172.21.16.128 dev eno1', '\$', 10)
# Check if route to nepes gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.192/26"', '\$', 10)
result = re.search('192.168.18.209', mySSH.getBefore())
result = re.search('172.21.16.137', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.192/26 via 192.168.18.209 dev eno1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.192/26 via 172.21.16.137 dev eno1', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
@@ -1070,19 +1177,19 @@ class Containerize():
mySSH.open(ipAddr, userName, password)
# Check if route to porcepix epc exists
mySSH.command('ip route | grep --colour=never "192.168.61.192/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
result = re.search('172.21.16.136', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 192.168.18.210 dev em1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 172.21.16.136 dev em1', '\$', 10)
# Check if route to porcepix cn5g exists
mySSH.command('ip route | grep --colour=never "192.168.70.128/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
result = re.search('172.21.16.136', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.70.128/26 via 192.168.18.210 dev em1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.70.128/26 via 172.21.16.136 dev em1', '\$', 10)
# Check if X2 route to obelix enb exists
mySSH.command('ip route | grep --colour=never "192.168.68.128/26"', '\$', 10)
result = re.search('192.168.18.193', mySSH.getBefore())
result = re.search('172.21.16.128', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 192.168.18.193 dev em1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 172.21.16.128 dev em1', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
@@ -1098,19 +1205,19 @@ class Containerize():
mySSH.open(ipAddr, userName, password)
# Check if route to porcepix epc exists
mySSH.command('ip route | grep --colour=never "192.168.61.192/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
result = re.search('172.21.16.136', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 192.168.18.210 dev eno1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 172.21.16.136 dev eno1', '\$', 10)
# Check if X2 route to asterix gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.64/26"', '\$', 10)
result = re.search('192.168.18.194', mySSH.getBefore())
result = re.search('172.21.16.127', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.64/26 via 192.168.18.194 dev eno1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.64/26 via 172.21.16.127 dev eno1', '\$', 10)
# Check if X2 route to nepes gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.192/26"', '\$', 10)
result = re.search('192.168.18.209', mySSH.getBefore())
result = re.search('172.21.16.137', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.192/26 via 192.168.18.209 dev eno1', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.192/26 via 172.21.16.137 dev eno1', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
@@ -1126,14 +1233,14 @@ class Containerize():
mySSH.open(ipAddr, userName, password)
# Check if route to porcepix epc exists
mySSH.command('ip route | grep --colour=never "192.168.61.192/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
result = re.search('172.21.16.136', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 192.168.18.210 dev enp0s31f6', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 172.21.16.136 dev enp0s31f6', '\$', 10)
# Check if X2 route to obelix enb exists
mySSH.command('ip route | grep --colour=never "192.168.68.128/26"', '\$', 10)
result = re.search('192.168.18.193', mySSH.getBefore())
result = re.search('172.21.16.128', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 192.168.18.193 dev enp0s31f6', '\$', 10)
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 172.21.16.128 dev enp0s31f6', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())

View File

@@ -30,11 +30,15 @@
import logging
import re
import subprocess
import logging
import math
import sshconnection
logging.basicConfig(
level=logging.DEBUG,
format="[%(asctime)s] %(name)s:%(levelname)s: %(message)s"
)
class Log_Mgt:
@@ -49,40 +53,25 @@ class Log_Mgt:
#-----------------$
def __CheckAvailSpace(self):
def __CheckUsedSpace(self):
HOST=self.Username+'@'+self.IPAddress
COMMAND="df "+ self.path
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
s=result[1].decode('utf-8').rstrip()#result[1] is the second line with the results we are looking for
tmp=s.split()
return tmp[3] #return avail space from the line
used=s.split()[4] #get 4th field ex: 70%
m = re.match('^(\d+)\%',used)
if m is not None:
return int(m.group(1))
def __GetOldestFile(self):
HOST=self.Username+'@'+self.IPAddress
COMMAND="ls -rtl "+ self.path #-rtl will bring oldest file on top
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
s=result[1].decode('utf-8').rstrip()
tmp=s.split()
return tmp[8]#return filename from the line
def __RemoveOldest(self, days):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.IPAddress, self.Username, self.Password)
COMMAND='echo ' + self.Password + ' | sudo -S find ' + self.path + ' -type f -mtime +' + str(days) + ' -delete'
mySSH.command(COMMAND,'\$',20)
mySSH.close()
def __AvgSize(self):
HOST=self.Username+'@'+self.IPAddress
COMMAND="ls -rtl "+ self.path
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if len(result)>1: #at least 1 file present
total_size=0
for i in range(1,len(result)):
s=result[i].decode('utf-8').rstrip()
tmp=s.split()
total_size+=int(tmp[4]) #get filesize
return math.floor(total_size/(len(result)-1)) #compute average file/artifact size
else:#empty,no files
return 0
#-----------------$
#PUBLIC Methods$
@@ -90,17 +79,20 @@ class Log_Mgt:
def LogRotation(self):
avail_space =int(self.__CheckAvailSpace())*1000 #avail space in target folder, initially displayed in Gb
avg_size=self.__AvgSize() #average size of artifacts in the target folder
logging.debug("Avail Space : " + str(avail_space) + " / Artifact Avg Size : " + str(avg_size))
if avail_space < 2*avg_size: #reserved space is 2x artifact file ; oldest file will be deleted
oldestfile=self.__GetOldestFile()
HOST=self.Username+'@'+self.IPAddress
COMMAND="echo " + self.Password + " | sudo -S rm "+ self.path + "/" + oldestfile
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
else:
logging.debug("Still some space left for artifacts storage")
doLoop = True
nbDays = 14
while doLoop and nbDays > 1:
used_space = self.__CheckUsedSpace() #avail space in target folder
if used_space > 80 :
logging.debug('\u001B[1;37;41m Used Disk (' + str(used_space) + '%) > 80%, on ' + self.Username+'@'+self.IPAddress + '\u001B[0m')
logging.debug('\u001B[1;37;41m Removing Artifacts older than ' + str(nbDays) + ' days \u001B[0m')
self.__RemoveOldest(nbDays)
nbDays -= 1
else:
logging.debug('Used Disk (' + str(used_space) + '%) < 80%, on ' + self.Username+'@'+self.IPAddress +', no cleaning required')
doLoop = False

View File

@@ -76,7 +76,8 @@ class Module_UE:
logging.debug('Starting ' + self.Process['Name'])
mySSH = sshconnection.SSHConnection()
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S ' + self.Process['Cmd'] + ' ' + self.Process['Apn'][CNType] + ' > /dev/null 2>&1 &','\$',5)
mySSH.command('echo ' + self.HostPassword + ' | sudo -S rm -f /tmp/quectel-cm.log','\$',5)
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S stdbuf -o0 ' + self.Process['Cmd'] + ' ' + self.Process['Apn'][CNType] + ' > /tmp/quectel-cm.log 2>&1 &','\$',5)
mySSH.close()
#checking the process
time.sleep(5)
@@ -106,14 +107,15 @@ class Module_UE:
def GetModuleIPAddress(self):
HOST=self.HostUsername+'@'+self.HostIPAddress
response= []
tentative = 3
tentative = 8
while (len(response)==0) and (tentative>0):
COMMAND="ip a show dev " + self.UENetwork + " | grep --colour=never inet | grep " + self.UENetwork
logging.debug(COMMAND)
if tentative == 8:
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
response = ssh.stdout.readlines()
tentative-=1
time.sleep(10)
time.sleep(2)
if (tentative==0) and (len(response)==0):
logging.debug('\u001B[1;37;41m Module IP Address Not Found! Time expired \u001B[0m')
return -1

View File

@@ -478,21 +478,19 @@ class HTMLManagement():
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
self.htmlFile.write(' <th colspan="3">'+ DataLog['ColNames'][0] +'</th>\n')
self.htmlFile.write(' <th>' + DataLog['ColNames'][1] + '</th>\n')
self.htmlFile.write(' <th>' + DataLog['ColNames'][2] + '</th>\n')
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>'+ DataLog['ColNames'][3] +'</th>\n')
self.htmlFile.write(' <th colspan="2">' + DataLog['ColNames'][1] + '</th>\n')
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>'+ DataLog['ColNames'][2] +'</th>\n')
self.htmlFile.write(' </tr>\n')
for k in DataLog['Data']:
# TestRow
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td colspan="3" bgcolor = "lightcyan" >' + k + ' </td>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" >' + DataLog['Data'][k][0] + ' </td>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" >' + DataLog['Data'][k][1] + ' </td>\n')
if float(DataLog['Data'][k][2])> DataLog['Threshold'][k]:
self.htmlFile.write(' <th bgcolor = "red" >' + DataLog['Data'][k][2] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n')
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + DataLog['Data'][k][0] + '; ' + DataLog['Data'][k][1] + '; ' + DataLog['Data'][k][2] + ' </td>\n')
if float(DataLog['Data'][k][3])> DataLog['Threshold'][k]:
self.htmlFile.write(' <th bgcolor = "red" >' + DataLog['Data'][k][3] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n')
else:
self.htmlFile.write(' <th bgcolor = "green" ><font color="white">' + DataLog['Data'][k][2] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n')
self.htmlFile.write(' <th bgcolor = "green" ><font color="white">' + DataLog['Data'][k][3] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.close()

View File

@@ -55,6 +55,7 @@ import constants as CONST
import sshconnection
import cls_module_ue
import cls_amarisoft_ue
import cls_ci_ueinfra #class defining the multi Ue infrastrucure
logging.getLogger("matplotlib").setLevel(logging.WARNING)
@@ -122,6 +123,7 @@ def GetPingTimeAnalysis(RAN,ping_log_file,ping_rttavg_threshold):
try:
mySSH = sshconnection.SSHConnection()
mySSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, ping_log_file+'.png', RAN.eNBSourceCodePath + '/cmake_targets/')
mySSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, ping_log_file, RAN.eNBSourceCodePath + '/cmake_targets/')
except:
logging.debug('\u001B[1;37;41m Ping PNG SCP to eNB FAILED\u001B[0m')
@@ -418,49 +420,63 @@ class OaiCiTest():
for job in multi_jobs:
job.join()
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
else: #if an ID is specified, it is a module from the yaml infrastructure file
#RH
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
is_module=Module_UE.CheckCMProcess(EPC.Type)
if is_module:
Module_UE.EnableTrace()
time.sleep(5)
else: #if an ID is specified, it is a UE from the yaml infrastructure file
ue_kind = InfraUE.ci_ue_infra[self.ue_id]['Kind']
logging.debug("Detected UE Kind : " + ue_kind)
# Looping attach / detach / wait to be successful at least once
cnt = 0
status = -1
while cnt < 4:
Module_UE.Command("wup")
logging.debug("Waiting for IP address to be assigned")
time.sleep(20)
logging.debug("Retrieve IP address")
status=Module_UE.GetModuleIPAddress()
if status==0:
cnt = 10
else:
cnt += 1
Module_UE.Command("detach")
time.sleep(20)
#case it is a quectel module (only 1 at a time supported at the moment)
if ue_kind == 'quectel':
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
is_module=Module_UE.CheckCMProcess(EPC.Type)
if is_module:
Module_UE.EnableTrace()
time.sleep(5)
if cnt == 10 and status == 0:
HTML.CreateHtmlTestRow(Module_UE.UEIPAddress, 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('UE IP addresss : '+ Module_UE.UEIPAddress)
#execute additional commands from yaml file after UE attach
SSH = sshconnection.SSHConnection()
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
if hasattr(Module_UE,'StartCommands'):
for startcommand in Module_UE.StartCommands:
cmd = 'echo ' + Module_UE.HostPassword + ' | ' + startcommand
SSH.command(cmd,'\$',5)
SSH.close()
#check that the MTU is as expected / requested
Module_UE.CheckModuleMTU()
else: #status==-1 failed to retrieve IP address
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
# Looping attach / detach / wait to be successful at least once
cnt = 0
status = -1
while cnt < 4:
Module_UE.Command("wup")
logging.debug("Waiting for IP address to be assigned")
time.sleep(5)
logging.debug("Retrieve IP address")
status=Module_UE.GetModuleIPAddress()
if status==0:
cnt = 10
else:
cnt += 1
Module_UE.Command("detach")
time.sleep(20)
if cnt == 10 and status == 0:
HTML.CreateHtmlTestRow(Module_UE.UEIPAddress, 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('UE IP addresss : '+ Module_UE.UEIPAddress)
#execute additional commands from yaml file after UE attach
SSH = sshconnection.SSHConnection()
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
if hasattr(Module_UE,'StartCommands'):
for startcommand in Module_UE.StartCommands:
cmd = 'echo ' + Module_UE.HostPassword + ' | ' + startcommand
SSH.command(cmd,'\$',5)
SSH.close()
#check that the MTU is as expected / requested
Module_UE.CheckModuleMTU()
else: #status==-1 failed to retrieve IP address
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
#case it is a amarisoft ue (only 1 at a time supported at the moment)
elif ue_kind == 'amarisoft':
AS_UE = cls_amarisoft_ue.AS_UE(InfraUE.ci_ue_infra[self.ue_id])
HTML.CreateHtmlTestRow(AS_UE.Config, 'OK', CONST.ALL_PROCESSES_OK)
AS_UE.RunScenario()
AS_UE.WaitEndScenario()
AS_UE.KillASUE()
else:
logging.debug("Incorrect UE Kind was detected")
def InitializeOAIUE(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
@@ -534,7 +550,7 @@ class OaiCiTest():
while (doOutterLoop):
SSH.command('cd ' + self.UESourceCodePath + '/cmake_targets/ran_build/build', '\$', 5)
SSH.command('echo ' + self.UEPassword + ' | sudo -S rm -Rf ' + self.UESourceCodePath + '/cmake_targets/ue_' + self.testCase_id + '.log', '\$', 5)
SSH.command('echo $USER; nohup sudo -E ./my-lte-uesoftmodem-run' + str(self.UE_instance) + '.sh' + ' > ' + self.UESourceCodePath + '/cmake_targets/ue_' + self.testCase_id + '.log ' + ' 2>&1 &', self.UEUserName, 5)
SSH.command('echo $USER; nohup sudo -E stdbuf -o0 ./my-lte-uesoftmodem-run' + str(self.UE_instance) + '.sh' + ' > ' + self.UESourceCodePath + '/cmake_targets/ue_' + self.testCase_id + '.log ' + ' 2>&1 &', self.UEUserName, 5)
time.sleep(6)
SSH.command('cd ../..', '\$', 5)
doLoop = True
@@ -1095,7 +1111,7 @@ class OaiCiTest():
while cnt < 4:
Module_UE.Command("wup")
logging.debug("Waiting for IP address to be assigned")
time.sleep(20)
time.sleep(5)
logging.debug("Retrieve IP address")
status=Module_UE.GetModuleIPAddress()
if status==0:
@@ -1569,16 +1585,23 @@ class OaiCiTest():
SSH = sshconnection.SSHConnection()
# Launch ping on the EPC side (true for ltebox and old open-air-cn)
# But for OAI-Rel14-CUPS, we launch from python executor
ping_status = 0
launchFromEpc = True
launchFromModule = False
launchFromASUE = False
if re.match('OAI-Rel14-CUPS', EPC.Type, re.IGNORECASE):
launchFromEpc = False
#if module, ping from module to EPC
if self.ue_id!='':
launchFromEpc = False
launchfromModule = True
ping_time = re.findall("-c (\d+)",str(self.ping_args))
if (re.match('amarisoft', self.ue_id, re.IGNORECASE)):
launchFromEpc = False
launchFromASUE = True
else:
launchFromEpc = False
launchFromModule = True
#no ping args for ASUE
if self.ping_args!='':
ping_time = re.findall("-c (\d+)",str(self.ping_args))
if launchFromEpc:
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
@@ -1596,14 +1619,14 @@ class OaiCiTest():
#copy the ping log file to have it locally for analysis (ping stats)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/scripts/ping_' + self.testCase_id + '_' + device_id + '.log', '.')
else:
if launchfromModule == False:
if (launchFromModule == False) and (launchFromASUE == False):
#ping log file is on the python executor
cmd = 'ping ' + self.ping_args + ' ' + UE_IPAddress + ' 2>&1 > ping_' + self.testCase_id + '_' + device_id + '.log'
cmd = 'ping ' + self.ping_args + ' ' + UE_IPAddress + ' > ping_' + self.testCase_id + '_' + device_id + '.log 2>&1'
message = cmd + '\n'
logging.debug(cmd)
ret = subprocess.run(cmd, shell=True)
ping_status = ret.returncode
#copy the ping log file to an other folder for log collection (source and destination are EPC)
#copy the ping log file to an other folder for log collection (source and desti elif (launchfromModule == True) and (launchfromASUE == False): #launch from Modulenation are EPC)
SSH.copyout(EPC.IPAddress, EPC.UserName, EPC.Password, 'ping_' + self.testCase_id + '_' + device_id + '.log', EPC.SourceCodePath + '/scripts')
#copy the ping log file to have it locally for analysis (ping stats)
logging.debug(EPC.SourceCodePath + 'ping_' + self.testCase_id + '_' + device_id + '.log')
@@ -1613,7 +1636,8 @@ class OaiCiTest():
#cat is executed on EPC
SSH.command('cat ' + EPC.SourceCodePath + '/scripts/ping_' + self.testCase_id + '_' + device_id + '.log', '\$', 5)
ping_log_file='/scripts/ping_' + self.testCase_id + '_' + device_id + '.log'
else: #launch from Module
elif (launchFromModule == True) and (launchFromASUE == False): #launch from Module
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
#target address is different depending on EPC type
if re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE):
@@ -1623,15 +1647,29 @@ class OaiCiTest():
else:
Target = EPC.IPAddress
#ping from module NIC rather than IP address to make sure round trip is over the air
cmd = 'ping -I ' + Module_UE.UENetwork + ' ' + self.ping_args + ' ' + Target + ' 2>&1 > ping_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'ping -I ' + Module_UE.UENetwork + ' ' + self.ping_args + ' ' + Target + ' > ping_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1'
SSH.command(cmd,'\$',int(ping_time[0])*1.5)
#copy the ping log file to have it locally for analysis (ping stats)
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, 'ping_' + self.testCase_id + '_' + self.ue_id + '.log', '.')
#cat is executed locally
SSH.command('cat ping_' + self.testCase_id + '_' + self.ue_id + '.log', '\$', 5)
ping_log_file='ping_' + self.testCase_id + '_' + self.ue_id + '.log'
ping_status=0
elif (launchFromASUE == True):
#ping was already executed when running scenario
#we only need to retrieve ping log file, whose location is in the ci_ueinfra.yaml
logging.debug("Get logs from AS server : " + Module_UE.Ping + ", " + Module_UE.UELog)
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, Module_UE.Ping, '.')
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, Module_UE.UELog, '.')
logging.debug("Ping analysis from Amarisoft scenario")
path,ping_log_file = os.path.split(Module_UE.Ping)
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
SSH.command('cat ' + Module_UE.Ping, '\#', 5)
else:
ping_status=-1
# TIMEOUT CASE
if ping_status < 0:
@@ -1679,28 +1717,30 @@ class OaiCiTest():
#adding extra ping stats from local file
#ping_log_file variable is defined above in this function, depending on device/ue
logging.debug('Analyzing Ping log file : ' + os.getcwd() + '/' + ping_log_file)
ping_stat=GetPingTimeAnalysis(RAN,ping_log_file,self.ping_rttavg_threshold)
ping_stat_msg=''
if (ping_stat!=-1) and (len(ping_stat)!=0):
ping_stat_msg+='Ping stats before removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_0'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_0'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_0'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_0'])) + 'ms \n'
ping_stat_msg+='Max Index : ' + str(ping_stat['max_loc']) + '\n'
ping_stat_msg+='Ping stats after removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_1'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_1'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_1'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_1'])) + 'ms \n'
if launchFromASUE == False : #skip in case of AS UE (for the moment)
logging.debug('Analyzing Ping log file : ' + os.getcwd() + '/' + ping_log_file)
ping_stat=GetPingTimeAnalysis(RAN,ping_log_file,self.ping_rttavg_threshold)
if (ping_stat!=-1) and (len(ping_stat)!=0):
ping_stat_msg+='Ping stats before removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_0'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_0'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_0'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_0'])) + 'ms \n'
ping_stat_msg+='Max Index : ' + str(ping_stat['max_loc']) + '\n'
ping_stat_msg+='Ping stats after removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_1'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_1'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_1'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_1'])) + 'ms \n'
#building html message
qMsg = pal_msg + '\n' + min_msg + '\n' + avg_msg + '\n' + max_msg + '\n' + ping_stat_msg
#checking packet loss compliance
packetLossOK = True
if packetloss is not None:
if (packetloss is not None) :
if float(packetloss) > float(self.ping_packetloss_threshold):
qMsg += '\nPacket Loss too high'
logging.debug('\u001B[1;37;41m Packet Loss too high; Target: '+ self.ping_packetloss_threshold + '%\u001B[0m')
@@ -1728,6 +1768,7 @@ class OaiCiTest():
lock.release()
SSH.close()
except:
logging.debug('exit from Ping_Common except')
os.kill(os.getppid(),signal.SIGUSR1)
def PingNoS1_wrong_exit(self, qMsg,HTML):
@@ -1855,11 +1896,21 @@ class OaiCiTest():
HTML.CreateHtmlTestRow(self.ping_args, 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
else:
self.UEIPAddresses=[]
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.GetModuleIPAddress()
self.UEIPAddresses.append(Module_UE.UEIPAddress)
else: #if an ID is specified, it is a UE from the yaml infrastructure file
ue_kind = InfraUE.ci_ue_infra[self.ue_id]['Kind']
logging.debug("Detected UE Kind : " + ue_kind)
if ue_kind == 'quectel':
self.UEIPAddresses=[]
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.GetModuleIPAddress()
self.UEIPAddresses.append(Module_UE.UEIPAddress)
elif ue_kind == 'amarisoft':
self.UEIPAddresses=['AS UE IP']
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
else:
logging.debug("Incorrect UE Kind was detected")
logging.debug(self.UEIPAddresses)
multi_jobs = []
i = 0
@@ -1870,6 +1921,7 @@ class OaiCiTest():
device_id = self.UEDevices[i]
else:
device_id = Module_UE.ID + "-" + Module_UE.Kind
logging.debug(device_id)
p = Process(target = self.Ping_common, args = (lock,UE_IPAddress,device_id,status_queue,EPC,Module_UE,RAN,))
p.daemon = True
p.start()
@@ -2047,13 +2099,30 @@ class OaiCiTest():
def Iperf_analyzeV2BIDIR(self, lock, UE_IPAddress, device_id, statusQueue,server_filename,client_filename):
#server file is unused for the moment
if (not os.path.isfile(client_filename)):
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from client log')
#check the 2 files are here
if (not os.path.isfile(client_filename)) or (not os.path.isfile(server_filename)):
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Client or Server Log File not present')
return
report=[]
report_msg='Client Report:\n'
with open(client_filename, 'r') as f_client:
#check the 2 files size
if (os.path.getsize(client_filename)==0) and (os.path.getsize(server_filename)==0):
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Client and Server Log File are empty')
return
report_msg='TCP BIDIR Report:\n'
#if client is not empty, all the info is in, otherwise we ll use the server file to get some partial info
client_filesize = os.path.getsize(client_filename)
if client_filesize == 0:
report_msg+="Client file (UE) present but !!! EMPTY !!!\n"
report_msg+="Partial report from server file\n"
filename = server_filename
else :
report_msg+="Report from client file (UE)\n"
filename = client_filename
report=[] #used to check if relevant lines were found
with open(filename, 'r') as f_client:
for line in f_client.readlines():
result = re.search(rf'^\[\s+\d+\](?P<direction>\[.+\]).*\s+(?P<bitrate>[0-9\.]+ [KMG]bits\/sec).*\s+(?P<role>\bsender|receiver\b)', str(line))
if result is not None:
@@ -2067,10 +2136,11 @@ class OaiCiTest():
statusQueue.put(UE_IPAddress)
statusQueue.put(report_msg)
logging.debug('\u001B[1;37;45m TCP Bidir Iperf Result (' + UE_IPAddress + ') \u001B[0m')
logging.debug('\u001B[1;35m ' + report_msg + '\u001B[0m')
for rLine in report_msg.split('\n'):
logging.debug('\u001B[1;35m ' + rLine + '\u001B[0m')
lock.release()
else:
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from client log')
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from Log file')
@@ -2362,10 +2432,12 @@ class OaiCiTest():
SSH.copyout(EPC.IPAddress, EPC.UserName, EPC.Password, 'iperf_' + self.testCase_id + '_' + device_id + '.log', EPC.SourceCodePath + '/scripts')
def Iperf_Module(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue,EPC, Module_UE):
def Iperf_Module(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue,EPC, Module_UE, RAN):
SSH = sshconnection.SSHConnection()
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
if (re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE)) or (re.match('OAICN5G', EPC.Type, re.IGNORECASE)):
#retrieve trf-gen container IP address
SSH = sshconnection.SSHConnection()
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
SSH.command('docker inspect --format="TRF_IP_ADDR = {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" prod-trf-gen', '\$', 5)
result = re.search('TRF_IP_ADDR = (?P<trf_ip_addr>[0-9\.]+)', SSH.getBefore())
@@ -2386,28 +2458,27 @@ class OaiCiTest():
iperf_time = self.Iperf_ComputeTime()
if self.iperf_direction=="DL":
logging.debug("Iperf for Module in DL mode detected")
#server side UE
server_filename='iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
##server side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm ' + server_filename
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > ' + server_filename + ' &'
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u -i 1 > ' + server_filename + ' 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
#client side EPC
##client side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename
cmd = 'docker exec -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
#remove old client file in EPC.SourceCodePath
cmd = 'rm ' + EPC.SourceCodePath + '/' + client_filename
SSH.command(cmd,'\$',5)
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' > ' + client_filename + ' 2>&1'
cmd = 'docker exec -w /iperf-2.0.13 -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',int(iperf_time)*5.0)
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/'+ client_filename + ' ' + EPC.SourceCodePath, '\$', 5)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + client_filename, '.')
SSH.close()
#copy the 2 resulting files locally
#copy the 2 resulting files locally (python executor)
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, server_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + client_filename, '.')
#send for analysis
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
@@ -2415,61 +2486,60 @@ class OaiCiTest():
logging.debug("Iperf for Module in UL mode detected")
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u 2>&1 > ' + server_filename
cmd = 'docker exec -d prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u -i 1 > ' + server_filename + ' 2>&1'
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',5)
SSH.close()
#client side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'rm '+ client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
SSH.command('iperf -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' > ' + client_filename + ' 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#once client is done, retrieve the server file from container to EPC Host
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
SSH.close()
#copy the 2 resulting files locally
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, server_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
#send for analysis
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
elif self.iperf_direction=="BIDIR":
logging.debug("Iperf for Module in BIDIR mode detected")
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s 2>&1 > ' + server_filename
cmd = 'docker exec -d prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s -i 1 > ' + server_filename + ' 2>&1'
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',5)
SSH.close()
#client side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'rm '+ client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' > ' + client_filename + ' 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#once client is done, retrieve the server file from container to EPC Host
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
#remove old server file in EPC.SourceCodePath
cmd = 'rm ' + EPC.SourceCodePath + '/' + server_filename
SSH.command(cmd,'\$',5)
#copy from docker container to EPC.SourceCodePath
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
SSH.close()
#copy the 2 resulting files locally
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, server_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
#send for analysis
self.Iperf_analyzeV2BIDIR(lock, UE_IPAddress, device_id, statusQueue, server_filename, client_filename)
@@ -2478,16 +2548,19 @@ class OaiCiTest():
else: #default is ltebox
SSH = sshconnection.SSHConnection()
#kill iperf processes before (in case there are still some remaining)
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2498,14 +2571,14 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup /opt/iperf-2.0.10/iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log &'
cmd = 'echo $USER; nohup /opt/iperf-2.0.10/iperf -s -B ' + UE_IPAddress + ' -u -i 1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
#client side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'rm iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
cmd = 'iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1'
SSH.command(cmd,'\$',int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
@@ -2521,7 +2594,7 @@ class OaiCiTest():
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'rm iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf -s -u 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log &'
cmd = 'echo $USER; nohup iperf -s -u -i 1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2529,7 +2602,7 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
SSH.command('/opt/iperf-2.0.10/iperf -c 192.172.0.1 ' + self.iperf_args + ' 2>&1 > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log', '\$', int(iperf_time)*5.0)
SSH.command('/opt/iperf-2.0.10/iperf -c 192.172.0.1 ' + self.iperf_args + ' > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
@@ -2540,21 +2613,21 @@ class OaiCiTest():
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,filename,1)
elif self.iperf_direction=="BIDIR":
logging.debug("Iperf for Module in BIDIR mode detected")
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'rm ' + server_filename
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf3 -s 2>&1 > '+server_filename+' &'
cmd = 'echo $USER; nohup iperf3 -s -i 1 > '+server_filename+' 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
#client side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'rm ' + client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf3 -c 192.172.0.1 ' + self.iperf_args + ' 2>&1 > '+client_filename, '\$', int(iperf_time)*5.0)
SSH.command('iperf3 -c 192.172.0.1 ' + self.iperf_args + ' > '+client_filename + ' 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
@@ -2565,16 +2638,26 @@ class OaiCiTest():
else :
logging.debug("Incorrect or missing IPERF direction in XML")
#kill iperf processes after to be clean
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
return
# Copying to xNB server for Jenkins artifacting
if (os.path.isfile(server_filename)):
SSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, server_filename, RAN.eNBSourceCodePath + '/cmake_targets/')
if (os.path.isfile(client_filename)):
SSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, client_filename, RAN.eNBSourceCodePath + '/cmake_targets/')
def Iperf_common(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue,EPC):
try:
@@ -2772,12 +2855,12 @@ class OaiCiTest():
else:
SSH.copyin(self.ADBIPAddress, self.ADBUserName, self.ADBPassword, EPC.SourceCodePath + '/scripts/iperf_server_' + self.testCase_id + '_' + device_id + '.log', '.')
# fromdos has to be called on the python executor not on ADB server
cmd = 'fromdos -o iperf_server_' + self.testCase_id + '_' + device_id + '.log 2>&1 > /dev/null'
cmd = 'fromdos -o iperf_server_' + self.testCase_id + '_' + device_id + '.log > /dev/null 2>&1'
try:
subprocess.run(cmd, shell=True)
except:
pass
cmd = 'dos2unix -o iperf_server_' + self.testCase_id + '_' + device_id + '.log 2>&1 > /dev/null'
cmd = 'dos2unix -o iperf_server_' + self.testCase_id + '_' + device_id + '.log > /dev/null 2>&1'
try:
subprocess.run(cmd, shell=True)
except:
@@ -2963,7 +3046,7 @@ class OaiCiTest():
#special quick and dirty treatment for modules, iperf to be restructured
if self.ue_id!="": #is module
device_id = Module_UE.ID + "-" + Module_UE.Kind
p = Process(target = self.Iperf_Module ,args = (lock, UE_IPAddress, device_id, i, ue_num, status_queue, EPC, Module_UE,))
p = Process(target = self.Iperf_Module ,args = (lock, UE_IPAddress, device_id, i, ue_num, status_queue, EPC, Module_UE, RAN, ))
else: #legacy code
p = Process(target = self.Iperf_common, args = (lock, UE_IPAddress, device_id, i, ue_num, status_queue, EPC, ))
p.daemon = True
@@ -3124,10 +3207,12 @@ class OaiCiTest():
nrFoundDCI = 0
nrCRCOK = 0
mbms_messages = 0
nbPduSessAccept = 0
nbPduDiscard = 0
HTML.htmlUEFailureMsg=''
global_status = CONST.ALL_PROCESSES_OK
for line in ue_log_file.readlines():
result = re.search('nr_synchro_time', str(line))
result = re.search('nr_synchro_time|Starting NR UE soft modem', str(line))
if result is not None:
nrUEFlag = True
if nrUEFlag:
@@ -3140,6 +3225,15 @@ class OaiCiTest():
result = re.search('CRC OK', str(line))
if result is not None:
nrCRCOK += 1
result = re.search('Received PDU Session Establishment Accept', str(line))
if result is not None:
nbPduSessAccept += 1
result = re.search('warning: discard PDU, sn out of window', str(line))
if result is not None:
nbPduDiscard += 1
result = re.search('--nfapi 5 --node-number 2 --sa', str(line))
if result is not None:
frequency_found = True
result = re.search('Exiting OAI softmodem', str(line))
if result is not None:
exitSignalReceived = True
@@ -3270,21 +3364,29 @@ class OaiCiTest():
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nrUEFlag:
if nrDecodeMib > 0:
statMsg = 'UE showed ' + str(nrDecodeMib) + ' MIB decode message(s)'
statMsg = 'UE showed ' + str(nrDecodeMib) + ' "MIB decode" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nrFoundDCI > 0:
statMsg = 'UE showed ' + str(nrFoundDCI) + ' DCI found message(s)'
statMsg = 'UE showed ' + str(nrFoundDCI) + ' "DCI found" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nrCRCOK > 0:
statMsg = 'UE showed ' + str(nrCRCOK) + ' PDSCH decoding message(s)'
statMsg = 'UE showed ' + str(nrCRCOK) + ' "PDSCH decoding" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if not frequency_found:
statMsg = 'NR-UE could NOT synch!'
logging.error('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nbPduSessAccept > 0:
statMsg = 'UE showed ' + str(nbPduSessAccept) + ' "Received PDU Session Establishment Accept" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nbPduDiscard > 0:
statMsg = 'UE showed ' + str(nbPduDiscard) + ' "warning: discard PDU, sn out of window" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if uciStatMsgCount > 0:
statMsg = 'UE showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
@@ -3415,16 +3517,23 @@ class OaiCiTest():
job.join()
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
else: #if an ID is specified, it is a module from the yaml infrastructure file
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
Module_UE.Command("detach")
Module_UE.DisableTrace()
Module_UE.DisableCM()
archive_destination=Module_UE.LogCollect()
if Module_UE.ue_trace=='yes':
HTML.CreateHtmlTestRow('QLog at : '+archive_destination, 'OK', CONST.ALL_PROCESSES_OK)
ue_kind = InfraUE.ci_ue_infra[self.ue_id]['Kind']
logging.debug("Detected UE Kind : " + ue_kind)
if ue_kind == 'quectel':
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
Module_UE.Command("detach")
Module_UE.DisableTrace()
Module_UE.DisableCM()
archive_destination=Module_UE.LogCollect()
if Module_UE.ue_trace=='yes':
HTML.CreateHtmlTestRow('QLog at : '+archive_destination, 'OK', CONST.ALL_PROCESSES_OK)
else:
HTML.CreateHtmlTestRow('QLog trace is disabled', 'OK', CONST.ALL_PROCESSES_OK)
elif ue_kind == 'amarisoft':
HTML.CreateHtmlTestRow('AS UE is already terminated', 'OK', CONST.ALL_PROCESSES_OK)
else:
HTML.CreateHtmlTestRow('QLog trace is disabled', 'OK', CONST.ALL_PROCESSES_OK)
logging.debug("Incorrect UE Kind was detected")
def TerminateOAIUE(self,HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS):
SSH = sshconnection.SSHConnection()

View File

@@ -32,7 +32,7 @@ import logging
#to create a SSH object locally in the methods
import sshconnection
#to update the HTML object
import html
import cls_oai_html
from multiprocessing import SimpleQueue
#for log folder maintenance
import os

View File

@@ -33,7 +33,7 @@
#-----------------------------------------------------------
import logging
import sshconnection as SSH
import html
import cls_oai_html
import os
import re
import time
@@ -153,6 +153,7 @@ class PhySim:
mySSH.command(f'oc project {ocProjectName}', '\$', 30)
if mySSH.getBefore().count(f'Already on project "{ocProjectName}"') == 0 and mySSH.getBefore().count(f'Now using project "{self.OCProjectName}"') == 0:
logging.error(f'\u001B[1m Unable to access OC project {ocProjectName}\u001B[0m')
mySSH.command('oc logout', '\$', 30)
mySSH.close()
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_PROJECT_FAIL)
RAN.prematureExit = True
@@ -161,9 +162,10 @@ class PhySim:
logging.debug(f'\u001B[1m Now using project {ocProjectName}\u001B[0m')
# Tag the image and push to the OC cluster
mySSH.command('oc whoami -t | sudo podman login -u ' + ocUserName + ' --password-stdin https://default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/ --tls-verify=false', '\$', 30)
mySSH.command('oc whoami -t | sudo podman login -u ' + ocUserName + ' --password-stdin https://default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/ --tls-verify=false', '\$', 30)
if mySSH.getBefore().count('Login Succeeded!') == 0:
logging.error('\u001B[1m Podman Login to OC Cluster Registry Failed\u001B[0m')
mySSH.command('oc logout', '\$', 30)
mySSH.close()
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL)
RAN.prematureExit = True
@@ -171,9 +173,11 @@ class PhySim:
else:
logging.debug('\u001B[1m Podman Login to OC Cluster Registry Successfully\u001B[0m')
time.sleep(2)
mySSH.command('oc create -f openshift/oai-physim-image-stream.yml', '\$', 30)
mySSH.command('oc create -f openshift/oai-physim-image-stream.yml || true', '\$', 30)
if mySSH.getBefore().count('(AlreadyExists):') == 0 and mySSH.getBefore().count('created') == 0:
logging.error(f'\u001B[1m Image Stream "oai-physim" Creation Failed on OC Cluster {ocProjectName}\u001B[0m')
mySSH.command('sudo podman logout https://default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/', '\$', 6)
mySSH.command('oc logout', '\$', 30)
mySSH.close()
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_IS_FAIL)
RAN.prematureExit = True
@@ -181,11 +185,13 @@ class PhySim:
else:
logging.debug(f'\u001B[1m Image Stream "oai-physim" created on OC project {ocProjectName}\u001B[0m')
time.sleep(2)
mySSH.command(f'sudo podman tag oai-physim:{imageTag} default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 30)
mySSH.command(f'sudo podman tag oai-physim:{imageTag} default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 30)
time.sleep(2)
mySSH.command(f'sudo podman push default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag} --tls-verify=false', '\$', 180)
mySSH.command(f'sudo podman push default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag} --tls-verify=false', '\$', 180)
if mySSH.getBefore().count('Storing signatures') == 0:
logging.error('\u001B[1m Image "oai-physim" push to OC Cluster Registry Failed\u001B[0m')
mySSH.command('sudo podman logout https://default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/', '\$', 6)
mySSH.command('oc logout', '\$', 30)
mySSH.close()
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_IS_FAIL)
RAN.prematureExit = True
@@ -195,8 +201,9 @@ class PhySim:
# Using helm charts deployment
time.sleep(5)
mySSH.command(f'grep -rl OAICICD_PROJECT ./charts/ | xargs sed -i -e "s#OAICICD_PROJECT#{ocProjectName}#"', '\$', 30)
mySSH.command(f'sed -i -e "s#TAG#{imageTag}#g" ./charts/physims/values.yaml', '\$', 6)
mySSH.command('helm install physim ./charts/physims/ | tee -a cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 30)
mySSH.command('helm install physim ./charts/physims/ 2>&1 | tee -a cmake_targets/log/physim_helm_summary.txt', '\$', 30)
if mySSH.getBefore().count('STATUS: deployed') == 0:
logging.error('\u001B[1m Deploying PhySim Failed using helm chart on OC Cluster\u001B[0m')
mySSH.command('helm uninstall physim >> cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 30)
@@ -206,8 +213,10 @@ class PhySim:
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim', '\$', 6, resync=True)
if re.search('No resources found', mySSH.getBefore()):
isFinished1 = True
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 30)
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 30)
mySSH.command('oc delete is oai-physim', '\$', 30)
mySSH.command('sudo podman logout https://default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/', '\$', 6)
mySSH.command('oc logout', '\$', 30)
mySSH.close()
self.AnalyzeLogFile_phySim(HTML)
RAN.prematureExit = True
@@ -227,7 +236,7 @@ class PhySim:
if isRunning == False:
logging.error('\u001B[1m Some PODS Running FAILED \u001B[0m')
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim 2>&1 | tee -a cmake_targets/log/physim_pods_summary.txt', '\$', 6)
mySSH.command('helm uninstall physim >> cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 6)
mySSH.command('helm uninstall physim 2>&1 >> cmake_targets/log/physim_helm_summary.txt', '\$', 6)
self.AnalyzeLogFile_phySim(HTML)
isFinished1 = False
while(isFinished1 == False):
@@ -235,8 +244,10 @@ class PhySim:
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim', '\$', 6, resync=True)
if re.search('No resources found', mySSH.getBefore()):
isFinished1 = True
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 6)
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 6)
mySSH.command('oc delete is oai-physim', '\$', 6)
mySSH.command('sudo podman logout https://default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/', '\$', 6)
mySSH.command('oc logout', '\$', 30)
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_PHYSIM_DEPLOY_FAIL)
HTML.CreateHtmlTestRowPhySimTestResult(self.testSummary,self.testResult)
RAN.prematureExit = True
@@ -246,7 +257,7 @@ class PhySim:
isFinished = False
# doing a deep copy!
tmpPodNames = podNames.copy()
while(count < 32 and isFinished == False):
while(count < 50 and isFinished == False):
time.sleep(60)
for podName in tmpPodNames:
mySSH.command2(f'oc logs --tail=1 {podName} 2>&1', 6, silent=True)
@@ -293,9 +304,10 @@ class PhySim:
isFinished1 = True
if isFinished1 == True:
logging.debug('\u001B[1m UnDeployed PhySim Successfully on OC Cluster\u001B[0m')
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 6)
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 6)
mySSH.command('oc delete is oai-physim', '\$', 6)
logging.debug('\u001B[1m Deleted the Image and ImageStream\u001B[0m')
mySSH.command('sudo podman logout https://default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/', '\$', 6)
mySSH.command('oc logout', '\$', 6)
mySSH.close()
self.AnalyzeLogFile_phySim(HTML)

View File

@@ -35,7 +35,9 @@ import sys # arg
import re # reg
import logging
import os
from pathlib import Path
import time
from multiprocessing import Process, Lock, SimpleQueue
#-----------------------------------------------------------
# OAI Testing modules
@@ -51,7 +53,7 @@ class CppCheckResults():
def __init__(self):
self.variants = ['xenial', 'bionic']
self.variants = ['bionic', 'focal']
self.versions = ['','']
self.nbErrors = [0,0]
self.nbWarnings = [0,0]
@@ -116,12 +118,22 @@ class StaticCodeAnalysis():
# if the commit ID is provided use it to point to it
if self.ranCommitID != '':
mySSH.command('git checkout -f ' + self.ranCommitID, '\$', 30)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should already been checked earlier
if (self.ranAllowMerge):
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
mySSH.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
else:
logging.debug('Merging with the target branch: ' + self.ranTargetBranch)
mySSH.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:xenial || true', '\$', 60)
mySSH.command('docker build --tag oai-cppcheck:xenial --file ci-scripts/docker/Dockerfile.cppcheck.xenial . > cmake_targets/log/cppcheck-xenial.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:focal || true', '\$', 60)
mySSH.command('sed -e "s@xenial@bionic@" ci-scripts/docker/Dockerfile.cppcheck.xenial > ci-scripts/docker/Dockerfile.cppcheck.bionic', '\$', 6)
mySSH.command('docker build --tag oai-cppcheck:bionic --file ci-scripts/docker/Dockerfile.cppcheck.bionic . > cmake_targets/log/cppcheck-bionic.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:xenial || true', '\$', 30)
mySSH.command('sed -e "s@xenial@focal@" ci-scripts/docker/Dockerfile.cppcheck.xenial > ci-scripts/docker/Dockerfile.cppcheck.focal', '\$', 6)
mySSH.command('docker build --tag oai-cppcheck:focal --file ci-scripts/docker/Dockerfile.cppcheck.focal . > cmake_targets/log/cppcheck-focal.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:focal || true', '\$', 30)
# Analyzing the logs
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
@@ -131,8 +143,22 @@ class StaticCodeAnalysis():
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/build_log_' + self.testCase_id + '/*', '.')
CCR = CppCheckResults()
CCR_ref = CppCheckResults()
vId = 0
for variant in CCR.variants:
refAvailable = False
if self.ranAllowMerge:
refFolder = str(Path.home()) + '/cppcheck-references'
if (os.path.isfile(refFolder + '/cppcheck-'+ variant + '.txt')):
refAvailable = True
with open(refFolder + '/cppcheck-'+ variant + '.txt', 'r') as refFile:
for line in refFile:
ret = re.search(' (?P<nb_errors>[0-9\.]+) errors', str(line))
if ret is not None:
CCR_ref.nbErrors[vId] = int(ret.group('nb_errors'))
ret = re.search(' (?P<nb_warnings>[0-9\.]+) warnings', str(line))
if ret is not None:
CCR_ref.nbWarnings[vId] = int(ret.group('nb_warnings'))
if (os.path.isfile('./cppcheck-'+ variant + '.txt')):
xmlStart = False
with open('./cppcheck-'+ variant + '.txt', 'r') as logfile:
@@ -167,21 +193,43 @@ class StaticCodeAnalysis():
CCR.nbPtrAddNotNull[vId] += 1
if re.search('id="oppositeInnerCondition"', str(line)) is not None:
CCR.nbOppoInnerCondition[vId] += 1
logging.debug('======== Variant ' + variant + ' - ' + CCR.versions[vId] + ' ========')
logging.debug(' ' + str(CCR.nbErrors[vId]) + ' errors')
logging.debug(' ' + str(CCR.nbWarnings[vId]) + ' warnings')
logging.debug(' -- Details --')
logging.debug(' Memory leak: ' + str(CCR.nbMemLeaks[vId]))
logging.debug(' Possible null pointer deference: ' + str(CCR.nbNullPtrs[vId]))
logging.debug(' Uninitialized variable: ' + str(CCR.nbUninitVars[vId]))
logging.debug(' Undefined behaviour shifting: ' + str(CCR.nbTooManyBitsShift[vId]))
logging.debug(' Signed integer overflow: ' + str(CCR.nbIntegerOverflow[vId]))
logging.debug('')
logging.debug(' Printf formatting issue: ' + str(CCR.nbInvalidPrintf[vId]))
logging.debug(' Modulo result is predetermined: ' + str(CCR.nbModuloAlways[vId]))
logging.debug(' Opposite Condition -> dead code: ' + str(CCR.nbOppoInnerCondition[vId]))
logging.debug(' Wrong Scanf Nb Args: ' + str(CCR.nbWrongScanfArg[vId]))
logging.debug('')
vMsg = ''
vMsg += '======== Variant ' + variant + ' - ' + CCR.versions[vId] + ' ========\n'
vMsg += ' ' + str(CCR.nbErrors[vId]) + ' errors\n'
vMsg += ' ' + str(CCR.nbWarnings[vId]) + ' warnings\n'
vMsg += ' -- Details --\n'
vMsg += ' Memory leak: ' + str(CCR.nbMemLeaks[vId]) + '\n'
vMsg += ' Possible null pointer deference: ' + str(CCR.nbNullPtrs[vId]) + '\n'
vMsg += ' Uninitialized variable: ' + str(CCR.nbUninitVars[vId]) + '\n'
vMsg += ' Undefined behaviour shifting: ' + str(CCR.nbTooManyBitsShift[vId]) + '\n'
vMsg += ' Signed integer overflow: ' + str(CCR.nbIntegerOverflow[vId]) + '\n'
vMsg += '\n'
vMsg += ' Printf formatting issue: ' + str(CCR.nbInvalidPrintf[vId]) + '\n'
vMsg += ' Modulo result is predetermined: ' + str(CCR.nbModuloAlways[vId]) + '\n'
vMsg += ' Opposite Condition -> dead code: ' + str(CCR.nbOppoInnerCondition[vId]) + '\n'
vMsg += ' Wrong Scanf Nb Args: ' + str(CCR.nbWrongScanfArg[vId]) + '\n'
for vLine in vMsg.split('\n'):
logging.debug(vLine)
if self.ranAllowMerge and refAvailable:
if CCR_ref.nbErrors[vId] == CCR.nbErrors[vId]:
logging.debug(' No change in number of errors')
elif CCR_ref.nbErrors[vId] > CCR.nbErrors[vId]:
logging.debug(' Good! Decrease in number of errors')
else:
logging.debug(' Bad! increase in number of errors')
if CCR_ref.nbWarnings[vId] == CCR.nbWarnings[vId]:
logging.debug(' No change in number of warnings')
elif CCR_ref.nbWarnings[vId] > CCR.nbWarnings[vId]:
logging.debug(' Good! Decrease in number of warnings')
else:
logging.debug(' Bad! increase in number of warnings')
# Create new reference file
if not self.ranAllowMerge:
refFolder = str(Path.home()) + '/cppcheck-references'
if not os.path.isdir(refFolder):
os.mkdir(refFolder)
with open(refFolder + '/cppcheck-'+ variant + '.txt', 'w') as refFile:
refFile.write(vMsg)
vId += 1
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
@@ -190,3 +238,205 @@ class StaticCodeAnalysis():
return 0
def LicenceAndFormattingCheck(self, HTML):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
logging.debug('Building on server: ' + lIpAddr)
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
self.testCase_id = HTML.testCase_id
# on RedHat/CentOS .git extension is mandatory
result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', self.ranRepository)
if result is not None:
full_ran_repo_name = self.ranRepository.replace('git/', 'git')
else:
full_ran_repo_name = self.ranRepository + '.git'
mySSH.command('mkdir -p ' + lSourcePath, '\$', 5)
mySSH.command('cd ' + lSourcePath, '\$', 5)
mySSH.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + full_ran_repo_name + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600)
# Raphael: here add a check if git clone or git fetch went smoothly
mySSH.command('git config user.email "jenkins@openairinterface.org"', '\$', 5)
mySSH.command('git config user.name "OAI Jenkins"', '\$', 5)
mySSH.command('echo ' + lPassWord + ' | sudo -S git clean -x -d -ff', '\$', 30)
mySSH.command('mkdir -p cmake_targets/log', '\$', 5)
# if the commit ID is provided use it to point to it
if self.ranCommitID != '':
mySSH.command('git checkout -f ' + self.ranCommitID, '\$', 30)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should already been checked earlier
argToPass = ''
if (self.ranAllowMerge):
argToPass = '--build-arg MERGE_REQUEST=true --build-arg SRC_BRANCH=' + self.ranBranch
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
mySSH.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
argToPass += ' --build-arg TARGET_BRANCH=develop '
else:
logging.debug('Merging with the target branch: ' + self.ranTargetBranch)
mySSH.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
argToPass += ' --build-arg TARGET_BRANCH=' + self.ranTargetBranch + ' '
mySSH.command('docker image rm oai-formatting-check:latest || true', '\$', 60)
mySSH.command('docker build --target oai-formatting-check --tag oai-formatting-check:latest ' + argToPass + '--file ci-scripts/docker/Dockerfile.formatting.bionic . > cmake_targets/log/oai-formatting-check.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-formatting-check:latest || true', '\$', 60)
mySSH.command('docker image prune --force', '\$', 60)
mySSH.command('docker volume prune --force', '\$', 60)
# Analyzing the logs
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
mySSH.command('mkdir -p build_log_' + self.testCase_id, '\$', 5)
mySSH.command('mv log/* ' + 'build_log_' + self.testCase_id, '\$', 5)
mySSH.close()
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/build_log_' + self.testCase_id + '/*', '.')
finalStatus = 0
if (os.path.isfile('./oai-formatting-check.txt')):
analyzed = False
nbFilesNotFormatted = 0
listFiles = False
listFilesNotFormatted = []
circularHeaderDependency = False
circularHeaderDependencyFiles = []
gnuGplLicence = False
gnuGplLicenceFiles = []
suspectLicence = False
suspectLicenceFiles = []
with open('./oai-formatting-check.txt', 'r') as logfile:
for line in logfile:
ret = re.search('./ci-scripts/checkCodingFormattingRules.sh', str(line))
if ret is not None:
analyzed = True
if analyzed:
ret = re.search('Nb Files that do NOT follow OAI rules: (?P<nb_errors>[0-9\.]+)', str(line))
if ret is not None:
nbFilesNotFormatted = int(ret.group('nb_errors'))
if re.search('=== Files not properly formatted ===', str(line)) is not None:
listFiles = True
if listFiles:
if re.search('Removing intermediate container', str(line)) is not None:
listFiles = False
elif re.search('Running in|Files not properly formatted', str(line)) is not None:
pass
else:
listFilesNotFormatted.append(str(line).strip())
if re.search('=== Files with incorrect define protection ===', str(line)) is not None:
circularHeaderDependency = True
if circularHeaderDependency:
if re.search('Removing intermediate container', str(line)) is not None:
circularHeaderDependency = False
elif re.search('Running in|Files with incorrect define protection', str(line)) is not None:
pass
else:
circularHeaderDependencyFiles.append(str(line).strip())
if re.search('=== Files with a GNU GPL licence Banner ===', str(line)) is not None:
gnuGplLicence = True
if gnuGplLicence:
if re.search('Removing intermediate container', str(line)) is not None:
gnuGplLicence = False
elif re.search('Running in|Files with a GNU GPL licence Banner', str(line)) is not None:
pass
else:
gnuGplLicenceFiles.append(str(line).strip())
if re.search('=== Files with a suspect Banner ===', str(line)) is not None:
suspectLicence = True
if suspectLicence:
if re.search('Removing intermediate container', str(line)) is not None:
suspectLicence = False
elif re.search('Running in|Files with a suspect Banner', str(line)) is not None:
pass
else:
suspectLicenceFiles.append(str(line).strip())
logfile.close()
if analyzed:
logging.debug('files not formatted properly: ' + str(nbFilesNotFormatted))
if nbFilesNotFormatted == 0:
HTML.CreateHtmlTestRow('File(s) Format', 'OK', CONST.ALL_PROCESSES_OK)
else:
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n'
html_cell += 'Number of files not following OAI Rules: ' + str(nbFilesNotFormatted) + '\n'
for nFile in listFilesNotFormatted:
html_cell += str(nFile).strip() + '\n'
html_cell += '</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue('File(s) Format', 'KO', 1, html_queue)
del(html_cell)
del(html_queue)
logging.debug('header files not respecting the circular dependency protection: ' + str(len(circularHeaderDependencyFiles)))
if len(circularHeaderDependencyFiles) == 0:
HTML.CreateHtmlTestRow('Header Circular Dependency', 'OK', CONST.ALL_PROCESSES_OK)
else:
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n'
html_cell += 'Number of files not respecting: ' + str(len(circularHeaderDependencyFiles)) + '\n'
for nFile in circularHeaderDependencyFiles:
html_cell += str(nFile).strip() + '\n'
html_cell += '</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue('Header Circular Dependency', 'KO', 1, html_queue)
del(html_cell)
del(html_queue)
finalStatus = -1
logging.debug('files with a GNU GPL license: ' + str(len(gnuGplLicenceFiles)))
if len(gnuGplLicenceFiles) == 0:
HTML.CreateHtmlTestRow('Files w/ GNU GPL License', 'OK', CONST.ALL_PROCESSES_OK)
else:
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n'
html_cell += 'Number of files not respecting: ' + str(len(gnuGplLicenceFiles)) + '\n'
for nFile in gnuGplLicenceFiles:
html_cell += str(nFile).strip() + '\n'
html_cell += '</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue('Files w/ GNU GPL License', 'KO', 1, html_queue)
del(html_cell)
del(html_queue)
finalStatus = -1
logging.debug('files with a suspect license: ' + str(len(suspectLicenceFiles)))
if len(suspectLicenceFiles) == 0:
HTML.CreateHtmlTestRow('Files with suspect license', 'OK', CONST.ALL_PROCESSES_OK)
else:
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n'
html_cell += 'Number of files not respecting: ' + str(len(suspectLicenceFiles)) + '\n'
for nFile in suspectLicenceFiles:
html_cell += str(nFile).strip() + '\n'
html_cell += '</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue('Files with suspect license', 'KO', 1, html_queue)
del(html_cell)
del(html_queue)
finalStatus = -1
else:
finalStatus = -1
HTML.htmleNBFailureMsg = 'Could not fully analyze oai-formatting-check.txt file'
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE)
else:
finalStatus = -1
HTML.htmleNBFailureMsg = 'Could not access oai-formatting-check.txt file'
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE)
return finalStatus

View File

@@ -269,17 +269,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -22,9 +22,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
servingCellConfigCommon = (
{
#spCellConfigCommon
@@ -262,18 +260,11 @@ THREAD_STRUCT = (
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -201,15 +201,10 @@ eNBs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -201,15 +201,10 @@ eNBs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -201,15 +201,10 @@ eNBs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -96,17 +96,11 @@ RUs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -96,17 +96,11 @@ RUs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -96,17 +96,11 @@ RUs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -257,18 +257,11 @@ THREAD_STRUCT = (
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -385,19 +385,12 @@ eNBs =
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
@@ -457,17 +450,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -260,18 +260,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -404,18 +404,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -211,8 +211,8 @@ MACRLCs = (
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
puSch10xSnr = 190;
puCch10xSnr = 160;
}
);
@@ -231,13 +231,13 @@ RUs = (
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
att_tx = 10
att_rx = 5;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
sdr_addrs = "mgmt_addr=172.21.19.13,addr=192.168.20.2,second_addr=192.168.10.2";
}
);
@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -211,8 +211,8 @@ MACRLCs = (
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
puSch10xSnr = 190;
puCch10xSnr = 160;
}
);
@@ -231,13 +231,13 @@ RUs = (
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
att_tx = 10
att_rx = 5;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
sdr_addrs = "mgmt_addr=172.21.19.13,addr=192.168.20.2,second_addr=192.168.10.2";
}
);
@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -211,8 +211,8 @@ MACRLCs = (
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
puSch10xSnr = 190;
puCch10xSnr = 160;
}
);
@@ -231,13 +231,13 @@ RUs = (
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
att_tx = 10
att_rx = 5;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
sdr_addrs = "mgmt_addr=172.21.19.13,addr=192.168.20.2,second_addr=192.168.10.2";
}
);
@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -163,19 +163,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -256,18 +256,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -265,18 +265,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -263,18 +263,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -263,19 +263,12 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
@include "channelmod_rfsimu.conf"

View File

@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="high";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="high";
pdcp_log_level ="info";
pdcp_log_verbosity ="high";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -258,17 +258,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -262,18 +262,11 @@ THREAD_STRUCT = (
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -33,9 +33,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
@@ -73,15 +70,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -136,19 +124,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -264,7 +239,7 @@ RUs = (
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
#clock_src = "external";
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -306,20 +281,12 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
};

View File

@@ -1,18 +1,11 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
uicc0 = {

View File

@@ -1,52 +0,0 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
uicc0 = {
imsi = "208950000000031";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -1,52 +0,0 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
uicc0 = {
imsi = "208950000000032";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -1,52 +0,0 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
uicc0 = {
imsi = "208950000000033";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -1,52 +0,0 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
uicc0 = {
imsi = "208950000000034";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -231,17 +231,10 @@ THREAD_STRUCT = (
log_config =
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -22,9 +22,14 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
@@ -54,15 +59,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -117,18 +113,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -248,18 +232,11 @@ THREAD_STRUCT = (
log_config =
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -1,18 +1,11 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};

View File

@@ -33,9 +33,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
@@ -74,15 +71,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -137,19 +125,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -265,7 +240,7 @@ RUs = (
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
#clock_src = "external";
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -307,20 +282,12 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
};

View File

@@ -1,18 +1,11 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
uicc0 = {

View File

@@ -231,17 +231,10 @@ THREAD_STRUCT = (
log_config =
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -22,7 +22,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
@@ -53,29 +53,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=2,L=12
initialDLBWPstartSymbolAndLength_1 = 53;
initialDLBWPk0_2 = 0;
initialDLBWPmappingType_2 = 0;
#this is SS=1,L=12
initialDLBWPstartSymbolAndLength_2 = 54;
initialDLBWPk0_3 = 0;
initialDLBWPmappingType_3 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_3 = 57;
#uplinkConfigCommon
#frequencyInfoUL
@@ -130,22 +107,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 55;
initialULBWPk2_1 = 6;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -288,18 +249,11 @@ THREAD_STRUCT = (
log_config =
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -1,18 +1,11 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};

View File

@@ -45,10 +45,7 @@ gNBs =
remote_s_portc = 500;
remote_s_portd = 2152;
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
@@ -84,17 +81,8 @@ gNBs =
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -149,19 +137,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -254,22 +229,13 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="debug";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
};

View File

@@ -37,10 +37,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
@@ -76,17 +73,8 @@ gNBs =
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -141,19 +129,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -273,22 +248,13 @@ serveraddr = "server";
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="debug";
rlc_log_verbosity ="medium";
rlc_log_level ="info";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
};

View File

@@ -38,7 +38,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_N1 = 2;
pusch_AntennaPorts = 2;
pdcch_ConfigSIB1 = (
@@ -209,9 +209,9 @@ gNBs =
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.18.194/24";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.127/24";
GNB_INTERFACE_NAME_FOR_NGU = "em1";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.18.194/24";
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.127/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
@@ -258,7 +258,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -291,19 +291,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -39,7 +39,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_N1 = 2;
pusch_AntennaPorts = 2;
pdcch_ConfigSIB1 = (
@@ -206,9 +206,9 @@ gNBs =
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.18.194/24";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.127/24";
GNB_INTERFACE_NAME_FOR_NGU = "em1";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.18.194/24";
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.127/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
@@ -254,7 +254,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -287,19 +287,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -22,8 +22,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -227,6 +225,7 @@ RUs = (
att_tx = 0;
att_rx = 0;
bands = [7];
sl_ahead = 12;
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
@@ -266,18 +265,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -22,8 +22,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -137,20 +135,6 @@ gNBs =
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
@@ -259,18 +243,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -20,10 +20,8 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_N1 = 2;
pusch_AntennaPorts = 2;
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"
servingCellConfigCommon = (
@@ -201,12 +199,12 @@ gNBs =
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_frame_inactivity = 1;
}
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
@@ -215,6 +213,7 @@ L1s = (
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 80;
}
);
@@ -232,15 +231,14 @@ RUs = (
bf_weights = [0x00007fff, 0x00007fff];
#clock_src = "external";
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
//parallel_config = "PARALLEL_SINGLE_THREAD";
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
@@ -266,18 +264,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,307 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_CU_ID = 0xe00;
# cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 97;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 1;
sd = 0x010203; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L
# tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 11;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
#absoluteFrequencySSB = 620640;
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB = 621312;
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
#absoluteFrequencySSB = 634080;
# this is 3600.48 MHz
#absoluteFrequencySSB = 640032;
#dl_frequencyBand = 78;
# this is 3301.68 MHz
#dl_absoluteFrequencyPointA = 620112;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA = 620040;
# this is 3502.56 MHz
#dl_absoluteFrequencyPointA = 633552;
# this is 3600.48 MHz
#dl_absoluteFrequencyPointA = 640032;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 12;
preambleReceivedTargetPower = -104;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_NGU = "em1";
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
# pusch_TargetSNRx10 = 200;
# pucch_TargetSNRx10 = 150;
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
#security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
# ciphering_algorithms = ( "nea2" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
# integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
# drb_ciphering = "yes";
# drb_integrity = "no";
#};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
f1ap_log_level ="debug";
};

View File

@@ -38,9 +38,10 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_N1 = 2;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
@@ -234,6 +235,7 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
@@ -259,7 +261,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -292,19 +294,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -0,0 +1,304 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_CU_ID = 0xe00;
# cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 97;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x010203; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L
# tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 11;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
#absoluteFrequencySSB = 620640;
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB = 621312;
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
#absoluteFrequencySSB = 634080;
# this is 3600.48 MHz
#absoluteFrequencySSB = 640032;
#dl_frequencyBand = 78;
# this is 3301.68 MHz
#dl_absoluteFrequencyPointA = 620112;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA = 620040;
# this is 3502.56 MHz
#dl_absoluteFrequencyPointA = 633552;
# this is 3600.48 MHz
#dl_absoluteFrequencyPointA = 640032;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 12;
preambleReceivedTargetPower = -104;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 5;
nrofDownlinkSlots = 2;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_NGU = "em1";
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
# pusch_TargetSNRx10 = 200;
# pucch_TargetSNRx10 = 150;
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sl_ahead = 5;
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
f1ap_log_level ="debug";
};

View File

@@ -38,12 +38,11 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
@@ -264,7 +263,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -297,19 +296,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -38,12 +38,11 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
pdsch_AntennaPorts_N1 = 2;
pusch_AntennaPorts = 2;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
ul_prbblacklist = "79,80,81,82"
pdcch_ConfigSIB1 = (
{
@@ -86,7 +85,7 @@ gNBs =
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 31889;
initialDLBWPlocationAndBandwidth = 31624;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
@@ -94,8 +93,6 @@ gNBs =
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
@@ -108,7 +105,7 @@ gNBs =
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 31889;
initialULBWPlocationAndBandwidth = 31624;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
@@ -229,9 +226,9 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
# pusch_TargetSNRx10 = 200;
# pucch_TargetSNRx10 = 150;
ulsch_max_frame_inactivity = 0;
}
);
@@ -239,6 +236,7 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
@@ -247,8 +245,8 @@ L1s = (
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [78];
@@ -264,7 +262,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -297,19 +295,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -22,8 +22,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -221,8 +219,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "addr=192.168.30.2,mgmt_addr=192.168.30.2,second_addr=192.168.50.2";
clock_src = "external";
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=192.168.18.85";
}
);
@@ -255,18 +252,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -20,8 +20,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
servingCellConfigCommon = (
{
@@ -205,7 +203,7 @@ MACRLCs = (
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
ulsch_max_frame_inactivity = 0;
}
);
@@ -223,11 +221,11 @@ RUs = (
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 3
att_rx = 0;
att_tx = 12
att_rx = 12;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 111;
max_rxgain = 114;
eNB_instances = [0];
# sdr_addrs = "serial=30C51D4";
# clock_src = "external";
@@ -263,19 +261,12 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
uicc: {

View File

@@ -21,8 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -265,19 +263,12 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
uicc: {

View File

@@ -0,0 +1,288 @@
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-Eurecom-5GNRBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 95;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 2;
sd = 2; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 433096;
dl_frequencyBand = 66;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 430000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 66;
ul_absoluteFrequencyPointA = 350000;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -118;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_slots_inactivity = 100;
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
};

View File

@@ -0,0 +1,301 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 99;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
sib1_tda = 15;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 2;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 12 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 640288;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 24;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 6325;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 2;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 24;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 6325;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 150;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
sf_extension = 0;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
};

View File

@@ -257,17 +257,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -406,19 +406,12 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
//rfsimulator :

View File

@@ -406,19 +406,12 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
//rfsimulator :

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

Some files were not shown because too many files have changed in this diff Show More