Compare commits

...

507 Commits

Author SHA1 Message Date
Ilario FAVERO
3031155205 fixed issues arisen from MR review 2022-05-31 17:42:13 +02:00
Ilario FAVERO
6cdbbf5fea fix: wrong removal of optimization flag and added forgotten new files for tests 2022-05-25 17:22:09 +02:00
Ilario FAVERO
79e4d3582a uplifted for C++ compatibility 2022-05-25 14:58:41 +02:00
Ilario FAVERO
cc48e4846a json formatting and file rotationcommon/config/config_load_configmodule.h 2022-05-25 14:52:37 +02:00
Ilario FAVERO
7f35fefea2 added new target for unittests and dependency on uuid 2022-05-25 14:51:58 +02:00
Ilario FAVERO
836e5f3fc5 fix for enabling unittest compilation 2022-05-25 14:51:23 +02:00
Ilario FAVERO
13cf8ff6e1 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2022-05-23 11:35:18 +02:00
Ilario FAVERO
b87a34dd12 added unit tests for log library and new dependency on uuid caused by log improvements 2022-05-23 11:35:14 +02:00
Robert Schmidt
5bf454c78b Merge branch 'integration_2022_wk19b' into 'develop'
integration_2022_wk19b

See merge request oai/openairinterface5g!1555

MR !1357: Bupt UL-MIMO
MR !1516: NR handling 2-port PMI report
MR !1454: Implementation of multiple dedicated BWPs
MR !1556: Fix RAN-gNB-nrUE-MONO-TDD-Band78-N300 pipeline
2022-05-17 12:03:56 +00:00
Robert Schmidt
22944fb8c0 Merge remote-tracking branch 'origin/repair-test-caracal' into integration_2022_wk19b 2022-05-16 21:41:39 +02:00
Robert Schmidt
6c43cdf4dc Hack to prevent segfault 2022-05-16 21:39:06 +02:00
luis_pereira87
486e9e2381 Merge remote-tracking branch 'origin/Dedicated-BWPs' into integration_2022_wk19b
# Conflicts:
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-05-13 15:58:56 +01:00
luis_pereira87
cc238a91e4 Compute TDA startSymbolIndex and nrOfSymbols everytime function nr_set_pdsch_semi_static is called 2022-05-13 15:13:21 +01:00
Robert Schmidt
9b2fa3ca63 Increase PUSCH decoding defaults 2022-05-13 14:14:47 +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
1c4bf40248 Fix caracal perf test: add option for N300, run only once (is consistent) 2022-05-13 11:57:31 +02:00
Robert Schmidt
7c5a82bf1c Format Hdashboard Gitlab post using Markdown 2022-05-13 08:25:23 +02:00
rmagueta
64f4d34c25 Fix tda in dlsim considering the new configuration for NSA in fill_default_nsa_downlinkBWP 2022-05-12 20:40:22 +01:00
Robert Schmidt
a9dcdcbbcb Fix name of html module 2022-05-12 20:54:02 +02:00
Robert Schmidt
09c3597b46 Only check T tracer if EPC has been defined 2022-05-12 18:47:47 +02:00
luis_pereira87
54f49fd253 Remove duplicated code for bwp common validation 2022-05-12 17:33:35 +01:00
luis_pereira87
2f3ce42d3b Improve code readability in fix_scd function 2022-05-12 17:04:09 +01:00
Robert Schmidt
851291ddc4 Merge remote-tracking branch 'origin/NR_handling_PMI_report' into integration_2022_wk19b 2022-05-12 17:45:59 +02:00
luis_pereira87
9f51b3f8b1 Harmonize and reuse the nr_rrc_config_dl_tda function to prepare PDSCH-TimeDomainResourceAllocation list 2022-05-12 14:42:47 +01:00
luis_pereira87
7d1f693ba1 Revert rbSize validation with target_dl_bw to previous version 2022-05-12 13:28:18 +01:00
luis_pereira87
af377945c3 Fix hardcoded coreset and assignment from wrong array position 2022-05-12 13:12:45 +01:00
luis_pereira87
9aa7d1c88f Remove redundant change of active bwp (it changes after RRC processing timer elapsed) 2022-05-12 10:57:03 +01:00
luis_pereira87
0217cd50de Update in documentation 2022-05-12 10:06:00 +01:00
luis_pereira87
270c540c3c Minor clean up in function mac_rrc_nr_data_req 2022-05-12 10:06:00 +01:00
Robert Schmidt
a582ac99e5 Trigger Amarisoft in NSA tests 2022-05-12 09:19:27 +02:00
luis_pereira87
3c4ba50281 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-05-11 14:49:59 +01:00
francescomani
340531038c bugfix: n1 and n2 for 2 ports 2022-05-11 15:21:08 +02:00
francescomani
6ded64f86d Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-05-11 15:14:56 +02:00
Roberto Louro Magueta
4c1b432718 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4
# Conflicts:
#	openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
2022-05-11 13:45:56 +01: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
francescomani
1fbc7e080b addressing review 2022-05-11 08:50:29 +02: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
rmagueta
d7795c9dff Fix build after merge 2022-05-06 16:15:43 +01:00
luis_pereira87
c587fe366d Improve log and cosmetic changes 2022-05-06 16:06:31 +01:00
luis_pereira87
5031649c47 Improvements on BWP switch procedures and harmonize it with RRC processing timer 2022-05-06 16:06:31 +01:00
rmagueta
b8cd9ef167 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-05-06 15:41:10 +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
luis_pereira87
02d49ed3b6 Fixes after merge 2022-05-06 11:56:11 +01:00
luis_pereira87
a8e6bf9bd5 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/GNB_APP/gnb_config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/nr_rrc_defs.h
#	openair2/RRC/NR/nr_rrc_proto.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-05-06 11:29:55 +01: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
Roberto Louro Magueta
f2974b431b Revert transformPrecoder to transform_precoding 2022-05-03 19:25:14 +01:00
Roberto Louro Magueta
7aa3bfaa54 Revert deleted rfdevice.trx_end_func() 2022-05-03 18:25:57 +01:00
luis_pereira87
d059c71754 Clean up and minor improvements in configuration files 2022-05-03 16:08:18 +01:00
luis_pereira87
8641d54f4d Fix build after merge 2022-05-03 15:56:18 +01:00
luis_pereira87
1e38cead39 Increase MAX_NUM_NR_DLSCH_SEGMENTS_PER_LAYER to allow gNB to work with 273PRBs and 256QAM at MCS 27 2022-05-03 15:40:47 +01:00
luis_pereira87
7597a582f9 Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/GNB_APP/gnb_config.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	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-05-03 14:00:57 +01:00
francescomani
cfa37e7213 cosmetic changes 2022-05-03 12:21:47 +02:00
Vijay Chadachan
139d20a9ba Removing unused variables 2022-05-03 11:58:15 +02:00
Roberto Louro Magueta
2162ba6d82 Fix sigma in ulsim 2022-05-03 10:03:56 +01: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
Roberto Louro Magueta
e3fd9f7f8c To use the channel generated by multipath_channel() for single-layer case in ulsim 2022-05-03 00:29:44 +01:00
Roberto Louro Magueta
b6a018089b Fix in nr_ulsch_extract_rbs 2022-05-02 23:53:13 +01:00
Roberto Louro Magueta
3d5fa54a48 Fix logs in help of ulsim 2022-05-02 19:07:07 +01:00
francescomani
299642344a fix for ssb offset scaling issue 2022-05-02 19:08:10 +02:00
Roberto Louro Magueta
5de85671d8 Fix heap buffer overflow 2022-05-02 16:58:08 +01: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
francescomani
6b6528cc94 revert H_awgn_mimo in simulator 2022-05-02 10:41:42 +02:00
Roberto Louro Magueta
4f2854f92c Fix UL channel estimation for 4 layers 2022-05-02 01:55:03 +01:00
rmagueta
0e2a00655e Fix build after merge 2022-04-30 17:07:14 +01:00
rmagueta
d01cd03ad3 Merge branch 'NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-30 16:40:58 +01:00
rmagueta
2ddb68754e Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-04-30 16:22:09 +01:00
Roberto Louro Magueta
1694e1b061 Fix b_shift 2022-04-29 19:08:41 +01:00
Roberto Louro Magueta
523f8f2139 Put pilot_cnt++ in the right place 2022-04-29 18:19:49 +01:00
Roberto Louro Magueta
8ba0f2f086 Fix high MCS test fail for UL (it do not fix the degradation yet) 2022-04-29 11:00:40 +01:00
Roberto Louro Magueta
e236794310 Put in ulsim a channel matrix H_awgn_mimo different from identity (it is a matrix equal to matrix used in dlsim) 2022-04-29 01:22:33 +01:00
Roberto Louro Magueta
c128a5d9e2 Remove SUPPORT_PMI_MATRIC flag 2022-04-29 01:11:27 +01:00
Roberto Louro Magueta
719d7fb8be Improvements in UL channel estimation to consider multiple antennas for dmrs type 1 2022-04-29 00:51:55 +01:00
Roberto Louro Magueta
724e155a3a Move UL delta computation for a function 2022-04-28 23:57:19 +01:00
Roberto Louro Magueta
927e219553 UL channel estimation with a formulation closer to 3GPP, because this will be useful next 2022-04-28 21:04:41 +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
Roberto Louro Magueta
badb6cb590 Improve debug log 2022-04-28 16:24:21 +01:00
Roberto Louro Magueta
735b51a06b Third code simplification in UL channel estimation 2022-04-28 15:03:26 +01:00
Roberto Louro Magueta
4ecb0401e0 Second code simplification in UL channel estimation 2022-04-28 14:34:43 +01: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
Roberto Louro Magueta
65f09fecb8 First code simplification in UL channel estimation 2022-04-28 14:18:05 +01:00
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
francescomani
5e1364f19d Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-28 13:57:17 +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
Roberto Louro Magueta
99fde7f7cb Fix some needed debug logs considering the multi-layer case 2022-04-28 11:50:27 +01:00
Roberto Louro Magueta
b56494855e Merge remote-tracking branch 'origin/bupt-ulmimo-4' into bupt-ulmimo-4 2022-04-28 11:24:08 +01:00
francescomani
d05f2b3add Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-28 11:54:51 +02:00
francescomani
6af3d0a364 change in ulsim test to show degradation in performances for 2rx scenario 2022-04-28 11:27:27 +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
Roberto Louro Magueta
7e172e348b Fix from frame_parms->nb_antennas_tx to UE->frame_parms.nb_antennas_tx in ulsim 2022-04-27 11:51:29 +01: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
Roberto Louro Magueta
cb456a23cc Fix in atxlev computation in ulsim (the loop should be over nb_antennas_tx and not nb_antennas_rx) and remove wrong sigma_dB computation 2022-04-26 20:25:53 +01:00
Roberto Louro Magueta
ac5444afd9 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-26 19:18:08 +01: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
francescomani
7e6f8ecfb3 fixing bugs and cleaning up ulsim 2022-04-26 10:59:25 +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
francescomani
697d72cd01 adding missing parameter in ulsim 2022-04-22 18:51:53 +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
francescomani
f57f4ce3fe bugfix in channel compensation 2022-04-22 09:56:54 +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
luis_pereira87
aeaf4c87b5 Fix delay of CU for a very large cellGroupConfig 2022-04-20 20:19:56 +01:00
francescomani
f49df05456 fix for ulschsim antenna ports 2022-04-20 18:55:38 +02:00
luis_pereira87
5887541538 Fix segmentation fault when using multiple Dedicated-BWPs and F1 2022-04-20 17:16:49 +01: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
francescomani
15777bbf0e fix for ulsim antenna ports 2022-04-20 17:05:03 +02:00
luis_pereira87
efd99acacc Fix read SSpace array index at -1 2022-04-20 15:51:02 +01: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
luis_pereira87
709db95112 Fix DL/UL failure due to wrong dedicated BWP when an RA fails on Msg4 and then succeeds 2022-04-19 18:59:56 +01:00
luis_pereira87
e59ac44c94 Merge branch 'NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/RRC/NR/nr_rrc_defs.h
#	openair2/RRC/NR/rrc_gNB.c
2022-04-19 18:34:42 +01:00
luis_pereira87
8e4c513805 Fix RRC processing time when using F1 split 2022-04-19 18:07:45 +01:00
francescomani
33663e68b0 rename frame_type 2022-04-19 18:37:14 +02:00
luis_pereira87
55f1a6b4da Stop the scheduling of CSI-RS, of CSI measurement report reception on PUCCH2 and of reception of SRS 2022-04-19 17:28:48 +01:00
luis_pereira87
72f40e6fb1 Add definition for some rrc processing delays 2022-04-19 17:04:05 +01:00
luis_pereira87
7508205f90 Move nr_mac_update_timers function to gNB_scheduler_primitives 2022-04-19 16:39:49 +01:00
luis_pereira87
5c176c454a Fix mcs table update during RRCReconfiguration 2022-04-19 16:34:10 +01:00
luis_pereira87
bd7f837f18 Fix after merge 2022-04-19 13:23:17 +01:00
luis_pereira87
44c0c8d321 Merge branch 'NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/rrc_gNB.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
2022-04-19 12:39:28 +01:00
luis_pereira87
a39c310bd4 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-04-19 10:21:57 +01: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
luis_pereira87
7b5d8de65f Remove sib1_tda from configuration files to use the default value 2022-04-14 15:52:54 +01:00
luis_pereira87
0270b7b1fb Move RRC processing timer implementation from RRC to MAC 2022-04-14 15:49:29 +01:00
luis_pereira87
ada380d9fd Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer 2022-04-14 11:46:52 +01: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
Laurent THOMAS
2373b02150 review remarks 2022-04-12 20:52:40 +02:00
francescomani
d642c74b66 reintroducing RA logs to avoid CI test failure 2022-04-12 11:26:20 +02:00
francescomani
02b66061b1 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-12 10:14:21 +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
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
luis_pereira87
0689040770 Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs 2022-04-11 13:50:32 +01:00
luis_pereira87
940abc3587 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-04-11 13:49:40 +01:00
Laurent THOMAS
421603534c fix regression 2022-04-11 10:52:53 +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
francescomani
680c605e32 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-04-08 17:02:35 +02:00
francescomani
1ab64d26aa Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-08 16:50:02 +02:00
Laurent THOMAS
2cdc7304f1 merge develop 2022-04-07 10:00:41 +02:00
luis_pereira87
2b1cafb509 Do not create a Dedicated BWP when it is not configured in the configuration file 2022-04-06 18:06:02 +01:00
luis_pereira87
e4536a093f Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs 2022-04-06 17:26:38 +01:00
Laurent THOMAS
293a53e373 code review remarks, cannot perform full test (develop bugged) 2022-04-06 17:07:25 +02:00
rmagueta
eb03322545 Change LOG level 2022-04-06 13:18:46 +01:00
luis_pereira87
1a3c8e5440 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2022-04-06 11:52:55 +01:00
rmagueta
c65593d088 Fix build after merge 2022-04-06 11:06:55 +01:00
rmagueta
345f3056ff Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
#	openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
#	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	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_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2022-04-06 10:51:43 +01:00
francescomani
4f486ce66b Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-06 11:02:53 +02:00
francescomani
f0ea21476a Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-06 10:04:20 +02:00
luis_pereira87
6ccaaacaf0 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-04-05 12:46:14 +01:00
luis_pereira87
4d257e1a99 Fix build after merge 2022-04-05 12:03:22 +01:00
luis_pereira87
f8af4c8b72 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-05 11:47:23 +01:00
francescomani
0152e8ce38 fix dlsim compilation error 2022-04-03 20:26:05 +02:00
francescomani
7901ff998d Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-03 16:38:32 +02:00
francescomani
ed9c35a170 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-03 16:20:59 +02: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
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
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
rmagueta
8e5ea001b1 Fix warning after merge 2022-03-28 11:57:29 +01:00
rmagueta
c11f6082a6 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2022-03-28 11:57:07 +01:00
rmagueta
3b3866feee Fix warning after merge 2022-03-28 11:17:59 +01:00
rmagueta
9daef4e587 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2022-03-28 11:17:00 +01:00
Laurent THOMAS
c0568a997a fix bugs, delete dead code 2022-03-28 12:05:18 +02: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
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
rmagueta
6c1f1a02bb Avoid CU from trying to access RC.nrmac 2022-03-25 16:11:34 +00:00
Laurent THOMAS
73053aa712 fix bug introduced in this branch 2022-03-25 16:32:07 +01:00
rmagueta
d5f431a1fd Move nr_bwp_switch and schedule_nr_bwp_switch functions to gNB_scheduler_primitives.c 2022-03-25 15:29:41 +00:00
rmagueta
94a296d79c Fix selected BWP for SRS at UE 2022-03-25 15:07:16 +00:00
rmagueta
5f64d2a1db Avoid CU from trying to access RC.nrmac 2022-03-25 01:51:04 +00:00
rmagueta
11577f6b0b Fix DU to CU RRC message encode 2022-03-25 01:01:29 +00:00
rmagueta
a1739a1175 Avoid segmentation fault 2022-03-25 00:59:43 +00:00
Laurent THOMAS
b153d2d1ee fix bug in nr_rate_matching 2022-03-24 21:10:23 +01:00
rmagueta
6d4bd11903 Merge remote-tracking branch 'origin/fix_rballoc_mask_type' into Dedicated-BWPs 2022-03-24 14:25:19 +00: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
francescomani
8fbe727b32 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-24 12:31:38 +01:00
luis_pereira87
5d6d25c972 Fix RIV value for 162 PRBs, update and synchronization of configuration files 2022-03-23 22:34:32 +00:00
luis_pereira87
9c45ee05bb Fix RIV value for 162 PRBs 2022-03-23 22:27:48 +00:00
luis_pereira87
7ba2517334 Improve nr_rrc_processing_timer to support BWP switching 2022-03-23 20:20:12 +00:00
francescomani
d36549f80a fix memory issues 2022-03-23 19:15:02 +01:00
luis_pereira87
345b66c77f Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
2022-03-23 17:21:34 +00:00
luis_pereira87
4510041aa6 Fix RRC processing time to match RRC ticks (at 1 ms) and add implementation for RRCSetup processing time 2022-03-23 17:08:36 +00:00
francescomani
3387a94ae3 fix for fr2 sl_ahead 2022-03-23 15:47:07 +01:00
luis_pereira87
d0f6174fea Remove obsolete code 2022-03-23 14:15:16 +00:00
luis_pereira87
2706b1641e Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-03-23 14:01:37 +00:00
luis_pereira87
e95b40a997 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-03-23 13:57:27 +00:00
luis_pereira87
daf3fb0e2c Enable nr_rrc_processing_timer for RRCSetup 2022-03-23 13:29:07 +00:00
luis_pereira87
6f5ea27e09 Improve nr_rrc_processing_timer procedures 2022-03-23 13:11:04 +00:00
luis_pereira87
726cebaa9d Create function to enable nr_rrc_processing_timer 2022-03-23 11:17:52 +00:00
francescomani
07d20ba121 fix for memory issues 2022-03-23 09:58:55 +01:00
rmagueta
bc7a404629 Move rrc_processing_timer from MAC to RRC 2022-03-22 20:18:23 +00:00
luis_pereira87
f5c4ccf479 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer 2022-03-22 18:51:48 +00:00
francescomani
fb118a76a8 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-22 13:21:43 +01:00
rmagueta
7ae5abfbeb Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-22 12:07:14 +00: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
rmagueta
a9bbf18d9f Simplification of rrc_processing_delay computation 2022-03-21 17:14:50 +00:00
luis_pereira87
65e47c882f Handle RRC processing time at gNB 2022-03-21 14:35:41 +00:00
rmagueta
4ce795186b Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-03-21 11:23:08 +00:00
francescomani
4d289b92cc fix xp=1 option and added RUNMODEM description for MIMO configuration 2022-03-21 11:59:31 +01:00
francescomani
7b9f53e9db option for identity matrix if xp is 1 2022-03-21 10:01:13 +01:00
francescomani
3dc7da3b22 fix for bad merge issues 2022-03-20 15:08:56 +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
luis_pereira87
e23e863e0f Merge remote-tracking branch 'origin/Dedicated-BWPs' into Dedicated-BWPs 2022-03-14 09:33:20 +00:00
luis_pereira87
3114060a38 Add configuration files for 217 PRBs (80 MHz) and 273 PRBs (100 MHz) BW in a Dedicated BWP 2022-03-14 09:32:33 +00:00
francescomani
1ab1fde7b8 fix for fdd and other warnings 2022-03-11 14:00:30 +01:00
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
luis_pereira87
b04957b57c Add configuration files for 217 PRBs (80 MHz) and 273 PRBs (100 MHz) BW in a Dedicated BWP 2022-03-10 13:19:40 +00:00
francescomani
06d488bb23 ulsch memory optimization 2022-03-09 17:35:38 +01:00
luis_pereira87
00c6a4bce5 Avoid segmentation fault 2022-03-08 19:14:42 +00:00
luis_pereira87
d058e2a6ed Increase RRC_BUF_SIZE to 1024 to solve encoding failure 2022-03-08 18:13:25 +00:00
luis_pereira87
19f532d450 Fix build after merge 2022-03-08 14:54:16 +00:00
luis_pereira87
a87e99ad69 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair1/PHY/TOOLS/lte_ue_scope.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-03-08 14:21:00 +00: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
francescomani
b8935b7761 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-07 10:37:48 +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
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
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
francescomani
26d8766d27 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-04 18:08:09 +01:00
francescomani
eec513ab4f Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-01 16:05:30 +01:00
francescomani
9e26621d4b Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-01 15:54:31 +01:00
francescomani
7bda635e03 handling 2-port CSI report at MAC gNB 2022-03-01 10:57:54 +01:00
francescomani
faf38c7e56 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-23 14:20:39 +01:00
luis_pereira87
08e97aa9c8 Fix warnings after merge 2022-02-23 11:09:55 +00:00
luis_pereira87
8238c40ce9 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-23 10:48:49 +00:00
Raymond Knopp
1976f433dc changes for Panther 2022-02-22 16:15:29 +01:00
luis_pereira87
5b1dfb8bc9 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-21 10:20:42 +00:00
francescomani
ec539fc6a5 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-21 10:02:30 +01:00
Raymond Knopp
6d9d1f0b94 changes for 2.5ms TDD period 2022-02-19 13:07:20 +01:00
francescomani
9eb1137b54 fix for scc/scc_SIB at UE 2022-02-18 10:14:52 +01:00
rmagueta
35d6c4af98 Fix ra_SearchSpace for NSA 2022-02-18 02:09:59 +00:00
rmagueta
da251e00b3 Fix firstActiveBWP and defaultBWP for NSA 2022-02-18 01:59:33 +00:00
rmagueta
cce425baf7 Fix searchSpaceId and controlResourceSetId for NSA 2022-02-18 01:43:09 +00:00
rmagueta
87c69d2fe4 To use initialBWP when there are no dedicated BWPs in config file 2022-02-18 01:22:26 +00:00
rmagueta
589cb2f43e Fix segmentation fault for do-ra 2022-02-18 00:39:34 +00:00
rmagueta
99d1588670 Fix phy-test 2022-02-18 00:28:44 +00:00
rmagueta
0789759b85 Fix dedicated BWPs configuration for NSA 2022-02-17 20:09:39 +00:00
francescomani
7b4b7b9619 fix for dlschsim 2022-02-17 18:13:57 +01:00
rmagueta
d1e7dead00 Fix the removal of unused BWPs 2022-02-17 14:14:50 +00:00
rmagueta
95a0271779 Fix warning 2022-02-17 10:22:28 +00:00
francescomani
77153fbf5f TBSLBRM for DL computed ad MAC (added fapi parameter) 2022-02-17 10:16:22 +01:00
luis_pereira87
bddcfc512f Implementation of functions required for the BWP switching based on RRC method 2022-02-16 19:23:53 +00:00
luis_pereira87
6b69e67f71 Fix number of search spaces 2022-02-16 16:43:49 +00:00
luis_pereira87
405edc8bd3 Fix RRC state and sub-state 2022-02-16 12:43:04 +00:00
luis_pereira87
1cd71d1742 Change LOG level 2022-02-16 11:51:20 +00:00
luis_pereira87
acdbb5bb8d Fix segmentation fault in phy-test 2022-02-16 11:28:04 +00:00
luis_pereira87
47592d53aa Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
2022-02-16 11:17:24 +00:00
francescomani
c4f1812cc9 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-14 18:14:19 +01:00
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
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
luis_pereira87
5d488fcbfe Merge remote-tracking branch 'origin/multiple-ues-min-prbs-bug-fix' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-02-11 10:06:39 +00: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
Robert Schmidt
0a6322103c Reduce max_num_ue after successful PUCCH alloc 2022-02-10 12:44:26 +01:00
Robert Schmidt
571677b948 Make nr_find_nb_rb() take minimum RBsize 2022-02-10 12:43:54 +01:00
luis_pereira87
c1931a60e7 Bug fix in min num of PRBs to schedule to a UE when there is multiple UEs 2022-02-09 20:14:05 +00:00
luis_pereira87
06d07e3a4c Bug fix in min num of PRBs to schedule to a UE when there is multiple UEs 2022-02-09 20:09:51 +00:00
luis_pereira87
9c72064883 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# 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/GNB_APP/L1_nr_paramdef.h
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
2022-02-08 15:12:32 +00:00
luis_pereira87
7c747e5ccd Merge remote-tracking branch 'origin/NR_pdcch_improvements' into Dedicated-BWPs 2022-02-07 13:36:42 +00:00
luis_pereira87
4973424468 Merge remote-tracking branch 'origin/NR_pdcch_improvements' into Dedicated-BWPs 2022-02-07 13:09:10 +00:00
luis_pereira87
719aec8b9a Merge remote-tracking branch 'origin/NR_pdcch_improvements' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2022-02-04 13:28:09 +00:00
luis_pereira87
5b875ab25d Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-02-02 15:06:42 +00: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
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
Raymond Knopp
cd5e07b67c minor change after merge with develop 2022-01-24 15:06:02 +01:00
luis_pereira87
729c4ef1de Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	ci-scripts/conf_files/gNB_SA_n78_106PRB.2x2_usrpn310.conf
#	ci-scripts/conf_files/gNB_SA_n78_133PRB.2x2_usrpn310.conf
#	openair2/GNB_APP/L1_nr_paramdef.h
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
2022-01-24 11:46:27 +00: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
francescomani
4bdc6ac59f minor changes 2022-01-19 18:11:43 +01:00
luis_pereira87
9daebabe60 Handling SIB1 decode at UE when the searchSpaceSIB1 in BWP is NULL 2022-01-19 11:56:41 +00:00
francescomani
3377f91b62 fix free pusch_vars->rho 2022-01-19 11:48:51 +01:00
luis_pereira87
a6bf3f4cb2 Fix search space loop in ue_dci_configuration 2022-01-19 00:29:37 +00:00
luis_pereira87
8df429224b Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-01-18 17:50:20 +00:00
luis_pereira87
6f7b434c49 Update config files and fix bwp selection 2022-01-18 17:49:24 +00:00
luis_pereira87
754a39def5 Dedicated BWPs working with COTS UE in SA mode 2022-01-18 15:54:32 +00:00
luis_pereira87
e7d11fab4b Fix segmentation fault when exporting packets to wireshark with high MCS 2022-01-18 15:44:24 +00:00
luis_pereira87
10ef3751d7 Fix rbStart in pf_ul 2022-01-18 15:23:01 +00:00
francescomani
79cc85a265 Merge remote-tracking branch 'origin/clean-shutdown' into bupt-ulmimo-4 2022-01-18 15:48:38 +01:00
luis_pereira87
2a610cfef4 Handle config file without servingcellconfigdedicated 2022-01-18 13:49:22 +00:00
Robert Schmidt
18fd38fa08 Don't call trx_end_func() at nr-softmodem, is done in ru_thread() 2022-01-18 14:23:54 +01:00
Robert Schmidt
a2244ab32d Stop RU threads at end of nr-softmodem 2022-01-18 14:21:58 +01:00
luis_pereira87
b608e326ef Derive each Coreset or SearchSpace IDs from the BWPId to uniquely identify each one 2022-01-18 13:00:58 +00:00
Robert Schmidt
8c5524e455 Shutdown nr-softmodem cleanly 2022-01-18 11:53:57 +01:00
francescomani
f05c195751 bugfix for nl index 2022-01-18 09:15:05 +01:00
luis_pereira87
1bd68ef261 Fixes when handling with multiple Coresets 2022-01-18 00:12:56 +00:00
luis_pereira87
2b6c64c98c Backup improvements in servingcellconfigdedicated 2022-01-18 00:12:56 +00:00
francescomani
c1d157dc42 fixing compilation issues 2022-01-17 19:28:17 +01:00
francescomani
65698f6a8f some improvements in ul-mimo code 2022-01-17 15:15:47 +01:00
luis_pereira87
370b1f4d79 Fix build warning after merge with develop 2022-01-17 10:30:35 +00:00
luis_pereira87
c9b8bf475b Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
#	openair1/PHY/TOOLS/lte_enb_scope.c
2022-01-17 10:21:22 +00:00
luis_pereira87
1a6b464331 Avoid segmentation fault in the BWP selection 2022-01-14 12:07:26 +00:00
luis_pereira87
96ae9a915f InitialContextSetupResponse with COTS UE 2022-01-13 19:51:48 +00:00
luis_pereira87
a8e7927cde Fix scope build warnings 2022-01-13 17:40:17 +00:00
luis_pereira87
46181eca7d Dedicated BWPs working for SA in RFsim 2022-01-13 17:22:37 +00:00
luis_pereira87
c1f6dbfb2f Fix Msg4 for mac subheader long, RB calculation improvement, and fix variable types to support bigger payload lengths 2022-01-13 11:16:11 +00:00
luis_pereira87
b15f1f1830 Fix number of RRCSetup encoded bytes 2022-01-12 17:51:32 +00:00
luis_pereira87
4f50fcce2a Add dedicated BWPs in fill_initial_SpCellConfig 2022-01-12 17:21:20 +00:00
luis_pereira87
6e4ff32cc5 Add Dedicated Serving Cell Configuration to config files 2022-01-12 14:40:50 +00:00
luis_pereira87
981f46039f Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2022-01-12 14:28:43 +00:00
luis_pereira87
212f00fce7 Fix segmentation faults for SA 2022-01-11 19:03:35 +00:00
luis_pereira87
4f6938839a Remove hardcoded controlResourceSetId 2022-01-11 18:24:52 +00:00
luis_pereira87
2bab005799 Remove unused BWPs 2022-01-11 17:59:30 +00:00
luis_pereira87
296357fe1b BWP fixes 2022-01-11 14:27:07 +00:00
luis_pereira87
20b6ee70eb Fix build warning after merge with develop 2022-01-11 10:57:16 +00:00
luis_pereira87
68d4daf7d9 Fix variable wrongly replaced during the merge with develop 2022-01-11 10:56:34 +00:00
luis_pereira87
87c75ebccd Merge remote-tracking branch 'origin/develop' into scs_60_iisc
# 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_procedures.c
2022-01-11 10:20:20 +00:00
francescomani
d36079c914 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-01-10 10:46:15 +01:00
francescomani
882c4b34a2 cleanup 2022-01-07 18:03:35 +01:00
rmagueta
7f6e5c6fff Fix warnings after merge with develop 2021-12-27 11:35:49 +00:00
luis_pereira87
35ebb0e045 Update min_rxtxtime in config file after merge 2021-12-27 11:26:21 +00:00
luis_pereira87
2a4c789ba9 Merge remote-tracking branch 'origin/thread_pool_size' into scs_60_iisc 2021-12-27 11:23:32 +00:00
luis_pereira87
4549104238 Merge remote-tracking branch 'origin/develop' into scs_60_iisc
# Conflicts:
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
#	openair1/SIMULATION/NR_PHY/dlsim.c
2021-12-27 11:13:27 +00:00
francescomani
ff56eb3a5d Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2021-12-24 09:58:15 +01:00
Raymond Knopp
50629a83a2 first set of changes to AW2S ORI/eCPRI driver for n78 2021-12-20 21:24:52 +01:00
Raymond Knopp
99e006f750 testing with UM/No Harq 2021-12-15 13:38:00 +01:00
Raymond Knopp
171408bc4d pucch DTX threshold modification 2021-12-13 21:25:38 +01: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
francescomani
2f7e7b9823 remove some more logs 2021-12-10 10:54:10 +01:00
francescomani
dbdf38133e reducing log levels 2021-12-09 17:37:55 +01:00
francescomani
79002c1190 phy-sim test cases for UL-MIMO 2021-12-09 17:37:16 +01:00
Raymond Knopp
9b0d2384ea minor changes after merge 2021-12-09 12:34:08 +01:00
francescomani
9fd889dc3e Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2021-12-09 09:59:07 +01:00
Fang
2aa8a438f2 add mimo doc 2021-12-07 13:47:15 +08:00
yihz
e4a7eda968 base on 2021.w48, diff_1206_2.diff, UL_NR_MIMO 4*4 2021-12-07 10:43:28 +08:00
Luis Pereira
e6ae92ea17 Revert "Temporary fix to avoid QUECTEL to reject the RRCReconfiguration in NSA mode"
This reverts commit 1302b48b92
2021-12-03 12:56:01 +00:00
luis_pereira87
aa653af57f Merge remote-tracking branch 'origin/develop' into scs_60_iisc
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2021-12-02 11:24:07 +00:00
luis_pereira87
0f63e94861 Update Dedicated Serving Cell Configuration section in configuration file 2021-12-01 23:17:20 +00:00
luis_pereira87
1302b48b92 Temporary fix to avoid QUECTEL to reject the RRCReconfiguration in NSA mode
For now, QUECTEL rejects the RRCReconfiguration with more than 1 BWP Dedicated, need to understand why...
2021-12-01 22:28:06 +00:00
luis_pereira87
8cc8ef123b Add ServingCellConfigDedicated to RRCReconfiguration message in NSA 2021-12-01 22:02:41 +00:00
luis_pereira87
6edd0bb2ca Change LOG levels 2021-12-01 22:02:35 +00:00
luis_pereira87
ee054770c4 Fix Segmentation Fault and avoid multiple calloc for the same pointers 2021-12-01 22:02:28 +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
luis_pereira87
b4f8857da3 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-29 17:35:13 +00:00
francescomani
7f392cdb24 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-15 11:33:46 +01:00
francescomani
1396004ccc Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-09 10:44:34 +01:00
francescomani
5bfd507915 some more fixes for RA at gNB 2021-11-04 09:19:29 +01:00
francescomani
ebaabde8c6 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-03 14:06:58 +01:00
francescomani
f1992a58f8 fixes in bwp ss and coreset configuration at ue 2021-11-01 18:14:39 +01:00
francescomani
1e6c36d877 fix segfault in SA rfsim 2021-11-01 12:03:25 +01: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
3186d45e71 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-10-27 15:00:50 +02:00
francescomani
0e0be91aa3 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-10-21 15:07:38 +02: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
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
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
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
francescomani
c5feda8613 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-09-10 14:59:10 +02:00
francescomani
503eba46ce fix compilation issue 2021-09-10 13:39:50 +02:00
Abhijith
28394b96af Merge branch 'scs_60_iisc' of gitlab.eurecom.fr:oai/openairinterface5g into scs_60_iisc 2021-08-30 17:27:25 +05:30
Abhijith
f03b309bc0 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-08-30 17:21:34 +05:30
Abhijith
1c60147e86 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-08-30 16:54:57 +05:30
Abhijith
ad9e0f5db0 Fixed error in fill_default_reconfig() 2021-08-27 11:36:15 +05:30
Abhijith
208a682152 Added documentation 2021-08-20 11:50:41 +05:30
Abhijith
f2a1023d8e Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-08-16 23:01:31 +05:30
Abhijith
8b1138c89f Hardcoding of bwp_id at UE removed 2021-08-16 14:12:04 +05:30
Abhijith
274ea107ff Reverted number of BWPs error at gNB 2021-08-09 17:38:09 +05:30
Abhijith
bd0c5f6030 Reverted no. of BWPs to 4 2021-08-05 11:07:39 +05:30
Abhijith
94808d4326 Added switching delay requirements 2021-07-30 15:57:36 +05:30
Abhijith
000142c3e3 Cosmetic changes 2021-07-29 16:00:23 +05:30
Shruthi
104e532731 Review comments on SA mode addressed 2021-07-23 13:42:14 +05:30
Shruthi
6fa460dd2d Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-07-23 13:06:12 +05:30
Abhijith
f34c9131d9 Fixed SA mode Error 2021-07-13 14:45:32 +05:30
Abhijith
1a089a0d67 Fixed errors with initialBWP and SA 2021-07-06 16:37:46 +05:30
Abhijith
115a6d0384 Merge conflicts resolved 2021-07-05 11:49:41 +05:30
Abhijith
92298de507 Merge remote-tracking branch 'origin/develop' into HEAD 2021-07-05 11:25:06 +05:30
Abhijith
1f94285040 Rebased to develop after SA merge 2021-07-02 17:03:20 +05:30
Abhijith
8507a3d281 Log level changed 2021-06-25 14:04:32 +05:30
Abhijith
076a8264c2 Merge branch 'scs_60_iisc' of https://gitlab.eurecom.fr/oai/openairinterface5g into scs_60_iisc 2021-06-25 13:39:20 +05:30
Abhijith
c623d90453 Review comments incorporated 2021-06-25 13:38:40 +05:30
Abhijith Atreya
039442c1d4 Fixed warnings and extra Log messages removed 2021-06-25 13:38:40 +05:30
Shruthi
6602bdeed8 PTRS paramaters removed 2021-06-25 13:38:40 +05:30
Abhijith Atreya
d3674a25e1 Fixed PTRS errors 2021-06-25 13:38:40 +05:30
Abhijith
ea1b995a75 Fixed error with BWP_Id 4 2021-06-25 13:38:40 +05:30
Abhijith
24acc0e8b0 scs and bwp location error fixed 2021-06-25 13:38:40 +05:30
Abhijith
4f9aaa927e Access SCD parameters from config file 2021-06-25 13:38:40 +05:30
Abhijith
af6807d30b pucch errors fixed 2021-06-25 13:38:40 +05:30
Abhijith
1fe40f312e bugfix : pdcch and BWP switch capability 2021-06-25 13:38:40 +05:30
Abhijith
bca775a594 Fixed compilation issues 2021-06-25 13:38:40 +05:30
Abhijith
91765a2c4d Initial commit for addition of dedicated BWPs 2021-06-25 13:38:40 +05:30
Abhijith
4a6f8a7dc7 Review comments incorporated 2021-06-25 13:18:52 +05:30
Abhijith Atreya
698917bf1c Fixed warnings and extra Log messages removed 2021-06-02 14:32:32 +00:00
Shruthi
e9a6efc9c9 PTRS paramaters removed 2021-06-02 12:17:08 +05:30
Abhijith Atreya
82ba9b96f4 Fixed PTRS errors 2021-06-01 11:35:03 +00:00
Abhijith
b2fedd793c Fixed error with BWP_Id 4 2021-06-01 15:50:16 +05:30
Abhijith
0628d54480 scs and bwp location error fixed 2021-05-27 20:49:55 +05:30
Abhijith
0afec1e3dd Access SCD parameters from config file 2021-05-27 18:10:46 +05:30
Abhijith
1ce9f1fccb pucch errors fixed 2021-05-26 21:20:02 +05:30
Abhijith
0ec806f5fe bugfix : pdcch and BWP switch capability 2021-05-25 20:16:31 +05:30
Abhijith
8e79241cbe Fixed compilation issues 2021-05-24 14:18:26 +05:30
Abhijith
1042db7317 Initial commit for addition of dedicated BWPs 2021-05-24 13:41:27 +05:30
343 changed files with 11330 additions and 5524 deletions

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -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
@@ -66,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: [

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
@@ -32,7 +32,7 @@ nrmodule2_quectel:
LogStore : /media/ci_qlogs
PLMN : 20897
UENetwork : wwan0
HostIPAddress : 192.168.18.189
HostIPAddress : 172.21.16.139
HostUsername : nrmodule2
HostPassword : linux
HostSourceCodePath : none
@@ -40,6 +40,7 @@ nrmodule2_quectel:
- 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
@@ -54,7 +55,7 @@ amarisoft_ue_1:
Duration : 60
Ping : /tmp/test_ue1.log
UELog : /tmp/ue1.log
HostIPAddress : 192.168.18.89
HostIPAddress : 172.21.16.144
HostUsername : root
HostPassword : toor
HostSourceCodePath : /tmp
@@ -97,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

@@ -243,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)
@@ -294,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)
@@ -1146,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())
@@ -1174,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())
@@ -1202,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())
@@ -1230,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

@@ -64,10 +64,10 @@ class Log_Mgt:
if m is not None:
return int(m.group(1))
def __RemoveOldest(self):
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 +14 -delete'
COMMAND='echo ' + self.Password + ' | sudo -S find ' + self.path + ' -type f -mtime +' + str(days) + ' -delete'
mySSH.command(COMMAND,'\$',20)
mySSH.close()
@@ -79,13 +79,18 @@ class Log_Mgt:
def LogRotation(self):
used_space = self.__CheckUsedSpace() #avail space in target folder
if used_space > 80 :
logging.debug('\u001B[1;37;41m Used Disk > 80%, on ' + self.Username+'@'+self.IPAddress + '\u001B[0m')
logging.debug('\u001B[1;37;41m Removing Artifacts older than 14 days \u001B[0m')
self.__RemoveOldest()
else:
logging.debug('Used Disk < 80%, on ' + self.Username+'@'+self.IPAddress +', no cleaning required')
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

@@ -107,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

@@ -439,7 +439,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:
@@ -1111,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:

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
@@ -168,7 +168,7 @@ class PhySim:
mySSH.close()
#check build status and update HTML object
lHTML = html.HTMLManagement()
lHTML = cls_oai_html.HTMLManagement()
lHTML=self.__CheckBuild_PhySim(htmlObj,constObj)
return lHTML
@@ -186,6 +186,6 @@ class PhySim:
mySSH.command(self.__workSpacePath+'ran_build/build/ldpctest ' + self.runargs + ' >> '+self.__runLogFile, '\$', 30)
mySSH.close()
#return updated HTML to main
lHTML = html.HTMLManagement()
lHTML = cls_oai_html.HTMLManagement()
lHTML=self.__CheckResults_PhySim(htmlObj,constObj,testcase_id)
return lHTML

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
@@ -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

@@ -37,6 +37,7 @@ import logging
import os
from pathlib import Path
import time
from multiprocessing import Process, Lock, SimpleQueue
#-----------------------------------------------------------
# OAI Testing modules
@@ -237,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

@@ -237,7 +237,7 @@ RUs = (
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";
}
);

View File

@@ -237,7 +237,7 @@ RUs = (
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";
}
);

View File

@@ -237,7 +237,7 @@ RUs = (
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";
}
);

View File

@@ -239,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"
}
);

View File

@@ -240,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"
}
);

View File

@@ -38,7 +38,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 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.252,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"
}
);

View File

@@ -39,7 +39,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 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.252,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"
}
);

View File

@@ -225,6 +225,7 @@ RUs = (
att_tx = 0;
att_rx = 0;
bands = [7];
sl_ahead = 12;
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];

View File

@@ -20,7 +20,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
@@ -199,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 = (
@@ -213,6 +213,7 @@ L1s = (
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 80;
}
);
@@ -230,7 +231,7 @@ RUs = (
bf_weights = [0x00007fff, 0x00007fff];
#clock_src = "external";
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.252,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"
}
);

View File

@@ -264,7 +264,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.252,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"
}
);

View File

@@ -38,7 +38,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;
@@ -261,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.252,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"
}
);

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

@@ -263,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.252,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"
}
);

View File

@@ -38,7 +38,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
@@ -262,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.252,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"
}
);

View File

@@ -203,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;
}
);
@@ -221,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";

View File

@@ -63,8 +63,8 @@ gNBs =
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 13475; # 6366 12925 12956 28875 12952
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
@@ -85,7 +85,7 @@ gNBs =
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 13475;
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;

View File

@@ -15,7 +15,8 @@ Ref :
DLSCH encoding : 230.0
L1 Rx processing : 175.0
PUSCH inner-receiver : 100.0
PUSCH decoding : 180.0
#PUSCH decoding : 180.0
PUSCH decoding : 240.0
DL & UL scheduling timing stats : 37.0
UL Indication : 38.0
Threshold :

View File

@@ -0,0 +1,31 @@
FROM ubuntu:bionic AS oai-formatting-check
ARG MERGE_REQUEST
ARG SRC_BRANCH
ARG TARGET_BRANCH
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
astyle \
gawk \
git
WORKDIR /oai-ran
COPY . .
RUN /bin/bash -c "if [[ -v MERGE_REQUEST ]]; then echo 'Source Branch = $SRC_BRANCH'; echo 'Target Branch = $TARGET_BRANCH'; else echo 'Push to develop'; fi"
RUN /bin/bash -c "if [[ -v MERGE_REQUEST ]]; then ./ci-scripts/checkCodingFormattingRules.sh --src-branch $SRC_BRANCH --target-branch $TARGET_BRANCH; else ./ci-scripts/checkCodingFormattingRules.sh; fi"
RUN echo "=== Files not properly formatted ===" && \
/bin/bash -c "if [[ -f oai_rules_result_list.txt ]]; then cat oai_rules_result_list.txt; fi"
RUN echo "=== Files with incorrect define protection ===" && \
/bin/bash -c "if [[ -f header-files-w-incorrect-define.txt ]]; then cat header-files-w-incorrect-define.txt; fi"
RUN echo "=== Files with a GNU GPL licence Banner ===" && \
/bin/bash -c "if [[ -f files-w-gnu-gpl-license-banner.txt ]]; then cat files-w-gnu-gpl-license-banner.txt; fi"
RUN echo "=== Files with a suspect Banner ===" && \
/bin/bash -c "if [[ -f files-w-suspect-banner.txt ]]; then cat files-w-suspect-banner.txt; fi"

View File

@@ -255,16 +255,19 @@ class EPCManagement():
mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('cd /opt/oai-cn5g-fed-v1.3/docker-compose', '\$', 5)
mySSH.command('python3 ./core-network.py '+self.cfgDeploy, '\$', 60)
time.sleep(2)
mySSH.command('docker-compose -p 5gcn ps -a', '\$', 60)
if re.search('start-mini-as-ue', self.cfgDeploy):
dFile = 'docker-compose-mini-nrf-asue.yaml'
else:
dFile = 'docker-compose-mini-nrf.yaml'
mySSH.command('docker-compose -p 5gcn -f ' + dFile + ' ps -a', '\$', 60)
if mySSH.getBefore().count('Up (healthy)') != 6:
logging.error('Not all container healthy')
else:
logging.debug('OK')
mySSH.command('docker-compose config | grep --colour=never image', '\$', 10)
logging.debug('OK --> all containers are healthy')
mySSH.command('docker-compose -p 5gcn -f ' + dFile + ' config | grep --colour=never image', '\$', 10)
listOfImages = mySSH.getBefore()
for imageLine in listOfImages.split('\\r\\n'):
res1 = re.search('image: (?P<name>[a-zA-Z0-9\-]+):(?P<tag>[a-zA-Z0-9\-]+)', str(imageLine))
res1 = re.search('image: (?P<name>[a-zA-Z0-9\-/]+):(?P<tag>[a-zA-Z0-9\-]+)', str(imageLine))
res2 = re.search('mysql', str(imageLine))
if res1 is not None and res2 is None:
html_cell += res1.group('name') + ':' + res1.group('tag') + ' '
@@ -536,7 +539,7 @@ class EPCManagement():
mySSH.command('python3 ./core-network.py '+self.cfgUnDeploy, '\$', 60)
mySSH.command('docker volume prune --force || true', '\$', 60)
time.sleep(2)
mySSH.command('tshark -r /tmp/oai-cn5g.pcap | egrep --colour=never "Tracking area update" ','\$', 30)
mySSH.command('tshark -r /tmp/oai-cn5g-v1.3.pcap | egrep --colour=never "Tracking area update" ','\$', 30)
result = re.search('Tracking area update request', mySSH.getBefore())
if result is not None:
message = 'UE requested ' + str(mySSH.getBefore().count('Tracking area update request')) + 'Tracking area update request(s)'
@@ -830,8 +833,8 @@ class EPCManagement():
mySSH.command('zip mme.log.zip mme_check_run.*', '\$', 60)
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
mySSH.command('cd ' + self.SourceCodePath + '/logs','\$', 5)
mySSH.command('cp -f /tmp/oai-cn5g.pcap .','\$', 30)
mySSH.command('zip mme.log.zip oai-amf.log oai-nrf.log oai-cn5g.pcap','\$', 30)
mySSH.command('cp -f /tmp/oai-cn5g-v1.3.pcap .','\$', 30)
mySSH.command('zip mme.log.zip oai-amf.log oai-nrf.log oai-cn5g*.pcap','\$', 30)
mySSH.command('mv mme.log.zip ' + self.SourceCodePath + '/scripts','\$', 30)
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('zip mme.log.zip mme*.log', '\$', 60)

116
ci-scripts/flatten_image.py Normal file
View File

@@ -0,0 +1,116 @@
"""
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
"""
import argparse
import re
import subprocess
import sys
def main() -> None:
args = _parse_args()
status = perform_flattening(args.tag)
sys.exit(status)
def _parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description='Flattening Image')
parser.add_argument(
'--tag', '-t',
action='store',
required=True,
help='Image Tag in image-name:image tag format',
)
return parser.parse_args()
def perform_flattening(tag):
# First detect which docker/podman command to use
cli = ''
image_prefix = ''
cmd = 'which podman || true'
podman_check = subprocess.check_output(cmd, shell=True, universal_newlines=True)
if re.search('podman', podman_check.strip()):
cli = 'sudo podman'
image_prefix = 'localhost/'
if cli == '':
cmd = 'which docker || true'
docker_check = subprocess.check_output(cmd, shell=True, universal_newlines=True)
if re.search('docker', docker_check.strip()):
cli = 'docker'
image_prefix = ''
if cli == '':
print ('No docker / podman installed: quitting')
return -1
print (f'Flattening {tag}')
# Creating a container
cmd = cli + ' run --name test-flatten --entrypoint /bin/true -d ' + tag
print (cmd)
subprocess.check_output(cmd, shell=True, universal_newlines=True)
# Export / Import trick
cmd = cli + ' export test-flatten | ' + cli + ' import '
# Bizarro syntax issue with podman
if cli == 'docker':
cmd += ' --change "ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" '
else:
cmd += ' --change "ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" '
if re.search('oai-enb', tag):
cmd += ' --change "WORKDIR /opt/oai-enb" '
cmd += ' --change "EXPOSE 2152/udp" '
cmd += ' --change "EXPOSE 36412/udp" '
cmd += ' --change "EXPOSE 36422/udp" '
cmd += ' --change "CMD [\\"/opt/oai-enb/bin/lte-softmodem.Rel15\\", \\"-O\\", \\"/opt/oai-enb/etc/enb.conf\\"]" '
cmd += ' --change "ENTRYPOINT [\\"/opt/oai-enb/bin/entrypoint.sh\\"]" '
if re.search('oai-gnb', tag):
cmd += ' --change "WORKDIR /opt/oai-gnb" '
cmd += ' --change "EXPOSE 2152/udp" '
cmd += ' --change "EXPOSE 36422/udp" '
cmd += ' --change "CMD [\\"/opt/oai-gnb/bin/nr-softmodem.Rel15\\", \\"-O\\", \\"/opt/oai-gnb/etc/gnb.conf\\"]" '
cmd += ' --change "ENTRYPOINT [\\"/opt/oai-gnb/bin/entrypoint.sh\\"]" '
if re.search('oai-lte-ue', tag):
cmd += ' --change "WORKDIR /opt/oai-lte-ue" '
cmd += ' --change "CMD [\\"/opt/oai-lte-ue/bin/lte-uesoftmodem.Rel15\\"]" '
cmd += ' --change "ENTRYPOINT [\\"/opt/oai-lte-ue/bin/entrypoint.sh\\"]" '
if re.search('oai-nr-ue', tag):
cmd += ' --change "WORKDIR /opt/oai-nr-ue" '
cmd += ' --change "CMD [\\"/opt/oai-nr-ue/bin/nr-uesoftmodem.Rel15\\", \\"-O\\", \\"/opt/oai-nr-ue/etc/nr-ue.conf\\"]" '
cmd += ' --change "ENTRYPOINT [\\"/opt/oai-nr-ue/bin/entrypoint.sh\\"]" '
if re.search('oai-lte-ru', tag):
cmd += ' --change "WORKDIR /opt/oai-lte-ru" '
cmd += ' --change "CMD [\\"/opt/oai-lte-ru/bin/oairu.Rel15\\", \\"-O\\", \\"/opt/oai-lte-ru/etc/rru.conf\\"]" '
cmd += ' --change "ENTRYPOINT [\\"/opt/oai-lte-ru/bin/entrypoint.sh\\"]" '
if re.search('oai-physim', tag):
cmd += ' --change "WORKDIR /opt/oai-physim" '
cmd += ' - ' + image_prefix + tag
print (cmd)
subprocess.check_output(cmd, shell=True, universal_newlines=True)
# Remove container
cmd = cli + ' rm -f test-flatten'
print (cmd)
subprocess.check_output(cmd, shell=True, universal_newlines=True)
# At this point the original image is a dangling image.
# CI pipeline will clean up (`image prune --force`)
return 0
if __name__ == '__main__':
main()

View File

@@ -49,7 +49,7 @@ import cls_physim1 #class PhySim for physical simulators deploy and run
import sshconnection
import epc
import ran
import html
import cls_oai_html
#-----------------------------------------------------------
@@ -518,7 +518,7 @@ CiTestObj = cls_oaicitest.OaiCiTest()
SSH = sshconnection.SSHConnection()
EPC = epc.EPCManagement()
RAN = ran.RANManagement()
HTML = html.HTMLManagement()
HTML = cls_oai_html.HTMLManagement()
CONTAINERS = cls_containerize.Containerize()
SCA = cls_static_code_analysis.StaticCodeAnalysis()
PHYSIM = cls_physim1.PhySim()
@@ -779,19 +779,19 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
HTML.CreateHtmlTabHeader()
# On CI bench w/ containers, we need to validate if IP routes are set
if EPC.IPAddress == '192.168.18.210':
if EPC.IPAddress == '172.21.16.136':
CONTAINERS.CheckAndAddRoute('porcepix', EPC.IPAddress, EPC.UserName, EPC.Password)
if CONTAINERS.eNBIPAddress == '192.168.18.194':
if CONTAINERS.eNBIPAddress == '172.21.16.127':
CONTAINERS.CheckAndAddRoute('asterix', CONTAINERS.eNBIPAddress, CONTAINERS.eNBUserName, CONTAINERS.eNBPassword)
if CONTAINERS.eNB1IPAddress == '192.168.18.194':
if CONTAINERS.eNB1IPAddress == '172.21.16.127':
CONTAINERS.CheckAndAddRoute('asterix', CONTAINERS.eNB1IPAddress, CONTAINERS.eNB1UserName, CONTAINERS.eNB1Password)
if CONTAINERS.eNBIPAddress == '192.168.18.193':
if CONTAINERS.eNBIPAddress == '172.21.16.128':
CONTAINERS.CheckAndAddRoute('obelix', CONTAINERS.eNBIPAddress, CONTAINERS.eNBUserName, CONTAINERS.eNBPassword)
if CONTAINERS.eNB1IPAddress == '192.168.18.193':
if CONTAINERS.eNB1IPAddress == '172.21.16.128':
CONTAINERS.CheckAndAddRoute('obelix', CONTAINERS.eNB1IPAddress, CONTAINERS.eNB1UserName, CONTAINERS.eNB1Password)
if CONTAINERS.eNBIPAddress == '192.168.18.209':
if CONTAINERS.eNBIPAddress == '172.21.16.137':
CONTAINERS.CheckAndAddRoute('nepes', CONTAINERS.eNBIPAddress, CONTAINERS.eNBUserName, CONTAINERS.eNBPassword)
if CONTAINERS.eNB1IPAddress == '192.168.18.209':
if CONTAINERS.eNB1IPAddress == '172.21.16.137':
CONTAINERS.CheckAndAddRoute('nepes', CONTAINERS.eNB1IPAddress, CONTAINERS.eNB1UserName, CONTAINERS.eNB1Password)
CiTestObj.FailReportCnt = 0
@@ -799,7 +799,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
HTML.startTime=int(round(time.time() * 1000))
while CiTestObj.FailReportCnt < CiTestObj.repeatCounts[0] and RAN.prematureExit:
RAN.prematureExit=False
# At every iteratin of the retry loop, a separator will be added
# At every iteration of the retry loop, a separator will be added
# pass CiTestObj.FailReportCnt as parameter of HTML.CreateHtmlRetrySeparator
HTML.CreateHtmlRetrySeparator(CiTestObj.FailReportCnt)
for test_case_id in todo_tests:
@@ -923,6 +923,10 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
CONTAINERS.UndeployObject(HTML, RAN)
elif action == 'Cppcheck_Analysis':
SCA.CppCheckAnalysis(HTML)
elif action == 'LicenceAndFormattingCheck':
ret = SCA.LicenceAndFormattingCheck(HTML)
if ret != 0:
RAN.prematureExit = True
elif action == 'Deploy_Run_PhySim':
PHYSIM.Deploy_PhySim(HTML, RAN)
elif action == 'DeployGenObject':

View File

@@ -5,15 +5,15 @@ import subprocess
import sys
AUTH_SERVICE = 'registry.docker.io'
AUTH_SCOPE = 'repository:rdefosseoai/oai-enb:pull'
AUTH_SCOPE = 'repository:oaisoftwarealliance/oai-enb:pull'
def main() -> None:
args = _parse_args()
cmd = 'curl -fsSL "https://auth.docker.io/token?service=' + AUTH_SERVICE + '&scope=' + AUTH_SCOPE + '" | jq --raw-output ".token"'
cmd = 'curl -fsSL "https://auth.docker.io/token?service=' + AUTH_SERVICE + '&scope=' + AUTH_SCOPE + '" 2>/dev/null | jq --raw-output ".token"'
token = subprocess.check_output(cmd, shell=True, universal_newlines=True)
token = str(token).strip()
cmd = 'curl -fsSL -H "Authorization: Bearer ' + token + '" "https://index.docker.io/v2/rdefosseoai/oai-enb/tags/list" | jq .'
cmd = 'curl -fsSL -H "Authorization: Bearer ' + token + '" "https://index.docker.io/v2/oaisoftwarealliance/oai-enb/tags/list" 2>/dev/null | jq .'
listOfTags = subprocess.check_output(cmd, shell=True, universal_newlines=True)
foundTag = False

View File

@@ -372,36 +372,30 @@ class RANManagement():
else:
pcapfile_prefix="gnb_"
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('ip addr show | awk -f /tmp/active_net_interfaces.awk | egrep -v "lo|tun"', '\$', 5)
result = re.search('interfaceToUse=(?P<eth_interface>[a-zA-Z0-9\-\_]+)done', mySSH.getBefore())
if result is not None:
eth_interface = result.group('eth_interface')
fltr = 'port 38412 or port 36412 or port 36422' # NGAP, S1AP, X2AP
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + ' with filter "' + fltr + '"\u001B[0m')
pcapfile = pcapfile_prefix + self.testCase_id + '_log.pcap'
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -f /tmp/' + pcapfile , '\$', 5)
mySSH.command('echo $USER; nohup sudo -E tshark -i ' + eth_interface + ' -f "' + fltr + '" -w /tmp/' + pcapfile + ' > /dev/null 2>&1 &','\$', 5)
eth_interface = 'any'
fltr = 'sctp'
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + ' with filter "' + fltr + '"\u001B[0m')
pcapfile = pcapfile_prefix + self.testCase_id + '_log.pcap'
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -f /tmp/' + pcapfile , '\$', 5)
mySSH.command('echo $USER; nohup sudo -E tshark -i ' + eth_interface + ' -f "' + fltr + '" -w /tmp/' + pcapfile + ' > /dev/null 2>&1 &','\$', 5)
mySSH.close()
# If tracer options is on, running tshark on EPC side and capture traffic b/ EPC and eNB
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if (result is not None):
if EPC.IPAddress != "none":
localEpcIpAddr = EPC.IPAddress
localEpcUserName = EPC.UserName
localEpcPassword = EPC.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
mySSH.command('ip addr show | awk -f /tmp/active_net_interfaces.awk | egrep -v "lo|tun"', '\$', 5)
result = re.search('interfaceToUse=(?P<eth_interface>[a-zA-Z0-9\-\_]+)done', mySSH.getBefore())
if result is not None:
eth_interface = result.group('eth_interface')
fltr = 'port 38412 or port 36412 or port 36422' # NGAP, S1AP, X2AP
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + ' with filter "' + fltr + '"\u001B[0m')
self.epcPcapFile = 'enb_' + self.testCase_id + '_s1log.pcap'
mySSH.command('echo ' + localEpcPassword + ' | sudo -S rm -f /tmp/' + self.epcPcapFile , '\$', 5)
mySSH.command('echo $USER; nohup sudo tshark -f "host ' + lIpAddr +'" -i ' + eth_interface + ' -f "' + fltr + '" -w /tmp/' + self.epcPcapFile + ' > /tmp/tshark.log 2>&1 &', localEpcUserName, 5)
eth_interface = 'any'
fltr = 'sctp'
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + ' with filter "' + fltr + '"\u001B[0m')
self.epcPcapFile = 'enb_' + self.testCase_id + '_s1log.pcap'
mySSH.command('echo ' + localEpcPassword + ' | sudo -S rm -f /tmp/' + self.epcPcapFile , '\$', 5)
mySSH.command('echo $USER; nohup sudo tshark -f "host ' + lIpAddr +'" -i ' + eth_interface + ' -f "' + fltr + '" -w /tmp/' + self.epcPcapFile + ' > /tmp/tshark.log 2>&1 &', localEpcUserName, 5)
mySSH.close()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath, '\$', 5)
# Initialize_eNB_args usually start with -O and followed by the location in repository
@@ -519,23 +513,19 @@ class RANManagement():
logging.error('\u001B[1;37;41m eNB/gNB/ocp-eNB logging system did not show got sync! \u001B[0m')
HTML.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'KO', CONST.ALL_PROCESSES_OK)
# In case of T tracer recording, we need to kill tshark on EPC side
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if (result is not None):
localEpcIpAddr = EPC.IPAddress
localEpcUserName = EPC.UserName
localEpcPassword = EPC.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
logging.debug('\u001B[1m Stopping tshark \u001B[0m')
mySSH.command('echo ' + localEpcPassword + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5)
if self.epcPcapFile != '':
time.sleep(0.5)
mySSH.command('echo ' + localEpcPassword + ' | sudo -S chmod 666 /tmp/' + self.epcPcapFile, '\$', 5)
mySSH.close()
time.sleep(1)
if self.epcPcapFile != '':
copyin_res = mySSH.copyin(localEpcIpAddr, localEpcUserName, localEpcPassword, '/tmp/' + self.epcPcapFile, '.')
if (copyin_res == 0):
mySSH.copyout(lIpAddr, lUserName, lPassWord, self.epcPcapFile, lSourcePath + '/cmake_targets/.')
localEpcIpAddr = EPC.IPAddress
localEpcUserName = EPC.UserName
localEpcPassword = EPC.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
logging.debug('\u001B[1m Stopping tshark \u001B[0m')
mySSH.command('echo ' + localEpcPassword + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5)
if self.epcPcapFile != '':
mySSH.command('echo ' + localEpcPassword + ' | sudo -S chmod 666 /tmp/' + self.epcPcapFile, '\$', 5)
mySSH.close()
if self.epcPcapFile != '':
copyin_res = mySSH.copyin(localEpcIpAddr, localEpcUserName, localEpcPassword, '/tmp/' + self.epcPcapFile, '.')
if (copyin_res == 0):
mySSH.copyout(lIpAddr, lUserName, lPassWord, self.epcPcapFile, lSourcePath + '/cmake_targets/.')
self.prematureExit = True
return
else:

View File

@@ -528,15 +528,15 @@ class Dashboard:
editable_mr = project.mergerequests.get(int(mr))
mr_notes = editable_mr.notes.list(all=True)
body = '<a href="https://oaitestdashboard.s3.eu-west-1.amazonaws.com/MR'+mr+'/index.html">Consolidated Test Results</a><br>'+\
'Tested CommitID: ' + commit + '<br>'
body = '[Consolidated Test Results](https://oaitestdashboard.s3.eu-west-1.amazonaws.com/MR'+mr+'/index.html)\\\n'
body += 'Tested CommitID: ' + commit + '\\\n'
for i in range(0,n_tests):
jobname = args[4*i]
buildurl = args[4*i+1]
buildid = args[4*i+2]
status = args[4*i+3]
body += jobname+', status is <b>'+status+'</b>, (<a href="'+buildurl+'">'+buildid+'</a>)<br>'
body += jobname+': **'+status+'** ([' + buildid + '](' + buildurl + '))\\\n'
#create new note
mr_note = editable_mr.notes.create({

View File

@@ -47,3 +47,4 @@
- PingFromContainer
- IperfFromContainer
- StatsFromGenObject
- LicenceAndFormattingCheck

View File

@@ -33,12 +33,10 @@
000013
020011
020012
100011
</TestCaseRequestedList>
<!-- Not done yet because of code instability
030011
030012
-->
100011
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000010">
@@ -104,7 +102,7 @@
<server_container_name>rfsim5g-oai-ext-dn</server_container_name>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name>
<server_options>-u -i 1 -s</server_options>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 30 -b 1M</client_options>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 30 -b 3M</client_options>
</testCase>
<testCase id="100011">

View File

@@ -138,19 +138,19 @@
<testCase id="070000">
<class>Iperf</class>
<desc>iperf (DL/40Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 40M -t 60 -i 1 -fm</iperf_args>
<desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 125M -t 60 -i 1 -fm</iperf_args>
<direction>DL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>20</iperf_packetloss_threshold>
<iperf_bitrate_threshold>85</iperf_bitrate_threshold>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="070001">
<class>Iperf</class>
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 60 -i 1 -fm</iperf_args>
<desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 8M -t 60 -i 1 -fm</iperf_args>
<direction>UL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold>

View File

@@ -0,0 +1,37 @@
<!--
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
-->
<testCaseList>
<htmlTabRef>formatting-tab</htmlTabRef>
<htmlTabName>License and Formatting Checks</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
000002
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000002">
<class>LicenceAndFormattingCheck</class>
<desc>License and Formatting Checks</desc>
</testCase>
</testCaseList>

View File

@@ -68,7 +68,7 @@
<air_interface>lte</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.241</USRP_IPAddress>
<USRP_IPAddress>172.21.19.13</USRP_IPAddress>
</testCase>
@@ -81,7 +81,7 @@
<air_interface>nr</air_interface>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">
@@ -115,11 +115,12 @@
<testCase id="070000">
<class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 60M -t 60</iperf_args>
<desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 125M -t 60</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_packetloss_threshold>15</iperf_packetloss_threshold>
<iperf_bitrate_threshold>85</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>

View File

@@ -87,7 +87,7 @@
<air_interface>lte</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.241</USRP_IPAddress>
<USRP_IPAddress>172.21.19.13</USRP_IPAddress>
</testCase>
@@ -100,7 +100,7 @@
<air_interface>nr</air_interface>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -34,8 +34,8 @@
050000
050001
000001
070003
070002
070000
070001
000001
050000
050001
@@ -52,14 +52,12 @@
<UE_Trace>yes</UE_Trace>
</testCase>
<testCase id="010002">
<class>Terminate_UE</class>
<desc>Terminate Quectel</desc>
<id>idefix</id>
</testCase>
<testCase id="030000">
<class>Initialize_eNB</class>
<desc>Initialize eNB</desc>
@@ -70,11 +68,10 @@
<eNB_Trace>yes</eNB_Trace>
</testCase>
<testCase id="040000">
<class>Initialize_eNB</class>
<desc>Initialize gNB</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrpb210.conf -E -q --RUs.[0].sdr_addrs "serial=30C51D4" --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrpb210.conf -E -q --RUs.[0].sdr_addrs "serial=30C51D4" --continuous-tx --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<air_interface>nr</air_interface>
@@ -92,7 +89,6 @@
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
</testCase>
<testCase id="050000">
<class>Ping</class>
<desc>Ping: 20pings in 20sec</desc>
@@ -113,41 +109,19 @@
<testCase id="070000">
<class>Iperf</class>
<desc>iperf (DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 30M -t 30</iperf_args>
<desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 125M -t 60</iperf_args>
<direction>DL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="070001">
<class>Iperf</class>
<desc>iperf (DL/40Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 40M -t 30</iperf_args>
<direction>DL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="070002">
<class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 60M -t 60</iperf_args>
<direction>DL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="070003">
<class>Iperf</class>
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 60</iperf_args>
<desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 8M -t 60</iperf_args>
<direction>UL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold>
@@ -155,7 +129,6 @@
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="080000">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>

View File

@@ -52,7 +52,7 @@
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="050000">

View File

@@ -60,7 +60,7 @@
<air_interface>nr</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -42,7 +42,7 @@
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (N310)</desc>
<air_interface>nr</air_interface>
<Initialize_OAI_UE_args>--sa -O ../../../ci-scripts/conf_files/ue.sa.conf --usrp-args "mgmt_addr=192.168.18.241,addr=192.168.10.2" --numerology 1 -r 106 --band 78 -C 3319680000 --nokrnmod 1 --ue-txgain 0 --ue-rxgain 70 --ue-fo-compensation --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
<Initialize_OAI_UE_args>--sa -O ../../../ci-scripts/conf_files/ue.sa.conf --usrp-args "mgmt_addr=172.21.19.13,addr=192.168.10.2" --numerology 1 -r 106 --band 78 -C 3319680000 --nokrnmod 1 --ue-txgain 0 --ue-rxgain 70 --ue-fo-compensation --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
</testCase>
<testCase id="010002">
@@ -60,7 +60,7 @@
<air_interface>nr</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -60,7 +60,7 @@
<air_interface>nr</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -22,7 +22,7 @@
-->
<testCaseList>
<htmlTabRef>TEST-SA-FR1-Tab1</htmlTabRef>
<htmlTabName>SA Ping DL UL with QUECTEL</htmlTabName>
<htmlTabName>SA Ping DL UL with Quectel, 2.5ms TDD</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
@@ -63,14 +63,14 @@
<testCase id="040000">
<class>Initialize_eNB</class>
<desc>Initialize gNB</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1 --T_stdout 2 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.ddsuu.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1 --T_stdout 2 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<air_interface>nr</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">
@@ -92,7 +92,7 @@
<id>nrmodule2_quectel</id>
<ping_args>-c 40</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>20</ping_rttavg_threshold>
<ping_rttavg_threshold>10</ping_rttavg_threshold>
</testCase>
<testCase id="050001">
@@ -101,7 +101,7 @@
<id>nrmodule2_quectel</id>
<ping_args>-c 100 -i 0,2</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>20</ping_rttavg_threshold>
<ping_rttavg_threshold>10</ping_rttavg_threshold>
</testCase>
<testCase id="070000">

View File

@@ -68,7 +68,7 @@
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -74,7 +74,7 @@
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -74,7 +74,7 @@
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<rt_stats_cfg>datalog_rt_stats.2x2.yaml</rt_stats_cfg>
<USRP_IPAddress>192.168.18.252</USRP_IPAddress>
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
</testCase>
<testCase id="000001">

View File

@@ -24,7 +24,7 @@
<htmlTabRef>gNB-PHY-Test</htmlTabRef>
<htmlTabName>Run-gNB-PHY-Test</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>3</repeatCount>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
090101 000001 090109
</TestCaseRequestedList>
@@ -33,7 +33,7 @@
<testCase id="090101">
<class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test -q -U 787200 -T 106 -t 28 -D 130175 -m 28 -M 106 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test -q -U 787200 -T 106 -t 28 -D 130175 -m 28 -M 106 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<air_interface>NR</air_interface>
<USRP_IPAddress>192.168.20.2</USRP_IPAddress>
</testCase>

View File

@@ -65,7 +65,7 @@
<air_interface>lte</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.241</USRP_IPAddress>
<USRP_IPAddress>172.21.19.13</USRP_IPAddress>
</testCase>

View File

@@ -65,7 +65,7 @@
<air_interface>lte</air_interface>
<eNB_Trace>yes</eNB_Trace>
<eNB_Stats>yes</eNB_Stats>
<USRP_IPAddress>192.168.18.241</USRP_IPAddress>
<USRP_IPAddress>172.21.19.13</USRP_IPAddress>
</testCase>

View File

@@ -31,9 +31,7 @@ This page is only valid for an `Ubuntu18` host.
# 1. Retrieving the images on Docker-Hub #
Currently the images are hosted under the user account `rdefosseoai`.
This may change in the future.
Currently the images are hosted under the team account `oaisoftwarealliance`. They were previously hosted under the user account `rdefosseoai`.
Once again you may need to log on [docker-hub](https://hub.docker.com/) if your organization has reached pulling limit as `anonymous`.
@@ -49,13 +47,13 @@ Now pull images.
```bash
$ docker pull cassandra:2.1
$ docker pull redis:6.0.5
$ docker pull rdefosseoai/oai-hss:latest
$ docker pull rdefosseoai/magma-mme:latest
$ docker pull rdefosseoai/oai-spgwc:latest
$ docker pull rdefosseoai/oai-spgwu-tiny:latest
$ docker pull oaisoftwarealliance/oai-hss:latest
$ docker pull oaisoftwarealliance/magma-mme:latest
$ docker pull oaisoftwarealliance/oai-spgwc:latest
$ docker pull oaisoftwarealliance/oai-spgwu-tiny:latest
$ docker pull rdefosseoai/oai-enb:develop
$ docker pull rdefosseoai/oai-lte-ue:develop
$ docker pull oaisoftwarealliance/oai-enb:develop
$ docker pull oaisoftwarealliance/oai-lte-ue:develop
```
If the `redis` tag is not available, pick the newest available `6.0.x` tag at [Docker Hub Redis Tags](https://hub.docker.com/_/redis?tab=tags).
@@ -63,13 +61,13 @@ If the `redis` tag is not available, pick the newest available `6.0.x` tag at [D
And **re-tag** them for tutorials' docker-compose file to work.
```bash
$ docker image tag rdefosseoai/oai-spgwc:latest oai-spgwc:latest
$ docker image tag rdefosseoai/oai-hss:latest oai-hss:latest
$ docker image tag rdefosseoai/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
$ docker image tag rdefosseoai/magma-mme:latest magma-mme:latest
$ docker image tag oaisoftwarealliance/oai-spgwc:latest oai-spgwc:latest
$ docker image tag oaisoftwarealliance/oai-hss:latest oai-hss:latest
$ docker image tag oaisoftwarealliance/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
$ docker image tag oaisoftwarealliance/magma-mme:latest magma-mme:latest
$ docker image tag rdefosseoai/oai-enb:develop oai-enb:develop
$ docker image tag rdefosseoai/oai-lte-ue:develop oai-lte-ue:develop
$ docker image tag oaisoftwarealliance/oai-enb:develop oai-enb:develop
$ docker image tag oaisoftwarealliance/oai-lte-ue:develop oai-lte-ue:develop
```
```bash
@@ -505,7 +503,7 @@ In my traffic test, I was able to ping outside of my local network.
in SPGW-C config:
```yaml
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
```

View File

@@ -115,7 +115,7 @@ services:
TZ: Europe/Paris
SGW_INTERFACE_NAME_FOR_S11: eth0
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
APN_NI_1: oai.ipv4

View File

@@ -115,7 +115,7 @@ services:
TZ: Europe/Paris
SGW_INTERFACE_NAME_FOR_S11: eth0
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
APN_NI_1: oai.ipv4

View File

@@ -115,7 +115,7 @@ services:
TZ: Europe/Paris
SGW_INTERFACE_NAME_FOR_S11: eth0
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
APN_NI_1: oai.ipv4

View File

@@ -115,7 +115,7 @@ services:
TZ: Europe/Paris
SGW_INTERFACE_NAME_FOR_S11: eth0
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
APN_NI_1: oai.ipv4

View File

@@ -120,7 +120,7 @@ services:
- SMF_INTERFACE_PORT_FOR_SBI=80
- SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
- SMF_API_VERSION=v1
- DEFAULT_DNS_IPV4_ADDRESS=192.168.18.129
- DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
- AMF_IPV4_ADDRESS=0.0.0.0
- AMF_PORT=80

View File

@@ -120,7 +120,7 @@ services:
- SMF_INTERFACE_PORT_FOR_SBI=80
- SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
- SMF_API_VERSION=v1
- DEFAULT_DNS_IPV4_ADDRESS=192.168.18.129
- DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
- AMF_IPV4_ADDRESS=0.0.0.0
- AMF_PORT=80

View File

@@ -18,9 +18,7 @@ This tutorial is only valid once this file is merged into the `develop` branch.
# 1. Retrieving the images on Docker-Hub #
Currently the images are hosted under the user account `rdefosseoai`.
This may change in the future.
Currently the images are hosted under the team account `oaisoftwarealliance`. They were previously hosted under the user account `rdefosseoai`.
Once again you may need to log on [docker-hub](https://hub.docker.com/) if your organization has reached pulling limit as `anonymous`.
@@ -35,27 +33,27 @@ Now pull images.
```bash
$ docker pull mysql:5.7
$ docker pull rdefosseoai/oai-amf:latest
$ docker pull rdefosseoai/oai-nrf:latest
$ docker pull rdefosseoai/oai-smf:latest
$ docker pull rdefosseoai/oai-spgwu-tiny:latest
$ docker pull oaisoftwarealliance/oai-amf:latest
$ docker pull oaisoftwarealliance/oai-nrf:latest
$ docker pull oaisoftwarealliance/oai-smf:latest
$ docker pull oaisoftwarealliance/oai-spgwu-tiny:latest
$ docker pull rdefosseoai/oai-gnb:develop
$ docker pull rdefosseoai/oai-nr-ue:develop
$ docker pull rdefosseoai/proxy:latest
$ docker pull oaisoftwarealliance/oai-gnb:develop
$ docker pull oaisoftwarealliance/oai-nr-ue:develop
$ docker pull oaisoftwarealliance/proxy:latest
```
And **re-tag** them for tutorials' docker-compose file to work.
```bash
$ docker image tag rdefosseoai/oai-amf:latest oai-amf:latest
$ docker image tag rdefosseoai/oai-nrf:latest oai-nrf:latest
$ docker image tag rdefosseoai/oai-smf:latest oai-smf:latest
$ docker image tag rdefosseoai/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
$ docker image tag oaisoftwarealliance/oai-amf:latest oai-amf:latest
$ docker image tag oaisoftwarealliance/oai-nrf:latest oai-nrf:latest
$ docker image tag oaisoftwarealliance/oai-smf:latest oai-smf:latest
$ docker image tag oaisoftwarealliance/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
$ docker image tag rdefosseoai/oai-gnb:develop oai-gnb:develop
$ docker image tag rdefosseoai/oai-nr-ue:develop oai-nr-ue:develop
$ docker image tag rdefosseoai/proxy:latest oai-lte-multi-ue-proxy:latest
$ docker image tag oaisoftwarealliance/oai-gnb:develop oai-gnb:develop
$ docker image tag oaisoftwarealliance/oai-nr-ue:develop oai-nr-ue:develop
$ docker image tag oaisoftwarealliance/proxy:latest oai-lte-multi-ue-proxy:latest
```
```bash
@@ -326,16 +324,16 @@ Removing network l2sim-oai-traffic-net
In the `SMF` section, provide your own DNS IP address:
```yaml
DEFAULT_DNS_IPV4_ADDRESS=192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
```
In the `gNB` section, provide your docker-host primary IP address and interface name: in our case `192.168.18.193` and `eno1`.
In the `gNB` section, provide your docker-host primary IP address and interface name: in our case `172.21.16.128` and `eno1`.
```yaml
GNB_NGA_IF_NAME: eno1
GNB_NGA_IP_ADDRESS: 192.168.18.193
GNB_NGA_IP_ADDRESS: 172.21.16.128
GNB_NGU_IF_NAME: eno1
GNB_NGU_IP_ADDRESS: 192.168.18.193
GNB_NGU_IP_ADDRESS: 172.21.16.128
```
Same thing in the `nr-ue` section:

View File

@@ -120,7 +120,7 @@ services:
- SMF_INTERFACE_PORT_FOR_SBI=80
- SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
- SMF_API_VERSION=v1
- DEFAULT_DNS_IPV4_ADDRESS=192.168.18.129
- DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
- AMF_IPV4_ADDRESS=0.0.0.0
- AMF_PORT=80
@@ -241,9 +241,9 @@ services:
NSSAI_SD1: 112233
AMF_IP_ADDRESS: 192.168.71.132
GNB_NGA_IF_NAME: eno1
GNB_NGA_IP_ADDRESS: 192.168.18.193
GNB_NGA_IP_ADDRESS: 172.21.16.128
GNB_NGU_IF_NAME: eno1
GNB_NGU_IP_ADDRESS: 192.168.18.193
GNB_NGU_IP_ADDRESS: 172.21.16.128
LOCAL_S_IF_NAME: 'lo:'
REMOTE_S_ADDRESS: 127.0.0.1
LOCAL_S_ADDRESS: 127.0.0.2

View File

@@ -35,9 +35,7 @@ This page is only valid for an `Ubuntu18` host.
# 1. Retrieving the images on Docker-Hub #
Currently the images are hosted under the user account `rdefosseoai`.
This may change in the future.
Currently the images are hosted under the team account `oaisoftwarealliance`. They were previously hosted under the user account `rdefosseoai`.
Once again you may need to log on [docker-hub](https://hub.docker.com/) if your organization has reached pulling limit as `anonymous`.
@@ -52,25 +50,25 @@ Now pull images.
```bash
$ docker pull mysql:5.7
$ docker pull rdefosseoai/oai-amf:latest
$ docker pull rdefosseoai/oai-nrf:latest
$ docker pull rdefosseoai/oai-smf:latest
$ docker pull rdefosseoai/oai-spgwu-tiny:latest
$ docker pull oaisoftwarealliance/oai-amf:latest
$ docker pull oaisoftwarealliance/oai-nrf:latest
$ docker pull oaisoftwarealliance/oai-smf:latest
$ docker pull oaisoftwarealliance/oai-spgwu-tiny:latest
$ docker pull rdefosseoai/oai-gnb:develop
$ docker pull rdefosseoai/oai-nr-ue:develop
$ docker pull oaisoftwarealliance/oai-gnb:develop
$ docker pull oaisoftwarealliance/oai-nr-ue:develop
```
And **re-tag** them for tutorials' docker-compose file to work.
```bash
$ docker image tag rdefosseoai/oai-amf:latest oai-amf:latest
$ docker image tag rdefosseoai/oai-nrf:latest oai-nrf:latest
$ docker image tag rdefosseoai/oai-smf:latest oai-smf:latest
$ docker image tag rdefosseoai/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
$ docker image tag oaisoftwarealliance/oai-amf:latest oai-amf:latest
$ docker image tag oaisoftwarealliance/oai-nrf:latest oai-nrf:latest
$ docker image tag oaisoftwarealliance/oai-smf:latest oai-smf:latest
$ docker image tag oaisoftwarealliance/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
$ docker image tag rdefosseoai/oai-gnb:develop oai-gnb:develop
$ docker image tag rdefosseoai/oai-nr-ue:develop oai-nr-ue:develop
$ docker image tag oaisoftwarealliance/oai-gnb:develop oai-gnb:develop
$ docker image tag oaisoftwarealliance/oai-nr-ue:develop oai-nr-ue:develop
```
```bash

View File

@@ -120,7 +120,7 @@ services:
- SMF_INTERFACE_PORT_FOR_SBI=80
- SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
- SMF_API_VERSION=v1
- DEFAULT_DNS_IPV4_ADDRESS=192.168.18.129
- DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
- AMF_IPV4_ADDRESS=0.0.0.0
- AMF_PORT=80

View File

@@ -132,7 +132,7 @@ services:
TZ: Europe/Paris
SGW_INTERFACE_NAME_FOR_S11: eth0
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
APN_NI_1: oai.ipv4

View File

@@ -116,7 +116,7 @@ services:
TZ: Europe/Paris
SGW_INTERFACE_NAME_FOR_S11: eth0
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_IPV4_ADDRESS: 172.21.3.100
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
PUSH_PROTOCOL_OPTION: 'true'
APN_NI_1: oai.ipv4

View File

@@ -20,7 +20,7 @@ services:
NB_PRB: 25
ENABLE_MEASUREMENT_REPORTS: 'yes'
ENABLE_X2: 'yes'
MME_S1C_IP_ADDRESS: 192.168.18.210
MME_S1C_IP_ADDRESS: 172.21.16.136
ENB_S1C_IF_NAME: eth0
ENB_S1C_IP_ADDRESS: 192.168.68.130
ENB_S1U_IF_NAME: eth0
@@ -29,7 +29,7 @@ services:
RRC_INACTIVITY_THRESHOLD: 0
FLEXRAN_ENABLED: 'no'
FLEXRAN_INTERFACE_NAME: eth0
FLEXRAN_IPV4_ADDRESS: 192.168.18.210
FLEXRAN_IPV4_ADDRESS: 172.21.16.136
THREAD_PARALLEL_CONFIG: PARALLEL_SINGLE_THREAD
USE_ADDITIONAL_OPTIONS: --log_config.global_log_options level,nocolor,time,line_num,function
volumes:

View File

@@ -15,7 +15,7 @@ services:
TAC: 1
ENABLE_X2: 'yes'
ENB_X2_IP_ADDRESS: 192.168.68.130
MME_S1C_IP_ADDRESS: 192.168.18.210
MME_S1C_IP_ADDRESS: 172.21.16.136
GNB_S1C_IF_NAME: eth0
GNB_S1C_IP_ADDRESS: 192.168.68.194
GNB_S1U_IF_NAME: eth0
@@ -24,9 +24,9 @@ services:
RRC_INACTIVITY_THRESHOLD: 0
FLEXRAN_ENABLED: 'no'
FLEXRAN_INTERFACE_NAME: eth0
FLEXRAN_IPV4_ADDRESS: 192.168.18.210
FLEXRAN_IPV4_ADDRESS: 172.21.16.136
THREAD_PARALLEL_CONFIG: PARALLEL_RU_L1_TRX_SPLIT
USE_ADDITIONAL_OPTIONS: -E -q --RUs.[0].sdr_addrs serial=30C51D4 --log_config.global_log_options level,nocolor,time,line_num,function
USE_ADDITIONAL_OPTIONS: -E -q --RUs.[0].sdr_addrs serial=30C51D4 --continuous-tx --log_config.global_log_options level,nocolor,time,line_num,function
volumes:
- /dev:/dev
networks:

View File

@@ -258,7 +258,7 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ggdb2 -Wl,-rpath -Wl,${C
# these changes are related to hardcoded path to include .h files
set(debugOpt "-ggdb2 -DMALLOC_CHECK_=3 -fno-delete-null-pointer-checks")
set(CMAKE_C_FLAGS_DEBUG "${debugOpt} -O0")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${debugOpt} -O2")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${debugOpt} -O2 ")
set(CMAKE_C_FLAGS_RELEASE "-O3")
# Enable assert() for RelWithDebInfo builds
@@ -322,6 +322,7 @@ add_boolean_option(UE_AUTOTEST_TRACE False "Activate UE autotest specific logs
add_boolean_option(UE_DEBUG_TRACE False "Activate UE debug trace")
add_boolean_option(UE_TIMING_TRACE False "Activate UE timing trace")
add_boolean_option(DEBUG_CONSOLE False "disables stdout/stderr buffering")
set(JSONLOGS $ENV{JSONLOGS})
set (OCP_ITTI ${OPENAIR_DIR}/common/utils/ocp_itti)
add_library(ITTI
@@ -1188,6 +1189,10 @@ add_library(UTIL
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/time_meas.c
)
if (${JSONLOGS})
target_compile_definitions(UTIL PUBLIC -DOAI_LOG_JSON)
endif()
set(SECU_OSA_SRC
${OPENAIR2_DIR}/UTIL/OSA/osa_key_deriver.c
@@ -2541,7 +2546,15 @@ add_executable(test5Gnas
)
target_link_libraries (test5Gnas LIB_5GNAS_GNB CONFIG_LIB minimal_lib )
add_executable(tstlog
${OPENAIR_DIR}/common/utils/LOG/tst-log.cpp
${OPENAIR_DIR}/common/utils/minimal_stub.c
${T_SOURCE}
)
target_link_libraries (tstlog pthread rt dl ${T_LIB} CONFIG_LIB UTIL)
if (${JSONLOGS})
target_link_libraries (tstlog uuid)
endif()
# lte-softmodem is both eNB and UE implementation
###################################################
@@ -2584,6 +2597,9 @@ target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-softmodem ${T_LIB})
if (${JSONLOGS})
target_link_libraries (lte-softmodem uuid})
endif()
add_executable(ocp-enb
@@ -2620,6 +2636,9 @@ target_link_libraries (ocp-enb
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB}
-Wl,--end-group z dl)
target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LIB_LMS_LIBRARIES} ${T_LIB})
if (${JSONLOGS})
target_link_libraries (ocp-enb uuid)
endif()
add_executable(oairu
${OPENAIR_TARGETS}/RT/USER/lte-ru.c
@@ -2640,6 +2659,9 @@ target_link_libraries (oairu
-Wl,--end-group z dl)
target_link_libraries (oairu pthread m CONFIG_LIB rt ${CMAKE_DL_LIBS} ${T_LIB})
if (${JSONLOGS})
target_link_libraries (oairu uuid)
endif()
# lte-uesoftmodem is UE implementation
@@ -2682,6 +2704,9 @@ target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (lte-uesoftmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-uesoftmodem ${T_LIB})
if (${JSONLOGS})
target_link_libraries (lte-uesoftmodem uuid)
endif()
# nr-softmodem
###################################################
@@ -2723,6 +2748,9 @@ target_link_libraries (nr-softmodem ${LIBXML2_LIBRARIES})
target_link_libraries (nr-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (nr-softmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (nr-softmodem ${T_LIB})
if (${JSONLOGS})
target_link_libraries (nr-softmodem uuid)
endif()
add_dependencies( nr-softmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc )
@@ -2764,6 +2792,9 @@ target_link_libraries (nr-uesoftmodem ${LIBXML2_LIBRARIES})
target_link_libraries (nr-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (nr-uesoftmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (nr-uesoftmodem ${T_LIB})
if (${JSONLOGS})
target_link_libraries (nr-uesoftmodem uuid)
endif()
add_dependencies( nr-uesoftmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc )
if (CUDA_FOUND)
@@ -2788,6 +2819,9 @@ target_link_libraries (dlsim_tm4
-Wl,--start-group SIMU_COMMON SIMU UTIL SCHED_LIB SCHED_RU_LIB PHY ITTI -Wl,--end-group
pthread m rt CONFIG_LIB ${ATLAS_LIBRARIES} ${T_LIB}
)
if (${JSONLOGS})
target_link_libraries (dlsim_tm4 uuid)
endif()
add_executable(rftest
${OPENAIR_DIR}/openair1/PHY/TOOLS/calibration_test.c
@@ -2796,7 +2830,10 @@ add_executable(rftest
${OPENAIR_DIR}/executables/softmodem-common.c
${SHLIB_LOADER_SOURCES}
)
target_link_libraries(rftest minimal_lib CONFIG_LIB PHY_NR_COMMON UTIL pthread dl m forms ${T_LIB} )
target_link_libraries(rftest minimal_lib CONFIG_LIB PHY_NR_COMMON UTIL pthread dl m forms ${T_LIB})
if (${JSONLOGS})
target_link_libraries (rftest uuid)
endif()
add_executable(polartest
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c
@@ -2808,6 +2845,9 @@ target_link_libraries(polartest
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR PHY_NR_COMMON PHY_NR_UE CONFIG_LIB -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} dl
)
if (${JSONLOGS})
target_link_libraries (polartest uuid)
endif()
add_executable(smallblocktest
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c
@@ -2821,6 +2861,9 @@ target_link_libraries(smallblocktest
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_NR PHY_COMMON PHY_NR_COMMON CONFIG_LIB -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} dl
)
if (${JSONLOGS})
target_link_libraries (smallblocktest uuid)
endif()
add_executable(ldpctest
@@ -2838,10 +2881,14 @@ target_link_libraries(ldpctest
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_NR PHY_COMMON PHY_NR_COMMON CONFIG_LIB -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} dl
)
if (${JSONLOGS})
target_link_libraries (ldpctest uuid)
endif()
add_executable(nr_dlschsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c
${OPENAIR_DIR}/common/utils/nr/nr_common.c
${OPENAIR_DIR}/executables/softmodem-common.c
${T_SOURCE}
${SHLIB_LOADER_SOURCES}
)
@@ -2849,6 +2896,9 @@ target_link_libraries(nr_dlschsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
)
if (${JSONLOGS})
target_link_libraries (nr_dlschsim uuid)
endif()
add_executable(nr_pbchsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c
@@ -2860,11 +2910,15 @@ target_link_libraries(nr_pbchsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
)
if (${JSONLOGS})
target_link_libraries (nr_pbchsim uuid)
endif()
#PUCCH ---> Prashanth
add_executable(nr_pucchsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
${OPENAIR_DIR}/common/utils/nr/nr_common.c
${OPENAIR_DIR}/executables/softmodem-common.c
${T_SOURCE}
${SHLIB_LOADER_SOURCES}
)
@@ -2872,6 +2926,9 @@ target_link_libraries(nr_pucchsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
)
if (${JSONLOGS})
target_link_libraries (nr_pucchsim uuid)
endif()
add_executable(nr_dlsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c
@@ -2889,6 +2946,9 @@ target_link_libraries(nr_dlsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB -lz -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
)
if (${JSONLOGS})
target_link_libraries (nr_dlsim uuid)
endif()
target_compile_definitions(nr_dlsim PUBLIC -DPHYSICAL_SIMULATOR)
add_executable(nr_prachsim
@@ -2905,10 +2965,14 @@ add_executable(nr_prachsim
target_link_libraries(nr_prachsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_RU PHY_NR_UE MAC_NR_COMMON SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB -lz -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl)
if (${JSONLOGS})
target_link_libraries (nr_prachsim uuid)
endif()
add_executable(nr_ulschsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c
${OPENAIR_DIR}/common/utils/nr/nr_common.c
${OPENAIR_DIR}/executables/softmodem-common.c
${PHY_INTERFACE_DIR}/queue_t.c
${T_SOURCE}
${SHLIB_LOADER_SOURCES}
@@ -2917,6 +2981,9 @@ target_link_libraries(nr_ulschsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI dl
)
if (${JSONLOGS})
target_link_libraries (nr_ulschsim uuid)
endif()
add_executable(nr_ulsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim.c
@@ -2934,6 +3001,9 @@ target_link_libraries(nr_ulsim
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB -lz -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
)
if (${JSONLOGS})
target_link_libraries (nr_ulsim uuid)
endif()
target_compile_definitions(nr_ulsim PUBLIC -DPHYSICAL_SIMULATOR)
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
@@ -2952,6 +3022,9 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
-Wl,--start-group SIMU_COMMON SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_NR_COMMON PHY PHY_UE PHY_RU ITTI -Wl,--end-group
pthread m rt CONFIG_LIB ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl
)
if (${JSONLOGS})
target_link_libraries (${myExe} uuid)
endif()
endforeach(myExe)
@@ -2973,6 +3046,9 @@ foreach(myExe s1ap
target_link_libraries (test_${myExe}
-Wl,--start-group SECU_CN UTIL -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} CONFIG_LIB
)
if (${JSONLOGS})
target_link_libraries (test_${myExe} uuid)
endif()
endforeach(myExe)
# to be added
@@ -3111,6 +3187,9 @@ target_link_libraries (nr-ittisim ${LIBXML2_LIBRARIES})
target_link_libraries (nr-ittisim pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (nr-ittisim ${LIB_LMS_LIBRARIES})
target_link_libraries (nr-ittisim ${T_LIB})
if (${JSONLOGS})
target_link_libraries (nr-ittisim uuid)
endif()
add_dependencies( nr-ittisim ldpc_orig ldpc_optim ldpc_optim8seg ldpc )

View File

@@ -1093,7 +1093,7 @@
(Test8: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset),
(Test9: 106 PRBs 50 PDSCH-PRBs MCS Index 27),
(Test10: 106 PRBs 50 PDSCH-PRBs MCS Index 16),
(Test11: 106 MCS-TABLE 256 QAM MCS Index 27),
(Test11: 106 MCS-TABLE 256 QAM MCS Index 26),
(Test12: HARQ test 25% TP 4 rounds),
(Test13: HARQ test 33% TP 3 rounds),
(Test14: HARQ test 50% TP 2 rounds),
@@ -1121,7 +1121,7 @@
-n100 -R217 -a110 -s5 -b100
-n100 -e27 -s30
-n100 -e16 -s10
-n100 -q1 -e27 -s30
-n100 -q1 -e26 -s30
-n100 -s1 -t25
-n100 -s1 -t33
-n100 -s1 -t50
@@ -1184,9 +1184,10 @@
<testCase id="015108">
<class>execution</class>
<desc>nr_ulschsim Test cases. (Test1: 106 PRB),
(Test2: 217 PRB),
(Test3: 273 PRB)</desc>
<desc>nr_ulschsim Test cases. (Test1: 106 PRBs),
(Test2: 217 PRBs),
(Test3: 273 PRBs)
(Test4: 106 PRBs 4-layer MIMO)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1195,8 +1196,9 @@
<main_exec> $OPENAIR_DIR/targets/bin/nr_ulschsim.Rel15</main_exec>
<main_exec_args>-R 106 -m9 -s13 -n100
-R 217 -m15 -s15 -n100
-R 273 -m19 -s20 -n100</main_exec_args>
<tags>nr_ulschsim.test1 nr_ulschsim.test2 nr_ulschsim.test3</tags>
-R 273 -m19 -s20 -n100
-R 106 -m9 -s13 -n100 -y4 -z4 -W4</main_exec_args>
<tags>nr_ulschsim.test1 nr_ulschsim.test2 nr_ulschsim.test3 nr_ulschsim.test4</tags>
<search_expr_true>PUSCH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>
@@ -1304,7 +1306,9 @@
(Test12: SC-FDMA, 216 PRBs),
(Test13: SC-FDMA, 273 PRBs),
(Test14: SC-FDMA, 3 DMRS),
(Test15: MCS 16 50 PRBs 2 RX_Antenna)</desc>
(Test15: MCS 19 50 PRBs 2 RX_Antenna)
(Test16: MCS 9 106 PRBs MIMO 2 layers)
(Test17: MCS 9 106 PRBs MIMO 4 layers)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1320,14 +1324,16 @@
-n100 -s5 -T 2 1 2 -U 2 0 2
-n100 -s5 -T 2 2 2 -U 2 1 2
-n100 -s5 -a4 -b8 -T 2 1 2 -U 2 1 3
-n100 -s5 -Z
-n100 -Z -s5
-n100 -s5 -Z -r75
-n50 -s5 -Z -r216 -R217
-n50 -s5 -Z -r270 -R273
-n100 -s5 -Z -U 2 0 2
-n100 -m16 -s10 -z2</main_exec_args>
-n100 -m19 -s10 -S15 -z2
-n100 -m9 -r106 -s10 -W2 -y2 -z2
-n100 -m9 -r106 -s20 -W4 -y4 -z4</main_exec_args>
<tags>nr_ulsim.test1 nr_ulsim.test2 nr_ulsim.test3 nr_ulsim.test4 nr_ulsim.test5 nr_ulsim.test6 nr_ulsim.test7 nr_ulsim.test8 nr_ulsim.test9 nr_ulsim.test10 nr_ulsim.test11 nr_ulsim.test12 nr_ulsim.test13 nr_ulsim.test14 nr_ulsim.test15</tags>
<tags>nr_ulsim.test1 nr_ulsim.test2 nr_ulsim.test3 nr_ulsim.test4 nr_ulsim.test5 nr_ulsim.test6 nr_ulsim.test7 nr_ulsim.test8 nr_ulsim.test9 nr_ulsim.test10 nr_ulsim.test11 nr_ulsim.test12 nr_ulsim.test13 nr_ulsim.test14 nr_ulsim.test15 nr_ulsim.test16 nr_ulsim.test17</tags>
<search_expr_true>PUSCH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>

View File

@@ -59,6 +59,7 @@ BUILD_ECLIPSE=0
NR="False"
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope"
RU=0
JSONLOGS=0
CMAKE_C_FLAGS=()
CMAKE_CXX_FLAGS=()
@@ -76,7 +77,7 @@ Options:
--clean-kernel
Erase previously installed features in kernel: iptables, drivers, ...
--cmake-opt
Pass the supplied option verbatim to cmake.
Pass the supplied option verbatim to cmake. If -DOAI_LOG_JSON is specified, it activates JSON formatting for logs.
-d | --build-dir
Sets build directory (will be <oai-root>/cmake_targets/<build-dir>/build)
-I | --install-external-packages
@@ -172,6 +173,8 @@ Options:
Enable the address sanitizer on all targets
--ittiSIM
Makes the itti simulator
--target NAME
add NAME to the list of targets to be built. To specify more targets, you can call multiple times this option. I.e. '--target tstlog --target gNB'
-h | --help
Print this help
@@ -184,7 +187,7 @@ Usage (regular):
function main() {
execlist=""
until [ -z "$1" ]
do
case "$1" in
@@ -202,8 +205,15 @@ function main() {
clean_kernel
echo_info "Erased iptables config and removed modules from kernel"
shift;;
--cmake-opt)
CMAKE_CMD="$CMAKE_CMD $2"
--cmake-opt)
if [ "$2" == "-DOAI_LOG_JSON" ]; then
JSONLOGS=1
export JSONLOGS=1
echo_info "Activated JSON formatting for logs"
else
CMAKE_CMD="$CMAKE_CMD $2"
fi
shift 2;;
-d | --build-dir)
BUILD_DIR=$2
@@ -452,11 +462,15 @@ function main() {
CMAKE_CMD="$CMAKE_CMD -DITTI_SIM=True"
echo_info "Will compile itti simulator"
shift;;
--target)
execlist="$execlist $2"
echo_info "Added '$2' to the list of targets"
shift 2;;
-h | --help)
print_help
exit 1;;
*)
print_help
*)
print_help
echo_fatal "Unknown option $1"
break;;
esac
@@ -585,8 +599,7 @@ function main() {
echo_info "Installing optional packages"
check_install_additional_tools
fi
execlist=""
if [ "$eNB" = "1" ] ; then
execlist="$execlist lte-softmodem"
fi

View File

@@ -1 +0,0 @@
ran_build/

View File

@@ -381,7 +381,7 @@ check_install_usrp_uhd_driver(){
$SUDO apt-get remove libuhd3.14.1 -y || true
$SUDO apt-get remove libuhd3.15.0 -y || true
local distribution=$(get_distribution_release)
if [[ "$distribution" == "ubuntu18.04" ]]; then
if [[ "$distribution" == "ubuntu18.04" || "$distribution" == "ubuntu20.04" || "$distribution" == "ubuntu22.04" ]]; then
$SUDO apt-get remove libuhd4.0.0 -y || true
$SUDO apt-get remove libuhd4.1.0 -y || true
fi
@@ -410,13 +410,15 @@ check_install_usrp_uhd_driver(){
x=$((x + 1))
done
$SUDO apt-get update
$SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev
if [[ "$distribution" == "ubuntu16.04" ]]; then
$SUDO apt-get -y install python-tk libboost-all-dev libusb-1.0-0-dev
case "$(get_distribution_release)" in
"ubuntu16.04")
$SUDO apt-get -y install libuhd-dev libuhd3.15.0 uhd-host
fi
if [[ "$distribution" == "ubuntu18.04" ]]; then
$SUDO apt-get -y install libuhd-dev libuhd4.1.0 uhd-host
fi
;;
"ubuntu18.04" | "ubuntu20.04" | "ubuntu22.04")
$SUDO apt-get -y install libuhd-dev libuhd4.2.0 uhd-host
;;
esac
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
if [ $IS_CONTAINER -eq 0 ]
then
@@ -624,6 +626,7 @@ check_install_additional_tools (){
nscd \
bc \
ntp"
if [ $JSONLOGS -eq 1 ]; then PACKAGE_LIST="$PACKAGE_LIST uuid-dev"; fi
elif [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then
PACKAGE_LIST="\
check \
@@ -652,6 +655,7 @@ check_install_additional_tools (){
python-netifaces \
scipy \
python-matplotlib"
if [ $JSONLOGS -eq 1 ]; then PACKAGE_LIST="$PACKAGE_LIST libuuid-devel"; fi
elif [[ "$OS_DISTRO" == "fedora" ]]; then
PACKAGE_LIST=" \
check \
@@ -680,6 +684,7 @@ check_install_additional_tools (){
python-netifaces \
python-scipy \
python-matplotlib"
if [ $JSONLOGS -eq 1 ]; then PACKAGE_LIST="$PACKAGE_LIST libuuid-devel"; fi
fi
$SUDO $INSTALLER install -y $PACKAGE_LIST $optional_packages

View File

@@ -58,6 +58,10 @@
#define CONFIG_HELP (1<<20) // print help message
#define CONFIG_ABORT (1<<21) // config failed,abort execution
#define CONFIG_NOOOPT (1<<22) // no -O option found when parsing command line
#ifdef __cplusplus
extern "C" {
#endif
typedef int(*configmodule_initfunc_t)(char *cfgP[],int numP);
typedef int(*configmodule_getfunc_t)(paramdef_t *,int numparams, char *prefix);
typedef int(*configmodule_getlistfunc_t)(paramlist_def_t *, paramdef_t *,int numparams, char *prefix);
@@ -114,6 +118,8 @@ extern configmodule_interface_t *cfgptr;
extern configmodule_interface_t *load_configmodule(int argc, char **argv, uint32_t initflags);
extern void end_configmodule(void);
#define CONFIG_PRINTF_ERROR(f, x... ) if (isLogInitDone ()) { LOG_E(ENB_APP,f,x);} else {printf(f,x);}; if ( !CONFIG_ISFLAGSET(CONFIG_NOABORTONCHKF) ) exit_fun("exit because configuration failed\n");
#ifdef __cplusplus
}
#endif
#endif /* INCLUDE_CONFIG_LOADCONFIGMODULE_H */

File diff suppressed because it is too large Load Diff

View File

@@ -56,7 +56,7 @@
/*----------------------------------------------------------------------------*/
#include <assert.h>
#ifdef NDEBUG
#warning assert is disabled
#warning assert is disabled
#endif
#define NUM_ELEMENTS(ARRAY) (sizeof(ARRAY) / sizeof(ARRAY[0]))
#define CHECK_INDEX(ARRAY, INDEX) assert((INDEX) < NUM_ELEMENTS(ARRAY))
@@ -129,6 +129,7 @@ extern "C" {
#define FLAG_FILE_LINE 0x0040
#define FLAG_TIME 0x0100
#define FLAG_THREAD_ID 0x0200
#define FLAG_CORR_ID 0x0400 /*!< \brief: activate correlation ID in json formatted logs*/
#define FLAG_INITIALIZED 0x8000
#define SET_LOG_OPTION(O) g_log->flag = (g_log->flag | O)
@@ -267,7 +268,7 @@ typedef struct {
int level;
int savedlevel;
int flag;
int filelog;
int filelog; // flag set to 1 when using a sink of type file, stdout if set to 0
char *filelog_name;
FILE *stream;
log_vprint_func_t vprint;
@@ -284,6 +285,11 @@ typedef struct {
char *filelog_name;
uint64_t debug_mask;
uint64_t dump_mask;
unsigned char global_logfile;
FILE *global_logfilep;
off_t rotation_size;// in bytes, 0 means disabled
unsigned int rotation_time;// in seconds. 0 means disabled
time_t rotation_start_time; // timestamp in seconds since Unix-Epoch
} log_t;
@@ -301,36 +307,64 @@ extern "C" {
#endif
/*--- INCLUDES ---------------------------------------------------------------*/
# include "log_if.h"
/*----------------------------------------------------------------------------*/
/**
* Initialize the logging framework allocating internal memory for API global structure 'g_log', setting defaults and
* reading parameters from the configuration file (if exists) and command line. There is no environment variable handling.
* In order of priority, logs are disabled thanks to loglevel OAILOG_DISABLE and sink to file per component. Internally it
* leverages log API function log_getconfig().
*
* @return: 0 (successful), !=0 (error), exit(1) if memory failure
*/
int logInit (void);
void logTerm (void);
int isLogInitDone (void);
int register_log_component(char *name, char *fext,int compidx);
void logRecord_mt(const char *file, const char *func, int line,int comp, int level, const char *format, ...) __attribute__ ((format (printf, 6, 7)));
void vlogRecord_mt(const char *file, const char *func, int line, int comp, int level, const char *format, va_list args );
void log_dump(int component, void *buffer, int buffsize,int datatype, const char *format, ... );
int set_log(int component, int level);
void set_glog(int level);
/**
* set log level for log component and check also if the stream associated is open. If it is not, give priority to file sink
* type of log stream
* @return: 0(success), !=-0(failure)
*/
int set_log(int component, int level);
/*
* @return: 0(success), !=-0(failure)
*/
int set_glog(int level);
void set_glog_onlinelog(int enable);
void set_glog_filelog(int enable);
void set_component_filelog(int comp);
/**
* Set sink logging type globally. Sinks are of 2 types: stdout or file. You choose among them using ENABLE parameter
*
* @param enable if param is != 0, all the logs will be redirected to a global file, else logs will be redirected to stdout
* @return: 0(success), !=-0(failure)
*/
int set_glog_filelog(int enable);
/*
* @return: 0(success), !=-0(failure)
*/
int set_component_filelog(int comp);
void close_component_filelog(int comp);
void set_component_consolelog(int comp);
void logTerm (void);
void logClean (void);
int map_str_to_int(mapping *map, const char *str);
char *map_int_to_str(mapping *map, int val);
void logClean (void);
int is_newline( char *str, int size);
int register_log_component(char *name, char *fext, int compidx);
#define LOG_MEM_SIZE 100*1024*1024
#define LOG_MEM_FILE "./logmem.log"
void flush_mem_to_file(void);
int logInit_log_mem(void);
void close_log_mem(void);
typedef struct {
char* buf_p;
char *buf_p;
int buf_index;
int enable_flag;
} log_mem_cnt_t;
@@ -364,7 +398,7 @@ typedef struct {
#define MATLAB_CSHORT_BRACKET1 13
#define MATLAB_CSHORT_BRACKET2 14
#define MATLAB_CSHORT_BRACKET3 15
int32_t write_file_matlab(const char *fname, const char *vname, void *data, int length, int dec, unsigned int format, int multiVec);
/*----------------macro definitions for reading log configuration from the config module */
@@ -372,8 +406,11 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
#define LOG_CONFIG_STRING_GLOBAL_LOG_LEVEL "global_log_level"
#define LOG_CONFIG_STRING_GLOBAL_LOG_ONLINE "global_log_online"
// LOG_CONFIG_STRING_GLOBAL_LOG_INFILE: it is unused inside this log library.
#define LOG_CONFIG_STRING_GLOBAL_LOG_INFILE "global_log_infile"
#define LOG_CONFIG_STRING_GLOBAL_LOG_OPTIONS "global_log_options"
#define LOG_CONFIG_STRING_GLOBAL_LOG_ROT_SIZE "global_log_rotation_size"
#define LOG_CONFIG_STRING_GLOBAL_LOG_ROT_TIME "global_log_rotation_time"
#define LOG_CONFIG_LEVEL_FORMAT "%s_log_level"
#define LOG_CONFIG_LOGFILE_FORMAT "%s_log_infile"
@@ -393,14 +430,15 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
/* optname help paramflags XXXptr defXXXval type numelt */
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
#define LOG_GLOBALPARAMS_DESC { \
{LOG_CONFIG_STRING_GLOBAL_LOG_LEVEL, "Default log level for all componemts\n", 0, strptr:(char **)&gloglevel, defstrval:log_level_names[3].name, TYPE_STRING, 0}, \
{LOG_CONFIG_STRING_GLOBAL_LOG_ONLINE, "Default console output option, for all components\n", 0, iptr:&(consolelog), defintval:1, TYPE_INT, 0}, \
{LOG_CONFIG_STRING_GLOBAL_LOG_OPTIONS, LOG_CONFIG_HELP_OPTIONS, 0, strlistptr:NULL, defstrlistval:NULL, TYPE_STRINGLIST, 0} \
{LOG_CONFIG_STRING_GLOBAL_LOG_LEVEL, "Default log level for all components\n", 0, strptr:(char **)&gloglevel, defstrval:log_level_names[6].name, TYPE_STRING, 0}, \
{LOG_CONFIG_STRING_GLOBAL_LOG_ONLINE, "Default console output option, for all components\n", 0, iptr:&(consolelog), defintval:0, TYPE_INT, 0}, \
{LOG_CONFIG_STRING_GLOBAL_LOG_OPTIONS, LOG_CONFIG_HELP_OPTIONS, 0, strlistptr:NULL, defstrlistval:NULL, TYPE_STRINGLIST, 0}, \
{LOG_CONFIG_STRING_GLOBAL_LOG_ROT_SIZE, "Log Rotation: maximum log size in MB for file rotation (0 to disable/default)\n", 0, uptr:&(rotationsize), defuintval:0, TYPE_UINT, 0},\
{LOG_CONFIG_STRING_GLOBAL_LOG_ROT_TIME, "Log Rotation: maximum elapsed time in seconds for file rotation (0 to disable/default)\n", 0, uptr:&(rotationtime), defuintval:0, TYPE_UINT, 0} \
}
#define LOG_OPTIONS_IDX 2
/*----------------------------------------------------------------------------------*/
/** @defgroup _debugging debugging macros
* @ingroup _macro
@@ -447,7 +485,7 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
# define LOG_M(file, vector, data, len, dec, format) do { write_file_matlab(file, vector, data, len, dec, format, 0);} while(0)
# define LOG_VAR(A,B) A B
# define T_ACTIVE(a) (0)
# define T_ACTIVE(a) (0)
# endif /* T_TRACER */
/* avoid warnings for variables only used in LOG macro's but set outside debug section */

View File

@@ -0,0 +1,43 @@
/* vim settings :setf config
* Configuration file for log system integration tests
*
* This file adheres to the libconfig grammar format that you can find in https://hyperrealm.github.io/libconfig/libconfig_manual.html
* Parameters below are specific to log system and are defined in log.h
* Caveats:
* Support for new json unified format has to be explicitly enabled on compilation flag(-DOAI_LOG_JSON) of log library
*
* If you do not put this section log_config, the program will not log anything.
*/
log_config :
{
# Set the log level for all the components. It will also force log redirection to a file sink if global_log_online
# is not set or set to 0
global_log_level = "debug";
# set log level per component. If the corresponding '*_log_infile' is not present, it will check the 'global_log_level'
# to decide where to log
hw_log_level = "info";
# Activation of log redirection to file sink per component. By default it is deactivated.
# Syntax: <component>_log_infile = boolean_val(0|1)
# Example: hw_log_infile = 1
# Activation of stdout logs globally for all the components. By default it is deactivated.
# If some components has log to file activated it will honour that component setting
# Syntax: global_log_online = boolean_val(0|1)
# Log formatting options for printing, globally or per component. By default, the formatting includes the
# component name and colors.
# Syntax: global_log_options: list of attributes
# where attributes can be: nocolor, level, thread, line_num, function, time, thread_id, correlation_id.
global_log_options = ("level","nocolor","time");
# Set the maximum log size in MB for triggering logfile rotation. By default it is disabled.
# Syntax: global_log_rotation_size: uint_val, 0 means disabled
global_log_rotation_size = 1;
# Set the maximum elapsed time in seconds for triggering file rotation. By default it is disabled.
# Syntax: global_log_rotation_time: uint_val, 0 means disabled
global_log_rotation_time = 1;
};

View File

@@ -0,0 +1,243 @@
/*
* unit tests to evaluate integration of Log library.
*
* Example of running commandline: ./tstlog [--run_test=testname] [BOOST Test options]
* I.e.: ./tstlog --run_test=test_log_rotation_1 --report_level=detailed
*/
#define BOOST_TEST_MODULE tstlog
#include <boost/test/included/unit_test.hpp>
#include <iostream>
#include <fstream>
#undef T_TRACER
#include "log.h"
#include "common/config/config_load_configmodule.h"
using namespace boost::unit_test;
volatile int oai_exit;//the definition of this variable is needed by log.c:flush_mem_to_file() and it is declared in log.c
const char *global_oai_logfile="/tmp/openair.log";
const char *hw_logfile="/tmp/HW.";
const char *phy_logfile="/tmp/PHY.log";
std::list<int> known_bugged_comp = {19, 24, 40};
std::string conf1="\
log_config :\n\
{\n\
global_log_level = \"debug\";\n\
hw_log_level = \"info\";\n\
global_log_options = (\"level\",\"nocolor\",\"time\");\n\
global_log_rotation_size = 1;\n\
global_log_rotation_time = 1;\n\
};\n";
std::string conf2="\
log_config :\n\
{\n\
global_log_options = (\"level\",\"nocolor\",\"time\");\n\
global_log_rotation_size = 1;\n\
global_log_rotation_time = 1;\n\
};\n";
std::string conf3="\
log_config :\n\
{\n\
global_log_options = (\"level\",\"nocolor\",\"time\", \"correlation_id\");\n\
global_log_rotation_size = 0;\n\
global_log_rotation_time = 0;\n\
};\n";
std::string conf4="\
log_config :\n\
{\n\
global_log_level =\"info\";\n\
global_log_infile = 1; # warn: this parameter is silently discarded from configuration parser \n\
global_log_online = 0;\n\
};\n";
#define TMPLOCALCONF "tstlog.conf.tmp"
const char *argv[4] = {"tstlog", "-O", TMPLOCALCONF, NULL};
int argc=3;
void log_comp_tostr(unsigned int i) {
std::cout << "Component [" << i << "- " << g_log->log_component[i].name << "]: stream "<< g_log->log_component[i].stream
<< ", level:" << g_log->log_component[i].level << ", filelog: " << g_log->log_component[i].filelog << std::endl;
}
bool search_in_file(std::string fname, std::string match) {
std::ifstream f(fname);
if (!f)
return false;
std::string t;
while (getline(f, t))
if (t.find(match, 0) != t.npos)
return true;
f.close();
return false;
}
void create_test_conf_file(std::string confcontent) {
std::remove(TMPLOCALCONF);
std::ofstream file(TMPLOCALCONF);
file << confcontent;
}
BOOST_AUTO_TEST_CASE(test_log_rotation_1) {
// This test will be using global log file (/tmp/openair.log), simulating time expiring for log rotation.
// It is a test for single thread logging
create_test_conf_file(conf1);
std::remove(global_oai_logfile);
std::remove(hw_logfile);
BOOST_TEST_REQUIRE ((load_configmodule(argc, const_cast<char **>(argv), 0) != NULL), "Configuration module init failed");
BOOST_TEST ((logInit() == 0), true);
/*
* Sanity check for some field of global structure of log API.
* Expected: all components log to DEBUG level on global file, except for component 28 (HW) that will have its file and log at info level
*/
BOOST_TEST (((g_log->global_logfile == 0) && (g_log->global_logfilep == NULL)), true);
for (int i=MIN_LOG_COMPONENTS; i < MAX_LOG_PREDEF_COMPONENTS; i++) {
auto itr = std::find(known_bugged_comp.begin(), known_bugged_comp.end(), i);
if (itr != known_bugged_comp.end())
continue;
bool sts = ((g_log->log_component[i].filelog == 1) &&
(g_log->log_component[i].name != NULL) &&
(g_log->log_component[i].stream != g_log->global_logfilep));
sts = (i == 28) ? sts && (g_log->log_component[i].level == OAILOG_INFO) : sts && (g_log->log_component[i].level == OAILOG_DEBUG);
if (sts == false) {
std::cout << "Failure at this component:";
log_comp_tostr(i);
}
BOOST_TEST (sts, true);
}
BOOST_TEST((set_glog(OAILOG_DEBUG) == 0), true);
BOOST_TEST((set_glog_filelog(true) == 0), true); // force dump to default logfile /tmp/openair.log.
BOOST_TEST (((g_log->global_logfile == 1) && (g_log->global_logfilep != NULL)), true);
LOG_I(HW, "First test for a string");
BOOST_TEST(set_glog(OAILOG_ERR) == 0, true);
LOG_I(HW, "You should not see this line");
BOOST_TEST((set_glog(OAILOG_DEBUG) == 0), true);
char string_truncation[1600];
memset(string_truncation, 's', 1599);
memset(&string_truncation[1599], '\0', 1);
LOG_I(HW, "%s", string_truncation);
sleep(5);// let's have log rotation
LOG_I(HW, "Spurious line terminator should not appear\n");
bool sts = search_in_file(hw_logfile, "\n");
if (sts == true) {
std::cout << "Offending line:";
std::ifstream f(hw_logfile);
if (f.is_open())
std::cout << f.rdbuf();
}
BOOST_TEST(sts == false);
logClean();
logTerm();
end_configmodule();
std::remove(TMPLOCALCONF);
}
BOOST_AUTO_TEST_CASE(test_log_rotation_2) {
// test using component log file (tmp/PHY.log), simulating time expiring for log rotation
// It is a test for single thread logging
create_test_conf_file(conf1);
std::remove(phy_logfile);
BOOST_TEST_REQUIRE ((load_configmodule(argc, const_cast<char **>(argv), 0) != NULL), "Configuration module init failed");
BOOST_TEST (logInit() == 0, true);
BOOST_TEST(set_glog(OAILOG_DEBUG) == 0, true);
BOOST_TEST(set_component_filelog(0) == 0, true);
LOG_I(PHY, "Second test for a string that should be moved to backup file");
sleep(5);
LOG_I(PHY, "this should go to a brand new file");
BOOST_TEST( search_in_file(phy_logfile, "this should go to a brand new file") == true);
BOOST_TEST( search_in_file(phy_logfile, "Second test for a string that should be moved to backup file") == false);
logClean();
logTerm();
end_configmodule();
std::remove(TMPLOCALCONF);
}
BOOST_AUTO_TEST_CASE(test_log_defaults) {
// testing log default values. You should not see anylog, not on console, not on file. It is a test for single thread logging
create_test_conf_file(conf2);
std::remove(phy_logfile);
BOOST_TEST_REQUIRE ((load_configmodule(argc, const_cast<char **>(argv), 0) != NULL), "Configuration module init failed");
BOOST_TEST (logInit() == 0, true);
LOG_I(PHY, "you should not see any log");
BOOST_TEST( search_in_file(phy_logfile, "you should not see any log") == false);
logClean();
logTerm();
end_configmodule();
std::remove(TMPLOCALCONF);
}
BOOST_AUTO_TEST_CASE(test_log_defaults_2) {
/* Test log default values. You should not see anylog, not on console, not on file. It is a test for single thread logging */
create_test_conf_file(conf3);
std::remove(phy_logfile);
BOOST_TEST_REQUIRE ((load_configmodule(argc, const_cast<char **>(argv), 0) != NULL), "Configuration module init failed");
BOOST_TEST (logInit() == 0, true);
BOOST_TEST(set_log(0, OAILOG_INFO) == 0, true);
LOG_I(PHY, "you should see this log to file");
BOOST_TEST( search_in_file(phy_logfile, "you should see this log to file") == true);
LOG_I(HW, "you should not see this log at all");
//XXX: TODO: intercept console output and general log file and validate this finding with BOOST_TEST() macro.
logClean();
logTerm();
end_configmodule();
std::remove(TMPLOCALCONF);
}
BOOST_AUTO_TEST_CASE(test_log_discarded_options) {
/* Test global log activation to file. You are expected to see only logs in their component file.
* To have logs to just one global file you need to call set_glog_filelog().
*/
create_test_conf_file(conf4);
std::remove(phy_logfile);
std::remove(global_oai_logfile);
BOOST_TEST_REQUIRE ((load_configmodule(argc, const_cast<char **>(argv), 0) != NULL), "Configuration module init failed");
BOOST_TEST(logInit() == 0, true);
/*
* Sanity check for some field of global structure of log API.
* Expected: all components log to DEBUG level and have their own file sink
*/
BOOST_TEST (((g_log->global_logfile == 0) && (g_log->global_logfilep == NULL)), true);
for (int i=MIN_LOG_COMPONENTS; i < MAX_LOG_PREDEF_COMPONENTS; i++) {
auto itr = std::find(known_bugged_comp.begin(), known_bugged_comp.end(), i);
if (itr != known_bugged_comp.end())
continue;
bool sts = ((g_log->log_component[i].filelog == 1) &&
(g_log->log_component[i].name != NULL) &&
(g_log->log_component[i].stream != g_log->global_logfilep) &&
(g_log->log_component[i].stream != NULL) &&
(g_log->log_component[i].stream != stdout) &&
(g_log->log_component[i].level == OAILOG_INFO));
if (sts == false) {
std::cout << "Failure at this component:";
log_comp_tostr(i);
}
BOOST_TEST (sts, true);
}
LOG_I(PHY, "test_log_discarded_options");
BOOST_TEST(search_in_file(phy_logfile, "test_log_discarded_options") == true);
BOOST_TEST(search_in_file(global_oai_logfile, "test_log_discarded_options") == false);
logClean();
logTerm();
end_configmodule();
std::remove(TMPLOCALCONF);
}

View File

@@ -44,9 +44,9 @@
#define _Assert_(cOND, aCTION, fORMAT, aRGS...) \
do { \
if (!(cOND)) { \
fprintf(stderr, "\nAssertion ("#cOND") failed!\n" \
fprintf(stderr, "\nAssertion (%s) failed!\n" \
"In %s() %s:%d\n" fORMAT, \
__FUNCTION__, __FILE__, __LINE__, ##aRGS); \
#cOND, __FUNCTION__, __FILE__, __LINE__, ##aRGS); \
aCTION; \
} \
} while(0)

View File

@@ -33,10 +33,8 @@
#include <stdint.h>
#include <stdio.h>
#include "PHY/defs_eNB.h"
#include "PHY/TOOLS/dB_routines.h"
extern int16_t hundred_times_delta_TF[100];
extern uint16_t hundred_times_log10_NPRB[100];
#include <openair1/PHY/TOOLS/tools_defs.h>
#include <openair1/SCHED/sched_common_extern.h>
int16_t estimate_ue_tx_power(int norm,uint32_t tbs, uint32_t nb_rb, uint8_t control_only, int ncp, uint8_t use_srs)
{

View File

@@ -336,9 +336,9 @@ int get_dmrs_port(int nl, uint16_t dmrs_ports) {
return p;
}
lte_frame_type_t get_frame_type(uint16_t current_band, uint8_t scs_index)
frame_type_t get_frame_type(uint16_t current_band, uint8_t scs_index)
{
lte_frame_type_t current_type;
frame_type_t current_type;
int32_t delta_duplex = get_delta_duplex(current_band, scs_index);
if (delta_duplex == 0)

View File

@@ -63,7 +63,7 @@ void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset);
uint16_t config_bandwidth(int mu, int nb_rb, int nr_band);
int get_nr_table_idx(int nr_bandP, uint8_t scs_index);
int32_t get_delta_duplex(int nr_bandP, uint8_t scs_index);
lte_frame_type_t get_frame_type(uint16_t nr_bandP, uint8_t scs_index);
frame_type_t get_frame_type(uint16_t nr_bandP, uint8_t scs_index);
uint16_t get_band(uint64_t downlink_frequency, int32_t delta_duplex);
int NRRIV2BW(int locationAndBandwidth,int N_RB);
int NRRIV2PRBOFFSET(int locationAndBandwidth,int N_RB);

View File

@@ -450,6 +450,7 @@ extern "C" {
void itti_wait_tasks_end(void) {
shutting_down = false;
signal(SIGTERM, catch_sigterm);
//signal(SIGINT, catch_sigterm);
while (! shutting_down)
{
sleep(24 * 3600);

View File

@@ -193,6 +193,7 @@ Using the help option of the build script you can get the list of available opti
| --UE | maintained and tested in CI | build `lte-uesoftmodem` the LTE UE |
| --gNB | maintained and tested in CI | build `nr-softmodem` the 5G gNodeB |
| --nrUE | maintained and tested in CI | build `nr-uesoftmodem` the 5G UE |
| --arch-native | maintained | build with native architecture optimization |
| --usrp-recplay | deprecated | use the USRP configuration parameters to use the record player. |
| --build-lib | maintained | build optional shared library(ies), which can then be loaded at run time via command line option. Use the --help option to get the list of supported optional libraries. `all` can be used to build all available optional libraries. |
| --UE-conf-nvram | maintained | Specifies the path to the input file used by the conf2uedata utility. defaults to [openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf](../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf) |

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