Compare commits

..

1932 Commits

Author SHA1 Message Date
Raymond Knopp
bc80faed40 modification to initial_synch 2022-09-25 21:43:15 +02:00
Raymond Knopp
c320609375 changes for decoding Nokia trace, in particular searching for carrier offset for symbol phase compensation 2022-09-25 18:56:34 +02:00
Raymond Knopp
7b301a2bb7 minor logging change 2022-09-21 21:42:14 +02:00
Raymond Knopp
334629835e testing of Nokia configuration 2022-09-14 07:18:41 +02:00
Raymond Knopp
1a61cab612 Merge commit '335c5d41' into simde 2022-09-10 15:59:03 +02:00
Bruno Mongazon-Cazavet
a8e2c839c5 add specific gcc options for axv512, -march=native is not sufficient 2022-09-09 18:13:45 +02:00
Bruno Mongazon-Cazavet
63333a6dec restore and fix --noavx512, remove useless comments, remove useless build_oai processor flags 2022-09-09 12:14:20 +02:00
francescomani
335c5d411a fix SIB1 detection in slot different than 0 2022-09-08 17:25:50 +02:00
Bruno Mongazon-Cazavet
b3b078ed73 Merge branch 'simde' of https://gitlab.eurecom.fr/oai/openairinterface5g into simde 2022-09-06 14:31:56 +02:00
Bruno Mongazon-Cazavet
91be04480f restore iq player behavior + set for 40MHz, fix warning 2022-09-06 14:31:21 +02:00
Robert Schmidt
1da1d50963 Add crc.h as licence exception: file is already in repo 2022-09-06 13:22:19 +02:00
Bruno Mongazon-Cazavet
5c893c7354 merge tools_defs.h for SIMDE 2022-09-06 09:09:40 +02:00
Bruno Mongazon-Cazavet
773ac12a2a merge develop 2022-09-05 18:45:46 +02:00
Bruno Mongazon-Cazavet
223e8c354a fix usage of simde for x86 platforms 2022-09-05 17:39:11 +02:00
Robert Schmidt
474cde3b41 Merge branch 'integration_2022_wk35b' into 'develop'
integration_2022_wk35b

See merge request oai/openairinterface5g!1689

MR !785 Add .clang-format file
MR !1487 LDPC offload on T1 card
MR !1677 NR LBRM for UL
MR !1683 Schedule ULSCH in flexible slots in InitialBWP
MR !1674 Optimize nr_rotation
MR !1685 Fix AssertFatal in Msg3
MR !1684 Implementation of a RA timer to remove UE in the case of Msg4 not be decoded by the UE
MR !1669 Fixes when there is no spCellConfig configured
MR !1648 simplify thread pool configuration
MR !1609 improve-nr_ul_channel_estimation
2022-09-05 12:05:28 +00:00
Robert Schmidt
23459a487d Merge remote-tracking branch 'origin/improve-nr_ul_channel_estimation' into integration_2022_wk35b 2022-09-04 21:46:17 +02:00
Robert Schmidt
203ac17833 Merge remote-tracking branch 'origin/by-core-thread-pool' into integration_2022_wk35b 2022-09-04 21:46:04 +02:00
Robert Schmidt
0b970e9e63 Merge remote-tracking branch 'origin/fixes_when_no_spCellConfig' into integration_2022_wk35b 2022-09-04 21:39:51 +02:00
Robert Schmidt
f8cc843aa7 Merge remote-tracking branch 'origin/Remove_UE_when_Msg4_fails_to_be_decoded' into integration_2022_wk35b 2022-09-04 21:39:37 +02:00
Robert Schmidt
ddeaf445f0 Merge remote-tracking branch 'origin/Fix_AssertFatal_in_Msg3' into integration_2022_wk35b 2022-09-04 21:39:23 +02:00
Robert Schmidt
95dad65c9a Merge remote-tracking branch 'origin/nr_rotation_optimization' into integration_2022_wk35b 2022-09-04 21:39:09 +02:00
Robert Schmidt
c87188191d Merge remote-tracking branch 'origin/Schedule_ULSCH_in_flexible_slots_in_InitialBWP' into integration_2022_wk35b 2022-09-04 21:38:55 +02:00
Robert Schmidt
01a3f9d5f9 Merge remote-tracking branch 'origin/NR_UL_LBRM' into integration_2022_wk35b 2022-09-04 21:38:38 +02:00
Robert Schmidt
609c2716c7 Merge remote-tracking branch 'origin/ldpc_offload_t1_mr' into integration_2022_wk35b 2022-09-04 21:37:44 +02:00
Robert Schmidt
392946f0c1 Merge remote-tracking branch 'origin/feature-support-clang-format' into integration_2022_wk35b 2022-09-04 21:37:28 +02:00
laurent
6f862c0dfe fix a bug in itti external sockets 2022-09-02 14:25:17 +02:00
laurent
bf2b069d96 let more time for docker compose to start the container 2022-09-02 11:36:47 +02:00
laurent
223ae5c307 remove a forgotten printf() 2022-09-02 11:36:47 +02:00
laurent
9b207834e7 merge conflict fix 2022-09-02 11:36:47 +02:00
laurent
5fcd8b6f9f fix direct memory bugs in lte mbms 2022-09-02 11:36:47 +02:00
laurent
9ee917039a fix non reentrant issue in itti 2022-09-02 11:36:47 +02:00
laurent
abf6801094 fix text typos 2022-09-02 11:36:47 +02:00
laurent
aa2a36768c simplify thread pool configuration
fix segv

fix bug redeclaration of same struct in phy sim

Apply 1 suggestion(s) to 1 file(s)

code reveiw comments
2022-09-02 11:36:47 +02:00
Francesco Mani
adea216202 adding a comment 2022-09-01 15:48:31 +00:00
laurent
4c74cc6686 Improve nr_ul_channel_estimation() 2022-09-01 16:35:57 +02:00
Raphael Defosseux
8229f00d0e chore(ci): disable all the 4G Legacy LTE pipelines before we migrate the servers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-09-01 16:25:49 +02:00
luis_pereira87
9178648902 Address review comments 2022-09-01 08:34:53 +01:00
luis_pereira87
66369a8a4c Prevent ra_timer to be enabled when running in phy-test mode
When running in this mode there is no RA that will succeed to disable the timer
2022-09-01 08:29:57 +01:00
luis_pereira87
00373ed10b Address review comments 2022-09-01 08:12:26 +01:00
luis_pereira87
8a6d09666d Fix AssertFatal in Msg3 to not Assert when there is a PUCCH (CSI report) already scheduled for that slot 2022-08-31 16:03:36 +01:00
luis_pereira87
13bdcb4743 Implementation of a RA timer to remove UE in the case of Msg4 not be decoded by the UE 2022-08-31 08:52:35 +01:00
Robert Schmidt
622e14ad4f 5G RFsim: increase PRACH threshold to 20dB to avoid misdetections 2022-08-30 17:07:00 +02:00
luis_pereira87
3ea751c3cb Schedule ULSCH in flexible slots in InitialBWP 2022-08-30 14:37:59 +01:00
Thomas Schlichter
1440807e23 increase prach_dtx_threshold to 20 dB to avoid fake PRACH detections 2022-08-30 11:17:34 +02:00
Robert Schmidt
cb3108f4e5 Merge branch 'integration_2022_wk35' into 'develop'
integration_2022_wk35

See merge request oai/openairinterface5g!1682

MR !1571 PHY procedures for SRS MIMO
MR !1666 gzip optim, links for size
MR !1668 Update core images to latest develop for CI
MR !1670 Fix initial_cyclic_shift for pucch-ConfigCommon
MR !1671 Fix unaligned channel processing with odd number of rb
MR !1672 Enable 2 Downlink layers MIMO and other minor improvements in default configuration files
MR !1680 Fix buffer overflow and division by 0 for SRS
2022-08-30 06:23:42 +00:00
Robert Schmidt
2e7533a068 CI: Fix workspace path in LDPC Test 2022-08-29 18:27:25 +02:00
luis_pereira87
e2faa154e7 Merge remote-tracking branch 'origin/develop-SRS-buffer-overflow' into integration_2022_wk35
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
2022-08-29 16:50:01 +01:00
Robert Schmidt
89a71a10e0 Create oai_rules_result.txt expected by CI 2022-08-29 17:39:37 +02:00
Robert Schmidt
a3543668f3 Merge remote-tracking branch 'origin/Update_configuration_files' into integration_2022_wk35 2022-08-29 17:25:38 +02:00
Robert Schmidt
a085522128 Merge remote-tracking branch 'origin/fix-unaligned-channel-processing-with-odd-number-of-rb' into integration_2022_wk35 2022-08-29 17:25:25 +02:00
Robert Schmidt
256483a25d Merge remote-tracking branch 'origin/BugFix_in_initial_cyclic_shift_for_pucch-ConfigCommon' into integration_2022_wk35 2022-08-29 17:25:08 +02:00
Robert Schmidt
abd5b2cf79 Merge remote-tracking branch 'origin/update_5gcn_aug2022' into integration_2022_wk35 2022-08-29 17:24:49 +02:00
Robert Schmidt
845eeae92b Merge remote-tracking branch 'origin/optimize-ci-time' into integration_2022_wk35 2022-08-29 17:24:35 +02:00
francescomani
cf6ac388fd addressing review comments 2022-08-29 17:10:08 +02:00
Robert Schmidt
c3c6aa8e75 Add Cppcheck_Analysis action, make unknown action no fail 2022-08-29 14:50:57 +02:00
Thomas Schlichter
59cb602161 review changes 2022-08-29 12:43:50 +02:00
Robert Schmidt
8de2578be5 Disable T1 Offload pipeline: avra is offline 2022-08-29 11:41:26 +02:00
Robert Schmidt
e2e62e78fe CI: add unhandled action LicenceAndFormattingCheck 2022-08-29 11:41:25 +02:00
Robert Schmidt
5ec8a11ec9 Add readme for clang-format 2022-08-28 16:21:43 +02:00
Robert Schmidt
91f2453a57 Update documentation on how to get sources 2022-08-28 16:21:43 +02:00
Robert Schmidt
f3cd2c9aca Remove astyle 2022-08-28 16:21:43 +02:00
Robert Schmidt
e87dd85db1 Bitfield colon spacing after the colon 2022-08-26 20:14:41 +02:00
Cedric Roux
af6059d4ab clang-format: open-brace at column one to start the body of a function 2022-08-26 20:14:40 +02:00
Robert Schmidt
d0079ce554 Add clang-format specific pre-commit hook 2022-08-26 20:14:40 +02:00
Robert Schmidt
030e0c40aa Add .clang-format file 2022-08-26 20:14:40 +02:00
Robert Schmidt
a4eed55cea Detect DPDK using PkgConfig 2022-08-26 13:55:07 +02:00
Robert Schmidt
da5702e3c9 Use variable for T1 Offload detection 2022-08-26 13:55:07 +02:00
Robert Schmidt
4144abcc6e Update T1 Offload scenario file after option change in ulsim 2022-08-26 13:55:07 +02:00
Roberto Louro Magueta
e026e20186 Avoid division by 0 for low noise scenario 2022-08-26 11:41:23 +01:00
Hongzhi Wang
1124b21657 fix warnings 2022-08-26 12:28:26 +02:00
Roberto Louro Magueta
4e434ecf45 Fix buffer overflow for SRS 2022-08-26 11:04:04 +01:00
Dhanuja Elizabeth Thomas
313a63f52a Update 5gcn images for CI
- in ci-scripts for l2-sim, rf-sim
- in epc.py for OTA tests
2022-08-26 11:01:22 +02:00
francescomani
51483a3223 add option for limited buffer rate-matching for UL 2022-08-26 09:01:48 +02:00
Hongzhi Wang
f1df28637a delete conf file 2022-08-25 23:23:18 +02:00
luis_pereira87
f3781c4353 Add band n77 configuration file for N300 with 100 MHz
Band n78 is widely used by mobile network operators, we want to transmit over the air without interfere with them, so we set the allocation in this configuration file outside of band n78
2022-08-25 16:48:08 +01:00
luis_pereira87
015a4d945b Enable 2 Downlink layers MIMO and other minor improvements in default configuration files 2022-08-25 13:27:29 +01:00
Roberto Louro Magueta
d39a772436 Remove tabs 2022-08-25 10:33:38 +01:00
Roberto Louro Magueta
432817d1d5 Merge remote-tracking branch 'origin/develop' into develop-SRS-MIMO 2022-08-25 10:26:35 +01:00
Thomas Schlichter
6310606980 fix alignment issues in case of odd number of PRBs 2022-08-25 11:05:48 +02:00
Thomas Schlichter
3c17573f34 apply nr rotation only on used PRBs instead of complete OFDM symbol 2022-08-25 11:05:48 +02:00
Thomas Schlichter
21ea2f2136 pbchsim: apply nr rotation in frequency domain, like in all other places, instead of time domain 2022-08-25 10:17:59 +02:00
Robert Schmidt
a58b3989d1 Install gdb in RAN images to have stack traces on asserts 2022-08-24 15:51:49 +02:00
Robert Schmidt
4dc26bf575 docker entrypoints: print config, log USRP loader 2022-08-24 15:51:49 +02:00
Robert Schmidt
23cf8059aa Save logs of unhealthy containers during deployment 2022-08-24 15:51:49 +02:00
Robert Schmidt
c1b448cd1a Handle errors in Copy_Image_to_Test_Server() 2022-08-24 15:51:49 +02:00
laurent
3a0a14cf7d gzip optim, links for size 2022-08-24 15:51:49 +02:00
Hongzhi Wang
ea6524c52f update cmakelists and ulsim 2022-08-24 08:27:14 +02:00
Robert Schmidt
0ccb3a2d47 Add T1 Offload test to RAN-Container-Parent 2022-08-23 17:18:07 +02:00
Robert Schmidt
5bd81ae95d Define T1 Offload scenario file 2022-08-23 17:13:03 +02:00
Robert Schmidt
b0e5b6eb9a Add Run_NRulsimTest 2022-08-23 17:13:03 +02:00
Robert Schmidt
aa1cbff597 Improve PhySim build to be shorter 2022-08-23 17:11:51 +02:00
Robert Schmidt
4d85beae73 Rename CI Run_PhySim to Run_LDPCTest 2022-08-23 17:11:48 +02:00
Robert Schmidt
90d4868a43 Isolate PhySim source build XML scenario 2022-08-23 12:45:36 +02:00
Robert Schmidt
e28fccc7fb Hardcode (implicit) physim OC server to use 2022-08-23 10:36:16 +02:00
Hongzhi Wang
1d4ffe42c4 Merge branch 'develop' into ldpc_offload_t1_mr
Conflicts:
	executables/nr-softmodem.h
	executables/softmodem-common.h
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
2022-08-22 20:02:34 +02:00
Roberto Louro Magueta
c6fda387e0 Fix mem_offset after merge 2022-08-22 14:23:12 +01:00
laurent
0475b78ff4 fix unaligned 2022-08-22 12:55:23 +02:00
Roberto Louro Magueta
df0f756c87 Fix build after merge 2022-08-22 11:30:06 +01:00
Roberto Louro Magueta
d04918eb9b Merge remote-tracking branch 'origin/develop' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
2022-08-22 10:45:56 +01:00
luis_pereira87
f9f175a6f1 Fix initial_cyclic_shift for pucch-ConfigCommon 2022-08-22 10:31:15 +01:00
luis_pereira87
5ba55a511e Fixes when there is no spCellConfig configured 2022-08-22 10:07:23 +01:00
Robert Schmidt
ad8381a66b Merge branch 'integration_2022_wk33' into 'develop'
integration_2022_wk33

See merge request oai/openairinterface5g!1667

MR !1604 RRC harmonization of multiple BWPs configuration
MR !1657 NR fixes for 100MHz and 2 layers
MR !1646 Add 4G L2simulator test
MR !1662 fix a bug: multi ues in rfsimulator 4G
MR !1559 NR UE multi SSB meas
changes to disable legacy 4G F1 test
MR !1661 fix bugs in config module and config usage
MR !1562 Correctly handle SIGINT/stop signal in nr-softmodem
MR !1659 Fix segFault in SRS for odd number of PRBs
2022-08-21 06:10:51 +00:00
Robert Schmidt
2ea9618a8d Limit function name string length for logging output 2022-08-19 18:22:23 +02:00
Robert Schmidt
8aaede906d Do not hard-code default global log level 2022-08-19 18:22:23 +02:00
Robert Schmidt
909b511ed0 Merge remote-tracking branch 'origin/develop-SRS-segFault-51PRBs' into integration_2022_wk33 2022-08-19 18:22:23 +02:00
Robert Schmidt
4674cddb71 Merge remote-tracking branch 'origin/fix-nrsoftmodem-stop' into integration_2022_wk33 2022-08-19 18:22:23 +02:00
Robert Schmidt
5ebe28565e Merge remote-tracking branch 'origin/fix-config-module' into integration_2022_wk33 2022-08-19 18:22:22 +02:00
Robert Schmidt
84f7634874 Disable legacy 4G F1 test and XML scenario files 2022-08-19 18:22:22 +02:00
Roberto Louro Magueta
a0d8009170 Address review comments 2022-08-19 14:31:13 +01:00
Robert Schmidt
f3cdc11269 Merge remote-tracking branch 'origin/NR_UE_multi_SSB_meas' into integration_2022_wk33 2022-08-18 20:53:04 +02:00
Robert Schmidt
db31ddc341 Merge remote-tracking branch 'origin/bug-rfsim-4G-multi-UEs' into integration_2022_wk33 2022-08-18 20:52:21 +02:00
Robert Schmidt
71d0e95f1f Merge remote-tracking branch 'origin/ci-test-4g-l2sim' into integration_2022_wk33 2022-08-18 20:52:04 +02:00
Robert Schmidt
70627a9953 Merge remote-tracking branch 'origin/NR_100MHz_2layers_fixes' into integration_2022_wk33 2022-08-18 20:51:23 +02:00
Robert Schmidt
e0a802df16 Remove irrelevant RU/L1/RFsim config from L2sim gNB config 2022-08-18 20:39:31 +02:00
Robert Schmidt
6c31639522 Only call NR_PHY_config_req when no (n)FAPI 2022-08-18 20:37:06 +02:00
Robert Schmidt
b712e77527 Don't block nr-softmodem in nFAPI mode, not needed 2022-08-18 20:18:18 +02:00
Robert Schmidt
238c8a62b4 Delete dead code in nr-softmodem main() 2022-08-18 20:18:18 +02:00
Robert Schmidt
6bf0f98e7f Skip scheduling of UEs if there are no free HARQs 2022-08-18 19:59:50 +02:00
Bruno Mongazon-Cazavet
d9ba6b97ec fix sse 16 bit tc without avx2, fix a mispelling in trace, add --noavx2 for further perf comparision 2022-08-18 18:03:53 +02:00
Roberto Louro Magueta
1638bbba8a Add intermediate variable 2022-08-18 17:00:21 +01:00
Hongzhi Wang
1273ad406c fix compiling issue and removing dead code 2022-08-18 17:44:19 +02:00
Hongzhi Wang
31acfdea58 Merge branch 'develop' into ldpc_offload_t1_mr
Conflicts:
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
2022-08-18 17:38:55 +02:00
laurent
d6d4d87e0b code review comments 2022-08-18 16:43:26 +02:00
laurent
8b159d6ddc remove unclear function free_configmodule(), as we have end_configmodule() that do the same 2022-08-18 09:47:44 +02:00
Robert Schmidt
a08d78d79d Correctly show proxy build info 2022-08-17 23:50:23 +02:00
Robert Schmidt
c139204ce0 Make one L2sim proxy build scenario file 2022-08-17 23:50:23 +02:00
Robert Schmidt
ab5a67463a Reuse existing files from 4g_rfsimulator_fdd_05MHz 2022-08-17 17:35:44 +02:00
frtabu
983c956b77 Fix config module memory leaks 2022-08-16 17:58:55 +02:00
Bruno Mongazon-Cazavet
15a5960f29 allow centos 8 build, add --avx2 for comparison purpose, fix warning on centos8 2022-08-16 17:47:35 +02:00
Cedric Roux
0618812554 T tracer: simplify
- don't call exit() if get_message() fails, simply terminate the thread and
  disable the T tracer
- T_dont_fork disappears, monitor_and_kill() as well, so now it's only 2
  processes: the main (enb/gnb/ue) and the local tracer
2022-08-16 14:44:23 +02:00
Robert Schmidt
5cadafc154 CI: check for final 'Bye.' message 2022-08-16 14:44:23 +02:00
Robert Schmidt
6f40b6190c Stop containers before undeploying 2022-08-16 14:44:23 +02:00
Robert Schmidt
d08ef0490d Correctly call stop functions in nr-softmodem main 2022-08-16 14:44:23 +02:00
Robert Schmidt
1df60139e2 Automatically close GTP sockets at program end 2022-08-16 14:44:22 +02:00
Robert Schmidt
19d83ad21e Make GTPV1U REQ in one allocation to avoid mem leak at GTP 2022-08-16 14:44:22 +02:00
Robert Schmidt
51a7b7bd6e Remove memory leaks in FAPI PUCCH 0-4 PDU handling 2022-08-16 14:44:22 +02:00
Robert Schmidt
2465f1fb51 Don't allocate gNB rxdataF, it is managed at the RU
Removes phy_procedures_gNB_common_RX() (only used in nr_ulsim) + fixes
in pucchsim
2022-08-16 14:44:22 +02:00
Robert Schmidt
9957056f38 Drop empty logging statement 2022-08-16 14:44:22 +02:00
Robert Schmidt
61ead59d13 Check oai_exit in wait_on_condition() and friends, no volatile 2022-08-16 14:44:22 +02:00
Robert Schmidt
fffb2d14de Close rfsimulator sockets 2022-08-16 14:44:22 +02:00
Robert Schmidt
649e059f90 RFsim: Mark FD non-blocking once; show errno on problem 2022-08-16 14:44:22 +02:00
Florian Kaltenberger
7e82f2f4e8 sending small end-of-burst TX packet when exiting softmodem 2022-08-16 14:44:22 +02:00
Robert Schmidt
69cf59f32d Stop USRP write thread if necessary 2022-08-16 14:44:21 +02:00
Robert Schmidt
e28bd9ff2a Free USRP objects in trx_usrp_end() 2022-08-16 14:43:59 +02:00
Robert Schmidt
0ae3d3027d Don't call trx_end_func() at nr-softmodem, is done in ru_thread() 2022-08-16 14:41:02 +02:00
Robert Schmidt
004d6d3bab Correctly stop tx_reorder and L1_stats threads 2022-08-16 14:41:02 +02:00
Robert Schmidt
1512e39e4e Rewrite kill_NR_RU_proc() and reuse functions 2022-08-16 14:41:02 +02:00
Robert Schmidt
9ec3deb5bd Improve thread pool documentation 2022-08-16 14:41:02 +02:00
Robert Schmidt
fafed7d181 Remove unused restrictRNTI variable in Tpool 2022-08-16 14:41:02 +02:00
Robert Schmidt
31dcdf2152 Implement abortNotifiedFIFO() to unlock FIFO waits 2022-08-16 14:41:02 +02:00
Robert Schmidt
dfd9a91b50 Rename abortNotifiedFIFO() to abortNotifiedFIFOJob() 2022-08-16 14:41:02 +02:00
Robert Schmidt
d73e1a4133 Handle NULL return of pullTpool() 2022-08-16 14:41:02 +02:00
Robert Schmidt
178e2773ed Handle abortFIFO in FIFO functions 2022-08-16 14:41:02 +02:00
Robert Schmidt
e63cc03c9d Implement abortTpool()
This stops all ongoing threads (using pthread_join()), and marks FIFOs
to not block anymore. In this case, returned messages will be NULL.
2022-08-16 14:41:02 +02:00
Robert Schmidt
078d6fa15b threadCreate(): don't create detached threads
A detached thread cannot be joined with pthread_join(). However, this
is crucial for correct resetting of the nr-softmodem. Therefore, do not
create threads in detached state.
2022-08-16 14:41:02 +02:00
Robert Schmidt
fc298b77b5 Don't stop nr-softmodem on FEP thread exit cond 2022-08-16 14:41:02 +02:00
Robert Schmidt
76f399cdd6 Threading/memory improvements at nr-softmodem end
- First stop threads then free memory
- Don't call kill_NR_RU_proc() twice (is called in stop_RU())
- Memory allocation optimizations
2022-08-16 14:41:02 +02:00
luis_pereira87
604d52a431 Replace sleep by mutex in itti_wait_tasks_end() 2022-08-16 14:41:01 +02:00
Robert Schmidt
c4a657cc33 Avoid additional malloc() for queues and Tpool 2022-08-16 14:41:01 +02:00
Robert Schmidt
31d5bb6ffd Rename abortTpool() to abortTpoolJob(), fix doc 2022-08-16 14:41:01 +02:00
francescomani
df1f4381a2 fix in sib1 memcpy size 2022-08-16 11:18:00 +02:00
francescomani
166aae35ab fixes to get 100MHz working with 2 layers 2022-08-16 11:18:00 +02:00
Robert Schmidt
70bb1a3858 Add L2sim-4G to RAN-Container-Parent and documentation 2022-08-16 09:59:36 +02:00
laurent
65b399fcd7 fix bugs in config module and config usage
fix bug from this MR

fix bug from this MR

stupid-mistake
2022-08-16 09:22:15 +02:00
laurent
d46a7e40a8 fix a bug: multi ues in rfsimulator 4G 2022-08-16 08:51:37 +02:00
Robert Schmidt
793c8de2ae CI: Add L2sim-4G iperf DL&UL test 2022-08-13 15:17:42 +02:00
Robert Schmidt
71c13d85fc Add 4G L2sim XML scenario files 2022-08-13 15:17:42 +02:00
Robert Schmidt
7f8031f69a Add docker-compose.yml for l2sim-4g 2022-08-13 15:17:42 +02:00
Robert Schmidt
c7f79e71e7 Add more users for dummy CI 4G UE sim configuration 2022-08-13 15:17:42 +02:00
Robert Schmidt
df05475b6b Add eNB L2sim config file for enb container image 2022-08-13 15:17:42 +02:00
Bruno Mongazon-Cazavet
9a934dad36 after manual merge 2022-08-12 13:05:01 -04:00
francescomani
0289bb5791 SRS for multiple BWPs 2022-08-12 15:39:48 +02:00
francescomani
8403b2c6d5 Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-08-12 13:05:11 +02:00
Robert Schmidt
61312ca6e2 Merge branch 'integration_2022_wk32' into 'develop'
integration_2022_wk32

See merge request oai/openairinterface5g!1658

MR !1551 Use F1 internally: RRC Message Transfer
MR !1645 fix(ci): Fixes for the legacy LTE bench
MR !1654 Fix for NDI init at UE
MR !1656 ngap: minor fix: access the array correctly
MR !1635 Fix SDAP in RFSIM mode
MR !1643 add asn1c logs
MR !1647 Function to get sample rate and BW
2022-08-12 05:33:12 +00:00
Robert Schmidt
6a0605b000 Merge remote-tracking branch 'origin/get_samplerate_and_bw' into integration_2022_wk32 2022-08-11 18:11:15 +02:00
Robert Schmidt
9c94f86451 Merge remote-tracking branch 'origin/add-asn1c-codec-logs' into integration_2022_wk32 2022-08-11 18:10:55 +02:00
Robert Schmidt
ef526692b5 Merge remote-tracking branch 'origin/fix_sdap' into integration_2022_wk32 2022-08-11 18:04:47 +02:00
francescomani
63a9cbcc66 fixes to correctly configure and schedule CSI-RS in case of multiple BWPs 2022-08-11 15:41:46 +02:00
laurent
eba7dc5c76 Print asn1c encoding logs using OAI logging system 2022-08-11 14:00:43 +02:00
Angelo Athanassopoulos
17aef213a1 Fix: noS1 with SDAP 2022-08-11 11:19:27 +02:00
Robert Schmidt
44f363c63c Merge remote-tracking branch 'origin/minor-fix-bad-sd-flag' into integration_2022_wk32 2022-08-10 20:40:24 +02:00
Robert Schmidt
c607e5c3d6 Merge remote-tracking branch 'origin/NR_phytest_UE_ndi' into integration_2022_wk32 2022-08-10 20:40:03 +02:00
Robert Schmidt
f065de0811 Merge remote-tracking branch 'origin/ci-fix-legacy-bench' into integration_2022_wk32 2022-08-10 20:39:57 +02:00
francescomani
c0244ee68e fix for conflicting csi resources for multiple ues 2022-08-10 16:51:03 +02:00
Raphael Defosseux
888c4ead0f fix(ci): Fixes for the legacy LTE bench
- Problem with escaping chars
 - Killing properly tshark process on EPC
 - standalone Terminate eNB was failing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-08-10 15:08:52 +02:00
francescomani
5d39d8125c addressing review comment 2022-08-10 09:38:21 +02:00
Roberto Louro Magueta
0cb014f463 Fix memory alignment in nr_srs_channel_estimation 2022-08-09 17:11:12 +01:00
Robert Schmidt
f1c5378e3b Shorten 5G RFsim tab names 2022-08-09 15:05:58 +02:00
Robert Schmidt
c21f86421e Test SDAP in 5G FDD RFsim test 2022-08-09 15:05:50 +02:00
Cedric Roux
ee7aca5d05 ngap: minor fix: access the array correctly 2022-08-09 12:22:40 +02:00
francescomani
dc531588e9 addressing review comments 2022-08-09 12:01:54 +02:00
francescomani
5cfa5ad6f6 fixes for multiple BWPs 2022-08-08 18:32:39 +02:00
Angelo Athanassopoulos
5382227866 Fix SDAP, get QFI & PDUSession ID from CN 2022-08-08 18:09:59 +02:00
francescomani
b749ac12f7 hotfix for UE NDI init 2022-08-08 17:12:12 +02:00
Bruno Mongazon-Cazavet
41b527cfb3 restore --noavx512 without effect, add --avx512, do not SIMDE avx512, SIMDE for x86 avx2 2022-08-08 10:03:40 -04:00
Roberto Louro Magueta
49d60500c0 Change array size from MAX_NUM_NR_SRS_AP to 1<<srs_pdu->num_ant_ports 2022-08-08 13:49:33 +01:00
Roberto Louro Magueta
7e87265a74 Merge remote-tracking branch 'origin/develop' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
2022-08-08 11:54:43 +01:00
francescomani
032879c0c1 Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-08-08 12:37:40 +02:00
Robert Schmidt
9622a56bf1 gNB RRC: handle F1AP_UL_RRC_MESSAGE 2022-08-07 20:03:05 +02:00
Robert Schmidt
18a68387c4 Transfer Initial UL RRC Message through internal F1 2022-08-07 20:03:04 +02:00
Robert Schmidt
a126cd1220 Delete ITTI-SIM 2022-08-07 19:58:35 +02:00
Robert Schmidt
52dbc6fe75 Refactor linear allocator from LTE/NR; separate LTE/NR headers 2022-08-07 19:49:08 +02:00
Robert Schmidt
0c9006ec66 Do not initialize MAC multiple times 2022-08-07 19:49:08 +02:00
Robert Schmidt
f52809a8fb Add MAC-RRC UL stubs for F1AP and direct 2022-08-07 19:49:08 +02:00
Robert Schmidt
f75cdbcad7 Use F1 DL RRC message transfer internally for RRCSetup 2022-08-07 19:49:08 +02:00
Robert Schmidt
4154e9e9d5 Merge branch 'integration_2022_wk31b' into 'develop'
integration_2022_wk31b

See merge request oai/openairinterface5g!1649

MR !1624 NR PUCCH2 fix
MR !1627 fix for pusch dtx in phytest mode
MR !1634 Minor optimization in function init_symbol_rotation
MR !1637 gtp: small fix: set E if there is an extension header
MR !1641 Resolve AMF ip address using FQDN
delete files rxsigF0.m, txsig0.m, ldpctest_BG_1_Zc_384_rate_1-3_block_length_8448_maxit_5.txt
MR !1593 Reworking of BWP handling at MAC (initial MR)
MR !1652 fix for 3-digit MNC in asn1_msg.c
2022-08-07 17:47:12 +00:00
Robert Schmidt
4f2e97d91c Merge remote-tracking branch 'origin/nr_sib1_mnc_hotfix' into integration_2022_wk31b 2022-08-07 19:39:15 +02:00
Raymond Knopp
087a97f606 fix for 3-digit MNC in asn1_msg.c 2022-08-06 16:30:59 +02:00
francescomani
d793de5700 some fixes in SSB RSRP 2022-08-06 11:27:49 +02:00
Robert Schmidt
ebc55ea206 Merge remote-tracking branch 'origin/NR_BWP_config' into integration_2022_wk31b 2022-08-04 19:13:57 +02:00
Robert Schmidt
ddc6df0bf4 Remove files accidentally added in MR 1382 2022-08-04 18:51:02 +02:00
Robert Schmidt
b0c7a3efe9 Merge remote-tracking branch 'origin/amf-fqdn-support' into integration_2022_wk31b 2022-08-04 18:49:49 +02:00
Robert Schmidt
0c29e5ea5b Merge remote-tracking branch 'origin/gtp-hotfix' into integration_2022_wk31b 2022-08-04 18:49:41 +02:00
Robert Schmidt
cb4e60eed3 Merge remote-tracking branch 'origin/init_symbol_rotation_optimization' into integration_2022_wk31b 2022-08-04 18:49:33 +02:00
Robert Schmidt
0352f98467 Merge remote-tracking branch 'origin/NR_PUSCH_phytest_DTX_fix' into integration_2022_wk31b 2022-08-04 18:49:25 +02:00
francescomani
9333f53dc8 adding an assertion in configure_UE_BWP 2022-08-04 17:46:18 +02:00
Bruno Mongazon-Cazavet
f10f7c0368 restore --noavx512, add --avx512, do not SIMDE emulate avx512 2022-08-04 11:42:54 -04:00
francescomani
6e2a83856b common function to get sample rate and BW 2022-08-04 17:19:15 +02:00
francescomani
d908779c38 lowercase bwp 2022-08-04 11:34:25 +02:00
Bruno Mongazon-Cazavet
ee69161c93 Merge branch 'simde' of https://gitlab.eurecom.fr/oai/openairinterface5g into simde 2022-08-04 05:15:28 -04:00
francescomani
8c81c70de9 Fix AckNack and SR multiplexing in PUCCH2
- correctly reset HARQ structure for HARQ Ack/Nack/PUCCH0
- reduce max PUCCH2 bits to have room for SR
2022-08-04 10:53:41 +02:00
Bruno Mongazon-Cazavet
66f7857831 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into simde 2022-08-03 12:27:56 -04:00
Rohan
b64baf144d Resolve AMF ip address using FQDN 2022-08-03 17:27:08 +02:00
francescomani
5fc23d5864 Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-08-03 12:11:37 +02:00
francescomani
cbff9df713 Merge remote-tracking branch 'origin/develop' into NR_BWP_config 2022-08-03 10:59:12 +02:00
Cedric Roux
3155ec6df8 gtp: small fix: set E if there is an extension header 2022-08-03 10:34:12 +02:00
francescomani
3d93d0dfc0 fix for pusch dtx in phytest mode 2022-08-03 09:57:40 +02:00
Robert Schmidt
094ea4b98f Remove --noavx512 from Dockerfiles: not supported anymore 2022-08-03 09:44:55 +02:00
Robert Schmidt
7f910a2e36 Merge branch 'integration_2022_wk30b' into 'develop'
integration_2022_wk30b

See merge request oai/openairinterface5g!1630

MR !1594 Schedule BWP switching to the first active BWP when RA with Msg3 carrying DCCH or DTCH message
MR !1628 Fix a segmentation fault when there is no spCellConfigDedicated with maxMIMO_Layers parameter
MR !1528 CSI Feedback
MR !1631 Fix floating point for SRS
MR !1632 gtp pgu session header
MR !1633 Improve SIB1 length to support maximum value specified in 3GPP TS 38.331 section 5.2.1
MR !1463 Support arbitrary number of retransmissions (up to 8)
2022-08-03 06:42:38 +00:00
Bruno Mongazon-Cazavet
ccac390726 restore -H option in build_helper 2022-08-02 11:33:32 -04:00
Robert Schmidt
a21c31a6a5 Merge remote-tracking branch 'origin/HARQ_rv_circular_array' into integration_2022_wk30b 2022-08-02 11:04:04 +02:00
Robert Schmidt
f29fe05031 Merge remote-tracking branch 'origin/NR_MAC_SIB1_Improvements' into integration_2022_wk30b 2022-08-02 11:04:04 +02:00
Robert Schmidt
d2a784280d Merge remote-tracking branch 'origin/impl-pdu-session-header' into integration_2022_wk30b 2022-08-02 11:04:04 +02:00
Robert Schmidt
48b045b0b0 Merge remote-tracking branch 'origin/develop-SRS-fix' into integration_2022_wk30b 2022-08-02 11:04:04 +02:00
Robert Schmidt
fc6122759b Merge remote-tracking branch 'origin/develop-CSI-Measurements' into integration_2022_wk30b 2022-08-02 11:04:04 +02:00
Robert Schmidt
eb46f216b1 Upgrade path to AS lteue after simulator upgrade 2022-08-02 11:04:03 +02:00
Robert Schmidt
3e7864eb53 Merge remote-tracking branch 'origin/Fix_segfault_when_no_spCellConfigDedicated' into integration_2022_wk30b 2022-08-02 11:04:03 +02:00
Bruno Mongazon-Cazavet
567ca14f40 remove -H option in build_helper 2022-08-02 04:28:09 -04:00
Bruno Mongazon-Cazavet
7ae4bd213e restore -H option in build_helper 2022-08-02 03:33:30 -04:00
Bruno Mongazon-Cazavet
46743ece40 fix install packages for redhat, set -fno-var-tracking-assignements gcc flag 2022-08-02 02:31:28 -04:00
laurent
7a6f9659bc gtp-u pdu session extension header implementation, this extension header is mantadory in 5G 2022-08-01 22:57:52 +02:00
luis_pereira87
fdd79391e9 Call function nr_mac_update_timers when there is a Msg3 carrying a DCCH message 2022-08-01 17:57:50 +01:00
Bruno Mongazon-Cazavet
4210e0704c add simde installation in build_oai 2022-08-01 12:37:39 -04:00
Bruno Mongazon-Cazavet
8b4e8bb501 first port of Intrinsics usage to simde 2022-08-01 10:53:59 -04:00
francescomani
840cf403db Make max num of HARQ tx configurable per UL/DL
Contributors
  francescomani <email@francescomani.it>
  Robert Schmidt <robert.schmidt@openairinterface.org>
2022-08-01 16:53:43 +02:00
francescomani
4ad4edb871 Log arbitrary number of HARQ rounds
Contributors
  francescomani <email@francescomani.it>
  Robert Schmidt <robert.schmidt@openairinterface.org>
2022-08-01 16:31:01 +02:00
francescomani
989c22a46c Limit RV to interval of 0..3
Contributors
  francescomani <email@francescomani.it>
  Rodolphe Bertolini <rodolphe.bertolini@cea.fr>
2022-08-01 16:29:58 +02:00
francescomani
9e5a77e6e3 Remove max number of HARQ rounds from L1
Contributors:
  francescomani <email@francescomani.it>
  Rodolphe Bertolini <rodolphe.bertolini@cea.fr>
2022-08-01 15:59:16 +02:00
luis_pereira87
48019c33f4 Minor optimization in function init_symbol_rotation 2022-08-01 11:20:55 +01:00
luis_pereira87
47d604b41f Improve SIB1 length to support maximum value specified in 3GPP TS 38.331 section 5.2.1
The physical layer imposes a limit to the maximum size a SIB can take. The maximum SIB1 or SI message size is 2976 bits.
2022-08-01 10:35:08 +01:00
luis_pereira87
7f38019f7e Remove unused code 2022-08-01 10:26:14 +01:00
francescomani
be0fc1a982 Merge remote-tracking branch 'origin/develop' into NR_UE_multi_SSB_meas 2022-07-30 10:21:58 +02:00
Roberto Louro Magueta
6f67792993 Variable rename 2022-07-29 10:42:55 +01:00
Roberto Louro Magueta
069bebfa48 Fix floating point 2022-07-29 10:05:34 +01:00
luis_pereira87
b7b6e8a60f Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
2022-07-28 16:50:04 +01:00
francescomani
e8c637cd32 Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-07-28 17:21:04 +02:00
francescomani
d5a086d396 Merge remote-tracking branch 'origin/develop' into NR_BWP_config 2022-07-28 16:12:27 +02:00
luis_pereira87
1a77e9ba37 Schedule BWP switching to the first active BWP (previous active BWP before RA with Msg3 carrying DCCH or DTCH message) 2022-07-28 14:49:17 +02:00
Robert Schmidt
add469e7ca Merge branch 'integration_2022_wk30' into 'develop'
integration_2022_wk30

See merge request oai/openairinterface5g!1626

MR !1616 NR SA tutorials v2
MR !1620 nr_pdcp: nia1 implementation
MR !1622 CI: do not trigger tests if nothing is tagged NSA
MR !1623 Fix for ssb subcarrier offset in case of f<3GHz
MR !1606 code maintenance
MR !1568 Add undefined behavior sanitizer in build_oai, fix some errors
MR !1587 Dynamically build L2sim proxy
2022-07-28 11:59:36 +00:00
Robert Schmidt
08e30bf4ab Merge remote-tracking branch 'origin/l2proxy-build' into integration_2022_wk30 2022-07-28 09:45:24 +02:00
Robert Schmidt
57c545d4b3 Merge remote-tracking branch 'origin/use-ubsan' into integration_2022_wk30 2022-07-28 09:45:10 +02:00
luis_pereira87
970bfc92f0 Fix a segmentation fault when there is no spCellConfigDedicated with maxMIMO_Layers parameter 2022-07-28 07:21:36 +01:00
Roberto Louro Magueta
8cd8799981 Update range for reported RSRP 2022-07-27 18:43:47 +01:00
Robert Schmidt
c663688fb2 Merge remote-tracking branch 'origin/accumulated-fixes-2022june' into integration_2022_wk30 2022-07-26 17:22:00 +02:00
laurent
b4331bf7f4 code maintenance: old errors 2022-07-26 17:20:09 +02:00
Robert Schmidt
878491334f Merge remote-tracking branch 'origin/another_SSB_bugfix' into integration_2022_wk30 2022-07-26 17:15:32 +02:00
Robert Schmidt
8b26160d4d Merge remote-tracking branch 'origin/fix-jenkins-trig-nsa' into integration_2022_wk30 2022-07-26 17:15:16 +02:00
Roberto Louro Magueta
3ca83257cc UE sends the report with the RSRP based on CSI-RS to gNB 2022-07-26 15:45:11 +01:00
Robert Schmidt
c59912d7ee Merge remote-tracking branch 'origin/nr-pdcp-nia1' into integration_2022_wk30 2022-07-26 16:39:11 +02:00
Robert Schmidt
a20a6ba431 Merge remote-tracking branch 'origin/NR_SA_Tutorials_v2' into integration_2022_wk30 2022-07-26 16:38:45 +02:00
Roberto Louro Magueta
1f818b4178 RSRP computation at UE based on CSI-RS 2022-07-26 12:45:30 +01:00
Robert Schmidt
e1798745ef Dynamically build L2sim proxy 2022-07-26 09:54:53 +02:00
francescomani
5427ec25b6 applying config_srs to all the instances 2022-07-25 15:24:58 +02:00
francescomani
56e73266cb Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-07-25 15:02:38 +02:00
francescomani
228bd5f16d fix for ssb subcarrier offset in case of <3GHz 2022-07-22 17:01:47 +02:00
Robert Schmidt
3c2375eada CI: do not trigger tests if nothing is tagged NSA
The previous version would trigger sub-pipelines (LTE-2x2, ...) if no MR
had the NSA tag (without a commit, etc). Of course, this would make all
pipelines subsequently fail (as not enough arguments, such as the
commit, were given). In this commit, we read the output of `jq` from
JSON, which will result in an empty list if no MR is tagged with the NSA
label (and the output in the console will be nicer as well).
2022-07-21 17:57:26 +02:00
Cedric Roux
667b8e5eed nr_pdcp: nia1 implementation
We reuse existing code from eia1 for actual computation. Maybe not the most
efficient. To be revised if needed.

Some hacks in CMakeLists.txt were introduced to compile
phy simulators. To be removed at some point.
2022-07-21 16:59:38 +02:00
francescomani
2e4e9f6423 Merge remote-tracking branch 'origin/develop' into NR_BWP_config 2022-07-21 11:35:28 +02:00
Roberto Louro Magueta
2f3f858648 Merge remote-tracking branch 'origin/develop' into develop-SRS-MIMO 2022-07-20 20:16:00 +01:00
Roberto Louro Magueta
6ba60eb181 Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair2/RRC/NR/nr_rrc_config.h
2022-07-20 19:59:34 +01:00
Robert Schmidt
72bf1b1d3c Merge branch 'integration_2022_wk29' into 'develop'
integration_2022_wk29

See merge request oai/openairinterface5g!1619
2022-07-20 16:30:58 +00:00
luis_pereira87
b1a3cbb068 Fix segmentation fault when changing BWP 2022-07-20 12:55:17 +01:00
laurent
ab36474811 dirty workaround in LTE get_prb(): it is not good, but keep safe in memory instead of writing outside the range 2022-07-20 10:40:32 +02:00
laurent
017fd225bc fix ubsan detected errors 2022-07-20 10:40:32 +02:00
Robert Schmidt
db7f39ba19 Use correct structure in sctp_eNB_accept_associations() 2022-07-20 10:40:32 +02:00
Robert Schmidt
6b757c5320 Correct array sizes in dlsim 2022-07-20 10:40:32 +02:00
Robert Schmidt
b07a167370 Correct indentation in nr_rx_pdsch() 2022-07-20 10:40:32 +02:00
Robert Schmidt
24b651b465 Provide build_oai option UBSan 2022-07-20 10:38:44 +02:00
Robert Schmidt
bc3600a3f9 Merge remote-tracking branch 'origin/f1-undefined' into integration_2022_wk29 2022-07-19 18:12:48 +02:00
Robert Schmidt
fcb07ef5fd Merge remote-tracking branch 'origin/NR_SSB_fix' into integration_2022_wk29 2022-07-19 18:12:40 +02:00
Robert Schmidt
82c62ecd5a Merge remote-tracking branch 'origin/rename_var_to_pusch_DTX' into integration_2022_wk29 2022-07-19 18:12:31 +02:00
Robert Schmidt
05e859b1ef Merge remote-tracking branch 'origin/fix-testbenches-doc' into integration_2022_wk29 2022-07-19 18:12:23 +02:00
Robert Schmidt
6dac7d674c Merge remote-tracking branch 'origin/develop-SRS-Measurements' into integration_2022_wk29 2022-07-19 18:12:14 +02:00
Robert Schmidt
65c9af7d48 Merge branch 'ran-sa-b200-module-sabox-container' into 'develop'
Add basic SA test to RAN-Container-Parent

See merge request oai/openairinterface5g!1615
2022-07-19 07:30:37 +00:00
Robert Schmidt
04251d5b06 Correctly initialize protocol_ctxt in F1 code
In the previous version, not all fields, and in particular the
`eNB_index`, were not initialized, leading to errors when they were used
(e.g., the PDCP code checks that eNB_index == 0).
2022-07-18 17:39:55 +02:00
Robert Schmidt
16c758ae09 CI: Drop IP check when connectiong via SSH and pubkey 2022-07-15 16:00:52 +02:00
luis_pereira87
43298fd02c Address merge request review comments 2022-07-15 13:30:45 +01:00
Robert Schmidt
ae05420c84 CI: log error if oai-amf container is not present for AMF IP addr retrieval 2022-07-15 13:35:19 +02:00
luis_pereira87
0700d5d078 Add 5G SA end-to-end, step-by-step, tutorials for OAI CN5G, OAI gNB and COTS UE 2022-07-15 11:56:44 +01:00
Robert Schmidt
52168e5201 Shut off quectel before running SA tests 2022-07-15 11:05:08 +02:00
Robert Schmidt
63daf5793b Remove useless SA test sleep 2022-07-15 11:05:08 +02:00
Robert Schmidt
0c4aa33939 Trigger SA-B200 test from RAN-Container-Parent 2022-07-14 23:57:52 +02:00
Robert Schmidt
b308cbe101 Add RAN-SA-B200-Module-SABOX-Container test 2022-07-14 23:54:53 +02:00
Robert Schmidt
4b50e4b1f6 CI: decode in getBefore() 2022-07-14 23:54:53 +02:00
Robert Schmidt
87d1a53ca3 CI: Allow publickey authentication in SSHConnection
For pubkey, checks that we are on the right machine
2022-07-14 23:53:52 +02:00
Robert Schmidt
5928d571e7 CI: Fix log message typo in UndeployObject() 2022-07-14 23:53:52 +02:00
Robert Schmidt
f1e3f7fb1f CI: Abort pipeline if DeployObject fails 2022-07-14 23:53:52 +02:00
Roberto Louro Magueta
b0bcff0da2 Fix build warnings in phy simulators 2022-07-08 11:17:28 +01:00
Roberto Louro Magueta
a574c47e9e Fix memory leak 2022-07-08 10:54:37 +01:00
Roberto Louro Magueta
03bea3150a Fix memory leak 2022-07-07 20:16:54 +01:00
Roberto Louro Magueta
70d7a6687b Merge nr_csi_rs_info_t plus nr_csi_im_info_t into nr_csi_info_t 2022-07-07 18:28:05 +01:00
Roberto Louro Magueta
3025627c06 Remove j, koverline and loverline from nr_csi_rs_info_t 2022-07-07 17:23:18 +01:00
Roberto Louro Magueta
36a9139a66 Remove N_cdm_groups, CDM_group_size, kprime and lprime from nr_csi_rs_info_t 2022-07-07 15:51:02 +01:00
Roberto Louro Magueta
e39be3917b Remove csi_rs_ls_estimated_channel and csi_rs_estimated_channel_freq from nr_csi_rs_info_t 2022-07-07 14:33:40 +01:00
Roberto Louro Magueta
acd4e39566 Remove csi_rs_received_signal from nr_csi_rs_info_t 2022-07-07 11:48:37 +01:00
Robert Schmidt
43c980d36b CI: NSA-B200-Container: no Qlog 2022-07-07 09:29:09 +02:00
francescomani
edcb1b2bf5 workaround for pbchsim 2022-07-07 08:57:37 +02:00
francescomani
79586c03f4 fix for pointa and ssboffset 2022-07-07 08:57:37 +02:00
Roberto Louro Magueta
e0e37d8215 To use cast for c16_t 2022-07-06 21:08:08 +01:00
Roberto Louro Magueta
0c2b3a1eeb Remove some variables from nr_csi_rs_info_t 2022-07-06 20:18:44 +01:00
luis_pereira87
24745eafca Rename variable from phy_procedures_errors to pusch_DTX 2022-07-06 08:45:48 +01:00
Roberto Louro Magueta
93f941ecfc Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
2022-07-05 20:11:03 +01:00
Roberto Louro Magueta
d68f7d6270 Add help string 2022-07-05 17:50:58 +01:00
Roberto Louro Magueta
dadadb7291 To use some casts to c16_t 2022-07-05 17:17:40 +01:00
Roberto Louro Magueta
e8327ffe74 Change k_0_p to stack allocation 2022-07-05 16:47:41 +01:00
Robert Schmidt
805b35643f Updates in TESTBench documentation
- Correct carabe name
- NR freq bands with "nXX"
- add amariue in figure
- minor changes
2022-07-05 16:38:52 +02:00
Roberto Louro Magueta
9a3326b63c Fixes after merge 2022-07-05 15:33:35 +01:00
francescomani
39b5d98c1e Merge remote-tracking branch 'origin/develop' into NR_BWP_config 2022-07-05 14:42:34 +02:00
Roberto Louro Magueta
06fa8c6a52 Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
#	openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
#	openair1/PHY/defs_nr_common.h
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
2022-07-05 13:29:04 +01:00
Roberto Louro Magueta
52f6d38a34 Remove more variables from nr_srs_info_t 2022-07-05 12:58:53 +01:00
Roberto Louro Magueta
53f0773624 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements 2022-07-05 11:07:43 +01:00
Roberto Louro Magueta
253e037fb2 Remove some variables from nr_srs_info_t 2022-07-05 11:07:01 +01:00
Roberto Louro Magueta
85802b828f Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-07-05 10:19:52 +01:00
Robert Schmidt
5091682551 Merge branch 'integration_2022_wk26' into 'develop'
integration_2022_wk26

See merge request oai/openairinterface5g!1605

MR !1602 Use (std) bool instead of custom bool types
MR !1600 Discard RTX if RI changed
MR !1598 Set correct master clock rate for N320
MR !1584 enablement of statistics
MR !1603 Fix decoding multiple ULSCH in the same slot in the case of a ULSCH fails to be detected
MR !1590 Improvements and AVX2 in cpx_rotate_vector()
2022-07-04 15:03:35 +00:00
Roberto Louro Magueta
2b36f2d8f2 Move nr_det_A_MF_2x2, nr_squared_matrix_element and nr_numer_2x2 to csi_rx.c 2022-07-04 14:18:04 +01:00
Roberto Louro Magueta
d864cf9457 Fix indentation 2022-07-04 11:31:33 +01:00
Roberto Louro Magueta
c2fee0520c Fix variable redefinition 2022-06-30 17:59:11 +01:00
Robert Schmidt
2cced7bdb5 Merge remote-tracking branch 'origin/optim-rotate_cpx' into integration_2022_wk26 2022-06-30 15:41:28 +02:00
Robert Schmidt
b7e026fda5 Merge remote-tracking branch 'origin/fix_decoding_multi_ulsch_in_the_same_slot' into integration_2022_wk26 2022-06-29 23:15:15 +02:00
Robert Schmidt
4662ccc46a Merge remote-tracking branch 'origin/stats' into integration_2022_wk26 2022-06-29 23:15:06 +02:00
Robert Schmidt
ae54a1bd05 Merge remote-tracking branch 'origin/fix-n320' into integration_2022_wk26 2022-06-29 23:14:51 +02:00
Robert Schmidt
94ca30e82b Merge remote-tracking branch 'origin/NR_layers_in_harq' into integration_2022_wk26 2022-06-29 23:14:42 +02:00
laurent
df1cffbc7f fix bug introduced by avx2 rotate_cpx change to c16_t 2022-06-29 16:52:47 +02:00
francescomani
38dc925e75 temporary workaround for CQI MCS table 2022-06-29 16:06:58 +02:00
francescomani
605f837eb6 hardcoding the right AL and candidates 2022-06-29 10:00:34 +02:00
Robert Schmidt
2849a81c78 Update NOTICE.md 2022-06-28 17:31:24 +02:00
Robert Schmidt
44ad2fe4ff Correct and update license exception list 2022-06-28 17:31:24 +02:00
francescomani
f76ec13b89 some fixes 2022-06-28 15:47:18 +02:00
Robert Schmidt
ff5ec94d33 Address review: drop bool defines 2022-06-28 09:38:48 +02:00
luis_pereira87
d6e58c9436 Fix decoding multiple ULSCH in the same slot in the case of a ULSCH fails to be detected 2022-06-28 07:35:06 +01:00
laurent
5894bcac22 rebase develop 2022-06-27 18:48:45 +02:00
laurent
ef469b9b51 code review remarks 2022-06-27 18:35:47 +02:00
Laurent Thomas
980bb2420b fix CI discovered bug in avx2 rotate 2022-06-27 18:35:47 +02:00
Laurent Thomas
bf219fc24f avx2 and better simd algo 2022-06-27 18:35:46 +02:00
francescomani
0196dd6dc2 Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-06-27 14:44:04 +02:00
Roberto Louro Magueta
c1c6e6142d Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO 2022-06-27 11:38:28 +01:00
francescomani
e27356500e Merge remote-tracking branch 'origin/develop' into NR_BWP_config 2022-06-27 12:33:41 +02:00
Roberto Louro Magueta
86755bc495 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-06-27 11:06:55 +01:00
Roberto Louro Magueta
2141d6b5af Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair2/RRC/NR/nr_rrc_config.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.106PRB.usrpn300.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.24PRB.usrpb210.conf
2022-06-27 10:24:58 +01:00
Robert Schmidt
0b91791f67 Use (std) bool instead of custom bool types
OAI is riddled with boolean_t, FALSE, TRUE, etc. This makes no sense, as
there is a standard bool type, and could lead to nasty bugs if a
definition of a bool is non-standard (0 == false, true == !false). This
commit removes all non-standard bools in the whole project.
2022-06-27 10:07:48 +02:00
Robert Schmidt
6d030ea2fa Merge branch 'integration_2022_wk25' into 'develop'
integration_2022_wk25

See merge request oai/openairinterface5g!1596

MR !1549: Remove ssb subcarrier offset from config file
MR !1589: Putting all CM code in one file
MR !1592: Support Fedora 36
MR !1492: Harmonization of PUCCH Resources
MR !1581: F1: Interoperability with Accelleran CU
MR !1599: nr rlc: minor: update tests
2022-06-26 15:56:56 +00:00
luis_pereira87
a9faf533b4 Fix SA with COTS UE in monolithic mode after merge 2022-06-24 14:51:38 +01:00
Ilario FAVERO
c5b8fa5418 New command line arg for disabling stats: --disable-stats 2022-06-24 14:32:39 +02:00
Roberto Louro Magueta
6d7d884881 Merge branch 'develop-SRS-Measurements' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/defs_nr_common.h
2022-06-23 18:30:31 +01:00
Roberto Louro Magueta
07a3634e45 Change some heap allocations to stack allocations 2022-06-23 18:23:23 +01:00
francescomani
1565667908 remove rtx from list 2022-06-23 17:42:55 +02:00
Robert Schmidt
0e04fba03d Fix build warnings 2022-06-23 16:18:50 +02:00
Roberto Louro Magueta
1a4686b021 Remove UE->Msg4_ACKed from condition in nr_schedule_srs 2022-06-23 14:52:05 +01:00
Robert Schmidt
5cebe354c5 Merge remote-tracking branch 'origin/bugfix-minor-update-nr-rlc-tests' into integration_2022_wk25 2022-06-23 14:14:37 +02:00
Robert Schmidt
b37050ac6e Merge remote-tracking branch 'origin/F1_interop_ACC_n78' into integration_2022_wk25 2022-06-23 14:09:33 +02:00
Robert Schmidt
304c92c639 Fixes in conversions.h 2022-06-23 13:51:36 +02:00
Cedric Roux
4505e780c5 nr rlc: minor: update tests
Behavior for ack/nack generation has changed not too long ago but the tests
were not checked and updated.
2022-06-23 11:44:01 +02:00
Roberto Louro Magueta
05dde0a30d Compute CQI using CSI-IM 2022-06-22 20:59:19 +01:00
Roberto Louro Magueta
a1806c92a2 Interference plus noise power computation based on CSI-IM 2022-06-22 20:41:57 +01:00
Roberto Louro Magueta
b9a207a6b4 Call nr_slot_fep for CSI-IM symbols 2022-06-22 18:38:05 +01:00
Roberto Louro Magueta
32ec53baa5 Get CSI-IM pdu at phy layer and add debug logs 2022-06-22 18:10:28 +01:00
Roberto Louro Magueta
420ce60800 Fix flag related to received CSI-IM FAPI pdu at UE 2022-06-22 17:54:34 +01:00
Hongzhi Wang
33fac86bb4 adding license exception 2022-06-22 17:46:04 +02:00
Hongzhi Wang
e8fc4da2b6 update offload decoder license and notes 2022-06-22 17:26:30 +02:00
Robert Schmidt
644422ebec Merge remote-tracking branch 'origin/NR_PUCCH_RRC_Resources' into integration_2022_wk25 2022-06-22 17:20:38 +02:00
Robert Schmidt
586aa46c2c Set correct master clock rate for N320 2022-06-22 16:54:35 +02:00
francescomani
6f481e09f6 abort rtx if RI decreased 2022-06-22 16:15:31 +02:00
Hongzhi Wang
fb9be23057 adding bbdev license 2022-06-22 10:03:55 +02:00
Hongzhi Wang
445f1d42a0 Merge branch 'develop' into ldpc_offload_t1_mr
Conflicts:
	openair1/SIMULATION/NR_PHY/ulsim.c
2022-06-22 09:26:58 +02:00
Robert Schmidt
f6fe86c653 Fix macros to avoid warnings 2022-06-21 19:24:49 +02:00
Robert Schmidt
fe7228daee Merge remote-tracking branch 'origin/support-fedora36' into integration_2022_wk25 2022-06-21 19:11:17 +02:00
Robert Schmidt
2c226b08f4 Merge remote-tracking branch 'origin/episys-channel-model-org' into integration_2022_wk25 2022-06-21 19:11:00 +02:00
Cedric Roux
2802418c34 remove debug printf 2022-06-21 16:43:54 +02:00
francescomani
2659dce8b8 removing flag init_UL_tti_req_ahead 2022-06-21 13:49:31 +02:00
francescomani
a24be04929 initializing nrofcandidates in dlsim 2022-06-21 09:52:12 +02:00
Robert Schmidt
9c02189e64 Remove nr_bler_data from physims 2022-06-21 08:54:41 +02:00
francescomani
83a9414258 srs and csi in BWP structures 2022-06-20 18:03:40 +02:00
Cedric Roux
d0fa56b1de compilation fix 2022-06-20 15:15:11 +02:00
Robert Schmidt
0fe98c25a2 Avoid RHEL_RELEASE_VERSION: not defined in Ubuntu 2022-06-20 13:34:54 +02:00
francescomani
a4e2c2b799 addressing review 2022-06-20 11:58:06 +02:00
francescomani
4e69a10cbc change BWP when Msg3_dcch_dtch 2022-06-20 11:41:19 +02:00
Robert Schmidt
2124e43d3a Correctly use RHEL_RELEASE_CODE for Fedora and RHEL
This reverts commit 4f44a1026b.
2022-06-20 11:33:29 +02:00
francescomani
d71658d373 Merge remote-tracking branch 'origin/develop' into NR_BWP_config 2022-06-20 11:20:19 +02:00
francescomani
fb6fa64bc7 Merge remote-tracking branch 'origin/develop' into NR_remove_ssb_offset_from_configfile 2022-06-20 09:33:50 +02:00
Cedric Roux
5cd674483b Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 2022-06-19 18:41:27 +02:00
Cedric Roux
2bed0352fd f1: remove hardcoded value, set to what is in develop 2022-06-19 18:33:57 +02:00
Robert Schmidt
4f44a1026b Remove RHEL_RELEASE_CODE define 2022-06-19 18:02:08 +02:00
Robert Schmidt
dab905519b Remove nscd from additional packages
nscd (Name service cache daemon) is not needed for running OAI
2022-06-19 18:02:08 +02:00
Robert Schmidt
2b38c78588 Add fedora36 to supported distros 2022-06-19 18:02:08 +02:00
Roberto Louro Magueta
ad5a3e8d94 Fix warning after merge 2022-06-19 03:02:19 +01:00
Roberto Louro Magueta
f4bd7c7529 Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
#	openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
2022-06-19 02:44:03 +01:00
Roberto Louro Magueta
8fee72e81f Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements 2022-06-19 02:16:41 +01:00
Roberto Louro Magueta
504ce6d793 Fix after merge 2022-06-19 02:13:33 +01:00
Roberto Louro Magueta
63e30e29cc Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
2022-06-19 01:59:50 +01:00
Robert Schmidt
12a23fb1ef Merge branch 'integration_2022_wk24' into 'develop'
integration_2022_wk24

See merge request oai/openairinterface5g!1591

MR !1382: Semi-automatic code generator for LDPC decoder for AVX2 and AVX512
MR !1521: 5G NR performance improvements for low SNR conditions
MR !1579: pthread_create, RT scheduler, and address sanitizer are incompatible in Ubuntu 18.04
MR !1588: small fix in csi configuration
MR !1583: Encoding/decoding CellGroup at MAC and fix RA with Msg3 carrying DCCH or DTCH messages
2022-06-18 13:57:58 +00:00
Robert Schmidt
ee71b0dd9b Lower error threshold for low SNR test in dlsim 2022-06-17 19:04:08 +02:00
francescomani
633370ffc3 further MAC cleanup with BWPs 2022-06-17 18:50:06 +02:00
luis_pereira87
78267db68b Revert "Update downlink MCS table" block of code to function nr_set_pdsch_semi_static to get downlink working again in NSA 2022-06-17 16:17:15 +01:00
francescomani
3cd49db442 removing ul active_bwp 2022-06-17 16:34:01 +02:00
Hongzhi Wang
81c402d7ff bug fix after merge 2022-06-17 15:29:53 +02:00
Hongzhi Wang
b7295ab45f Merge branch 'develop' into ldpc_offload_t1_mr
Conflicts:
	executables/nr-gnb.c
	openair1/PHY/CODING/nrLDPC_defs.h
	openair1/PHY/INIT/nr_init.c
	openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-06-17 14:49:54 +02:00
francescomani
66e2810940 moving few parameters from pusch_semistatic to BWP 2022-06-17 12:18:29 +02:00
Robert Schmidt
0c0d88b201 Better formatting for Consolidated Test Results 2022-06-17 12:17:54 +02:00
Robert Schmidt
7194a720c9 Increase 'low SNR' test's upper SNR threshold 2022-06-17 12:16:12 +02:00
Robert Schmidt
9ff4630071 Merge remote-tracking branch 'origin/NR_RRC_MAC_CellGroup' into integration_2022_wk24 2022-06-17 12:11:37 +02:00
luis_pereira87
9e27394ecc Reset feedback_slot and round values when resetting HARQ processes 2022-06-17 10:35:01 +01:00
Robert Schmidt
2399da33cb Merge remote-tracking branch 'origin/csi-multi-ues-fix' into integration_2022_wk24 2022-06-16 22:26:00 +02:00
Robert Schmidt
348ff98762 Merge remote-tracking branch 'origin/ubuntu_18_rt_add_san_incompatibility' into integration_2022_wk24 2022-06-16 22:25:46 +02:00
Robert Schmidt
032d477481 Merge remote-tracking branch 'origin/5g-nr-low-snr-performance' into integration_2022_wk24 2022-06-16 22:25:38 +02:00
Laurent Thomas
a73e500ded Add a warning for ubuntu 18.04 in build_oai 2022-06-16 21:42:46 +02:00
Melissa Elkadi
7b75305e3c pthread_create, RT scheduler, and address sanitizer are incompatible in Ubuntu 18.04
When we run with the RT scheduler and the address sanitizer in Ubuntu
18.04, pthread_create will hang and never create threads.  This adds
some explanatory text in CMakeLists.txt to explain about this issue.
2022-06-16 21:42:26 +02:00
Roberto Louro Magueta
61e42ce9c6 Consider the invalid timing advance value case for SRS estimation 2022-06-16 13:29:30 +01:00
Robert Schmidt
5761164a09 Build without AVX512 on asterix machine 2022-06-16 14:25:18 +02:00
Roberto Louro Magueta
f6cbde5343 Add const qualifier in some variables 2022-06-16 12:49:13 +01:00
Roberto Louro Magueta
4053c0c3b2 Revert log2_maxh in pusch_vars 2022-06-15 19:54:12 +01:00
francescomani
40049db9c9 separate dl and ul bwp structures 2022-06-15 18:41:36 +02:00
luis_pereira87
cc33856ba8 Reset HARQ processes after RA when Msg3 carries a DCCH or DTCH message.
Reset ul_failure flag only after sending Msg4 otherwise gNB starts scheduling too early
2022-06-15 17:24:47 +01:00
Roberto Louro Magueta
14d3a9c0e5 Fixes after merge 2022-06-15 12:53:36 +01:00
Robert Schmidt
e62119bea5 Reintroduce nr_ulsim -I option after wrong merge 2022-06-15 13:53:22 +02:00
Roberto Louro Magueta
7f21567f83 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance
# Conflicts:
#	cmake_targets/autotests/test_case_list.xml
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
2022-06-15 11:17:06 +01:00
Cedric Roux
2521e46593 Merge remote-tracking branch 'origin/F1C_extensions_develop' into F1_interop_ACC_n78
Conflicts:
	openair2/F1AP/f1ap_du_interface_management.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/rrc_gNB.c
	openair3/ocp-gtpu/gtp_itf.cpp
2022-06-15 11:28:37 +02:00
luis_pereira87
527003492d Revert call to process_CellGroup function in rrc_mac_config_req_gNB to fix F1 user plane working 2022-06-15 09:34:55 +01:00
Robert Schmidt
d835f3387d Build without AVX512 on caracal to avoid compilation fail 2022-06-15 08:49:10 +02:00
Melissa Elkadi
630f8ac2b1 Putting all CM code in one file
This commit includes reorganization of
all of the SISO/MIMO channel modelling
support being moved into a single CM
file. Furthermore, it includes a bug
fix for the number of MCS simulation
tables (29 total, 0-28).
2022-06-14 12:52:01 -07:00
francescomani
1be8caaf69 removing dl active_bwp 2022-06-14 18:15:42 +02:00
Karim Boutiba
079ad360e0 solve the conflict between cri-RSRP and cri-RI-PMI-CQI in the case of multiple UEs 2022-06-14 13:38:12 +00:00
Robert Schmidt
bb15360a55 Revert "CI: phySim container build: add SYS_PTRACE"
This reverts commit 0122749406.
2022-06-14 12:35:48 +02:00
Robert Schmidt
0a74c23c8a Disable Asan in LDPC decoder generator executables
The CI compiles the physims using Asan. This in turn compiles Asan into
the LDPC decoder generator files. Since they are run during build, there
are two options:

1) trigger the build using capability SYS_PTRACE to allow running asan
   when executing the generators.
2) disable asan in the generators.

The first option seems not feasible, as the compilation of the ldpctest
does not succeed (in fact, for a reason I don't understand, ninja seems
to trigger linking and is then blocked indefinitely). Therefore, this
commit simple disables asan in the generators.
2022-06-14 12:30:12 +02:00
luis_pereira87
ed74875025 Call rrc_mac_config_req_gNB function only when running nr-softmodem as a DU or in monolithic mode 2022-06-14 11:29:56 +01:00
luis_pereira87
7cee46777f Cosmetic changes 2022-06-13 23:20:37 +01:00
Cedric Roux
33b69bdf30 nr rlc: bugfix: use hard-coded mapping between drb ID and mac lcid
This will probably impact negatively the Accelleran interoperability
but the previous version is not correct and breaks the oai nr ue.

To be checked in a CU/DU scenario with Accelleran.
2022-06-13 18:28:07 +02:00
Cedric Roux
1ad8f254c2 Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 2022-06-13 16:59:59 +02:00
rmagueta
8c08e2d3ee Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO 2022-06-13 12:52:56 +01:00
rmagueta
7b770042ad Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/main.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-06-13 12:00:11 +01:00
rmagueta
e32d55dff9 Update the feature set for the UE 2022-06-13 11:30:37 +01:00
rmagueta
607561af6c Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-06-13 10:32:21 +01:00
francescomani
045de837ab Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-06-13 10:25:05 +02:00
Raymond Knopp
a119e84f92 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-06-13 09:44:51 +02:00
luis_pereira87
983760e9a4 Fix after merge with develop 2022-06-13 08:21:05 +01:00
luis_pereira87
131db89dfc Merge remote-tracking branch 'origin/develop' into NR_RRC_MAC_CellGroup
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
2022-06-13 08:19:39 +01:00
Robert Schmidt
5944b212b2 Merge branch 'integration_2022_wk23' into 'develop'
integration_2022_wk23

See merge request oai/openairinterface5g!1585

MR !1558: Add 5G SA end-to-end, step-by-step, tutorials for OAI CN5G, OAI gNB and COTS UE
MR !1578: Adding required LOG_As for EpiSci CI testing. (Proxy)
MR !1575: Fix msg3 retransmissions with OAI UE
MR !1577: Fix ULSCH timing measurements in RAN-gNB-nrUE-MONO-TDD-Band78-N300 and logging improvements
MR !1544: NR CORESET harmonization
MR !1287: PUSCH performance improvement
MR !1580: Aligning some internal memory to avoid segfaults
2022-06-13 07:02:11 +00:00
Raymond Knopp
7387721ecf Merge branch 'ldpc-decoder-codegen' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc-decoder-codegen 2022-06-12 23:24:11 +02:00
Raymond Knopp
f6bb869c0b fixed AVX2 issue for cnProc code generator. Some cleanup in formatting and deleting unused files. 2022-06-12 23:23:07 +02:00
Robert Schmidt
169f42a365 Prevent #define name clash
The files openair1/PHY/CODING/nrLDPC_cnProc.h and
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_cnProc.h have the same name,
and also the same include guard/define. This commit renames the define
in the latter to prevent this name clash.
2022-06-12 16:32:46 +02:00
Robert Schmidt
6900f2bc88 Add License to LDPC decoder generator files 2022-06-12 16:29:49 +02:00
luis_pereira87
e850a8ece7 Fix initial connection setup when there is Msg4 retransmissions and UE comes with a new RA with Msg3 carrying DCCH or DTCH message 2022-06-10 23:18:18 +01:00
francescomani
e592045d8f improvements in using genericParameters and other stuff 2022-06-10 18:18:57 +02:00
Robert Schmidt
aabd9c6c4e nr_ulsim: Change thread-count command-line option to -C 2022-06-10 15:45:32 +02:00
francescomani
c1c5c68e70 calling get_searchspace/coreset inside BWP function 2022-06-10 13:55:57 +02:00
Robert Schmidt
b69fa39577 Merge remote-tracking branch 'origin/alignment_fixes' into integration_2022_wk23 2022-06-10 13:52:50 +02:00
Robert Schmidt
b193ccf6ee Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-06-10 13:50:47 +02:00
Robert Schmidt
0122749406 CI: phySim container build: add SYS_PTRACE
Physical simulators are built using address sanitizer. During the build
process, we use generators that are themselves built during the build
process. They are also asan, and we therefore need to give the
SYS_PTRACE capability during the build process to have them run
correctly.
2022-06-10 13:37:30 +02:00
Robert Schmidt
ae23942020 Compile container images without AVX512 for relocatability 2022-06-10 13:37:30 +02:00
francescomani
5fa3be8091 Merge remote-tracking branch 'origin/NR_RRC_MAC_CellGroup' into NR_BWP_config 2022-06-10 10:17:00 +02:00
Robert Schmidt
dc4f610245 Merge remote-tracking branch 'origin/ulsim-perf-testing' into integration_2022_wk23 2022-06-09 17:47:57 +02:00
Robert Schmidt
3793edf686 Merge remote-tracking branch 'origin/NR_coreset_harmonization' into integration_2022_wk23 2022-06-09 17:47:37 +02:00
Robert Schmidt
4b0d4e38c4 Merge remote-tracking branch 'origin/fix-test-caracal' into integration_2022_wk23 2022-06-09 17:46:54 +02:00
Robert Schmidt
28ad0eaacb Merge remote-tracking branch 'origin/NR_fix_msg3_rtx' into integration_2022_wk23 2022-06-09 17:46:45 +02:00
Robert Schmidt
9127577bf3 Merge remote-tracking branch 'origin/fixing_removed_LOG_As' into integration_2022_wk23 2022-06-09 17:46:36 +02:00
Robert Schmidt
2e6fea604d Merge remote-tracking branch 'origin/NR_SA_tutorials' into integration_2022_wk23 2022-06-09 17:46:27 +02:00
Sakthivel Velumani
f95c636a6b Improved help for ulsim 2022-06-09 20:07:23 +05:30
Robert Schmidt
f7ab71763d Remove old way of generating LDPC decoders 2022-06-09 15:03:13 +02:00
Robert Schmidt
dde6d61dd4 Dynamically create LDPC decoder headers when building ldpc libs 2022-06-09 15:03:13 +02:00
Robert Schmidt
7b68c48618 Make LDPC generator output directory prefix configurable 2022-06-09 15:03:13 +02:00
Robert Schmidt
250043655a Remove some variables from LDPC generated code to avoid warnings 2022-06-09 15:03:13 +02:00
Laurent THOMAS
97b3d1a5cd fix mutex not initialised in ul decoder 2022-06-09 15:03:13 +02:00
francescomani
8adcf8368a reverting activation of timer at transmission 2022-06-09 14:48:42 +02:00
francescomani
f5e9c4ec36 applying Robert's patch 2022-06-09 13:26:04 +02:00
luis_pereira87
e7a491415c Improvements on RRC passing CellGroup to MAC to get COTS UE working 2022-06-09 10:08:28 +01:00
francescomani
0aec0d91c6 temporary workaround for RRC passing CG to MAC (forced encoding of message at MAC) 2022-06-09 09:35:42 +01:00
Robert Schmidt
894c45eae5 Add comment to fix fill_mastercellGroupConfig() 2022-06-09 10:20:39 +02:00
Laurent THOMAS
e3747ea06b Fix small bugs in nrLDPC_tools, remain some warnings to fix 2022-06-09 10:01:45 +02:00
Robert Schmidt
aed83c91de Create header for LDPC bnProc BG2 files 2022-06-09 09:25:57 +02:00
Roberto Louro Magueta
87d69126af Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO 2022-06-09 01:13:44 +01:00
Roberto Louro Magueta
8c577ff253 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-06-09 00:56:55 +01:00
Roberto Louro Magueta
55e943c347 Remove obsolete code after merge 2022-06-09 00:48:39 +01:00
Roberto Louro Magueta
d11705260f Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-06-09 00:33:12 +01:00
Robert Schmidt
12c0f52fea Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 2022-06-08 19:45:17 +02:00
Sakthivel Velumani
0d9e548f39 Minor fixes in ulsim and dlsim 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
80ad5df367 Removed unused 256QAM table option 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
933ad3dcf4 Removed duplicate definition and other errors
left during rebase
2022-06-08 21:32:07 +05:30
Sakthivel Velumani
8a8bacead9 Set default cmd values in UE
It looked like the default command line option were not set in case the options were not passed. The right function was not called.
2022-06-08 21:32:07 +05:30
Sakthivel Velumani
e8d91d642e fixed nr_dlsim -q parameter bug 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
0cea80c8fa changing PUSCH dmrs symbol pos to 0 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
1afdc298e9 Interpolation chest default in UE 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
7c47420da7 Making interpolation ch estimation as default 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
b2b84caeb5 Made PRB averaging channel est as default
fixed indendation
updated ulsim CI test parameters
2022-06-08 21:32:07 +05:30
Sakthivel Velumani
93e6bd26da Made channel estimation techniques configurable 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
0960aa3d00 Updating ulsim CI test parameters 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
ab899c3a08 fix CI test parameters 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
da8d3037df fixed bugs in phy sims 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
8f79ae0ea7 A bug fix in DMRS averaging 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
689ecf5ae1 Enable additional DMRS symbol in UL 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
e36a2b483a Added 3GPP TS 38104 8.2.1.2-13 16QAM CI test cases 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
1d99c8e695 LDPC iterations as command line parameter 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
b29f92c1d6 Add MCS table option to ulsim 2022-06-08 21:31:17 +05:30
Sakthivel Velumani
36190b1c7d Logging changes to ulsim 2022-06-08 21:31:17 +05:30
Sakthivel Velumani
ac58460b6e Time averaging PUSCH channel estimates 2022-06-08 21:31:17 +05:30
Sakthivel Velumani
382b2c41e3 Fixed ulsim to test 8 Rx antennas 2022-06-08 21:31:17 +05:30
Robert Schmidt
2d3f4f7310 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-06-08 17:17:11 +02:00
Robert Schmidt
9eccd6c11d Correct caracal IP address 2022-06-08 17:06:47 +02:00
francescomani
85b48193d4 fix msg3 retransmissions with OAI UE 2022-06-08 16:45:30 +02:00
Cedric Roux
f71766c3ee Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78
Conflicts:
	openair2/F1AP/f1ap_du_ue_context_management.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/rrc_gNB.c
	openair3/ocp-gtpu/gtp_itf.cpp

There were some important conflicts in openair3/ocp-gtpu/gtp_itf.cpp
I rewrote a bit the function Gtpv1uHandleGpdu(). It might have been
done wrongly.
To be tested and fixed if needed.

To redo the merge, if needed:
git checkout 9b2a163ebb
git merge 5ea828e149
2022-06-08 15:48:24 +02:00
francescomani
e24edde2fd remove commented code 2022-06-08 15:09:53 +02:00
francescomani
bc1227f9a0 Merge remote-tracking branch 'origin/develop' into NR_remove_ssb_offset_from_configfile 2022-06-08 14:52:47 +02:00
francescomani
539e5e89f3 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-06-08 14:45:33 +02:00
francescomani
9f4153b55b Merge remote-tracking branch 'origin/develop' into NR_UE_multi_SSB_meas 2022-06-08 14:10:54 +02:00
francescomani
4ffef42472 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-06-08 13:39:39 +02:00
francescomani
6c69393eda genericParameters in the new structure 2022-06-08 12:22:16 +02:00
Florian Kaltenberger
bb17287089 aligning some internal memory to avoid segfaults 2022-06-08 12:09:07 +02:00
Robert Schmidt
d7dae8fa91 Merge branch 'integration_2022_wk22' into 'develop'
integration_2022_wk22

See merge request oai/openairinterface5g!1576

MR !1501 fixes to support multiple pdu sessions (tested with 2 pdu sessions)
MR !1566 issue 545
MR !1569 bugfix in fill_searchSpaceZero
MR !1574 Repair LTE-M: Add missing parameter preambleTransMax_CE_rel13
MR !1496 PHY procedures at UE for CSI-RS
Increase LTE-2x2 ping thresholds to 60 ms to make tests pass (throughput seems to be fine)
2022-06-08 08:38:10 +00:00
Robert Schmidt
b1d07fb3e0 print_meas_log(): do not write beyond memory end 2022-06-07 17:41:21 +02:00
francescomani
4d4f7dd616 initial commit for MAC UE BWP structure (bwp id) 2022-06-07 12:11:37 +02:00
francescomani
7546b8ca1b fix dlsim compilation 2022-06-06 17:37:40 +02:00
francescomani
0b55910c48 possible fix in type setting of Y for coreset 2022-06-06 16:40:09 +02:00
luis_pereira87
308cae752a Update download link for the latest version of Open Cells SIM card programing tool uicc-v2.6 2022-06-06 14:13:58 +01:00
francescomani
b5583d47de temporary workaround for RRC passing CG to MAC (forced encoding of message at MAC) 2022-06-06 11:52:12 +02:00
Robert Schmidt
45522ae86c [CI] Increase LTE-2x2 test ping thresholds to make test pass 2022-06-04 10:10:47 +02:00
Robert Schmidt
5f37ab35b4 Merge remote-tracking branch 'origin/develop-CSI' into integration_2022_wk22 2022-06-04 10:08:38 +02:00
Robert Schmidt
4e34462488 Merge remote-tracking branch 'origin/preambleTransMax_CE_rel13-in-configuration' into integration_2022_wk22 2022-06-04 10:08:31 +02:00
Robert Schmidt
7b3191d1a6 Merge remote-tracking branch 'origin/NR_SS0_config_fix' into integration_2022_wk22 2022-06-04 10:08:25 +02:00
Robert Schmidt
1215444cae Merge remote-tracking branch 'origin/fix-bug-545' into integration_2022_wk22 2022-06-04 10:08:17 +02:00
Robert Schmidt
6e7160ac03 Merge remote-tracking branch 'origin/multiple_pdu_MR' into integration_2022_wk22 2022-06-04 10:08:10 +02:00
Robert Schmidt
bea2ec5c3b Use snprintf() in dump_mac_stats() 2022-06-04 09:33:18 +02:00
Robert Schmidt
f8f20827e9 Rename DL&UL scheduling timing stats 2022-06-04 09:32:00 +02:00
Robert Schmidt
59e10dc8da Clean up MAC stats: don't show timing stats in console log, only file 2022-06-04 09:31:54 +02:00
Robert Schmidt
f2bc364b50 Drop periodic "Number of bad PUCCH" output 2022-06-04 09:29:20 +02:00
Melissa Elkadi
cc2c3b9123 Adding required LOG_As for EpiSci CI testing. (Proxy)
In commit 05c07c401f,
four of the LOG_A logs were demoted. These are required
for the L2 simulator proxy CI testbed.
2022-06-03 16:40:46 -07:00
Robert Schmidt
43701ddbd6 Phy-test scheduler: update MCS so it is shown in logs 2022-06-03 17:11:05 +02:00
Robert Schmidt
dd801325d4 Terminate LOG with newline 2022-06-03 17:10:03 +02:00
Robert Schmidt
db2c03d31d Do not abort ULSCH decoding in phy-test mode
For the RAN-gNB-nrUE-MONO-TDD-Band78-N300 test, in order to measure ULSCH
decoding times, we cannot abort ULSCH decoding on DTX.
2022-06-03 17:06:24 +02:00
Robert Schmidt
d5165ae2bd B210 tutorial: mention USB3 2022-06-03 12:50:44 +02:00
Robert Schmidt
9b317eacef Add instructions on how to tune Ethernet connection 2022-06-03 12:50:44 +02:00
KARIM BOUTIBA
cd4bc84bd8 small fix in nr_sdap_get_entity 2022-06-02 08:05:21 +00:00
Roberto Louro Magueta
b8f68c81fb Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO 2022-06-01 17:30:33 +01:00
Roberto Louro Magueta
616927c04d Fixes after merge 2022-06-01 17:22:59 +01:00
francescomani
b96df49e15 postpone initialization of UL_tti_req_ahead to when sl_ahead is available 2022-06-01 17:09:08 +02:00
Roberto Louro Magueta
1bb0ce90cc Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
#	openair2/LAYER2/NR_MAC_gNB/main.c
2022-06-01 15:46:37 +01:00
Roberto Louro Magueta
91189bd4f8 Fixes after merge 2022-06-01 14:30:45 +01:00
Roberto Louro Magueta
98f5478f7d Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2022-06-01 12:29:34 +01:00
francescomani
a531342054 update ss and coreset after updating bwp 2022-06-01 12:35:31 +02:00
Roberto Louro Magueta
2c3eb996a4 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/config.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_uci.c
2022-06-01 11:06:49 +01:00
francescomani
9a43678ed0 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-06-01 09:06:57 +02:00
francescomani
13ed1200b4 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-06-01 08:45:35 +02:00
Robert Schmidt
5ea828e149 Merge branch 'integration_2022_wk21b' into 'develop'
integration_2022_wk21b

See merge request oai/openairinterface5g!1572

MR !1490 add support for 15 kHz SCS
MR !1525 Make USRP tune-offset configurable
MR !1550 remove UEid in MAC
2022-06-01 06:12:20 +00:00
Francesco Mani
426bc2f088 fix in get_ul_tda call for rtx 2022-05-31 09:36:39 +00:00
francescomani
6f7889d162 bugfix in mod_dmrs declaration 2022-05-30 18:02:08 +02:00
Raymond Knopp
83d40a9b7c Add missing parameter preambleTransMax_CE_rel13
To SIB2 and its passing to RRC. Parameter was read but not transfered
before. Basic LTE-M functionality should ok on develop branch with this
fix. Tested with uBlox SARA-R4 (QCOM chipset)
2022-05-30 16:19:35 +02:00
Robert Schmidt
df8f632ae3 Make sched_csirs common to all UEs 2022-05-30 14:52:50 +02:00
Robert Schmidt
23c8336a37 Fix warning 2022-05-30 14:50:55 +02:00
Robert Schmidt
ac9e47ba68 Merge remote-tracking branch 'origin/cleanup-2022-mai-UEid-management' into integration_2022_wk21b 2022-05-30 12:02:58 +02:00
Laurent THOMAS
43033e20b6 Avoid SEGV in nr_decode_pucch0() 2022-05-28 16:44:50 +02:00
Laurent THOMAS
16e8154d71 Handle full UL TTI Req list more gracefully 2022-05-28 16:44:50 +02:00
Laurent THOMAS
9ba33d4dec Correctly format code to avoid warnings/ambiguities 2022-05-28 16:44:49 +02:00
Laurent THOMAS
a51c1f93b5 Remove unused code 2022-05-28 16:37:47 +02:00
Robert Schmidt
b6adb32989 Delete commented code 2022-05-28 16:37:47 +02:00
Laurent THOMAS
236f7d56e5 Remove UEid in the MAC
After this commit, only the RNTI is used as an identifier in the MAC.
Further, it removes some module_id, but a lot of them remain (the goal
to remove all is still far from us)
2022-05-28 16:37:26 +02:00
rmagueta
e6446392b2 Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO 2022-05-27 11:55:31 +01:00
rmagueta
264eebfb3f Fix build after merge 2022-05-27 11:54:53 +01:00
rmagueta
628a11cde5 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/GNB_APP/MACRLC_nr_paramdef.h
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
2022-05-27 11:38:32 +01:00
rmagueta
2f3079b808 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/nr_rrc_config.c
2022-05-27 11:13:02 +01:00
rmagueta
6bca31c7e3 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
2022-05-27 10:18:13 +01:00
francescomani
92ba8cb9d0 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-05-27 10:46:15 +02:00
Robert Schmidt
daad3da6eb Merge remote-tracking branch 'origin/usrp-tune-offset' into integration_2022_wk21b 2022-05-27 10:06:20 +02:00
Robert Schmidt
21a820b061 Merge remote-tracking branch 'origin/support-15-kHz-SCS' into integration_2022_wk21b 2022-05-27 10:05:57 +02:00
Robert Schmidt
72d0a4ff05 Merge branch 'integration_2022_wk21' into 'develop'
integration_2022_wk21

See merge request oai/openairinterface5g!1564
2022-05-27 07:49:38 +00:00
francescomani
9228f12d92 bugfix 2022-05-26 13:47:17 +02:00
Roberto Louro Magueta
e1198b3d96 Add debug logs and comment update for nrofSRS_Ports 2022-05-25 17:30:17 +01:00
Roberto Louro Magueta
17a3a796b8 Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO 2022-05-25 11:07:59 +01:00
Roberto Louro Magueta
8d02c2c0fc Fix scheduling SRS transmission at UE when there is Dedicated BWPs 2022-05-25 11:06:55 +01:00
Roberto Louro Magueta
af95f834f1 Fix scheduling SRS reception at gNB when there is Dedicated BWPs 2022-05-25 10:36:30 +01:00
francescomani
09ecb8a33c bugfix in fill_searchSpaceZero 2022-05-25 10:35:26 +02:00
Roberto Louro Magueta
40f2f54339 Fix memory allocation for SRS 2022-05-24 17:40:55 +01:00
Robert Schmidt
36a02913de Merge remote-tracking branch 'origin/usrp_x400_fixup' into integration_2022_wk21 2022-05-24 17:58:47 +02:00
Robert Schmidt
360d4b3a81 Merge remote-tracking branch 'origin/k2-slot0-fix' into integration_2022_wk21 2022-05-24 17:57:58 +02:00
Robert Schmidt
103e21a05c Merge remote-tracking branch 'origin/NR_removing_calculate_preferred_tda' into integration_2022_wk21 2022-05-24 17:56:38 +02:00
Roberto Louro Magueta
6e5b77baf3 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-05-24 14:55:22 +01:00
francescomani
cf7c2fd373 commenting out further call to decode sib1 after initial access 2022-05-24 15:10:53 +02:00
Roberto Louro Magueta
ab1df8bbc4 Revert CSI configuration from update_cellGroupConfig to fill_initial_SpCellConfig 2022-05-24 13:45:35 +01:00
laurent
1450e2fb9f issue 545 2022-05-24 13:29:05 +02:00
Florian Kaltenberger
38f7d772e6 small fix for USRP X410 2022-05-24 10:55:50 +02:00
Roberto Louro Magueta
58102d24d8 Configuration of nrofSRS_Ports based on UE capability 2022-05-23 20:33:12 +01:00
francescomani
3c753aec71 fix in calling get_ul_tda 2022-05-23 18:41:10 +02:00
Robert Schmidt
3b28264374 Merge remote-tracking branch 'origin/fix-ra-on-frame-1023' into integration_2022_wk21 2022-05-23 17:18:39 +02:00
Robert Schmidt
ba73075ccd Merge remote-tracking branch 'origin/ul-dl-bler' into integration_2022_wk21 2022-05-23 17:17:47 +02:00
francescomani
3a0bccde30 fix for msg2 tda 2022-05-23 16:13:20 +02:00
francescomani
fac44b15e8 adding option for CSI slot 2022-05-23 16:13:20 +02:00
francescomani
25086576e5 simplyfying tda functions according to review 2022-05-23 16:07:10 +02:00
francescomani
c6498ccf58 addressing review 2022-05-23 16:07:10 +02:00
francescomani
d3f90a90fe removing calculate_preferred_ul_tda 2022-05-23 15:57:27 +02:00
francescomani
276b2d5e0c removing calculate_preferred_dl_tda 2022-05-23 15:48:29 +02:00
Robert Schmidt
e1b090cfaa Improve logging 2022-05-23 15:20:03 +02:00
Robert Schmidt
9f6b7dc6b9 Make USRP tune_offset configurable
UHD documentation: "A tune request instructs the implementation how to
tune the RF chain."

This commit makes this configurable, from nr-softmodem, nr-uesoftmodem,
lte-softmodem, and lte-uesoftmodem.
2022-05-23 15:20:03 +02:00
Robert Schmidt
9354d4305b Set k2=2 also in 5ms TDD periods
In the past, setting k2=2 for 5ms TDD periods resulted in increased ping
RTT and/or reestablishment requests. These problems do not appear
anymore, and we can allow k2=2.
2022-05-23 15:11:27 +02:00
Roberto Louro Magueta
d8dbd2159c Merge remote-tracking branch 'origin/develop-SRS-Measurements' into develop-SRS-MIMO
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/srs_rx.c
2022-05-23 13:40:35 +01:00
Robert Schmidt
00d021c66b In TDD: enable slot 0
In the past, activation of slot 0 (i.e., after the switch UL->DL)
resulted in many retransmissions. This does not seem to be the case
anymore, and we can therefore activate slot 0 also in TDD.
2022-05-23 14:33:08 +02:00
Roberto Louro Magueta
5092eca8cb Some robustness improvements 2022-05-23 13:30:38 +01:00
francescomani
2ba71e748d using bwp id to configure coreset id 2022-05-23 13:39:56 +02:00
Roberto Louro Magueta
0eeb174253 Add wideband SNR based on SRS in MAC stats 2022-05-23 11:43:32 +01:00
Roberto Louro Magueta
9e2086c77c Fix warning after merge 2022-05-23 11:29:59 +01:00
Roberto Louro Magueta
01c6129ee1 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-05-23 10:43:50 +01:00
Roberto Louro Magueta
8bc5f273bd Improve log 2022-05-21 01:24:02 +01:00
Roberto Louro Magueta
23dab34e7c Fix CSI bitlen for rank = 2 2022-05-21 01:15:26 +01:00
Roberto Louro Magueta
c67d3659f1 Fix precoded_sinr_dB computation for rank = 2 2022-05-20 21:12:06 +01:00
Roberto Louro Magueta
4eac17e1c8 Fix in RI computation 2022-05-20 20:51:22 +01:00
francescomani
a724c1febc starting timer for msg4 at transmission 2022-05-20 15:09:25 +02:00
francescomani
fcfc7a90e8 fix for asan assertion 2022-05-20 13:56:12 +02:00
Robert Schmidt
7bf5f018a1 Refactor DRB configuration in function 2022-05-19 18:40:54 +02:00
Robert Schmidt
a5d0615048 Harmonize SRB configuration in function 2022-05-19 18:28:55 +02:00
KARIM BOUTIBA
b46077c22d add multiple pdu session support (tested with 2 pdu sessions) 2022-05-19 18:28:55 +02:00
francescomani
b57a8622c0 fixes for RRC configuration in SA 2022-05-19 17:41:58 +02:00
francescomani
9150dc8c50 applying review comment 2022-05-19 14:48:45 +02:00
Roberto Louro Magueta
7018b7c841 Fixes after merge 2022-05-19 13:38:22 +01:00
Roberto Louro Magueta
9887982e00 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-05-19 13:21:00 +01:00
Roberto Louro Magueta
3d5cfb6642 Update the spatialRelationInfoToAddModList for dedicated UL-BWPs 2022-05-18 17:00:05 +01:00
francescomani
d56f2c8e12 addressing review comments 2022-05-18 17:36:32 +02:00
francescomani
6d736db22d applying PUCCH harmonization to multiple BWP 2022-05-18 17:23:55 +02:00
Roberto Louro Magueta
436eb2d5a9 Fix PUCCH config in fill_default_uplinkBWP to consider the enabled CSI-RS 2022-05-18 16:05:38 +01:00
Robert Schmidt
3ca4cb708c Select UL MCS from BLER 2022-05-18 16:44:54 +02:00
Robert Schmidt
34b821433b Add UL BLER options and read from config 2022-05-18 16:44:54 +02:00
Robert Schmidt
17cbc4dbf4 Generalize get_mcs_from_bler() 2022-05-18 16:44:54 +02:00
Robert Schmidt
26c2c0add8 MAC stats: group UL&DL common stats 2022-05-18 16:44:54 +02:00
Robert Schmidt
61d434339e DL MCS: switch back to 9 on inactivity 2022-05-18 16:44:54 +02:00
Robert Schmidt
1fbf968676 Set DL MCS when receiving CQI report
- Introduce generic get_mcs_from_cqi() that gets MCS for a particular
  CQI
- Set MCS after receiving CQI
- Distinguish "global" max MCS from UE-measured max MCS
2022-05-18 16:44:53 +02:00
Roberto Louro Magueta
2d96262d7c Fix channel estimation based on CSI-RS 2022-05-18 14:31:13 +01:00
francescomani
0c5d6a59e7 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-05-18 15:19:00 +02:00
Roberto Louro Magueta
e5c4e0f3d3 Address review comments 2022-05-18 12:59:24 +01:00
Roberto Louro Magueta
f94a479829 Fix warning after merge 2022-05-18 12:51:18 +01:00
francescomani
03e869ee36 applying harmonization function also to multiple BWP option 2022-05-18 11:54:15 +02:00
francescomani
1e4f509805 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-05-18 11:41:07 +02:00
Thomas Schlichter
e639e79220 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-05-18 10:51:19 +02:00
francescomani
085014f601 Merge remote-tracking branch 'origin/develop' into NR_remove_ssb_offset_from_configfile 2022-05-18 10:25:47 +02:00
Thomas Schlichter
3934f2020e slightly increase the target SNR for the nr_dlsim low SNR test to make the test more reliable 2022-05-18 09:54:59 +02:00
Thomas Schlichter
6f8b13c2ad fix nr_ulsim option "-i" has no further parameters 2022-05-18 09:50:37 +02:00
Thomas Schlichter
c97d5d04ed fixes from review 2022-05-18 09:35:01 +02:00
francescomani
1f49b73eac Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-05-18 08:55:40 +02:00
Roberto Louro Magueta
8ac68929bc Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/defs_nr_common.h
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
2022-05-17 19:13:38 +01:00
Roberto Louro Magueta
e6e6fdedf9 Free allocated variables for SRS 2022-05-17 18:53:05 +01:00
Roberto Louro Magueta
2ef5edd17c Remove sc_list_length and sc_list variables 2022-05-17 18:16:54 +01:00
Roberto Louro Magueta
86874047ac Channel estimation, channel interpolation and SNR per RB computation based on SRS up to 4 antenna ports 2022-05-17 17:42:48 +01:00
francescomani
7a26d75634 other changes required for multiple BWP CSI config 2022-05-17 18:18:15 +02:00
Thomas Schlichter
44a98a85c5 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-05-17 17:38:59 +02:00
francescomani
075e8c6d8f Merge remote-tracking branch 'origin/develop' into NR_RRC_harmonization_after_BWP 2022-05-17 15:27:12 +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
francescomani
a67791d18e init ssb rsrp vector 2022-05-16 19:37:16 +02:00
Roberto Louro Magueta
997d52b71d Improvements in nr_get_srs_signal to consider multi-ports and multi-symbols 2022-05-16 18:11:01 +01:00
francescomani
ef20a5c3b2 additional fixes in multi-ssb report at UE 2022-05-16 18:09:29 +02:00
francescomani
2f81e507d7 fixes for pbch detection and measurements on multiple SSBs 2022-05-16 15:11:09 +02:00
luis_pereira87
bdc4a664ac Add 5G SA end-to-end, step-by-step, tutorials for OAI CN5G, OAI gNB and COTS UE 2022-05-16 11:49:42 +01:00
francescomani
9277afe327 measureing RSRP on all SSBs 2022-05-16 11:59:39 +02:00
laurent
a254545b7c fix ra bug 2022-05-16 09:31:29 +02:00
Roberto Louro Magueta
52bc76d904 Fixes and improvements in generate_srs_nr function 2022-05-14 21:01:42 +01:00
Roberto Louro Magueta
f6bc787d1e Add comments in nfapi_nr_srs_pdu_t 2022-05-14 00:38:00 +01: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
francescomani
c4c93cc498 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-05-12 08:56:45 +02:00
Roberto Louro Magueta
32de221553 Fix SRS mapping for multiple ports 2022-05-11 19:54:35 +01:00
Roberto Louro Magueta
ccb1e64a38 Merge branch 'bupt-ulmimo-4' into develop-SRS-MIMO 2022-05-11 18:36:50 +01: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
Roberto Louro Magueta
0ddd8c2586 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_config.h
2022-05-11 14:36:21 +01:00
francescomani
340531038c bugfix: n1 and n2 for 2 ports 2022-05-11 15:21:08 +02:00
Roberto Louro Magueta
5c754f2300 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-05-11 14:19:33 +01: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
Roberto Louro Magueta
1c9ef67384 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
2022-05-11 13:27:21 +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
Roberto Louro Magueta
ba5bda5c6e Fix bw_scaling 2022-05-10 15:00:43 +01:00
Roberto Louro Magueta
08975e451f Update the ul_prbblacklist based on SRS measurements and an ul_prbblack_SNR_threshold 2022-05-10 14:03:24 +01:00
Robert Schmidt
68be6f83e6 randominit(): show used seed when using time() 2022-05-10 14:22:50 +02:00
Roberto Louro Magueta
5ed67b85a7 Free allocated memory 2022-05-10 13:03:41 +01:00
francescomani
c7e8002d8d adding CI test with subcarrier offset in pbchsim 2022-05-10 11:43:44 +02:00
Roberto Louro Magueta
61a2f398db Add LOGs of SRS indication in handle_nr_srs_measurements 2022-05-10 10:43:24 +01:00
francescomani
3b16547374 fix in pbchsim 2022-05-10 09:13:52 +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
Roberto Louro Magueta
99b262d764 Compute and fill timing_advance field for SRS indication 2022-05-09 19:25:33 +01:00
Roberto Louro Magueta
bdff42cf77 Compute and fill wide_band_snr field for SRS indication 2022-05-09 18:21:04 +01:00
Roberto Louro Magueta
d914817806 Fill srs_reported_symbol_list in SRS indication 2022-05-09 17:58:42 +01:00
francescomani
a037987b47 remove ssb subcarrier offset from config file 2022-05-09 18:28:56 +02:00
Roberto Louro Magueta
ab6d7afd09 Compute the SNR per RB using the SRS 2022-05-09 15:54:20 +01: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
Roberto Louro Magueta
dcf4fd1db2 Compute the noise power per RB 2022-05-06 19:07:59 +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
francescomani
59ced82104 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-05-06 17:02:22 +02: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
Roberto Louro Magueta
05fffa4916 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.band78.tm1.106PRB.usrpn300.gtp-itti.conf
#	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-06 13:39:45 +01:00
Roberto Louro Magueta
fc5632eeb9 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
#	openair1/PHY/NR_TRANSPORT/nr_dci.c
#	openair1/PHY/NR_TRANSPORT/pucch_rx.c
#	openair2/GNB_APP/gnb_config.c
#	openair2/GNB_APP/gnb_paramdef.h
#	openair2/LAYER2/NR_MAC_gNB/config.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_uci.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
#	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/cu_gnb.conf
2022-05-06 13:16:48 +01:00
luis_pereira87
02d49ed3b6 Fixes after merge 2022-05-06 11:56:11 +01:00
Roberto Louro Magueta
87e79e5eb8 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
#	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/cu_gnb.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.band78.tm1.106PRB.usrpn300.gtp-itti.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.106PRB.usrpn300.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-05-06 11:32:36 +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
francescomani
2bbfe501c2 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-05-06 12:02:00 +02:00
francescomani
1750f45708 additional fix for dmrs 2022-05-06 11:46:07 +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
francescomani
acc6fb8508 fixes for multi-symbol pdcch 2022-05-06 11:17:19 +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
Roberto Louro Magueta
dce83a0508 Add comments in FAPI for SRS indication 2022-05-05 19:49:06 +01:00
Roberto Louro Magueta
b106913dc0 Send SRS measurements (still empty) from PHY to MAC 2022-05-05 18:10:08 +01:00
Robert Schmidt
e1e8a49b76 Fix UP traffic in NSA 2022-05-05 19:06:29 +02:00
francescomani
edea5c5f65 some more fixes for larger coresets 2022-05-05 17:23:12 +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
francescomani
40fcfdea8b additional fixes 2022-05-04 18:20:12 +02:00
Roberto Louro Magueta
2fb8d96f11 Move SRS config to update_cellGroupConfig() 2022-05-04 16:25:15 +01:00
francescomani
4045874d74 memory fixes 2022-05-04 16:56:23 +02:00
Roberto Louro Magueta
70cfd057ec Add do_SRS flag in gnb.sa.band78.fr1.106PRB.usrpb210.conf 2022-05-04 15:09:59 +01:00
Roberto Louro Magueta
39ea2c936f Creation of config_srs() function 2022-05-04 15:05:23 +01: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
luis_pereira87
952a216b92 Remove sib1_tda from configuration files to use default value 2022-05-04 12:49:23 +01: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
francescomani
999f5d67e3 bugfixes and improvements in handling dci candidates 2022-05-04 11:03:26 +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
Raymond Knopp
bf5389936d added deletion/creation of ldpc_gen_files directory and subdirectories 2022-05-03 22:09:46 +02:00
Raymond Knopp
3ecfead572 added script to generate ldpc decoder files 2022-05-03 22:03:19 +02:00
Raymond Knopp
63b28d3610 clean up (removal) of ldpc generated files on repository 2022-05-03 21:26:18 +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
Roberto Louro Magueta
73a1e92249 Fix memory leaks 2022-05-03 12:09:19 +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
Raymond Knopp
8506307ef0 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_cnProc.h
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h
	openair1/PHY/NR_REFSIG/ptrs_nr.c
2022-05-02 22:41:48 +02: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
rmagueta
2f753873bc Fix warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 2022-04-30 16:12:27 +01:00
rmagueta
751335765f Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
#	openair1/PHY/NR_TRANSPORT/pucch_rx.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/nr_rrc_config.c
2022-04-30 15:52:48 +01:00
rmagueta
4b3aa7233e Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-04-30 15:14:20 +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
Thomas Schlichter
7815293443 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-29 10:15:15 +02: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
francescomani
b6016cfc49 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-04-28 14:12:11 +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
francescomani
7733ac1857 bwp-based csi configuration (to be verified) 2022-04-27 19:28:22 +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
francescomani
f902e27c43 updates on coreset harmonization 2022-04-27 16:24:05 +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
Thomas Schlichter
795c057d8c nr_dlsim: fix low-SNR performance by using DCI aggregation level 8 2022-04-19 11:32:47 +02: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
rmagueta
eb12cb8f10 Fix CI test for FR2 RA 2022-04-18 15:19:29 +01:00
francescomani
10b8e1b34c harmonization of uplink BWPs configuration 2022-04-18 11:59:40 +02:00
rmagueta
a4a5c6ae22 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements 2022-04-18 10:42:04 +01:00
rmagueta
6b873e0f41 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-04-18 10:26:46 +01:00
francescomani
28f3997ea6 Merge remote-tracking branch 'origin/NR_PUCCH_RRC_Resources' into NR_RRC_harmonization_after_BWP 2022-04-18 10:06:02 +02:00
francescomani
c791b45adc harmonization of downlink BWPs configuration 2022-04-16 14:34:00 +02:00
francescomani
b62e7be276 adding harmonization of coreset configuration to multiple BWPs 2022-04-16 10:13:02 +02:00
francescomani
6989d4ecba harmonization of coreset configuration 2022-04-16 09:53:06 +02:00
francescomani
a71552d55d harmonization of coreset configuration 2022-04-15 19:21:34 +02:00
francescomani
3a0cb80469 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into NR_RRC_harmonization_after_BWP 2022-04-15 13:54:25 +02:00
Cedric Roux
8b0be9cf87 nr rlc: speedup ack/nack reception
The code completely changed, expect problems.
2022-04-15 12:20:02 +02:00
matzakos
9b2a163ebb Add true reporting of RLC buffer availability in first DDD report from DU to CU 2022-04-15 10:36:31 +02:00
matzakos
3feb0f472f Add more proper parsing of NR-RAN gtp-u extension header 2022-04-15 10:35:39 +02:00
matzakos
b216c58526 Remove xml prints of F1AP messages 2022-04-15 10:34:53 +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
Raymond Knopp
e721f6af04 Merge remote-tracking branch 'origin/tdd25period_for_MR' into F1_interop_ACC_n78
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-04-14 11:14:36 +02:00
rmagueta
ad3253fef6 Move CSI-RS configuration from fill_initial_SpCellConfig to update_cellGroupConfig 2022-04-13 19:45:10 +01:00
rmagueta
9def6e815d Merge remote-tracking branch 'origin/develop-2x2-segFault' into develop-CSI-Measurements 2022-04-13 17:55:40 +01:00
rmagueta
31319e8063 Fix pdcch_est_size 2022-04-13 16:54:09 +01:00
rmagueta
27bac2f2c4 The RI, PMI and CQI estimated at the UE are sent by the UE and correctly received by the gNB 2022-04-13 15:33:37 +01:00
Laurent THOMAS
b2560daa3d merge develop and fix one double free bug in nr_dlschsim 2022-04-13 15:15:11 +02:00
matzakos
f9e5c987a6 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-04-13 14:22:19 +02:00
matzakos
0c05e283e2 Remove warnings and unused code 2022-04-13 13:19:04 +02:00
rmagueta
cd6ee6a01e Fix build after merge 2022-04-13 11:12:49 +01:00
rmagueta
9b1db62f38 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements 2022-04-13 10:40:58 +01:00
rmagueta
a81640a6df Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
2022-04-13 10:21:09 +01:00
francescomani
cfda6c7b1d renaming SR config function 2022-04-13 10:58:28 +02:00
Robert Schmidt
9a330b3d96 Merge branch 'integration_2022_wk15b' into 'develop'
integration_2022_wk15b

See merge request oai/openairinterface5g!1524

MR !1508 Remove NR UE PDCCH
2022-04-13 08:28:11 +00:00
rmagueta
40279dddf3 Get cri_bitlen, ri_bitlen, pmi_bitlen and cqi_bitlen at UE 2022-04-13 01:07:01 +01:00
Laurent THOMAS
2373b02150 review remarks 2022-04-12 20:52:40 +02:00
rmagueta
04b234c878 Send CSI-RS measurements from PHY to MAC at UE 2022-04-12 19:06:02 +01:00
Mario Hudon
06b637c1cf Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UE_thread_improvement_IDCC 2022-04-12 12:59:27 -04:00
francescomani
1745ffa10f adapting nr_rrc_config_dl_tda for multiple BWPs 2022-04-12 17:36:52 +02:00
rmagueta
1d86347587 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/NR_TRANSPORT/nr_dci.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-04-12 14:48:08 +01:00
rmagueta
d6072cb5d2 Fix build after merge 2022-04-12 14:31:39 +01:00
rmagueta
d5421a9c87 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/NR_REFSIG/nr_refsig.h
#	openair1/PHY/NR_TRANSPORT/nr_csi_rs.c
#	openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
2022-04-12 14:02:43 +01:00
Florian Kaltenberger
ef6ea331cf Update TESTING_5GSA_setup.md 2022-04-12 11:48:42 +00:00
francescomani
d642c74b66 reintroducing RA logs to avoid CI test failure 2022-04-12 11:26:20 +02:00
francescomani
e6913e5d33 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-04-12 10:41:20 +02:00
francescomani
11ced194cd Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-04-12 10:28:32 +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
Thomas Schlichter
94e5aaff88 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-04-12 09:51:47 +02:00
francescomani
4452308184 Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR 2022-04-12 09:40:52 +02:00
Robert Schmidt
37eb845b66 Merge branch 'integration_2022_wk15' into 'develop'
integration_2022_wk15

See merge request oai/openairinterface5g!1522
2022-04-11 22:06:50 +00:00
matzakos
47c9ded007 Use higher data type to store the length of UE capability RAT container 2022-04-11 19:53:36 +02:00
matzakos
bfc7c1b361 Remove bad return before unlocking mutex in pdcp UL indication 2022-04-11 19:35:05 +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
francescomani
9bf8c0e009 config file cleanup 2022-04-11 10:00:49 +02:00
Laurent THOMAS
b860d76cd6 fix lte-ue.c main loop with 5G common vars 2022-04-11 09:39:16 +02:00
Laurent Thomas
95a58d646a merge develop, no test 2022-04-10 22:22:52 +02:00
Laurent Thomas
f2e6537195 roolback regression 2022-04-10 22:11:37 +02:00
Raymond Knopp
86b5b9db3d Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair2/GNB_APP/gnb_config.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-09 19:44:26 +02:00
Robert Schmidt
cae952e1f3 Merge remote-tracking branch 'origin/ci_add_2nd_ue' into integration_2022_wk15 2022-04-09 13:11:04 +02:00
Robert Schmidt
3e6e9f449c Merge remote-tracking branch 'origin/fix-develop-segvs' into integration_2022_wk15 2022-04-09 13:10:00 +02:00
Robert Schmidt
9151666960 Merge remote-tracking branch 'origin/nr_gold_init_improv' into integration_2022_wk15 2022-04-09 13:09:50 +02:00
Robert Schmidt
d2053ec378 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into integration_2022_wk15 2022-04-09 13:09:40 +02:00
rmagueta
3969079fcd Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/GNB_APP/gnb_paramdef.h
#	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
2022-04-08 19:49:40 +01:00
rmagueta
8c056ceefc Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-04-08 18:19:06 +01:00
Laurent Thomas
8623bc6690 a small out of buffer access, likely only santize addr detection 2022-04-08 18:22:40 +02:00
Laurent THOMAS
1a2be8fc89 fix dft modifications related to alignment 2022-04-08 18:22:40 +02:00
Laurent THOMAS
f46240ca2b fix code review remarks 2022-04-08 18:22:38 +02:00
Laurent THOMAS
e1b9881c78 fix memory errors 2022-04-08 17:56:03 +02:00
francescomani
680c605e32 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-04-08 17:02:35 +02:00
francescomani
1ab64d26aa Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-08 16:50:02 +02:00
Raphael Defosseux
dc4feae780 Merge remote-tracking branch 'origin/develop' into ci_add_2nd_ue 2022-04-08 16:45:59 +02:00
Raphael Defosseux
9547cb4f6b Merge branch 'integration_2022_wk14' into 'develop'
integration_2022_wk14

See merge request oai/openairinterface5g!1519

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

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-08 10:59:24 +02:00
Manish
4869b10984 Second OAI UE added in CI docker validation
Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-04-08 10:57:37 +02:00
Robert Schmidt
86a704caa9 Merge remote-tracking branch 'origin/ci_support_amarisoft_ue' into integration_2022_wk14 2022-04-07 21:44:45 +02:00
Robert Schmidt
5669269ca9 Harmonize NSA 2x2 and LTE 2x2 eNB configs 2022-04-07 21:12:31 +02:00
rmagueta
8ffecf4bdf CQI computation 2022-04-07 19:58:56 +01:00
rmagueta
d6a155a803 SINR in dB 2022-04-07 19:30:33 +01:00
rmagueta
7286552aa5 Improvements in PMI computation to allow computation CQI more easily 2022-04-07 18:58:18 +01:00
Raymond Knopp
5962824038 Integrate true reporting of buffer availability of RLC(DU) towards the CU 2022-04-07 16:34:16 +02:00
francescomani
1485caa97e cleanup of episci config files 2022-04-07 14:00:19 +02:00
Thomas Schlichter
4035bdb71d add autotest test case for nr_dlsim low SNR performance
performance is ~1.0dB worse than nr_ulsim because of unexpected bad PDCCH performance...
2022-04-07 12:20:33 +02:00
Thomas Schlichter
298740b06c add autotest test case for nr_ulsim low SNR performance 2022-04-07 12:12:20 +02:00
Thomas Schlichter
c7055b2cf9 nr_ulsim: set PUSCH detection threshold to -2.0 dB SNR 2022-04-07 12:08:26 +02:00
Thomas Schlichter
23bdf1e32c remove unused perfect_ce 2022-04-07 11:45:26 +02:00
Thomas Schlichter
dd374c7e03 add more detailed statistics to nr_dlsim output 2022-04-07 11:45:26 +02:00
Bo Zhao
7f074bcc22 Implement PDCCH channel estimation averaging over PRB (no interpolation) 2022-04-07 10:42:03 +02:00
Bo Zhao
fe7ee4d2fe Scaling LLR for different QAM schemes 2022-04-07 10:40:53 +02:00
Thomas Schlichter
e297ccfa26 Add nr_prachsim test case for 15 kHz SCS 2022-04-07 10:34:37 +02:00
Laurent THOMAS
2cdc7304f1 merge develop 2022-04-07 10:00:41 +02:00
Robert Schmidt
810e62e13b Merge remote-tracking branch 'origin/ldpc-decoder-memory' into integration_2022_wk14 2022-04-06 23:45:44 +02:00
hardy
276c7be575 fix SYNC_STATUS flag mgt to get the final status correct 2022-04-06 23:45:25 +02:00
Robert Schmidt
0a03755f9d Correct gNB fail detection when running in VM 2022-04-06 23:45:19 +02:00
Robert Schmidt
054688ade4 Merge remote-tracking branch 'origin/nr_sdap' into integration_2022_wk14 2022-04-06 23:45:07 +02:00
Robert Schmidt
d8d3106baf Merge remote-tracking branch 'origin/episys-throughput-updates-and-downlink-siso-cm' into integration_2022_wk14 2022-04-06 23:44:59 +02:00
rmagueta
bf56e881b2 Fix log 2022-04-06 18:43:56 +01:00
rmagueta
6e4bbe8f49 PMI computation for rank=2 case 2022-04-06 18:42:00 +01: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
rmagueta
66b3fffbf0 Minor improvements 2022-04-06 17:44:47 +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
8e58e83be6 Remove log 2022-04-06 14:52:34 +01:00
rmagueta
4ee6005a50 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-04-06 13:30:04 +01: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
rmagueta
4f29c73bb6 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-04-06 10:11:49 +01:00
francescomani
4f486ce66b Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-06 11:02:53 +02:00
matzakos
693d687d3f Restore nr_l1_helpers.h and dependencies 2022-04-06 10:57:36 +02:00
matzakos
0eb2acb00b F1 code cleanup before merge
-Remove commented out code, debug logs, some hardcodings, fix indentation
2022-04-06 10:43:09 +02:00
francescomani
f0ea21476a Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-06 10:04:20 +02:00
Robert Schmidt
baa76323d2 Merge branch 'integration_2022_wk13b' into 'develop'
integration_2022_wk13b

See merge request oai/openairinterface5g!1515
2022-04-06 05:53:24 +00:00
rmagueta
886b580fac PMI computation for rank=1 case 2022-04-05 19:56:13 +01:00
hardy
402b9abb8c change ping stage description in xml 2022-04-05 19:00:48 +02:00
Robert Schmidt
906b4b9c1e Tune configs LTE-2x2, NSA-2x2 2022-04-05 18:36:26 +02:00
hardy
b245b3b1b6 more logging, copy logs, create HTML row 2022-04-05 15:18:55 +02:00
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
Sakthivel Velumani
2c23b28ba6 Merge branch 'develop' into ldpc-decoder-memory 2022-04-05 16:02:35 +05:30
Sakthivel Velumani
a4c8fe029a Fixing bad memory allocation and initialization
This (sometimes) corrupts PBCH channel estimates leading to false time synchronization of received samples.
2022-04-05 15:28:23 +05:30
hardy
76c0335a8b initial work for amarisoft ue 2022-04-05 09:11:45 +02:00
Mario Hudon
2e99d33f27 Fixed compile warning 2022-04-04 15:41:36 -04:00
rmagueta
4254d59a96 Create nr_csi_rs_pmi_estimation function for PMI computation (still almost empty) 2022-04-04 20:13:33 +01:00
Mario Hudon
147efc44e1 Merge remote-tracking branch 'oai-eurecom/develop' into NR_UE_thread_improvement_IDCC 2022-04-04 14:51:15 -04:00
Mario Hudon
b98f10b736 - Fixed failing CI tests
- Memory leak
  - Seg fault in dlsim tests
2022-04-04 14:32:27 -04:00
Robert Schmidt
0c431d969f Further tune LTE 2x2 gains 2022-04-04 17:26:00 +02:00
rmagueta
f12c6ea65b Add log2_maxh for nr_conjch0_mult_ch1 in nr_csi_rs_ri_estimation 2022-04-04 15:55:16 +01:00
rmagueta
03f7bd3468 Remove unused input in nr_csi_rs_ri_estimation 2022-04-04 14:44:22 +01:00
rmagueta
c37e0af9b0 Change LOG levels 2022-04-04 14:42:37 +01:00
rmagueta
ef63aa45e6 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements 2022-04-04 13:51:52 +01:00
rmagueta
a772400ffa Fix memory leak 2022-04-04 13:14:18 +01:00
rmagueta
2d434033e0 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-04-04 12:35:25 +01:00
luis_pereira87
29f47c49c1 Fix segmentation fault for NSA 2022-04-04 11:05:52 +01:00
Raphael Defosseux
b7360eee04 fix(ci): when running modems, forcing fast write to stdout and files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-04-04 11:47:49 +02:00
francescomani
0152e8ce38 fix dlsim compilation error 2022-04-03 20:26:05 +02:00
Robert Schmidt
ec82ddea38 Don't call calculate_preferred_dl_tda() in do-ra mode
In --do-ra mode, calculate_preferred_dl_tda() would be called without a
BWP. Then, get_searchspace() would search in the scc, leading to a
segfault. Therefore, don't call calculate_preferred_dl_tda() in do-ra
mode.
2022-04-03 19:25:14 +02:00
francescomani
4c17c9c62a change SR slot in FDD to avoid assertion 2022-04-03 18:15:17 +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
francescomani
03510c83b7 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-04-03 15:33:30 +02:00
Robert Schmidt
db00707e66 CI scripts: correct asterix USRP IP address 2022-04-02 20:45:43 +02:00
rmagueta
e628c8c2c4 Fix build after merge 2022-04-01 20:13:06 +01:00
rmagueta
2deec7fa09 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair2/GNB_APP/gnb_config.c
#	openair2/GNB_APP/gnb_paramdef.h
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-01 19:36:57 +01:00
francescomani
33d153f132 Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-04-01 19:42:28 +02:00
francescomani
e1e8c167de Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-04-01 19:21:45 +02:00
Robert Schmidt
bca61ec634 Merge remote-tracking branch 'origin/build_oai_support_on_ubuntu20' into integration_2022_wk13b 2022-04-01 18:40:36 +02:00
Robert Schmidt
5d63a756e6 Merge remote-tracking branch 'origin/fix-initialBWP-procedures' into integration_2022_wk13b 2022-04-01 18:40:30 +02:00
rmagueta
25614263ba Fix build after merge 2022-04-01 16:15:58 +01:00
athanassopoulos
cf30f61e65 Changes to SDAP code
1. Removed SDAP struct from protocol context.
2. Added configuration for the SDAP.
3. SDAP doesn't use pdcp_entities, the values come from function arguements.
4. Make nr_pdcp_ue_manager accessible from SDAP.
5. Avoid using the PDCP locking mechanism in SDAP.
6. Removed nr_pdcp_find_entity_sdap function.
7. Rename dummy eNB function to make GTP compile (no SDAP).
8. Fix: Regression issues with LTE
9. Fix: Regression issues with NR CU/DU
2022-04-01 17:04:08 +02:00
rmagueta
c83df1b677 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair2/GNB_APP/gnb_config.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	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
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
2022-04-01 15:56:47 +01:00
Robert Schmidt
1d4cefb183 Merge remote-tracking branch 'origin/includes-oai_usrpdevif' into integration_2022_wk13b 2022-04-01 13:36:52 +02:00
Robert Schmidt
e8463bd610 Merge remote-tracking branch 'origin/fix-running-modem-in-generic-fedora-container' into integration_2022_wk13b 2022-04-01 13:36:43 +02:00
Robert Schmidt
30f14c7e55 Rename dummy eNB function to make GTP compile in 4G (no SDAP) 2022-04-01 13:35:40 +02:00
athanassopoulos
a826af5839 SDAP Initial Implementation 2022-04-01 13:35:40 +02:00
Robert Schmidt
8eb22e7262 Remove duplicate statements 2022-04-01 11:44:33 +02:00
Thomas Schlichter
729cf143e0 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-01 10:28:11 +02:00
Robert Schmidt
e15002c86c Shift correct number of params for build_oai --build-dir 2022-04-01 10:22:48 +02:00
Robert Schmidt
cb5e9d90e4 Create build_oai option to pass cmake params; add boost include dir caracal 2022-04-01 10:22:30 +02:00
Robert Schmidt
5a3eeac5e4 Merge branch 'integration_2022_wk13' into 'develop'
integration_2022_wk13

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

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-31 10:15:47 +02:00
hardy
100832b111 fix nrmodule2 network interface 2022-03-31 09:26:15 +02:00
rmagueta
da1e542a31 Fix dl_antenna_ports after merge 2022-03-30 20:14:57 +01:00
rmagueta
fba2df7557 Fix config files after merge 2022-03-30 19:27:24 +01:00
rmagueta
4c0427ea6c Merge remote-tracking branch 'origin/nr_mimo_precoding_codebook_I' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair2/GNB_APP/gnb_config.c
#	openair2/GNB_APP/gnb_paramdef.h
#	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
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
2022-03-30 19:23:22 +01:00
francescomani
cb32c7505e tabulated values * 10 to simplify the code 2022-03-30 19:08:20 +02:00
Robert Schmidt
3fd8b17e1a Merge remote-tracking branch 'origin/ci-fixes-mar-2022' into integration_2022_wk13 2022-03-30 18:02:03 +02:00
rmagueta
38d0dca0bf Minor fixes 2022-03-30 17:00:25 +01:00
Mario Hudon
1985393d51 - Fixed NR UE Scope build
- Added a double data buffer in the NR UE Scope to reduce the risk of race condition/data corruption between the Scope thread and the Rx thread
2022-03-30 11:38:53 -04:00
Robert Schmidt
665db19ed6 Change first SA test to DDSUU 2.5ms TDD period + ping to 10ms 2022-03-30 17:25:37 +02:00
rmagueta
ef4d8ab0c7 Merge remote-tracking branch 'origin/develop' into develop-CSI-Measurements 2022-03-30 16:17:17 +01:00
rmagueta
c7a54269de First version of rank indicator computation at UE 2022-03-30 16:16:58 +01:00
hardy
aca240e9e3 fix ttyUSBx for quectel nrmodule2 2022-03-30 16:56:49 +02:00
Raphael Defosseux
426ded6e31 fix(build): fix warnings on circular dependency
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 16:42:12 +02:00
Raphael Defosseux
a02adbdcb4 feat(ci): mechanism to create multiple unique tags per week
-- In case we do multiple merges per week
  -- Also use the proper week numbering (ISO week number, with Monday as first day of week (01..53))

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

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

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

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

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

Signed-off-by: Manish <Manish1.Kumar@amd.com>
2022-03-29 04:22:54 +00:00
Raymond Knopp
65bea43111 Merge branch 'tdd25period_for_MR' of https://gitlab.eurecom.fr/oai/openairinterface5g into tdd25period_for_MR
Conflicts:
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
2022-03-28 21:55:24 +02:00
matzakos
038e70b0c6 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-03-28 21:55:21 +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
matzakos
90c64f4cf8 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-03-28 21:20:49 +02:00
francescomani
6e48ec9266 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-28 18:32:59 +02:00
Robert Schmidt
ab654ac15c Merge remote-tracking branch 'origin/force-256qam-off' into integration_2022_wk13 2022-03-28 17:48:22 +02:00
rmagueta
1d1aaa30e7 Merge remote-tracking branch 'origin/develop-CSI' into develop-CSI-Measurements
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/NR_TRANSPORT/nr_csi_rs.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-03-28 15:06:23 +01:00
rmagueta
139a33d644 Remove multiple nr_gold_csi_rs initializations 2022-03-28 14:36:01 +01:00
rmagueta
e322bdb289 Fix warning after merge 2022-03-28 14:10:39 +01:00
rmagueta
181e576698 Fix warning after merge 2022-03-28 13:53:35 +01:00
rmagueta
0abcf3d9c4 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/NR_REFSIG/nr_gold.c
#	openair1/PHY/NR_TRANSPORT/nr_csi_rs.c
#	openair1/PHY/defs_nr_common.h
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-28 13:32:46 +01:00
Robert Schmidt
404bcf7880 Merge remote-tracking branch 'origin/Bug_Fix_RIV_162_PRBs' into integration_2022_wk13 2022-03-28 14:11:28 +02:00
Robert Schmidt
9070e4a1a1 Merge remote-tracking branch 'origin/develop-2oaiue-doc-update' into integration_2022_wk13 2022-03-28 14:09:19 +02:00
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
rmagueta
a020c51772 Fix warning after merge 2022-03-28 10:31:50 +01:00
rmagueta
495b3f39c5 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-03-28 10:12:29 +01:00
Robert Schmidt
2c86b745fd Merge branch 'integration_2022_wk12_a' into 'develop'
integration_2022_wk12_a

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

See merge request oai/openairinterface5g!1495
2022-03-21 23:39:50 +00:00
rmagueta
199680d24d Address reviewer comments 2022-03-21 17:37:29 +00: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
Robert Schmidt
937f593028 Merge remote-tracking branch 'origin/develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-21 13:36:38 +01:00
rmagueta
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
rmagueta
f0f8acb06a Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-03-21 10:10:21 +00:00
francescomani
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
rmagueta
7ecd593f6b Fix memory leaks 2022-03-18 17:55:53 +00:00
Robert Schmidt
70265d9c64 Refactor fill_default_secondaryCellGroup(): less parameters 2022-03-18 18:54:57 +01:00
Raymond Knopp
05c07c401f removal of some logs. Temporary suppression of QAM256 for 5G Records testing 2022-03-18 18:51:22 +01:00
Robert Schmidt
e89dfc0243 Refactor RRC: do not duplicate configuration in rrc_gNB_carrier_t 2022-03-18 18:49:09 +01:00
Robert Schmidt
f646b9a57c Add parameter to disable 256 QAM activation 2022-03-18 18:49:09 +01:00
Raphael Defosseux
663ad7df5c fix(ci): typo on bash variable setting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-18 17:57:53 +01:00
Robert Schmidt
ca303c9fd5 Merge remote-tracking branch 'origin/continuous-tx' into integration_2022_wk11 2022-03-18 16:51:50 +01:00
Robert Schmidt
d3b80b4785 Merge remote-tracking branch 'origin/nr-ue-fixes' into integration_2022_wk11 2022-03-18 16:48:43 +01:00
Robert Schmidt
a530166b45 Merge remote-tracking branch 'origin/fix-legacy-errors-lte' into integration_2022_wk11 2022-03-18 16:43:25 +01:00
Raphael Defosseux
94f8e5b213 fix(ci): tcp_bridge_oai.Rel15.txt is no longer built. That's one less report file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-18 11:20:17 +01:00
francescomani
256a00af77 default SIB TDA = 1 (and chech to avoid csi-rs overlapping) 2022-03-18 11:10:21 +01:00
Raphael Defosseux
4d4f946a10 fix(ci): properly disabling basic-sim build and test and also the obsolete flexran-rtc
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-18 10:39:58 +01:00
francescomani
85e879b1ea remove call to csirs configuration in SA (not working yet, asn1 encoding fails) 2022-03-18 10:30:12 +01:00
Melissa Elkadi
a5e4cbb971 Merge branch 'episys-throughput-updates-and-downlink-siso-cm' of https://gitlab.eurecom.fr/oai/openairinterface5g into episys-throughput-updates-and-downlink-siso-cm 2022-03-17 12:48:14 -07:00
Melissa Elkadi
91d42fd5ec Fixing memory leaks and hoping to fix num_dci_option bug 2022-03-17 12:44:30 -07:00
luis_pereira87
f439095c6e Fix bug after merge 2022-03-17 18:19:42 +00:00
francescomani
eefc779817 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-17 18:33:45 +01:00
Robert Schmidt
b1eaa6606b Merge remote-tracking branch 'origin/NR_MIMO_memory' into integration_2022_wk11 2022-03-17 17:45:00 +01:00
rmagueta
190eaa1e42 Move CSI-RS configuration from fill_initial_SpCellConfig() to update_cellGroupConfig() 2022-03-17 16:36:50 +00:00
rmagueta
8704f81025 Remove duplicated code 2022-03-17 16:35:06 +00:00
matzakos
4e73ef0c3b Avoid exiting in case of PDPC receiving UL user-plane traffic before the DRB is established
-Happened occasionally in the CU/DU split scenario
2022-03-17 17:01:50 +01:00
matzakos
aba5098e30 Remove hardcoding of port numbers in handling of F1 UE context modification request 2022-03-17 17:01:01 +01:00
Robert Schmidt
57cfd7bc32 Remove basic simulator
The basic simulator can be replaced with the RF simulator. Use option
--rfsim.
2022-03-17 08:25:16 +01:00
francescomani
8ef72fb939 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-17 07:51:35 +01:00
rmagueta
b59b84e904 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-03-17 01:03:35 +00:00
rmagueta
ea22da6e7a Noise power estimation based on CSI-RS 2022-03-17 00:50:35 +00:00
Robert Schmidt
7cbca077e0 Merge remote-tracking branch 'origin/NR_UL_VRB_MAP_improv' into integration_2022_wk11 2022-03-16 23:26:59 +01:00
Robert Schmidt
5be1825361 Merge branch 'integration_2022_wk10' into 'develop'
Integration 2022 wk10

See merge request oai/openairinterface5g!1485
2022-03-16 22:23:07 +00:00
rmagueta
2f2bc2a5e8 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into develop-CSI
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-03-16 17:45:39 +00:00
rmagueta
3f88cc1fb1 Intermediate commit: move CSI configuration to a separate function 2022-03-16 17:19:36 +00:00
rmagueta
2f9d8e759d Memory optimization for procedures related to CSI-RS channel estimation 2022-03-16 15:21:55 +00:00
francescomani
f40b579a78 fix for phy-simulator issues 2022-03-16 15:13:50 +01:00
rmagueta
f1eb2e15d4 Channel estimation based on CSI-RS and interpolation at UE working for a gNB with 4 antenna ports 2022-03-16 13:03:31 +00:00
Robert Schmidt
5a8b235ab4 Fix: make simulators compile 2022-03-16 10:00:43 +01:00
rmagueta
8b0409d349 Channel estimation based on CSI-RS and interpolation working for a gNB with 2 antenna ports 2022-03-16 01:34:23 +00:00
rmagueta
e07f32f131 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-03-15 18:56:46 +00:00
rmagueta
ce1613ad7c Improvement in nr_get_csi_rs_signal() and nr_csi_rs_channel_estimation() to later be easier to extend to multiple ports 2022-03-15 18:55:50 +00:00
Melissa Elkadi
22f4b083c2 Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-15 08:57:50 -07:00
Melissa Elkadi
2e0d8fd753 Removing TimeDomainAllocationList from conf file
Also updating pdcch_config for SIB1
2022-03-15 08:56:21 -07:00
Thomas Schlichter
9ef3fdbc49 add autotests for nr_dlsim and nr_ulsim with 15 kHz SCS and 5 MHz BW 2022-03-15 09:45:36 +01:00
Robert Schmidt
b0dd17f938 Merge remote-tracking branch 'origin/NR_SR_bugfix' into integration_2022_wk10 2022-03-14 19:11:17 +01:00
francescomani
8edcd41a8d fix for pucch0 that straddles DC carrier 2022-03-14 17:35:04 +01:00
Thomas Schlichter
6569ea1a20 fix use of uninitialized memory
found by valdgrind in nr_dlsim
2022-03-14 16:39:17 +01:00
Thomas Schlichter
1616ed7727 gNB: generalize rx_nr_prach_ru() and add support for mu==0 2022-03-14 16:39:17 +01:00
Thomas Schlichter
8f632a7c69 NR_UE: generalize generate_nr_prach() and add support for mu==0 2022-03-14 16:39:17 +01:00
Thomas Schlichter
15e82e4811 add support for mu==0 to nr_prachsim 2022-03-14 16:39:17 +01:00
Thomas Schlichter
31cd31826d move get_dft() and get_idft() from pss_nr.c to tools_defs.h 2022-03-14 16:39:17 +01:00
Thomas Schlichter
d104ef73b7 gNB: fix memory allocations for PUSCH in phy_init_nr_gNB() 2022-03-14 16:39:17 +01:00
Thomas Schlichter
9e90b8f22c remove unneeded global arrays ul_ch_ptrs_estimates, ul_ch_ptrs_estimates_ext, dl_ch_ptrs_estimates and dl_ch_ptrs_estimates_ext 2022-03-14 16:39:17 +01:00
Thomas Schlichter
4fd78ce1e0 small fixes for 15 kHz SCS 2022-03-14 16:39:17 +01:00
Thomas Schlichter
cbf57d7b3c Add configuration file for 15 kHz SCS, 5 MHz BW, band 66, FDD 2022-03-14 16:39:17 +01:00
Thomas Schlichter
47148e3f7d add NO_INTERP to nr_pdsch_channel_estimation() as it is in nr_pusch_channel_estimation() 2022-03-14 16:39:17 +01:00
Thomas Schlichter
4a90091095 fix init_timeshift_rotation() 2022-03-14 16:39:17 +01:00
Thomas Schlichter
baa2e92562 add support for 5 MHz (15 kHz SCS) and 10 MHz (30 kHz SCS) to nr_dlsim and nr_ulsim 2022-03-14 16:39:17 +01:00
rmagueta
e56f284347 Perform the channel interpolation for CSI-RS row 1 2022-03-14 15:29:10 +00:00
luis_pereira87
9b737d0985 Move ternary operators to outside of functions input parameters 2022-03-14 11:48:09 +00:00
matzakos
12eed23f63 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-03-14 11:39:13 +01:00
francescomani
03617b9165 more general SR config for period and offset 2022-03-14 10:43:59 +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
Thomas Schlichter
7e17f8bd6a make nr_ulsim PASS condition depend on eff_tp_check, just as nr_dlsim already does 2022-03-14 09:45:38 +01:00
Thomas Schlichter
a82d897478 Merge remote-tracking branch 'origin/nr-ue-fixes' into support-15-kHz-SCS 2022-03-14 09:36:29 +01:00
Thomas Schlichter
1e5c3c5707 Merge remote-tracking branch 'origin/develop' into fix_nr_odd_prb 2022-03-14 09:35:17 +01:00
francescomani
1ab1fde7b8 fix for fdd and other warnings 2022-03-11 14:00:30 +01:00
Robert Schmidt
0c5242ea85 Apply review comment 2022-03-11 11:36:07 +00:00
francescomani
a88a8dae8e config of pucch2 in rrcsetup 2022-03-11 12:27:00 +01:00
Hongzhi Wang
a39c972611 revert commented stats 2022-03-11 11:36:51 +01:00
Hongzhi Wang
89ac71ef25 fix warnings and revert commented logs 2022-03-11 11:31:33 +01:00
Hongzhi Wang
a289d6e2ab Revert "setting reordering to infinity and max rb 50"
This reverts commit 168edeaf73.

Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-11 10:21:44 +01:00
Robert Schmidt
595dd27ab0 Configure only one address for asterix's N310
Deletes the second_addr parameter in all files that also use the
mgmt_addr=192.168.18.240 (asterix's N310).
2022-03-11 09:43:37 +01:00
Sakthivel Velumani
91426a08bd Merge branch 'develop' into ldpc-decoder-memory 2022-03-11 12:39:26 +05:30
Raymond Knopp
d24068a33b some bugfixes for CSI reporting with PUCCH2. Configuration of cqi_Table 2 for CSI reporting when 256-QAM is enabled. 2022-03-11 01:23:39 +01:00
Hongzhi Wang
91e9f930f4 revert max_rbsize and tpc default value 2022-03-11 00:33:12 +01:00
Hongzhi Wang
457ee6c049 bugfix build issue 2022-03-10 21:43:28 +01:00
Hongzhi Wang
bf889968f7 set default ul mcs to 9 2022-03-10 19:18:59 +01:00
francescomani
48cd851cab SA SR bugfix 2022-03-10 18:31:46 +01:00
francescomani
63ebfff4d3 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-03-10 15:21:47 +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
Hongzhi Wang
22d387e25f bugfix dtx for offload 2022-03-10 11:55:59 +01:00
Hongzhi Wang
51251fe055 fix for loading ldpc_offload 2022-03-10 11:55:17 +01:00
Hongzhi Wang
5c1ab827f4 bugfix after cherry-pick 2022-03-10 11:34:24 +01:00
Sakthivel Velumani
0c28328986 Fixed merge errors 2022-03-10 15:19:42 +05:30
rmagueta
670f979f97 Perform the average of LS estimates over time for CSI-RS at UE 2022-03-09 20:00:41 +00:00
rmagueta
0126bd849b Remove redundant info from nr_csi_rs_info_t 2022-03-09 19:18:30 +00:00
Raymond Knopp
6abb1e362d Merge remote-tracking branch 'origin/tdd25period_for_MR' into F1_interop_ACC
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SIMULATION/NR_PHY/dlschsim.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_uci.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/nr_rrc_proto.h
	openair2/RRC/NR/rrc_gNB.c
	openair3/ocp-gtpu/gtp_itf.cpp
	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
2022-03-09 19:16:23 +01:00
matzakos
14ec3e505d Fix decoding of UE-capabilities-RAT-container-list at the DU after receiving it from the CU 2022-03-09 19:08:15 +01:00
rmagueta
19d8ea2742 Minor optimizations 2022-03-09 17:59:32 +00:00
francescomani
06d488bb23 ulsch memory optimization 2022-03-09 17:35:38 +01:00
Hongzhi Wang
168edeaf73 setting reordering to infinity and max rb 50 2022-03-09 16:16:07 +01:00
Hongzhi Wang
c4cfbfc845 config file working for mwc 2022-03-09 16:15:54 +01:00
Hongzhi Wang
fc78d01508 adding sa n310 config file 2022-03-09 16:15:14 +01:00
Hongzhi Wang
5254d1d91d update offload harq buffer offset 2022-03-09 16:15:01 +01:00
Hongzhi Wang
a95ffb87de bug fix offload harq round 2022-03-09 16:14:38 +01:00
Hongzhi Wang
380a2a555f bug fix for dtx detected 2022-03-09 16:14:09 +01:00
Hongzhi Wang
1d0a7b3860 removing some log prints 2022-03-09 16:13:52 +01:00
Hongzhi Wang
638b5f7f2a adding ulsch id to offload harq buffer offset for multiple users 2022-03-09 16:13:17 +01:00
Hongzhi Wang
3df0b89525 re-activating HARQ for UL. break loop when one segment is in error 2022-03-09 16:09:50 +01:00
Hongzhi Wang
65b0e7a8ea reducing some logs and fixing some vcd traces 2022-03-09 16:09:35 +01:00
rmagueta
51a72b8479 LS channel estimation at UE based on CSI-RS 2022-03-09 15:07:23 +00:00
Hongzhi Wang
fe4e1bdb93 adding harq pid to harq buffer offset 2022-03-09 16:07:14 +01:00
Hongzhi Wang
6e3a87a60a Temporiraly fix for centos 2022-03-09 16:05:59 +01:00
Hongzhi Wang
e20df48b02 bug fix on calling nr_fill_indications 2022-03-09 16:03:44 +01:00
Hongzhi Wang
02048ff3c4 using one l1tx thread and changing ul parameters for testing 2022-03-09 16:00:39 +01:00
Hongzhi Wang
6cd313f545 add missing dependency condition 2022-03-09 15:37:00 +01:00
Hongzhi Wang
4f68b5aeb6 Adding a dependency condition for offload 2022-03-09 15:35:58 +01:00
Hongzhi Wang
b6b7bbbdd7 adding dependency condition for ldpc offload 2022-03-09 15:35:50 +01:00
Hongzhi Wang
1749595217 bug fixes and removing warnings 2022-03-09 15:30:54 +01:00
Hongzhi Wang
aeb987bb0a using temporarily one l1tx thread and soft ldpc for small mcs 2022-03-09 15:25:39 +01:00
Hongzhi Wang
637ca97566 add ldpc offload cmdline option for softmodem and remove crc drop flag 2022-03-09 15:17:33 +01:00
Hongzhi Wang
1216eb2e4d adding segment buffer offset and updates 2022-03-09 15:10:21 +01:00
Hongzhi Wang
8c09af6291 Split fill queue function and move mbuf allocation to init step 2022-03-09 15:01:14 +01:00
francescomani
ddbc306246 Merge branch 'NR_UL_VRB_MAP_improv' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_VRB_MAP_improv 2022-03-09 14:57:33 +01:00
francescomani
e7508533b6 review fix 2022-03-09 14:57:26 +01:00
Florian Kaltenberger
bd2a27f6cc some more error checks + data collection 2022-03-09 14:53:59 +01:00
Hongzhi Wang
d91226f07f Load ldpc_offload lib in softmodem 2022-03-09 14:45:58 +01:00
Robert Schmidt
73bd9034aa Use strtok_r() to split strings in gnb_config.c 2022-03-09 14:39:38 +01:00
Hongzhi Wang
8af206c644 adding allocation free function for offload 2022-03-09 14:39:03 +01:00
Florian Kaltenberger
2423996bba adding some error checks 2022-03-09 14:38:41 +01:00
Hongzhi Wang
00ba6b6bb1 add offload on cmdline and bugfix 2022-03-09 14:38:25 +01:00
Hongzhi Wang
a96aeff279 adding post decoding for offload 2022-03-09 14:38:08 +01:00
Hongzhi Wang
1247a02f6d Initializing the device in lib load function 2022-03-09 14:37:45 +01:00
Hongzhi Wang
7b88c36ba6 moving more init functions to device initialization 2022-03-09 14:37:27 +01:00
Hongzhi Wang
6532db1233 moving device init functions out from decoding 2022-03-09 14:36:56 +01:00
Hongzhi Wang
c739337e66 adding offload multiple segments 2022-03-09 14:36:01 +01:00
Hongzhi Wang
52450c449f code cleanup ldpc offload 2022-03-09 14:35:40 +01:00
Hongzhi Wang
4238ff04c5 moving ldpc offload to ulsch decoding function 2022-03-09 14:35:16 +01:00
Hongzhi Wang
aed61728dc removing hardcoded parameters 2022-03-09 14:34:31 +01:00
Hongzhi Wang
6639ad24fc removing test vector config file 2022-03-09 14:34:06 +01:00
Hongzhi Wang
a8bee7ae21 Update ldpc offload decoder input and output 2022-03-09 14:32:49 +01:00
Hongzhi Wang
030aa253e8 adding temporarily bbdev testsuite in ldpc_decoder_offload to check t1 card connection 2022-03-09 14:32:26 +01:00
Hongzhi Wang
ec25a03fbb adding dpdk library and ldpc offload library 2022-03-09 14:25:02 +01:00
Robert Schmidt
b63c7b0e54 Merge remote-tracking branch 'origin/usrp_x400-rebase' into integration_2022_wk10 2022-03-09 10:24:35 +01:00
Robert Schmidt
fd7c9b8819 Merge remote-tracking branch 'origin/doc-fixes' into integration_2022_wk10 2022-03-09 10:23:48 +01:00
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
Melissa Elkadi
d1cd5b771b Clean up to nFAPI and error checking UL_TTI_REQ n_pdus
We seprarated out the large if block in the push/pull
of the UL_TTI_REQ fields to make it easier to read
and debug. Furthermore, we add in AsserFatals before
indexing in UL_TTI_REQ PDU list to ensure we are not
indexing past the end of the array.
2022-03-08 07:47:44 -08:00
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
francescomani
afb4cab5e1 fix dl retransmissions 2022-03-08 14:30:16 +01:00
rmagueta
db0ce84aa5 Fix FAPI for CSI-RS pdu and associated procedures 2022-03-08 13:18:17 +00:00
Raphael Defosseux
05a63b60e5 fix(doc): README does not have anymore the license info
* Also added obsolence messages for the old L2 simulator since 2022.w01 EpiSci merge
  * Added link to their new tutorial

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-08 10:58:31 +01:00
francescomani
deee2a9ca1 Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-03-08 09:16:18 +01:00
Raymond Knopp
f2e21b7381 removed AssertFatal in nr_sch_dmrs.c which prevented using type B configuration (e.g. for 10 MHz test in CI) 2022-03-08 07:47:46 +01:00
Robert Schmidt
d8209228e7 Hide warning of unused variable
From the comment above the line with the warning:
> This asn1cCalloc leaks memory but also masks a bug.
> If we delete this asn1cCalloc statement, eNB will crash in NSA mode.
> Please don't delete the following line unless the bug has been found
2022-03-07 23:24:50 +01:00
Robert Schmidt
9714877ee0 Merge remote-tracking branch 'origin/remove-NR_UE_PBCH' into integration_2022_wk10 2022-03-07 23:12:49 +01:00
Robert Schmidt
e285b003dc Merge remote-tracking branch 'origin/isolate-lfds' into integration_2022_wk10 2022-03-07 23:11:55 +01:00
Robert Schmidt
ca5f4755ee Merge remote-tracking branch 'origin/F1_sync_configuration' into integration_2022_wk10 2022-03-07 23:08:40 +01:00
Melissa Elkadi
b66d187477 Including more UE conf files for multi-UE tests 2022-03-07 12:00:10 -08:00
Melissa Elkadi
a6049bcddf Relying on mac->ra.ra_state instead of RRC state. 2022-03-07 11:59:23 -08:00
Robert Schmidt
d03a8b387f Set kernel parameters when loading N300 2022-03-07 18:01:03 +01:00
Robert Schmidt
4d9ee5d11c Add X400 to devtype_names, make char* array 2022-03-07 18:01:03 +01:00
Florian Kaltenberger
473328a057 Add support for USRP X400 2022-03-07 18:00:57 +01:00
Thomas Schlichter
e3901a499b call process_CellGroup() after add_new_nr_ue() in gNB_scheduler_ulsch.c
In case of do-ra mode (NSA) the OAI UE needs this, so the gNB correctly establishes the DRB.
2022-03-07 16:22:50 +01:00
Thomas Schlichter
e7500354c1 harmonize RLC and PDCP configurations in nr_DRB_preconfiguration() and fill_default_secondaryCellGroup()
nr_DRB_preconfiguration() is used in phy-test mode by both, OAI UE and gNB, and in all other modes by OAI UE.
Because of inconsistencies, data transfer with OAI UE was only reliably working in phy-test mode.
Ultimately, OAI UE should use nr_DRB_preconfiguration() only in phy-test mode and do proper DRB configuration instead in all other modes!
2022-03-07 16:02:01 +01:00
francescomani
ea984f8c4c using a global definition for the number of nscid for dmrs 2022-03-07 15:51:33 +01:00
Melissa Elkadi
79cc21f6f5 Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-07 06:33:51 -08:00
rmagueta
bbe806a870 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-03-07 13:10:40 +00:00
francescomani
b8935b7761 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-07 10:37:48 +01:00
Thomas Schlichter
05daeb66b4 Merge remote-tracking branch 'origin/develop' into fix_nr_odd_prb 2022-03-07 10:09:51 +01:00
francescomani
1dac24844b Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-03-07 09:47:19 +01:00
Thomas Schlichter
9378a076ee Merge remote-tracking branch 'origin/develop' into continuous-tx 2022-03-07 09:44:49 +01:00
francescomani
8dfc5d59b4 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-07 09:26:08 +01:00
francescomani
4e76491f79 Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-03-07 09:09:17 +01:00
Raymond Knopp
2bd90d5b49 Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair2/RRC/NR/MESSAGES/asn1_msg.h
2022-03-07 07:38:03 +01:00
luis_pereira87
b2316f045e Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-07 01:19:20 +00:00
Raymond Knopp
fcd88de2ab SR/CSI multiplexing fix. default sl_head=6 instead of 4 to check if RF simulator behaves better 2022-03-07 00:08:12 +01:00
Laurent Thomas
939b249ba8 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into remove-NR_UE_PBCH 2022-03-06 15:53:09 +01:00
Laurent Thomas
aa910f52b6 debug after develop merge 2022-03-06 15:52:42 +01:00
Raymond Knopp
3402ea00cc build for NR UE 2022-03-06 09:40:36 +01:00
Raymond Knopp
091386174e bugfix for new sf_ahead parameter 2022-03-05 23:20:35 +01:00
Raymond Knopp
4ca985858f to trigger CI 2022-03-05 22:24:34 +01:00
Raymond Knopp
f99754a5ea Merge remote-tracking branch 'origin/develop' into tdd25period_for_MR
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-03-05 21:12:32 +01:00
Raymond Knopp
79a5249a72 for testing 2022-03-05 16:18:06 +01:00
rmagueta
a77769d45b Fix build after merge 2022-03-05 02:32:34 +00:00
rmagueta
a634f14f74 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
2022-03-05 01:58:51 +00:00
luis_pereira87
bb89ae3aca Delete duplicated prototype function (update to develop implementation) 2022-03-05 01:42:26 +00:00
rmagueta
de8aa24de5 Get CSI-RS symbols from received signal at UE 2022-03-05 01:37:38 +00:00
francescomani
26d8766d27 Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-04 18:08:09 +01:00
francescomani
4fcbdc24a3 Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-03-04 17:50:43 +01:00
francescomani
d7b117ba25 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-04 17:24:53 +01:00
luis_pereira87
9f88fe18a3 Creation of get_pdsch_TimeDomainAllocationList function to avoid replicated code 2022-03-04 16:10:45 +00:00
luis_pereira87
078dff03b1 Revert do_SRS to develop version in config files (re-enable SRS) 2022-03-04 15:43:52 +00:00
luis_pereira87
3f0eee5019 Replace module_id by sib1 as input parameter in some functions where only sib1 is required 2022-03-04 15:38:48 +00:00
luis_pereira87
11334aa45f Delete duplicated prototype function (update to develop implementation) 2022-03-04 14:34:26 +00:00
luis_pereira87
0e85b51f76 Creation of get_dl_bwp_genericParameters and get_ul_bwp_genericParameters functions to avoid replicated code 2022-03-04 14:15:58 +00:00
luis_pereira87
0d92901787 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures 2022-03-04 13:09:44 +00:00
matzakos
41635fafd7 Remove redundant BWP conf. parameters in CU/DU configuration files 2022-03-04 13:09:06 +01:00
Melissa Elkadi
7e0757fb48 Addressing MR review comments
- OPENAIR_DIR replaced with AWGN_RESULTS_DIR
- Copying UCI_2_3_4 PDU with rx'd PDU from proxy
- Reverting hacks/whitespace changes
2022-03-03 15:46:54 -08:00
francescomani
f9cebbdebb bugfix for dl_dmrs_config in SA 2022-03-03 18:34:09 +01:00
francescomani
38ad123714 fix for VRB map occupation for PRACH 2022-03-03 17:50:57 +01:00
Raymond Knopp
2776ec78b0 Add initial support for DL Data Delivery status reporting over NR-User plane protocol in gtp-u 2022-03-03 17:21:59 +01:00
Raymond Knopp
d4b566ceb8 Update ori.h for AW2S RU 2022-03-03 17:21:23 +01:00
francescomani
dcb414c38f bugfix for pusch 2022-03-03 13:55:02 +01:00
francescomani
f2314ff6a7 logs 2022-03-03 11:29:06 +01:00
francescomani
e0acdf6d67 missing condition on free nr_mimo_precoding_matrix 2022-03-03 08:59:13 +01:00
rmagueta
35324cfa12 Call nr_generate_csi_rs at UE side too 2022-03-02 18:30:02 +00:00
francescomani
c36c8ccae0 addressing additional review and some wrong allocation 2022-03-02 18:54:35 +01:00
rmagueta
6c27a40f09 Creation of nr_csi_rs_info_t 2022-03-02 16:30:54 +00:00
rmagueta
c272bb2f7c Generalization of the nr_generate_csi_rs function to be able to call it in gNB and UE 2022-03-02 15:23:15 +00:00
francescomani
647adcd6ce more leaks fixed 2022-03-02 15:48:40 +01:00
rmagueta
7fdd7547be Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-03-02 13:14:09 +00:00
francescomani
dcbc60df6b cleanup nr ue phy init 2022-03-02 11:57:01 +01:00
Laurent Thomas
4c62aef755 rebase on develop 2022-03-02 11:26:16 +01:00
francescomani
bc158e4ce4 fixing asan leaks after merge 2022-03-02 11:00:17 +01:00
Thomas Schlichter
d09366c503 NR_UE: correctly scale UL frequency offset (relevant for FDD) 2022-03-02 09:27:16 +01:00
Thomas Schlichter
bf4429196a NR_UE: fix UL retransmission 2022-03-02 09:27:03 +01:00
Robert Schmidt
7683014c80 Fix nr_dlsim 2022-03-01 18:29:46 +01:00
Melissa Elkadi
241f00d170 Adding min_rxtxtime = 6; to NSA gNB conf file 2022-03-01 08:29:27 -08:00
Melissa Elkadi
bf153a2306 Merge branch 'eurecom-develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-01 07:23:54 -08:00
Melissa Elkadi
7681feee07 Removing "included fixes" from root dir README 2022-03-01 07:23:14 -08:00
francescomani
eec513ab4f Merge remote-tracking branch 'origin/develop' into NR_DL_TBSLBRM 2022-03-01 16:05:30 +01:00
francescomani
9e26621d4b Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-01 15:54:31 +01:00
francescomani
43ea92bf8f Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-03-01 15:08:30 +01:00
francescomani
62f23df256 Merge remote-tracking branch 'origin/develop' into nr_gold_init_improv 2022-03-01 12:15:57 +01:00
francescomani
e443f75d47 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-01 11:20:14 +01:00
francescomani
7bda635e03 handling 2-port CSI report at MAC gNB 2022-03-01 10:57:54 +01:00
matzakos
e5c6ee599c Merge with latest updates of develop and fixes for F1
-Problem when parsing UE_RAT_container_list at the DU through UE context setup request
-Some debug logs added to be removed once this is fixed
2022-02-28 21:51:41 +01:00
Laurent Thomas
c8abd3c0bf remove lfds v6, lfds v7 for flexran only 2022-02-28 20:47:27 +01:00
matzakos
55d59e5f2a Merge remote-tracking branch 'origin/repair-f1-5g' into F1C_extensions_develop 2022-02-28 14:44:01 +01:00
Thomas Schlichter
cf5dafe74e use only one memcpy() in case "start_re + nb_re == ofdm_symbol_size" in nr_ulsch_demodulation.c and nr_dlsch_demodulation.c 2022-02-28 14:14:01 +01:00
Thomas Schlichter
49196f3c91 NR_UE: fix nr_dlsch_extract_rbs_single() for start_rb > nb_rb_pdsch/2 2022-02-28 14:08:45 +01:00
matzakos
368819310d Synchronize config files of CU/DU with the ones of the CI 2022-02-28 10:14:29 +01:00
Robert Schmidt
b8511d511d fix 2022-02-26 00:05:36 +01:00
francescomani
588e013d2d fix physim compilation 2022-02-25 18:23:39 +01:00
francescomani
15565c9659 gold init improvement at ue for pusch 2022-02-25 14:49:31 +01:00
Thomas Schlichter
34ab52b6c3 fix scrambling initialization in nr_dlsim and nr_ulsim 2022-02-25 13:35:50 +01:00
francescomani
b9ae5db874 gold init improvement at ue for dl channels 2022-02-25 12:09:42 +01:00
francescomani
e96bb10289 improving also pusch dmrs init 2022-02-25 10:05:14 +01:00
Thomas Schlichter
2655748b69 NR_UE: fix nr_pdcch_extract_rbs_single() for odd number od PDCCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter
d0beb9796c NR_UE: fix nr_pdcch_channel_estimation() for odd number of PDCCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter
c7ca405199 gNB: fix nr_generate_pdsch() for odd number of PDSCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter
4d90aad48f NR_UE: fix nr_dlsch_extract_rbs_single() for odd number of PDSCH RBs 2022-02-25 09:35:44 +01:00
Melissa Elkadi
7aed0b6e76 These changes should not be checked in or merged to develop 2022-02-24 16:01:51 -08:00
Melissa Elkadi
2b1cc455b0 Merge branch 'episys-ul-info-cleanup' into episys/master-sa 2022-02-24 15:48:43 -08:00
Melissa
da63c3f69a Merge branch 'episys/mel/debug-thorughput-new-sa-master' into 'episys/master-sa'
Properly sending DL ACK/nACKs

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

See merge request aburger/openairinterface5g!114
2022-02-23 22:59:45 +00:00
Deokseong "David" Kim
bfebc0cb18 Using message_id to identify channel info. 2022-02-23 22:59:45 +00:00
rmagueta
3eaebbca93 CSI PDU received at PHY layer in new function nr_ue_csi_rs_procedures at UE 2022-02-23 20:23:34 +00:00
Laurent THOMAS
f4c39e9dd3 Merge branch 'fix-legacy-errors-lte' of https://gitlab.eurecom.fr/oai/openairinterface5g into fix-legacy-errors-lte 2022-02-23 20:59:04 +01:00
Laurent THOMAS
db1cc4cf5f better variable name 2022-02-23 20:37:30 +01:00
rmagueta
853776ef2f Implementation of FAPI procedures for CSI at UE 2022-02-23 19:32:20 +00:00
rmagueta
05a9c0e264 Fix in nr_ue_scheduler for CSI 2022-02-23 18:12:36 +00:00
rmagueta
fdce62f799 Add cyclic_prefix in csirs_config_pdu at UE 2022-02-23 18:05:45 +00:00
Laurent THOMAS
a4216b44ef ue sync, assert in wrong PUCCH decoded values 2022-02-23 18:43:47 +01:00
rmagueta
5bae6dd6f3 Add missing fiels in fapi_nr_dl_config_csirs_pdu_rel15_t 2022-02-23 16:11:13 +00:00
francescomani
d4ce30c54d additional review fixes 2022-02-23 16:52:13 +01:00
rmagueta
3ae8f393f4 Add logs in nr_generate_csi_rs 2022-02-23 15:05:02 +00:00
rmagueta
41976e7653 Fix build after merge 2022-02-23 16:04:00 +01:00
francescomani
74a01ca46a Merge remote-tracking branch 'origin/develop' into nr_csirs_rrc_harmonization 2022-02-23 16:03:54 +01:00
francescomani
17dc227c3b Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-02-23 15:20:22 +01:00
rmagueta
4d17364142 Fix build warnings 2022-02-23 14:16:58 +00:00
rmagueta
0e0526e367 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.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/RRC/NR/rrc_gNB_nsa.c
2022-02-23 13:51:31 +00:00
francescomani
faf38c7e56 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-23 14:20:39 +01:00
francescomani
4c8c11d9db Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-23 13:53:11 +01:00
luis_pereira87
dc4a82934d Fixes after merge 2022-02-23 11:53:57 +00:00
luis_pereira87
47fc4750e1 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-02-23 11:34:37 +00:00
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
Robert Schmidt
f9079f1d2b Do not do RLC Ind if no data for LC 2022-02-23 10:15:53 +01:00
Robert Schmidt
06236ff796 Consider fixed MAC overhead while no RLC PDU number 2022-02-23 10:15:53 +01:00
Robert Schmidt
79591741e1 Fixup: do not abort scheduling when UE has no CCE 2022-02-23 10:15:53 +01:00
Guido Casati
f8d6677d4d Adapted phytest scheduler to multiple LCs scheduling logic 2022-02-23 10:15:53 +01:00
Guido Casati
0df80e648a Replaced lcid_mask with arrays logic
- this will be later used to prioritise the LCs
2022-02-23 10:15:50 +01:00
Guido Casati
68471d0525 Extending DL scheduling to multiple LCIDs 2022-02-23 10:11:27 +01:00
rmagueta
ed6aa9f505 Replace AssertFatal with a LOG in nr_get_csi_payload at UE 2022-02-22 20:09:58 +00:00
rmagueta
0ced14a56d Fix in nr_set_pdsch_semi_static 2022-02-22 20:02:15 +00:00
rmagueta
bb82697819 Fix segmentation fault at UE in nr_schedule_csi_for_im and nr_schedule_csirs_reception 2022-02-22 19:14:17 +00:00
rmagueta
cf284d76f0 Fix build after merge 2022-02-22 17:49:59 +00:00
francescomani
774b750cb1 fix for mimo dlsim 2022-02-22 17:27:42 +01:00
Raymond Knopp
1976f433dc changes for Panther 2022-02-22 16:15:29 +01:00
rmagueta
6f19524e95 Merge remote-tracking branch 'origin/CSI-SA' into develop-CSI
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.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
#	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/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
2022-02-22 15:10:20 +00:00
francescomani
c3d0d6d82a addressing review comments 2022-02-22 14:39:04 +01:00
rmagueta
628726caae Fix build after merge 2022-02-22 13:33:36 +00:00
rmagueta
4f58d66972 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into develop-CSI
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-22 13:14:12 +00:00
francescomani
edb32cad99 fix in config_csirs 2022-02-22 13:37:39 +01:00
hardy
4a060892d2 fix NSA T tracer file copy 2022-02-22 13:24:58 +01:00
francescomani
69baaa6998 Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-02-22 11:21:59 +01:00
rmagueta
2b108cdded Merge remote-tracking branch 'origin/NR_UE_CSIRS_scheduling' into develop-CSI 2022-02-22 10:09:51 +00:00
rmagueta
580f56c869 Revert "Implementation of fill_default_csi_MeasConfig"
This reverts commit 777074ff79.
2022-02-22 10:08:39 +00:00
rmagueta
777074ff79 Implementation of fill_default_csi_MeasConfig 2022-02-21 20:23:27 +00:00
rmagueta
d820051397 Update config files 2022-02-21 17:46:02 +00:00
francescomani
4fbf9ea10e fix for 2 antenna ports 2022-02-21 18:35:08 +01:00
francescomani
77c8439ba3 remoing unused parameter 2022-02-21 15:24:17 +01:00
francescomani
30f6210932 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-21 15:16:39 +01:00
Sakthivel Velumani
f6e25c0e15 code cleanup ldpctest.c 2022-02-21 16:41:18 +05:30
luis_pereira87
fb6936fe27 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
#	openair2/RRC/NR/rrc_gNB.c
2022-02-21 11:00:27 +00:00
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
Sakthivel Velumani
f448f8021f removed init function 2022-02-21 15:28:38 +05:30
Sakthivel Velumani
9b4a7526ad Fix incorrect merge 2022-02-21 15:26:00 +05:30
francescomani
d12eb8efc4 Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-02-21 10:38:23 +01:00
francescomani
ec539fc6a5 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-21 10:02:30 +01:00
Sakthivel Velumani
1c49caddc8 Merge branch 'develop' into ldpc-decoder-memory 2022-02-21 13:53:06 +05:30
Raymond Knopp
c02650826d SIMD alignment of stack arrays in ptrs channel estimation. 2022-02-19 17:17:09 +01:00
Raymond Knopp
9790eb1adc Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	cmake_targets/phy_simulators
	cmake_targets/phy_simulators/CMakeLists.txt
2022-02-19 13:14:53 +01:00
Raymond Knopp
6d9d1f0b94 changes for 2.5ms TDD period 2022-02-19 13:07:20 +01:00
Melissa Elkadi
ca336ea917 Fixing comments from MR review. 2022-02-18 10:27:34 -08:00
Melissa Elkadi
221e8402cc Fixing spacing in lines were already changing 2022-02-18 10:14:16 -08:00
Melissa Elkadi
b2e2a6bc2e Changing UL_INFO naming convention to be normal 2022-02-18 10:08:44 -08:00
Melissa Elkadi
0db8f80f73 Removing invalid log 2022-02-18 09:58:26 -08:00
Melissa Elkadi
b7c767147e Hacks with comments are added in this commit.
These allow the NRUE to reach roughtly 15-25 Mbps
with ~20%-34% packetloss without crashing.
2022-02-18 09:48:38 -08:00
Melissa Elkadi
bf3d7959bd Comment for #define _GNU_SOURCE 2022-02-18 09:39:06 -08:00
Melissa Elkadi
cc22ec9978 Calling scheduler before handling DCI to ensure nbits are set
Previously, we thought the memset in the nr_ue_dl_indication()
was causing issues / exposing a race. This is not the case. The
memset is not problematic, the issue is that in the emulate_l1
mode we were not always configuring the DCI nbits before handling
the DCI when we are pushing high (15 Mbps) throughput traffic.
2022-02-18 09:29:00 -08:00
Laurent THOMAS
dca9be3c33 code review comments (incl. actual bugs) 2022-02-18 16:10:10 +01:00
francescomani
2cc96f5025 log level fix for ptrs in dlsim 2022-02-18 11:11:48 +01:00
hardy
58e0e33327 test T_stdout 2 for NSA 2022-02-18 11:06:08 +01:00
francescomani
9eb1137b54 fix for scc/scc_SIB at UE 2022-02-18 10:14:52 +01:00
Laurent THOMAS
39dd02aeef Merge branch 'remove-NR_UE_PBCH' of https://gitlab.eurecom.fr/oai/openairinterface5g into remove-NR_UE_PBCH 2022-02-18 09:41:43 +01:00
Laurent THOMAS
8e3f720b7d fix unaligned mem for SIMD 2022-02-18 09:41:18 +01:00
Laurent THOMAS
18a421578f finish remove global vars for UE PBCH 2022-02-18 09:41:18 +01:00
Laurent THOMAS
53001d0d10 remove-NR_UE_PBCH scope to finish 2022-02-18 09:41:18 +01:00
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
Melissa Elkadi
a21fb77dd1 Added comment to justify uci_size condition
Also, properly filling the CCE index and Agg level
in the stub function when we get the DCI from
nfapi
2022-02-17 10:25:28 -08:00
francescomani
7b4b7b9619 fix for dlschsim 2022-02-17 18:13:57 +01:00
Melissa Elkadi
2208abfedd Modifying change to MAC layer
Instead of conditionally calling the pucch_scheduler
we now only call the functions we need from the stub
function directly. This is better because we are not
modifying the OAI MAC layer code and ensuring that we
are not calling the pucch_scheduler twice for the same
sfn/slot
2022-02-17 08:48:26 -08:00
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
ba27a01827 fix dlschsim 2022-02-17 10:43:37 +01:00
francescomani
bcbafdf094 fix for ulprbbl memcpy 2022-02-17 10:31:16 +01:00
francescomani
77153fbf5f TBSLBRM for DL computed ad MAC (added fapi parameter) 2022-02-17 10:16:22 +01:00
Melissa Elkadi
5637b62ed8 Return in gNB if pdu_len is less than cast length
This is what we did in the NRUE for NSA mode
2022-02-16 16:26:41 -08:00
Melissa Elkadi
c917352dd2 Resolving issues in MR:
Adding error checking before indexing in mac layer harq array
Adding error checking before writing ul_harq_sfn_slot
Added comments
Made a "static" free_uci_inds() actually static
2022-02-16 16:11:19 -08:00
Melissa Elkadi
e5ddd558ad Fixing spacing in nfapi code 2022-02-16 15:13:26 -08:00
Melissa Elkadi
3c925942a9 Getting rid of pthread warning with GNU_SOURCE 2022-02-16 13:18:32 -08:00
Melissa Elkadi
10d0f13ceb Revert "Getting rid of pthread warning and fixing nfapi"
This reverts commit 9a78b58927.
2022-02-16 13:15:15 -08:00
Melissa Elkadi
9a78b58927 Getting rid of pthread warning and fixing nfapi
The nfapi code releases dl_ttis and tx_data_reqs
if the buffer has data in it. In the proxy code we
overwrite this instead of dropping the packet.
2022-02-16 13:12:12 -08:00
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
matzakos
fb153cc792 Merge remote-tracking branch 'origin/NR_SA_UID' into F1C_extensions_develop 2022-02-16 16:08:58 +01:00
matzakos
d3d9325081 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-02-16 16:08:34 +01:00
Laurent THOMAS
d1c2eb03db Merge branch 'fix-legacy-errors-lte' of https://gitlab.eurecom.fr/oai/openairinterface5g into fix-legacy-errors-lte 2022-02-16 15:11:18 +01:00
Laurent THOMAS
2ea133ffa4 ue sync, assert in wrong PUCCH decoded values 2022-02-16 15:04:15 +01:00
Laurent THOMAS
96f2b4e2f3 fix unaligned mem for SIMD 2022-02-16 14:49:19 +01:00
francescomani
8c1ed65c1f Merge remote-tracking branch 'origin/develop' into NR_MIMO_memory 2022-02-16 13:46:54 +01:00
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
83cd94cf6a dynamic selection of codewords for DL init 2022-02-16 11:18:15 +01:00
francescomani
cdaaece997 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-16 08:33:12 +01:00
Laurent THOMAS
6054d3aecc finish remove global vars for UE PBCH 2022-02-15 17:44:24 +01:00
Laurent THOMAS
67ca2759b2 remove-NR_UE_PBCH scope to finish 2022-02-15 13:13:15 +01:00
francescomani
84eb7763bd using config file parameters in init_codebook_gNB 2022-02-15 09:46:13 +01:00
Melissa Elkadi
abddc13a13 Adding \n to several logs and demoting two logs 2022-02-14 13:51:57 -08:00
Melissa Elkadi
ea6e96aada Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master 2022-02-14 12:25:36 -08:00
Melissa Elkadi
d8d616a1fa Setting timing advance in stub function.
The timing advance field could be abstracted in
the proxy gNB. Currently we are not abstracting
this value.
2022-02-14 12:24:34 -08:00
Melissa Elkadi
5e7de1cdfc Fixing typo and adding .h files for linking 2022-02-14 11:41:22 -08:00
Melissa Elkadi
af18fc7e70 Log demotion and white space clean up 2022-02-14 11:14:13 -08:00
Melissa Elkadi
26349dbe20 More clean up for merge request 2022-02-14 11:07:14 -08:00
Melissa Elkadi
987363b8a8 Clean up for MR 2022-02-14 10:34:23 -08:00
francescomani
ec4ae32af0 N1 N2 and XP for DL antenna ports in config file 2022-02-14 19:00:55 +01:00
francescomani
db257fd5a9 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-14 18:29:09 +01:00
francescomani
c4f1812cc9 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-14 18:14:19 +01:00
luis_pereira87
7e1b38db13 Fix segmentation fault in phy-test 2022-02-14 14:03:05 +00:00
luis_pereira87
fdc2cb8716 Fix pucch resource calculation 2022-02-14 13:11:03 +00:00
luis_pereira87
6436f77aa0 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures 2022-02-14 10:20:42 +00:00
Sakthivel Velumani
5c9c2783a5 removed crc from ldpctest 2022-02-14 09:49:54 +05:30
Sakthivel Velumani
ba891206e5 fixed stacksmashing error 2022-02-14 09:47:34 +05:30
Sakthivel Velumani
3a22b99869 Merge branch 'develop' into ldpc-decoder-memory 2022-02-14 09:44:15 +05:30
Raymond Knopp
4756c5a167 added configurable "sf_ahead" for NR/LTE in RU section. Tested in NR with sf_ahead=2 (normally 3) 2022-02-13 22:15:48 +01:00
Raymond Knopp
5ba8b83856 Merge remote-tracking branch 'origin/aw2s-n41' into harq_latency_control
Conflicts:
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/nr_rrc_proto.h
	openair2/RRC/NR/rrc_gNB_nsa.c
	openair2/RRC/NR/rrc_gNB_reconfig.c
	targets/ARCH/AW2SORI/oaiori.c
2022-02-13 12:24:45 +01:00
Raymond Knopp
da54df5bb2 Merge remote-tracking branch 'origin/develop' into harq_latency_control
Conflicts:
	cmake_targets/phy_simulators
	openair1/PHY/CODING/crc_byte.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/RRC/NR/rrc_gNB.c
2022-02-13 09:55:01 +01:00
Raymond Knopp
74fd3f029a changes for AW2S NR support in ORI library 2022-02-13 09:44:15 +01:00
englab
665d1caa0b First examples of global structure elements move to function stack 2022-02-11 17:17:07 -05:00
francescomani
67efa202e2 call to config_csirs also in sa 2022-02-11 19:32:40 +01:00
francescomani
9237cb545c passing UECAP structure to RRC reconfiguration functions 2022-02-11 18:57:48 +01:00
francescomani
d2a559f91e improvements in config_csirs 2022-02-11 18:35:26 +01:00
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
Melissa Elkadi
df06a1e8e4 Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master 2022-02-09 16:20:22 -08:00
Melissa Elkadi
4c950bb006 Resetting dl_config->number_pdus in NRUE scheduler 2022-02-09 14:06:55 -08:00
Melissa Elkadi
e81b901355 nFAPI bug fix. Not properly packing/unpacking PUCCH PDU
Attempting to manually cherry-pick this commit:
30c14c2f5a
2022-02-09 14:05:05 -08:00
Melissa
65dadfb3e2 Merge branch 'episys/master-nsa-nfapi-errors' into 'episys/master-nsa'
nfapi.c: Add on_error()

See merge request aburger/openairinterface5g!96
2022-02-09 13:56:27 -08:00
Melissa Elkadi
9322701ce4 Need a break if we queue a ul_tti_req based on PDU state
If we dont have this break we are trying to queue
the UL_TTI_REQ we just queued
2022-02-09 13:32:09 -08:00
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
Melissa Elkadi
60a9d41bc6 UCI ACK/NACK most of the way working
We have gotten rid of filling the ACK/NACK with
the DLSCH and now only fill with the PUCCH. This
assumes that the MAC layer is properly decoding the
dl_tti_req and tx_data_req and allows us to
simply use the MAC layers scheduled SNF/Slot
to return the ACK NACK. There are some hacks added
in this commit which ensure that the PDCP packet
has the correct header (1st byte = 80) and now with
15Mbps we are seeing about 20% packet loss and
a gNB bug on the edge case (current frame is 1023
and the gNB schduler wants an ACK in frame 0 but the
scheduled UL_TTI_REQ has a frame of 1023).
2022-02-09 07:59:10 -08:00
Melissa Elkadi
f336cbc645 Fixing pull/push array 32 and cleaning nFAPI code
Several of these changes were made previously and
lost in the merge.
2022-02-09 07:30:04 -08:00
luis_pereira87
3dce1171d5 Fixes after merge 2022-02-09 11:16:38 +00:00
luis_pereira87
9610b7124c Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
2022-02-09 11:10:31 +00:00
Raymond Knopp
dccbd9279a Some hardcoded values in F1AP for testing with Accelleran to be removed later 2022-02-09 11:05:23 +01:00
Thomas Schlichter
76885758aa add support for continuous transmission
In case of TDD we usually disable TX during RX.
Unfortunately some USRPs create self-interference after disabling TX.
To be able to work-around this issue, we add the flag "--continuous-tx".
2022-02-09 08:56:15 +01:00
Melissa Elkadi
a1dee602fe Duplicated packing and unpacking fixed in this commit
This now matches the develop branch as well.
2022-02-08 17:11:59 -08:00
Melissa Elkadi
a8a04c7293 Accidentally ommited SISO channel modeling change
We should be setting the queued UCI indication slot
based on the SCHEDULED slot, not the current slot.
2022-02-08 16:55:25 -08:00
Melissa
fb3e3ea6e5 Merge branch 'episys/david/adding_NR_to_NUM_MCS' into 'episys/master-nsa'
Added NR to NUM_MCS for nr channel modeling.

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

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

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

See merge request aburger/openairinterface5g!104
2022-02-08 14:51:55 -08:00
Melissa Elkadi
9da3cbc9ec Cherry picking UCI multiplexing for CSI reports 2022-02-08 13:03:13 -08:00
Melissa Elkadi
62b525c579 TODO: Revert this change after discussion with OAI 2022-02-08 11:59:54 -08:00
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
francescomani
dd9f285cb7 Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-02-08 15:37:39 +01:00
francescomani
ebfea5a0c9 fix in txdataF_precoding initialization 2022-02-08 13:45:20 +01:00
francescomani
8d7df8d164 rrc configuration for pucch power control 2022-02-07 19:28:51 +01: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
e39ad834c0 Fix dci size for formats 1_0 and 0_0 and improve procedures when using Coreset0 2022-02-04 15:20:24 +00:00
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
francescomani
f056f0c170 txdataF_precoding local 2022-02-03 19:35:30 +01:00
francescomani
a37240197c minor changes, mostly cosmetic 2022-02-03 18:57:22 +01:00
Thomas Schlichter
055bb6a6c2 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-03 10:36:42 +01:00
luis_pereira87
b069dcd3c8 Bug fixes 2022-02-02 20:22:57 +00:00
luis_pereira87
d9ed78ec01 Merge remote-tracking branch 'origin/develop' into fix-initialBWP-procedures 2022-02-02 15:19:07 +00:00
luis_pereira87
c30f478df9 Improve PUCCH configuration procedures 2022-02-02 15:18:06 +00:00
luis_pereira87
0166cd05d6 To use ServingCellConfigCommonSIB when ServingCellConfigCommon is NULL 2022-02-02 15:15:18 +00:00
luis_pereira87
20e767d7b6 Fix preferred DL TDA computation 2022-02-02 15:08:08 +00:00
luis_pereira87
5b875ab25d Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-02-02 15:06:42 +00:00
luis_pereira87
911b40c0c3 Fix DCI format 2022-02-02 15:05:09 +00:00
luis_pereira87
5744749e9a Make NR_BCCH_DL_SCH_Message_t (SIB1) available at MAC gNB 2022-02-02 15:03:25 +00:00
luis_pereira87
aa9e30691b Fix DCI formats 2022-02-02 14:53:36 +00:00
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
2e0823a7ae Change mapping between DRB id and channel id for interoperability with Accelleran CU
-Some hardcodings also added to be removed later
2022-02-01 14:03:42 +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
francescomani
aa6f636198 adding log_e for ulsch segmentation 2022-02-01 10:25:39 +01:00
francescomani
9e2185aa17 some more cleanup in memory allocation 2022-01-31 18:52:50 +01:00
francescomani
c95f544563 dynamic dmrs length initialization depending on actual RBs 2022-01-31 11:17:45 +01:00
francescomani
467172f44d removing pusch 2nd codeword also at gnb 2022-01-27 11:59:55 +01:00
francescomani
d29b17a211 function to configure SR 2022-01-26 17:46:26 +01:00
francescomani
9408c3c0b0 function to set dl_DataToUL_ACK 2022-01-26 13:58:57 +01:00
sfn
0e17edc165 solve division by null for floating point zero forcing, fix fp shift 2022-01-26 03:34:29 +01:00
francescomani
0e106543ef clean up of ulsch ue structures 2022-01-25 18:54:33 +01:00
sfn
631cd33f15 Adjust ZF Rx fixed point shift 2022-01-25 12:10:08 +01:00
sfn
b66c3e0b7b Fix Codebook gen. for 3 and 4 layers 2022-01-25 12:07:38 +01:00
sfn
a73209fefb fix code book I gene. 2022-01-25 12:07:35 +01:00
sfn
283784066e implement and test foating point calc for zero forcing 2022-01-25 12:04:20 +01:00
sfn
b4a8765595 re-write the matrix inversion in zero forcing 2022-01-25 12:04:20 +01:00
sfn
8eae4bbfdc clean up zero forcing Rx 2022-01-25 12:04:20 +01:00
sfn
9ca7f14ce8 Fix 2,3 , and 4 layers zero forcing Rx with fixed point implementation (tested in dlsim) 2022-01-25 12:04:20 +01:00
sfn
8381cba16d re-implement zero forcing rx for dlsch 2022-01-25 12:04:20 +01:00
sfn
1d7569b4af clean up and optimize UE 2022-01-25 12:04:17 +01:00
Thomas Schlichter
7d47e98412 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-01-25 11:38:49 +01:00
matzakos
a19f2e3254 Merge remote-tracking branch 'origin/aw2s-n41' into F1_interop_ACC 2022-01-24 15:11:50 +01:00
Raymond Knopp
cd5e07b67c minor change after merge with develop 2022-01-24 15:06:02 +01:00
Laurent THOMAS
c4f88781e5 ue sync, assert in wrong PUCCH decoded values 2022-01-24 14:19:31 +01:00
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
975f7e868a function to configure pucch resource set 1 (format2) 2022-01-21 19:15:50 +01:00
francescomani
dd6dac1392 function to configure pucch resource set 0 2022-01-21 16:16:02 +01:00
Sakthivel Velumani
aa4db6057b updated ldpctest 2022-01-21 17:34:34 +05:30
francescomani
299ba03b84 passing UECAP structure to RRC reconfiguration functions 2022-01-21 09:29:49 +01:00
francescomani
0d86181a58 using uid also in SA 2022-01-20 18:56:44 +01:00
Sakthivel Velumani
a8a5897a98 Cherry pick ldpc-decoder-crc-check
commit: 3cfefe3c6f7b2854a14d94fb7072ece2ff4c5c0a
2022-01-20 21:08:44 +05:30
Raymond Knopp
a3aae0dd9e made default nr_ulsim configuration not require root privileges (single-thread) 2022-01-20 12:35:13 +01:00
Raymond Knopp
6afebc0e41 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	openair1/SIMULATION/LTE_PHY/dlsim.c
	openair1/SIMULATION/LTE_PHY/ulsim.c
2022-01-20 07:51:29 +01:00
Raymond Knopp
1f9900ba61 LDPC decoder generator cleanup 2022-01-19 23:01:27 +01:00
Raymond Knopp
8d164fe2aa Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-01-19 20:06:08 +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
Raymond Knopp
4caafc7292 removal of lingering .o files in LDPC decoder generator directories. Merge conflict in CMakelists.txt 2022-01-19 11:25:34 +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
matzakos
e5899e2f74 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-01-17 13:19:45 +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
francescomani
350b750c33 Merge remote-tracking branch 'origin/NR_pdcch_improvements' into NR_UL_VRB_MAP_improv 2022-01-14 19:19:21 +01:00
francescomani
b9384917b3 Merge remote-tracking branch 'origin/develop' into NR_UL_VRB_MAP_improv 2022-01-14 19:05:18 +01:00
luis_pereira87
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
Raymond Knopp
7090db60bc Merge remote-tracking branch 'origin/physim-hotfix' into ldpc-decoder-codegen 2022-01-13 10:35:32 +01:00
Raymond Knopp
08100357f7 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-01-13 09:51:08 +01: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
Raymond Knopp
f44d1ccfeb reduced memory requirements of dlsim,ulsim 2022-01-12 14:21:47 +01: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
Raymond Knopp
7d9b3464a8 Merge branch 'ldpc-decoder-codegen' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/ldpctest_BG_1_Zc_384_rate_1-3_block_length_8448_maxit_5.txt
	openair1/PHY/CODING/nrLDPC_decoder.c
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h_native_memcpy
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc/bnProc_gen_avx2
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc_avx512/bnProc_gen_avx512
2022-01-05 14:55:13 +01:00
Raymond Knopp
74ce2cf4be to trigger CI 2022-01-05 01:27:42 +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
Raymond Knopp
40a9792fef build_oai flag to turn off AVX512 generation on machines that have it. Needed for caracal at EURECOM because of CUDA compiler which doesn't like the flag. Added creation of threadpool in nr_ulsim to test channel decoding parallelization on different high CPU count machines 2021-12-24 21:36:06 +01:00
Raymond Knopp
13b8abc310 Merge branch 'develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	openair1/PHY/TOOLS/time_meas.h
2021-12-24 18:19:13 +01:00
francescomani
ff56eb3a5d Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2021-12-24 09:58:15 +01:00
Sy
cd2b80e6c2 some cleanup 2021-12-22 22:36:42 +01:00
Raymond Knopp
50629a83a2 first set of changes to AW2S ORI/eCPRI driver for n78 2021-12-20 21:24:52 +01:00
francescomani
2414a681f8 additional parameters in pucch structure to avoid double computation 2021-12-16 14:44:40 +01:00
Raymond Knopp
2d4453648f Correct how gtp-u extension header is parsed 2021-12-15 18:38:25 +01:00
francescomani
f2f6850b33 first version to check pucch vrb occupation 2021-12-15 18:03:43 +01:00
Raymond Knopp
99e006f750 testing with UM/No Harq 2021-12-15 13:38:00 +01:00
sfn
461cf243e5 Minor change nr_mimo_precoding_matrix 2021-12-15 13:18:19 +01:00
sfn
223ad6aabe Enable 4 layers Transmission for PDSCH: tested only for dlsim and RFsim with pmi=0 2021-12-15 12:55:27 +01:00
francescomani
909f0ad44f changing the name of a function 2021-12-15 09:43:08 +01:00
francescomani
366c42e6fa fix in prach vrb occupation 2021-12-15 09:31:30 +01:00
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
sfn
b942851a4c Fix failure of phy-sim 2021-12-10 15:50:04 +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
Thomas Schlichter
bfd0de0a22 remove now unneccessary MAC includes and forward declaration 2021-12-09 11:38:39 +01:00
sfn
a778f69a76 Remove dependency of init_codebook_gNB on mac parameters 2021-12-09 10:36:01 +01:00
francescomani
9fd889dc3e Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2021-12-09 09:59:07 +01:00
francescomani
e4dc6d11b8 symbol level occupation for ULSCH and msg3 2021-12-08 09:27:33 +01:00
francescomani
7cb3739cf6 bitmap occupation function 2021-12-07 14:54:48 +01:00
francescomani
1dd8c67fc2 block ul prbs in map with prbbl 2021-12-07 14:35:42 +01:00
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
2242c6a8a9 cosmetic changes in codebook initialization 2021-11-29 14:42:07 +01:00
sfn
e993a59d22 Make use of gNB precoding matrix for PDSCH layer precoding 2021-11-29 12:14:33 +01:00
sfn
0517b97382 Add codebook type I precoding matrices generation function 2021-11-29 12:14:33 +01:00
Sy
5521e34360 my Internship project 2021-11-25 17:34:02 +01:00
Raymond Knopp
12792eece7 Modifications in the cellGroupConfig container content of F1 UE context response messages 2021-11-19 18:52:51 +01:00
matzakos
e8d92cbddd Merge remote-tracking branch 'origin/NR_F1C_F1U_extensions' into F1C_extensions_develop 2021-11-19 16:47:47 +01:00
francescomani
7f392cdb24 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-15 11:33:46 +01:00
Raymond Knopp
e51cd863fe Merge branch 'bler_txoptim' into F1C_extensions_develop
Conflicts:
	cmake_targets/CMakeLists.txt
	common/utils/nr/nr_common.c
	openair1/PHY/INIT/nr_parms.c
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
	openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair1/SIMULATION/NR_PHY/dlschsim.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_UE/config_ue.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/LAYER2/nr_rlc/nr_rlc_oai_api.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/rrc_gNB_NGAP.c
	openair3/NAS/NR_UE/nr_nas_msg_sim.c
	openair3/NAS/NR_UE/nr_nas_msg_sim.h
	openair3/ocp-gtpu/gtp_itf.cpp
	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2021-11-14 21:18:50 +01:00
matzakos
40263348f9 Merge with NR_F1C_F1U_extensions and resolve conflicts 2021-11-12 17:01:27 +01:00
matzakos
188a99ca51 Temporary dirty fix to not block SRB1 traffic once SRB2 is added
-This function will change completely after update with develop
2021-11-10 18:35:52 +01:00
matzakos
cd16d7ce03 Make the call to send DCCH SDU to RLC from RRC instead of F1AP 2021-11-10 18:35:05 +01:00
matzakos
f1455f15a3 Check whether RRC Setup is available before sending CBRA Msg4
-Required for the CU/DU split case if the RRC Setup arrives later than the first opportunity to transmit Msg4
-Next extension is to decouple RRCSetup from Msg4
2021-11-10 18:33:48 +01:00
matzakos
6a1ac14447 Include mandatory transaction ID field in F1 initial UL RRC message transfer 2021-11-10 18:31:08 +01:00
francescomani
1396004ccc Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-09 10:44:34 +01:00
matzakos
e2b4f80ac2 Add sNSSAI configuration in F1 Setup request message to the CU
-Required for interoperability with Accelleran CU and OAI CN
-Currently hardcoded values, to be modified so that they are parsed from the DU config file
-After this modification Accelleran CU sends gNBCU configuration update
2021-11-05 10:38:46 +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
matzakos
b103ada542 Fix decoding of SIB1 RRC container at the processing function of F1 setup request at the CU
after modifications done at the encoded SIB1 message type included in the RRC container of F1 setup request at the DU
-Some cleanup required
2021-10-26 18:30:51 +02:00
matzakos
e7f8b56b65 Include NR_SIB1_t type in F1 setup req container instead of the whole NR_BCCH_DL_SCH_Message_t message
-Wireshark is not complaining after that
-Issue at decoding F1 Setup req at the CU due to the new encoding
-Keep the previous encoding as the default for now until the CU issue is fixed
-Fix PUCCH allocation for ACK/NAK issue appearing when DU runs without OAI CU
2021-10-26 13:11:50 +02:00
matzakos
96efe9c03b Enable rrc mac config from init NR SI for the DU case 2021-10-26 12:56:32 +02:00
francescomani
0e0be91aa3 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-10-21 15:07:38 +02:00
matzakos
11cdf1610e Update F1AP UE context release command handling function for NR
-Include ITTI message to RRC to do the actual processing at RRC layer,
 as done for the other F1AP messages. Leave LTE processing as it was for now.
2021-10-20 19:00:51 +02:00
matzakos
85faedfcbe Add triggering of F1 UE Context release command
-Add also a temporary artificial trigger just to be able to test with OAI UE
-Comment out most of the part of the UE context release command handler function at the DU in order to separate properly the RRC from F1AP functionality later.
2021-10-18 18:32:57 +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
matzakos
40b131be13 Small corrections in F1AP UE context management messages and indentation fixes 2021-10-13 16:45:42 +02:00
matzakos
b37195ad1f Few updates on handling master cell group configuration updates coming from the DU 2021-10-13 14:36:38 +02:00
matzakos
1a40b36193 Use correct SCTP port number for F1AP according to standards 2021-10-12 19:38:19 +02:00
matzakos
39aaf63a4e Merge with branch NR_F1C_F1U_extensions 2021-10-11 17:56:28 +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
matzakos
e2c88f91af Trigger dedicated RRC Reconfiguration after processing F1 UE context modification response at RRC layer of the CU
-Successful user-plane traffic over F1-U upon completion of UE context modification procedures
2021-10-08 18:29:39 +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
matzakos
d3899a21a6 Add implementation of UE context modification response handler at F1AP layer of the CU 2021-10-08 13:37:46 +02:00
matzakos
a1b2d222dd Generation of UE context modification response at F1AP layer of the DU
-Fix some indentations
2021-10-08 10:31:53 +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
matzakos
f068fb4ef3 Add handling of UE context modification request at RRC layer of the DU and trigger UE context modification response
-Next step: Proper generation of UE context modification response at F1AP layer
2021-10-06 18:43:10 +02:00
matzakos
b3c0095f07 Add handler function for UE context modification request message at F1AP layer of the DU
-Fix indentation in UE context modification request message generation function at the CU
2021-10-05 17:24:16 +02:00
matzakos
36b8bb1b5b Trigger UE context modification request at the CU upon reception of PDU Session Resource setup request from the AMF
-F1 message successfully encoded at the CU (including SRB2, DRB and F1-U tunnel configuration) and received from the DU.
-Next steps: handling of UE context modification request at the DU and triggering the UE context setup response towards the CU.
2021-10-05 13:43:19 +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
matzakos
a84ecd1468 Merge with branch NR_F1C_F1U_extensions 2021-09-29 13:59:06 +02:00
matzakos
55476b175f Handle UE capabilities info at the DU received through UE context setup request
-Trigger UE context setup response at the DU and RRC Reconfiguration at the CU upon reception of UE context setup response.
-Pending: The DU should generate some updates on the master cell groupconfig based also on the received UE capabilities and add them in
 the UE context setup response message so that they can be included in the RRC Reconfiguration message sent from the CU. For the moment the
 corresponding function is empty.
-Next steps: trigger UE context modification procedures
2021-09-27 18:02:13 +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
matzakos
5e506bfab0 Trigger F1 UE context setup request from CU after reception of NR UE capabilities
-Include UE_Capability_RAT_container_list in UE context setup request so that it gets processed at the DU
-Next steps: DU should store and process the UE capabilities and generate updates in master cell group config
to be included in UE context setup response. Then upon reception of UE context setup response, the first RRC Reconfiguration
can be triggered at the CU with the updates on master cell group config.
2021-09-24 16:36:02 +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
Raymond Knopp
c64362f8ec Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
2020-08-27 07:22:10 +02:00
Raymond Knopp
3bc433a5f8 bugfix from type in last commit 2020-08-27 07:18:49 +02:00
Sy
845a226410 optimized 5G NR LDPC decoder 2020-07-06 02:34:12 +02:00
Sy
c8a787d22c optimized 5G NR LDPC decoder 2020-07-03 14:21:00 +02:00
Sy
559e8fdcd2 degradation of performance in BLER fixed | bnProc & bnProcPc unrolled | small improvement in times 2020-07-01 18:37:52 +02:00
Sy
0f704894f4 degradation of performance in BLER corrected | bnProc & bnProcPc unrolled 2020-07-01 14:12:53 +02:00
Sy
5e5bc1a9e3 Effective management of all values ​​of Z (lifting size) and all R (coding rate) for BG1 & BG2 |
some improvement in decoding time | (bnProcPc reduces 2x)
2020-06-27 02:07:13 +02:00
Sy
c912762144 bnProcPc and bnProc unrolled | BN Processing, small improvement in times at the expense of degraded performance in BLER , reordering of generated files 2020-06-19 23:45:02 +02:00
Sy
394f0deb1b bnProcPc and bnProc unrolled | BN treatment, small improvement in times at the expense of degraded performance in BLER , reordering of generated files 2020-06-19 23:38:37 +02:00
Raymond Knopp
55e32f6e8c removed unnecessary include files 2020-06-06 10:57:33 +02:00
Raymond Knopp
0d65f76d46 removed system includes that were put in the repository 2020-06-06 09:32:41 +02:00
Sy
119be5d45b Re-implementation of memcpy--> more faster | llr2cnProcBuf, cn2bnProcbuf, bn2cnProcBuf are optimized 2020-06-04 02:52:35 +02:00
Sy
cb8760a44d full version of the optimized 5NR LDPC decoder | AVX2 && AVX512 options 2020-06-03 22:57:13 +02:00
Sy
9b11d0b593 full version of the optimized 5NR LDPC decoder 2020-06-03 22:51:05 +02:00
Sy
301317eca6 full version of the optimized 5NR LDPC decoder 2020-06-03 19:04:20 +02:00
Raymond Knopp
a6af0d99ce minor fix for AVX2/AVX512 switch 2020-06-02 13:19:35 +02:00
matzakos
956d9aa1d8 added selection between AVX2 and AVX512 2020-06-02 12:06:38 +02:00
Raymond Knopp
8663ee697e chages in AVX512 code generator. Yields small improvement compared to AVX2, BLER performance is still degraded. 2020-06-01 14:40:11 +02:00
Sy
c67550e531 Test for AVX512 2020-05-29 15:23:22 +02:00
Sy
265b5c4d1b Test for AVX512 2020-05-29 15:19:52 +02:00
Sy
4542322bb4 TEST AVX512 2020-05-29 15:13:56 +02:00
Sy
558fccbba7 TEST AVX512 2020-05-29 15:07:54 +02:00
Sy
b85b5fe47a Test for avx512 2020-05-29 14:57:15 +02:00
Sy
6d9ceaa712 Test for AVX512 2020-05-29 13:51:38 +02:00
Sy
5e5e487e4c Test for avx512 2020-05-29 11:58:55 +02:00
Raymond Knopp
3e27bed4f7 updates to CMakelist.txt for AVX512 options 2020-05-28 12:23:33 +02:00
Sy
bdd12a3396 Testing for avx512 2020-05-27 13:41:57 +02:00
Sy
bfad636369 Testing for avx512 2020-05-26 16:50:32 +02:00
Sy
00a8df6f8f generated CN processing files according to the values of Z | version for AVX2 and AVX512| BG1 & BG2 2020-05-25 14:34:07 +02:00
Sy
a1b81d9475 generated files for CN processing according to the values of Z | version for AVX2 and AVX512 2020-05-23 22:07:22 +02:00
Sy
140fa111c4 file generated for CN processing according to the values of Z | version for AVX2 and AVX512 2020-05-23 21:39:17 +02:00
Sy
ad32b6108e use of avx2 & avx512 at CN processing level 2020-05-19 11:49:10 +02:00
Sy
d3af4c4b8b use of avx2 & avx512 at CN processinf level 2020-05-19 11:46:09 +02:00
Sy
22fe32645b use of avx512 & avx2 at CN processing level 2020-05-18 17:05:50 +02:00
Sy
71a8d19b7d use of avx2 & avx512 at CN Processing level 2020-05-18 13:58:44 +02:00
Sy
3ed622afbd use of avx512 at CN processing level 2020-05-18 11:50:12 +02:00
Raymond Knopp
a7e6137408 unrolled 2 BNs case in generator 2020-05-09 09:14:59 +02:00
Raymond Knopp
581a9731d8 removed one-level of unrolling in cnProc generator 2020-05-08 23:24:04 +02:00
Sy
732b98d1ae adding >> 5 to all lut_startAddrCnGroups 2020-05-08 17:40:45 +02:00
Sy
fe27b81703 adding >> 5 to all lut_startAddrCnGroups 2020-05-08 17:38:44 +02:00
Sy
66c30b9e1d adding >> 5 to all lut_startAddrCnGroups 2020-05-08 17:15:50 +02:00
Raymond Knopp
9db8db256a LUT memory access fix for code generator 2020-05-08 15:26:52 +02:00
Sy
e785891fb1 integration of the generated file (nrLDPC_cnProc_BG1_Z384_13 with the LDPC decoder at the base 2020-05-07 16:28:01 +02:00
Raymond Knopp
f8fbd26b57 more cleanup and testing 2020-05-04 13:18:47 +02:00
Raymond Knopp
fa3a637b72 cleanup of generator, added directory/file creation for output 2020-05-04 11:25:09 +02:00
Raymond Knopp
550ab5009b fixed compilation of generator 2020-05-04 10:19:37 +02:00
Raymond Knopp
cabbb72c0f modifications to Makefile to include OPENAIR_HOME path and activate debugging symbols 2020-05-04 09:45:11 +02:00
Sy
0ee70df312 first commit 2020-05-02 23:35:18 +02:00
1109 changed files with 66826 additions and 86609 deletions

107
.clang-format Normal file
View File

@@ -0,0 +1,107 @@
---
Language: Cpp
# BasedOnStyle: Google
AccessModifierOffset: -1
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: true
BinPackArguments: false
BinPackParameters: false
BitFieldColonSpacing: After
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakStringLiterals: true
ColumnLimit: 200
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: true
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^<ext/.*\.h>'
Priority: 1
- Regex: '^<.*\.h>'
Priority: 1
- Regex: '^<.*'
Priority: 1
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '([-_](test|unittest))?$'
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 2
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Right
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 2
UseTab: Never
...

30
.vscode/launch.json vendored
View File

@@ -10,8 +10,7 @@
"request": "launch",
"program": "${workspaceFolder}/cmake_targets/ran_build/build/lte-softmodem",
"args": [
"-O",
"../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf",
"-O", "../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf",
"--noS1"
],
"stopAtEntry": false,
@@ -27,31 +26,6 @@
"ignoreFailures": true
}
]
},
{
"name": "Launch Chrome (4200 ng serve)",
"type": "chrome",
"request": "launch",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}/common/utils/websrv/frontend"
},
{
"name": "Launch Chrome (localhost)",
"type": "chrome",
"request": "launch",
"url": "http://localhost",
"webRoot": "${workspaceFolder}",
"sourceMapPathOverrides": {
"webpack:/*": "${webRoot}/*",
"/./*": "${webRoot}/*",
"/src/*": "${webRoot}/*",
"/*": "*",
"/./~/*": "${webRoot}/node_modules/*"
},
"trace": true,
"runtimeArgs": [
"--remote-debugging-port=9222"
]
}
]
}
}

View File

@@ -21,7 +21,6 @@ The Regents of the University of California: BSD 3-Clause Licence.
Niels Provos <provos@citi.umich.edu>: BSD 2-Clause Licence.
## Credits for source code openair3/GTPV1-U/nw-gtpv1u: ##
Amit Chawre <http://www.amitchawre.net/contact.html>: BSD 2-Clause Licence.
## Credits for source code openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c and nrLDPC_offload.h: ##
Intel Corporation SPDX-License-Identifier: BSD-3-Clause Licence

View File

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

View File

@@ -4,11 +4,11 @@
replicaCount: 1
namespace: "oaicicd-ran-tmp"
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran-tmp/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim
version: temp
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always

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

@@ -222,7 +222,7 @@ pipeline {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'Test-RF-Sim-Container-4G')
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'Test-RF-Sim-Container-5G')
}
}
post {
@@ -238,6 +238,46 @@ pipeline {
}
}
}
stage ("4G L2 Simulators") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-L2-Sim-Test-4G', 'Test-L2-Sim-Container-4G')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-L2-Sim-Test-4G')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("5G L2 Simulators") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-L2-Sim-Test-5G', 'Test-L2-Sim-Container-5G')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-L2-Sim-Test-5G')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("NSA B200 Sanity Check") {
when { expression {doMandatoryTests} }
steps {
@@ -258,6 +298,26 @@ pipeline {
}
}
}
stage ("SA B200 Sanity Check") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-SA-B200-Module-SABOX-Container', 'Test-SA-B200')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-SA-B200-Module-SABOX-Container')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI NR UE - OAI gNB - TDD - Band 78 - N300") {
when { expression {doMandatoryTests} }
steps {
@@ -278,6 +338,27 @@ pipeline {
}
}
}
//avra is offline, re-enable once it is available
//stage ("Test T1 Offload") {
// when { expression {doMandatoryTests} }
// steps {
// script {
// triggerSlaveJob ('RAN-T1-Offload-Test', 'Test-T1-Offload')
// }
// }
// post {
// always {
// script {
// finalizeSlaveJob('RAN-T1-Offload-Test')
// }
// }
// failure {
// script {
// currentBuild.result = 'FAILURE'
// }
// }
// }
//}
}
}
stage ("Images Push to Registries") {

View File

@@ -111,17 +111,7 @@ pipeline {
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
sh "zip -r -qq localZip.zip ."
// Running astyle options on the list of modified files by the merge request
// For the moment, there is no fail criteria. Just a notification of number of files that do not follow
sh "./ci-scripts/checkCodingFormattingRules.sh --src-branch ${env.gitlabSourceBranch} --target-branch ${env.gitlabTargetBranch}"
def res=readFile('./oai_rules_result.txt').trim();
if ("0".equals(res)) {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): All Changed files in Merge Request follow OAI Formatting Rules"
addGitLabMRComment comment: message
} else {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Some Changed files in Merge Request DO NOT follow OAI Formatting Rules"
addGitLabMRComment comment: message
}
// here was an astyle formatting check, with corresponding messages. The same could be done with clang-format
} else {
echo "Git Branch is ${GIT_BRANCH}"
echo "Git Commit is ${GIT_COMMIT}"
@@ -132,19 +122,6 @@ pipeline {
sh "git log -n1 --pretty=format:\"%s\" > .git/CI_COMMIT_MSG"
sh "zip -r -qq localZip.zip ."
// Running astyle options on all C/H files in the repository
// For the moment, there is no fail criteria. Just a notification of number of files that do not follow
sh "./ci-scripts/checkCodingFormattingRules.sh"
}
// With Mosaic 5G being part of OSA and making all it's repositories public
// No need to pass credentials to clone flexran-rtc
if (doMandatoryTests) {
sh "mkdir flexran"
dir ('flexran') {
sh "git clone https://gitlab.eurecom.fr/flexran/flexran-rtc.git . > ../git_clone.log 2>&1"
sh "git checkout develop >> ../git_clone.log 2>&1"
sh "zip -r -qq flexran.zip ."
}
}
}
}
@@ -159,16 +136,6 @@ pipeline {
}
}
stage ("Start VM -- basic-sim") {
steps {
lock (vmResource) {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
}
stage ("Start VM -- gnb-usrp") {
steps {
lock (vmResource) {
@@ -207,19 +174,10 @@ pipeline {
}
}
}
}
}
stage ("Variant Builds") {
parallel {
stage ("Build basic simulator") {
steps {
gitlabCommitStatus(name: "Build basic-sim") {
timeout (time: 45, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build 5G gNB-USRP") {
steps {
gitlabCommitStatus(name: "Build gNB-USRP") {
@@ -270,9 +228,9 @@ pipeline {
script {
dir ('archives') {
if (fileExists('red_hat')) {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_eth ue_eth gnb_usrp nr_ue_usrp red_hat"
sh "zip -r -qq vm_build_logs.zip enb_eth ue_eth gnb_usrp nr_ue_usrp red_hat"
} else {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_eth ue_eth gnb_usrp nr_ue_usrp"
sh "zip -r -qq vm_build_logs.zip enb_eth ue_eth gnb_usrp nr_ue_usrp"
}
}
if(fileExists('archives/vm_build_logs.zip')) {
@@ -306,44 +264,6 @@ pipeline {
parallel {
stage ("VM-based tests") {
stages {
stage ("Build Flexran Controller") {
when {
expression {doMandatoryTests}
}
steps {
lock (vmResource) {
script {
timeout (time: 20, unit: 'MINUTES') {
try {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant flexran-rtc --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
stage ("Test basic simulator") {
when {
expression {doMandatoryTests}
}
steps {
lock (vmResource) {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test basic-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
stage ("Test L1 simulator") {
when {
expression {doMandatoryTests}
@@ -416,172 +336,13 @@ pipeline {
}
}
}
stage ("Test MONOLITHIC - FDD - Band 7 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
triggerSlaveJob ('eNB-CI-FDD-Band7-B210', 'Test-Mono-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test MONOLITHIC - TDD - Band 40 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
triggerSlaveJob ('eNB-CI-TDD-Band40-B210', 'Test-Mono-TDD-Band40')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-TDD-Band40-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test IF4p5 - FDD - Band 7 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-IF4p5-FDD-Band7-B210', 'Test-IF4p5-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-IF4p5-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test F1 - FDD - Band 7 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-F1-FDD-Band7-B210', 'Test-F1-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-F1-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test IF4p5 - TDD - Band 40 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-IF4p5-TDD-Band40-B210', 'Test-IF4p5-TDD-Band40')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-IF4p5-TDD-Band40-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - FDD - Band 20 - B200") {
when {
expression {doFullTestsuite}
}
steps {
script {
triggerSlaveJobNoGitLab ('UE-CI-FDD-Band20-B200')
}
}
post {
always {
script {
finalizeSlaveJob('UE-CI-FDD-Band20-B200')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - OAI eNB - FDD - Band 7 - B200") {
when {
expression {doFullTestsuite}
}
steps {
script {
// Delayed trigger on slave job, so it is always the last one to run
sh "sleep 240"
triggerSlaveJob ('eNB-UE-CI-MONO-FDD-Band7-B200', 'Test-eNB-OAI-UE-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-UE-CI-MONO-FDD-Band7-B200')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
}
post {
always {
script {
if (doMandatoryTests) {
dir ('archives') {
sh "if [ -d basic_sim/test ] || [ -d rf_sim/test ] || [ -d l2_sim/test ]; then zip -r -qq vm_tests_logs.zip */test ; fi"
sh "if [ -d rf_sim/test ] || [ -d l2_sim/test ]; then zip -r -qq vm_tests_logs.zip */test ; fi"
}
if(fileExists('archives/vm_tests_logs.zip')) {
archiveArtifacts artifacts: 'archives/vm_tests_logs.zip'
@@ -650,68 +411,3 @@ OAI CI Team''',
}
}
}
// ---- Slave Job functions
def triggerSlaveJob (jobName, gitlabStatusName) {
// Workaround for the "cancelled" GitLab pipeline notification
// The slave job is triggered with the propagate false so the following commands are executed
// Its status is now PASS/SUCCESS from a stage pipeline point of view
// localStatus variable MUST be analyzed to properly assess the status
localStatus = build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
], propagate: false
localResult = localStatus.getResult()
echo "${jobName} Slave Job status is ${localResult}"
gitlabCommitStatus(name: gitlabStatusName) {
if (localStatus.resultIsBetterOrEqualTo('SUCCESS')) {
echo "${jobName} Slave Job is OK"
} else {
echo "${jobName} Slave Job is KO"
sh "ci-scripts/fail.sh"
}
}
}
def triggerSlaveJobNoGitLab (jobName) {
// Workaround for the "cancelled" GitLab pipeline notification
// The slave job is triggered with the propagate false so the following commands are executed
// Its status is now PASS/SUCCESS from a stage pipeline point of view
// localStatus variable MUST be analyzed to properly assess the status
localStatus = build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
], propagate: false
localResult = localStatus.getResult()
echo "${jobName} Slave Job status is ${localResult}"
if (localStatus.resultIsBetterOrEqualTo('SUCCESS')) {
echo "${jobName} Slave Job is OK"
} else {
echo "${jobName} Slave Job is KO"
sh "ci-scripts/fail.sh"
}
}
def finalizeSlaveJob(jobName) {
// In case of any non-success, we are retrieving the HTML report of the last completed
// slave job. The only drop-back is that we may retrieve the HTML report of a previous build
fileName = "test_results-${jobName}.html"
if (!fileExists(fileName)) {
copyArtifacts(projectName: jobName,
filter: 'test_results*.html',
selector: lastCompleted())
if (fileExists(fileName)) {
sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' ${fileName}"
archiveArtifacts artifacts: fileName
}
}
}

View File

@@ -26,6 +26,9 @@ def nodeExecutor = params.nodeExecutor
// Name of the phone resource
def ciServerResource = params.serverResource
// Docker Hub account to push to
def DH_Account = "oaisoftwarealliance"
pipeline {
agent {
label nodeExecutor
@@ -55,20 +58,22 @@ pipeline {
stage ("Push to DockerHub") {
steps {
script {
WEEK_TAG = sh returnStdout: true, script: 'date +"%Y.w%U"'
WEEK_REF = sh returnStdout: true, script: 'date +"%Y.w%V"'
WEEK_REF = WEEK_REF.trim()
WEEK_TAG = sh returnStdout: true, script: 'python3 ./ci-scripts/provideUniqueImageTag.py --start_tag ' + WEEK_REF
WEEK_TAG = WEEK_TAG.trim()
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.DH_Credentials}", usernameVariable: 'DH_Username', passwordVariable: 'DH_Password']
]) {
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue"]
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue", "proxy"]
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

@@ -36,6 +36,9 @@ def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Name of the phone resource
def ciEpcResource = params.epcResource
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
@@ -51,7 +54,7 @@ pipeline {
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
lock(extra: [[resource: ciEpcResource]], resource: ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
@@ -216,6 +219,76 @@ pipeline {
}
}
}
stage ("Terminate") {
parallel {
stage('Terminate UE') {
// Bypassing this stage if there are no abd server defined
when {
expression { params.ADB_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate UE\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
}
}
}
stage('Terminate eNB') {
steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
}
stage('Terminate SPGW') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate SPGW\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
stage('Terminate MME') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate MME\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
stage('Terminate HSS') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate HSS\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Build)') {
@@ -242,7 +315,7 @@ pipeline {
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
@@ -259,6 +332,116 @@ pipeline {
}
}
}
stage('Log Collection (SPGW)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (SPGW)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (SPGW)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/spgw.log.zip ./spgw.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("spgw.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "spgw.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (MME)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (MME)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (MME)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/mme.log.zip ./mme.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("mme.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "mme.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (HSS)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (HSS)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (HSS)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/hss.log.zip ./hss.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("hss.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "hss.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Ping)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Ping)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectPing --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Ping)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/ping.log.zip ./ping.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ping.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ping.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Iperf)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Iperf)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectIperf --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Iperf)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/iperf.log.zip ./iperf.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("iperf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "iperf.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}

View File

@@ -20,6 +20,9 @@
* contact@openairinterface.org
*/
// necessary for reading JSON
import groovy.json.JsonSlurper
// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
// Location of the python executor node shall be in the same subnet as the others servers
@@ -37,12 +40,12 @@ pipeline {
stages {
stage ("Launcher") {
steps {
script {
//retrieve MR that are opened nd with tag NSA
MR_LIST= sh returnStdout: true, script: 'curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests?state=opened&per_page=100&labels=NSA" | jq ".[].iid" || true '
echo "List of selected MR:\n${MR_LIST}"
def MR_ARRAY = MR_LIST.split('\n')
//for every selected MR, retrieve the branch name and the latest commit
script {
// retrieve MR that are opened nd with tag NSA
MR_LIST = sh returnStdout: true, script: 'curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests?state=opened&per_page=100&labels=NSA" | jq -cj "[.[].iid]"'
echo "List of selected MRs: ${MR_LIST.trim()}"
def MR_ARRAY = new JsonSlurper().parseText(MR_LIST.trim())
// for every selected MR, retrieve the branch name and the latest commit
for (MR in MR_ARRAY) {
SRC_BRANCH=sh returnStdout: true, script: """curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests/${MR}" | jq ".source_branch" || true """
SRC_BRANCH=SRC_BRANCH.trim()
@@ -113,6 +116,21 @@ pipeline {
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling SA-AmariS
jobName = "RAN-SA-AmariS-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling OAIUE N310-X300
jobName = "RAN-SA-OAIUE-N310-X300-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,26 +0,0 @@
# OAI is using a style that is similar to the Google style
--style=google
# long options can be written without the preceding '--'
# Convert tabs to spaces
convert-tabs
# Indentation is 2 spaces
indent=spaces=2
# Indent 'switch' blocks so that the 'case X:' statements are indented in the switch block.
indent-switches
# Indent preprocessor blocks at bracket level 0.
indent-preproc-block
# Indent multi-line preprocessor #define statements.
indent-preproc-define
# Indent C++ comments beginning in column one.
indent-col1-comments
# Pad empty lines around header blocks
break-blocks
delete-empty-lines
# Attach a pointer or reference operator (*, &, or ^) to the variable name (right)
align-pointer=name
# The code line length is 200 characters/columns (this is the maximum allowed by astyle)
max-code-length=200
# If the line contains logical conditionals they will be placed first on the new line.
break-after-logical
# Force use of the linux end of line
lineend=linux

View File

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

View File

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

View File

@@ -24,8 +24,6 @@ function usage {
echo "OAI Coding / Formatting Guideline Check script"
echo " Original Author: Raphael Defosseux"
echo ""
echo " Requirement: astyle shall be installed"
echo ""
echo " By default (no options) the complete repository will be checked"
echo " In case of merge request, provided source and target branch,"
echo " the script will check only the modified files"
@@ -57,11 +55,10 @@ fi
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`
echo "Nb Files that do NOT follow OAI rules: $NB_FILES_TO_FORMAT"
echo $NB_FILES_TO_FORMAT > ./oai_rules_result.txt
# in this file we previously had a list of files that were not properly
# formatted. At the time of this MR, the Jenkinsfile expects this file, so
# we simply produce an empty one
touch ./oai_rules_result.txt
# Testing Circular Dependencies protection
awk '/#[ \t]*ifndef/ { gsub("^.*ifndef *",""); if (names[$1]!="") print "files with same {define ", FILENAME, names[$1]; names[$1]=FILENAME } /#[ \t]*define/ { gsub("^.*define *",""); if(names[$1]!=FILENAME) print "error in declaration", FILENAME, $1, names[$1]; nextfile }' `find openair* common targets executables -name *.h |grep -v LFDS` > header-files-w-incorrect-define.txt
@@ -77,7 +74,7 @@ then
IS_NFAPI=`echo $FILE | egrep -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext" || true`
IS_OAI_LICENCE_PRESENT=`egrep -c "OAI Public License" $FILE || true`
IS_BSD_LICENCE_PRESENT=`egrep -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause" $FILE || true`
IS_EXCEPTION=`echo $FILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h|openair3/GTPV1-U/nw-gtpv1u|openair2/UTIL/OPT/ws_|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc|openair1/PHY/CODING/types.h" || true`
IS_EXCEPTION=`echo $FILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|openair1/PHY/CODING/crc.h|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/types.h|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_offload.h" || true`
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ]
then
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
@@ -136,7 +133,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 ""
@@ -151,10 +148,6 @@ echo ""
# Retrieve the list of modified files since the latest develop commit
MODIFIED_FILES=`git log $TARGET_INIT_COMMIT..$MERGE_COMMMIT --oneline --name-status | egrep "^M|^A" | sed -e "s@^M\t*@@" -e "s@^A\t*@@" | sort | uniq`
NB_TO_FORMAT=0
if [ -f oai_rules_result_list.txt ]
then
rm -f oai_rules_result_list.txt
fi
if [ -f header-files-w-incorrect-define.txt ]
then
rm -f header-files-w-incorrect-define.txt
@@ -178,13 +171,6 @@ do
EXT="${filename##*.}"
if [ $EXT = "c" ] || [ $EXT = "h" ] || [ $EXT = "cpp" ] || [ $EXT = "hpp" ]
then
TO_FORMAT=`astyle --dry-run --options=ci-scripts/astyle-options.txt $FULLFILE | grep -c Formatted || true`
NB_TO_FORMAT=$((NB_TO_FORMAT + TO_FORMAT))
if [ $TO_FORMAT -ne 0 ]
then
echo $FULLFILE
echo $FULLFILE >> ./oai_rules_result_list.txt
fi
# Testing if explicit GNU GPL license banner
GNU_EXCEPTION=`echo $FULLFILE | egrep -c "openair3/NAS/COMMON/milenage.h" || true`
if [ $GNU_EXCEPTION -eq 0 ]
@@ -198,7 +184,7 @@ do
IS_NFAPI=`echo $FULLFILE | egrep -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext" || true`
IS_OAI_LICENCE_PRESENT=`egrep -c "OAI Public License" $FULLFILE || true`
IS_BSD_LICENCE_PRESENT=`egrep -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause" $FULLFILE || true`
IS_EXCEPTION=`echo $FULLFILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h|openair3/GTPV1-U/nw-gtpv1u|openair2/UTIL/OPT/ws_|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc|openair1/PHY/CODING/types.h" || true`
IS_EXCEPTION=`echo $FULLFILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|openair1/PHY/CODING/crc.h|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/types.h|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c|openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_offload.h" || true`
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ]
then
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
@@ -215,9 +201,10 @@ do
fi
done
rm -f header-files-w-incorrect-define-tmp.txt
echo ""
echo " ----------------------------------------------------------"
echo "Nb Files that do NOT follow OAI rules: $NB_TO_FORMAT"
echo $NB_TO_FORMAT > ./oai_rules_result.txt
# in this script we previously produced a list of files that were not properly
# formatted. At the time of this MR, the Jenkinsfile expects this file, so
# we simply produce an empty file
touch ./oai_rules_result.txt
exit 0

View File

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

View File

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

View File

@@ -74,6 +74,7 @@ class Containerize():
self.eNB2SourceCodePath = ''
self.forcedWorkspaceCleanup = False
self.imageKind = ''
self.proxyCommit = None
self.eNB_instance = 0
self.eNB_serverId = ['', '', '']
self.yamlPath = ['', '', '']
@@ -93,6 +94,7 @@ class Containerize():
self.allImagesSize = {}
self.collectInfo = {}
self.deployedContainers = []
self.tsharkStarted = False
self.pingContName = ''
self.pingOptions = ''
@@ -242,7 +244,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)
@@ -293,6 +295,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)
@@ -417,6 +422,143 @@ class Containerize():
HTML.CreateHtmlTabFooter(False)
sys.exit(1)
def BuildProxy(self, HTML):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
if self.eNB_serverId[self.eNB_instance] == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
if self.proxyCommit is None:
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter (need proxyCommit for proxy build)')
logging.debug('Building on server: ' + lIpAddr)
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
# Check that we are on Ubuntu
mySSH.command('hostnamectl', '\$', 5)
result = re.search('Ubuntu', mySSH.getBefore())
self.host = result.group(0)
if self.host != 'Ubuntu':
logging.error('\u001B[1m Can build proxy only on Ubuntu server\u001B[0m')
mySSH.close()
sys.exit(1)
self.cli = 'docker'
self.cliBuildOptions = '--no-cache'
# Workaround for some servers, we need to erase completely the workspace
if self.forcedWorkspaceCleanup:
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf ' + lSourcePath, '\$', 15)
oldRanCommidID = self.ranCommitID
oldRanRepository = self.ranRepository
oldRanAllowMerge = self.ranAllowMerge
self.ranCommitID = self.proxyCommit
self.ranRepository = 'https://github.com/EpiSci/oai-lte-5g-multi-ue-proxy.git'
self.ranAllowMerge = False
self._createWorkspace(mySSH, lPassWord, lSourcePath)
# to prevent accidentally overwriting data that might be used later
self.ranCommitID = oldRanCommidID
self.ranRepository = oldRanRepository
self.ranAllowMerge = oldRanAllowMerge
# Let's remove any previous run artifacts if still there
mySSH.command(self.cli + ' image prune --force', '\$', 30)
# Remove any previous proxy image
mySSH.command(self.cli + ' image rm oai-lte-multi-ue-proxy:latest || true', '\$', 30)
tag = self.proxyCommit
logging.debug('building L2sim proxy image for tag ' + tag)
# check if the corresponding proxy image with tag exists. If not, build it
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' proxy:' + tag, '\$', 5)
buildProxy = mySSH.getBefore().count('o such image') != 0
if buildProxy:
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target oai-lte-multi-ue-proxy --tag proxy:' + tag + ' --file docker/Dockerfile.ubuntu18.04 . > cmake_targets/log/proxy-build.log 2>&1', '\$', 180)
# Note: at this point, OAI images are flattened, but we cannot do this
# here, as the flatten script is not in the proxy repo
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' proxy:' + tag, '\$', 5)
if mySSH.getBefore().count('o such image') != 0:
logging.error('\u001B[1m Build of L2sim proxy failed\u001B[0m')
mySSH.close()
HTML.CreateHtmlTestRow('commit ' + tag, 'KO', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTabFooter(False)
sys.exit(1)
else:
logging.debug('L2sim proxy image for tag ' + tag + ' already exists, skipping build')
# retag the build images to that we pick it up later
mySSH.command('docker image tag proxy:' + tag + ' oai-lte-multi-ue-proxy:latest', '\$', 5)
# no merge: is a push to develop, tag the image so we can push it to the registry
if not self.ranAllowMerge:
mySSH.command('docker image tag proxy:' + tag + ' proxy:develop', '\$', 5)
# we assume that the host on which this is built will also run the proxy. The proxy
# currently requires the following command, and the docker-compose up mechanism of
# the CI does not allow to run arbitrary commands. Note that the following actually
# belongs to the deployment, not the build of the proxy...
logging.warning('the following command belongs to deployment, but no mechanism exists to exec it there!')
mySSH.command('sudo ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up', '\$', 5)
# Analyzing the logs
if buildProxy:
self.testCase_id = HTML.testCase_id
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
mySSH.command('mkdir -p proxy_build_log_' + self.testCase_id, '\$', 5)
mySSH.command('mv log/* ' + 'proxy_build_log_' + self.testCase_id, '\$', 5)
if (os.path.isfile('./proxy_build_log_' + self.testCase_id + '.zip')):
os.remove('./proxy_build_log_' + self.testCase_id + '.zip')
if (os.path.isdir('./proxy_build_log_' + self.testCase_id)):
shutil.rmtree('./proxy_build_log_' + self.testCase_id)
mySSH.command('zip -r -qq proxy_build_log_' + self.testCase_id + '.zip proxy_build_log_' + self.testCase_id, '\$', 5)
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/build_log_' + self.testCase_id + '.zip', '.')
# don't delete such that we might recover the zips
#mySSH.command('rm -f build_log_' + self.testCase_id + '.zip','\$', 5)
# we do not analyze the logs (we assume the proxy builds fine at this stage),
# but need to have the following information to correctly display the HTML
files = {}
errorandwarnings = {}
errorandwarnings['errors'] = 0
errorandwarnings['warnings'] = 0
errorandwarnings['status'] = True
files['Target Image Creation'] = errorandwarnings
self.collectInfo['proxy'] = files
mySSH.command('docker image inspect --format=\'Size = {{.Size}} bytes\' proxy:' + tag, '\$', 5)
result = re.search('Size *= *(?P<size>[0-9\-]+) *bytes', mySSH.getBefore())
if result is not None:
imageSize = float(result.group('size')) / 1000000
logging.debug('\u001B[1m proxy size is ' + ('%.0f' % imageSize) + ' Mbytes\u001B[0m')
self.allImagesSize['proxy'] = str(round(imageSize,1)) + ' Mbytes'
else:
logging.debug('proxy size is unknown')
self.allImagesSize['proxy'] = 'unknown'
# Cleaning any created tmp volume
mySSH.command(self.cli + ' volume prune --force || true','\$', 15)
mySSH.close()
logging.info('\u001B[1m Building L2sim Proxy Image Pass\u001B[0m')
HTML.CreateHtmlTestRow('commit ' + tag, 'OK', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlNextTabHeaderTestRow(self.collectInfo, self.allImagesSize)
def Copy_Image_to_Test_Server(self, HTML):
imageTag = 'develop'
if (self.ranAllowMerge):
@@ -437,9 +579,17 @@ class Containerize():
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSsh.open(lIpAddr, lUserName, lPassWord)
lSsh.command('docker save ' + self.imageToCopy + ':' + imageTag + ' | gzip > ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
lSsh.copyin(lIpAddr, lUserName, lPassWord, '~/' + self.imageToCopy + '-' + imageTag + '.tar.gz', '.')
lSsh.command('docker save ' + self.imageToCopy + ':' + imageTag + ' | gzip --fast > ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
ret = lSsh.copyin(lIpAddr, lUserName, lPassWord, '~/' + self.imageToCopy + '-' + imageTag + '.tar.gz', '.')
if ret != 0:
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ALL_PROCESSES_OK)
self.exitStatus = 1
return False
lSsh.command('rm ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
if lSsh.getBefore().count('cannot remove'):
HTML.CreateHtmlTestRow('file not created by docker save', 'KO', CONST.ALL_PROCESSES_OK)
self.exitStatus = 1
return False
lSsh.close()
# Going to the Test Server
@@ -457,15 +607,26 @@ class Containerize():
lPassWord = self.eNB2Password
lSsh.open(lIpAddr, lUserName, lPassWord)
lSsh.copyout(lIpAddr, lUserName, lPassWord, './' + self.imageToCopy + '-' + imageTag + '.tar.gz', '~')
# copyout has no return code and will quit if something fails
lSsh.command('docker rmi ' + self.imageToCopy + ':' + imageTag, '\$', 10)
lSsh.command('docker load < ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
if lSsh.getBefore().count('o such file') or lSsh.getBefore().count('invalid tar header'):
logging.debug(lSsh.getBefore())
HTML.CreateHtmlTestRow('problem during docker load', 'KO', CONST.ALL_PROCESSES_OK)
self.exitStatus = 1
return False
lSsh.command('rm ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
if lSsh.getBefore().count('cannot remove'):
HTML.CreateHtmlTestRow('file not copied during scp?', 'KO', CONST.ALL_PROCESSES_OK)
self.exitStatus = 1
return False
lSsh.close()
if os.path.isfile('./' + self.imageToCopy + '-' + imageTag + '.tar.gz'):
os.remove('./' + self.imageToCopy + '-' + imageTag + '.tar.gz')
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
return True
def DeployObject(self, HTML, EPC):
if self.eNB_serverId[self.eNB_instance] == '0':
@@ -514,7 +675,7 @@ class Containerize():
result = re.search('service=(?P<svc_name>[a-zA-Z0-9\_]+)', mySSH.getBefore())
if result is not None:
svcName = result.group('svc_name')
mySSH.command('docker-compose --file ci-docker-compose.yml up -d ' + svcName, '\$', 10)
mySSH.command('docker-compose --file ci-docker-compose.yml up -d ' + svcName, '\$', 15)
# Checking Status
mySSH.command('docker-compose --file ci-docker-compose.yml config', '\$', 5)
@@ -541,6 +702,9 @@ class Containerize():
logging.debug(' -- ' + str(unhealthyNb) + ' unhealthy container(s)')
logging.debug(' -- ' + str(startingNb) + ' still starting container(s)')
self.testCase_id = HTML.testCase_id
self.eNB_logFile[self.eNB_instance] = 'enb_' + self.testCase_id + '.log'
status = False
if healthyNb == 1:
cnt = 0
@@ -555,16 +719,19 @@ class Containerize():
status = True
logging.info('\u001B[1m Deploying OAI object Pass\u001B[0m')
time.sleep(10)
else:
# containers are unhealthy, so we won't start. However, logs are stored at the end
# in UndeployObject so we here store the logs of the unhealthy container to report it
mySSH.command('docker logs ' + containerName + ' > ' + lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '\$', 30)
mySSH.close()
self.testCase_id = HTML.testCase_id
self.eNB_logFile[self.eNB_instance] = 'enb_' + self.testCase_id + '.log'
if status:
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
else:
self.exitStatus = 1
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ALL_PROCESSES_OK)
def UndeployObject(self, HTML, RAN):
if self.eNB_serverId[self.eNB_instance] == '0':
lIpAddr = self.eNBIPAddress
@@ -584,7 +751,7 @@ class Containerize():
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
logging.debug('\u001B[1m Deploying OAI Object on server: ' + lIpAddr + '\u001B[0m')
logging.debug('\u001B[1m Undeploying OAI Object from server: ' + lIpAddr + '\u001B[0m')
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5)
@@ -606,6 +773,8 @@ class Containerize():
if containerToKill:
mySSH.command('docker kill --signal INT ' + containerName, '\$', 30)
time.sleep(5)
mySSH.command('docker kill --signal KILL ' + containerName, '\$', 30)
time.sleep(5)
mySSH.command('docker logs ' + containerName + ' > ' + lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '\$', 30)
mySSH.command('docker rm -f ' + containerName, '\$', 30)
# Forcing the down now to remove the networks and any artifacts
@@ -680,12 +849,28 @@ class Containerize():
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps -a'
count = 0
healthy = 0
newContainers = []
while (count < 10):
count += 1
containerStatus = []
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
healthy = 0
for state in deployStatus.split('\n'):
res = re.search('Name|----------', state)
if res is not None:
continue
if len(state) == 0:
continue
res = re.search('^(?P<container_name>[a-zA-Z0-9\-\_]+) ', state)
if res is not None:
cName = res.group('container_name')
found = False
for alreadyDeployed in self.deployedContainers:
if cName == alreadyDeployed:
found = True
if not found:
newContainers.append(cName)
self.deployedContainers.append(cName)
if re.search('Up \(healthy\)', state) is not None:
healthy += 1
if re.search('rfsim4g-db-init.*Exit 0', state) is not None:
@@ -696,16 +881,33 @@ class Containerize():
else:
time.sleep(10)
imagesInfo = ''
for newCont in newContainers:
cmd = 'docker inspect -f "{{.Config.Image}}" ' + newCont
imageName = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
imageName = str(imageName).strip()
cmd = 'docker image inspect --format "{{.RepoTags}}\t{{.Size}}\t{{.Created}}" ' + imageName
imagesInfo += subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n'
for imageInfo in imagesInfo.split('\n'):
html_cell += imageInfo[:-11] + '\n'
html_cell += '\n'
for cState in containerStatus:
html_cell += cState + '\n'
html_cell += '</pre>'
html_queue.put(html_cell)
if count == 100 and healthy == self.nb_healthy[0]:
if self.tsharkStarted == False:
logging.debug('Starting tshark on public network')
self.CaptureOnDockerNetworks()
HTML.CreateHtmlTestRow('n/a', 'OK', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTestRowQueue('n/a', 'OK', 1, html_queue)
for cState in containerStatus:
logging.debug(cState)
logging.info('\u001B[1m Deploying OAI Object(s) PASS\u001B[0m')
else:
HTML.CreateHtmlTestRow('Could not deploy in time', 'KO', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTestRowQueue('Could not deploy in time', 'KO', 1, html_queue)
for cState in containerStatus:
logging.debug(cState)
logging.error('\u001B[1m Deploying OAI Object(s) FAILED\u001B[0m')
@@ -721,13 +923,19 @@ class Containerize():
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml config | grep com.docker.network.bridge.name | sed -e "s@^.*name: @@"'
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
if re.search('4g.*rfsimulator', self.yamlPath[0]) is not None:
# Excluding any traffic from LTE-UE container (192.168.61.30)
# From the trf-gen, keeping only PING traffic
cmd = 'sudo nohup tshark -f "(host 192.168.61.11 and icmp) or (not host 192.168.61.11 and not host 192.168.61.30 and not arp and not port 53 and not port 2152)"'
elif re.search('5g.*rfsimulator', self.yamlPath[0]) is not None:
cmd = 'sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not host 192.168.71.150 and not arp and not port 53 and not port 2152 and not port 2153)"'
# Excluding any traffic from NR-UE containers (192.168.71.150 and 192.168.71.151)
# From the ext-dn, keeping only PING traffic
cmd = 'sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not host 192.168.71.150 and not host 192.168.71.151 and not arp and not port 53 and not port 2152 and not port 2153)"'
elif re.search('5g_l2sim', self.yamlPath[0]) is not None:
cmd = 'sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not arp and not port 53 and not port 2152 and not port 2153)"'
else:
return
for name in networkNames.split('\n'):
if re.search('rfsim', name) is not None:
if re.search('rfsim', name) is not None or re.search('l2sim', name) is not None:
cmd += ' -i ' + name
cmd += ' -w /tmp/capture_'
ymlPath = self.yamlPath[0].split('/')
@@ -748,12 +956,26 @@ class Containerize():
logging.debug(cmd)
subprocess.run(cmd, shell=True)
# if the containers are running, recover the logs!
# check which containers are running for log recovery later
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
deployStatusLogs = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
# Stop the containers to shut down objects
logging.debug('\u001B[1m Stopping containers \u001B[0m')
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml stop'
logging.debug(cmd)
try:
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
except Exception as e:
self.exitStatus = 1
logging.error('Could not stop containers')
HTML.CreateHtmlTestRow('Could not stop', 'KO', CONST.ALL_PROCESSES_OK)
logging.error('\u001B[1m Undeploying OAI Object(s) FAILED\u001B[0m')
return
anyLogs = False
for state in deployStatus.split('\n'):
for state in deployStatusLogs.split('\n'):
res = re.search('Name|----------', state)
if res is not None:
continue
@@ -779,46 +1001,48 @@ class Containerize():
# Analyzing log file(s)!
listOfPossibleRanContainers = ['enb', 'gnb', 'cu', 'du']
for container in listOfPossibleRanContainers:
filename = self.yamlPath[0] + '/rfsim?g-oai-' + container + '.log'
cmd = 'ls ' + filename
filenames = self.yamlPath[0] + '/*-oai-' + container + '.log'
cmd = 'ls ' + filenames
containerStatus = True
try:
lsStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
filename = str(lsStatus).strip()
filenames = str(lsStatus).strip()
except:
containerStatus = False
if not containerStatus:
continue
logging.debug('\u001B[1m Analyzing xNB logfile ' + filename + ' \u001B[0m')
logStatus = RAN.AnalyzeLogFile_eNB(filename, HTML, self.ran_checkers)
if (logStatus < 0):
fullStatus = False
self.exitStatus = 1
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'KO', logStatus)
else:
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
for filename in filenames.split('\n'):
logging.debug('\u001B[1m Analyzing xNB logfile ' + filename + ' \u001B[0m')
logStatus = RAN.AnalyzeLogFile_eNB(filename, HTML, self.ran_checkers)
if (logStatus < 0):
fullStatus = False
self.exitStatus = 1
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'KO', logStatus)
else:
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
listOfPossibleUeContainers = ['lte-ue*', 'nr-ue*']
for container in listOfPossibleUeContainers:
filename = self.yamlPath[0] + '/rfsim?g-oai-' + container + '.log'
cmd = 'ls ' + filename
filenames = self.yamlPath[0] + '/*-oai-' + container + '.log'
cmd = 'ls ' + filenames
containerStatus = True
try:
lsStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
filename = str(lsStatus).strip()
filenames = str(lsStatus).strip()
except:
containerStatus = False
if not containerStatus:
continue
logging.debug('\u001B[1m Analyzing UE logfile ' + filename + ' \u001B[0m')
logStatus = UE.AnalyzeLogFile_UE(filename, HTML, RAN)
if (logStatus < 0):
fullStatus = False
HTML.CreateHtmlTestRow('UE log Analysis', 'KO', logStatus)
else:
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
for filename in filenames.split('\n'):
logging.debug('\u001B[1m Analyzing UE logfile ' + filename + ' \u001B[0m')
logStatus = UE.AnalyzeLogFile_UE(filename, HTML, RAN)
if (logStatus < 0):
fullStatus = False
HTML.CreateHtmlTestRow('UE log Analysis', 'KO', logStatus)
else:
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
cmd = 'rm ' + self.yamlPath[0] + '/*.log'
logging.debug(cmd)
@@ -849,6 +1073,7 @@ class Containerize():
logging.error('\u001B[1m Undeploying OAI Object(s) FAILED\u001B[0m')
return
self.deployedContainers = []
# Cleaning any created tmp volume
cmd = 'docker volume prune --force || true'
logging.debug(cmd)
@@ -861,6 +1086,40 @@ class Containerize():
HTML.CreateHtmlTestRow('n/a', 'KO', CONST.ALL_PROCESSES_OK)
logging.info('\u001B[1m Undeploying OAI Object(s) FAIL\u001B[0m')
def StatsFromGenObject(self, HTML):
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
logPath = '../cmake_targets/log/' + ymlPath[1]
# if the containers are running, recover the logs!
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
cmd = 'docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" '
anyLogs = False
for state in deployStatus.split('\n'):
res = re.search('Name|----------', state)
if res is not None:
continue
if len(state) == 0:
continue
res = re.search('^(?P<container_name>[a-zA-Z0-9\-\_]+) ', state)
if res is not None:
anyLogs = True
cmd += res.group('container_name') + ' '
message = ''
if anyLogs:
logging.debug(cmd)
stats = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
for statLine in stats.split('\n'):
logging.debug(statLine)
message += statLine + '\n'
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">\n' + message + '</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', 1, html_queue)
def PingFromContainer(self, HTML, RAN, UE):
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
@@ -1067,19 +1326,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())
@@ -1095,19 +1354,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())
@@ -1123,19 +1382,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())
@@ -1151,14 +1410,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

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

View File

@@ -55,6 +55,7 @@ import constants as CONST
import sshconnection
import cls_module_ue
import cls_amarisoft_ue
import cls_ci_ueinfra #class defining the multi Ue infrastrucure
logging.getLogger("matplotlib").setLevel(logging.WARNING)
@@ -122,6 +123,7 @@ def GetPingTimeAnalysis(RAN,ping_log_file,ping_rttavg_threshold):
try:
mySSH = sshconnection.SSHConnection()
mySSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, ping_log_file+'.png', RAN.eNBSourceCodePath + '/cmake_targets/')
mySSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, ping_log_file, RAN.eNBSourceCodePath + '/cmake_targets/')
except:
logging.debug('\u001B[1;37;41m Ping PNG SCP to eNB FAILED\u001B[0m')
@@ -418,49 +420,63 @@ class OaiCiTest():
for job in multi_jobs:
job.join()
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
else: #if an ID is specified, it is a module from the yaml infrastructure file
#RH
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
is_module=Module_UE.CheckCMProcess(EPC.Type)
if is_module:
Module_UE.EnableTrace()
time.sleep(5)
else: #if an ID is specified, it is a UE from the yaml infrastructure file
ue_kind = InfraUE.ci_ue_infra[self.ue_id]['Kind']
logging.debug("Detected UE Kind : " + ue_kind)
# Looping attach / detach / wait to be successful at least once
cnt = 0
status = -1
while cnt < 4:
Module_UE.Command("wup")
logging.debug("Waiting for IP address to be assigned")
time.sleep(20)
logging.debug("Retrieve IP address")
status=Module_UE.GetModuleIPAddress()
if status==0:
cnt = 10
else:
cnt += 1
Module_UE.Command("detach")
time.sleep(20)
#case it is a quectel module (only 1 at a time supported at the moment)
if ue_kind == 'quectel':
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
is_module=Module_UE.CheckCMProcess(EPC.Type)
if is_module:
Module_UE.EnableTrace()
time.sleep(5)
if cnt == 10 and status == 0:
HTML.CreateHtmlTestRow(Module_UE.UEIPAddress, 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('UE IP addresss : '+ Module_UE.UEIPAddress)
#execute additional commands from yaml file after UE attach
SSH = sshconnection.SSHConnection()
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
if hasattr(Module_UE,'StartCommands'):
for startcommand in Module_UE.StartCommands:
cmd = 'echo ' + Module_UE.HostPassword + ' | ' + startcommand
SSH.command(cmd,'\$',5)
SSH.close()
#check that the MTU is as expected / requested
Module_UE.CheckModuleMTU()
else: #status==-1 failed to retrieve IP address
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
# Looping attach / detach / wait to be successful at least once
cnt = 0
status = -1
while cnt < 4:
Module_UE.Command("wup")
logging.debug("Waiting for IP address to be assigned")
time.sleep(5)
logging.debug("Retrieve IP address")
status=Module_UE.GetModuleIPAddress()
if status==0:
cnt = 10
else:
cnt += 1
Module_UE.Command("detach")
time.sleep(20)
if cnt == 10 and status == 0:
HTML.CreateHtmlTestRow(Module_UE.UEIPAddress, 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('UE IP addresss : '+ Module_UE.UEIPAddress)
#execute additional commands from yaml file after UE attach
SSH = sshconnection.SSHConnection()
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
if hasattr(Module_UE,'StartCommands'):
for startcommand in Module_UE.StartCommands:
cmd = 'echo ' + Module_UE.HostPassword + ' | ' + startcommand
SSH.command(cmd,'\$',5)
SSH.close()
#check that the MTU is as expected / requested
Module_UE.CheckModuleMTU()
else: #status==-1 failed to retrieve IP address
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
#case it is a amarisoft ue (only 1 at a time supported at the moment)
elif ue_kind == 'amarisoft':
AS_UE = cls_amarisoft_ue.AS_UE(InfraUE.ci_ue_infra[self.ue_id])
HTML.CreateHtmlTestRow(AS_UE.Config, 'OK', CONST.ALL_PROCESSES_OK)
AS_UE.RunScenario()
AS_UE.WaitEndScenario()
AS_UE.KillASUE()
else:
logging.debug("Incorrect UE Kind was detected")
def InitializeOAIUE(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
@@ -534,7 +550,7 @@ class OaiCiTest():
while (doOutterLoop):
SSH.command('cd ' + self.UESourceCodePath + '/cmake_targets/ran_build/build', '\$', 5)
SSH.command('echo ' + self.UEPassword + ' | sudo -S rm -Rf ' + self.UESourceCodePath + '/cmake_targets/ue_' + self.testCase_id + '.log', '\$', 5)
SSH.command('echo $USER; nohup sudo -E ./my-lte-uesoftmodem-run' + str(self.UE_instance) + '.sh' + ' > ' + self.UESourceCodePath + '/cmake_targets/ue_' + self.testCase_id + '.log ' + ' 2>&1 &', self.UEUserName, 5)
SSH.command('echo $USER; nohup sudo -E stdbuf -o0 ./my-lte-uesoftmodem-run' + str(self.UE_instance) + '.sh' + ' > ' + self.UESourceCodePath + '/cmake_targets/ue_' + self.testCase_id + '.log ' + ' 2>&1 &', self.UEUserName, 5)
time.sleep(6)
SSH.command('cd ../..', '\$', 5)
doLoop = True
@@ -1095,7 +1111,7 @@ class OaiCiTest():
while cnt < 4:
Module_UE.Command("wup")
logging.debug("Waiting for IP address to be assigned")
time.sleep(20)
time.sleep(5)
logging.debug("Retrieve IP address")
status=Module_UE.GetModuleIPAddress()
if status==0:
@@ -1313,7 +1329,7 @@ class OaiCiTest():
SSH.open(self.ADBIPAddress, self.ADBUserName, self.ADBPassword)
if self.ADBCentralized:
SSH.command('adb devices', '\$', 15)
self.UEDevices = re.findall("\\\\r\\\\n([A-Za-z0-9]+)\\\\tdevice",SSH.getBefore())
self.UEDevices = re.findall('\r\n([A-Za-z0-9]+)\tdevice',SSH.getBefore())
#report number and id of devices found
msg = "UEDevices found by GetAllUEDevices : " + " ".join(self.UEDevices)
logging.debug(msg)
@@ -1363,8 +1379,7 @@ class OaiCiTest():
SSH.open(self.ADBIPAddress, self.ADBUserName, self.ADBPassword)
if self.ADBCentralized:
SSH.command('lsusb | egrep --colour=never "Future Technology Devices International, Ltd FT2232C" | sed -e "s#:.*##" -e "s# #_#g"', '\$', 15)
#self.CatMDevices = re.findall("\\\\r\\\\n([A-Za-z0-9_]+)",SSH.getBefore())
self.CatMDevices = re.findall("\\\\r\\\\n([A-Za-z0-9_]+)",SSH.getBefore())
self.CatMDevices = re.findall('\r\n([A-Za-z0-9_]+)',SSH.getBefore())
else:
if (os.path.isfile('./modules_list.txt')):
os.remove('./modules_list.txt')
@@ -1569,16 +1584,23 @@ class OaiCiTest():
SSH = sshconnection.SSHConnection()
# Launch ping on the EPC side (true for ltebox and old open-air-cn)
# But for OAI-Rel14-CUPS, we launch from python executor
ping_status = 0
launchFromEpc = True
launchFromModule = False
launchFromASUE = False
if re.match('OAI-Rel14-CUPS', EPC.Type, re.IGNORECASE):
launchFromEpc = False
#if module, ping from module to EPC
if self.ue_id!='':
launchFromEpc = False
launchfromModule = True
ping_time = re.findall("-c (\d+)",str(self.ping_args))
if (re.match('amarisoft', self.ue_id, re.IGNORECASE)):
launchFromEpc = False
launchFromASUE = True
else:
launchFromEpc = False
launchFromModule = True
#no ping args for ASUE
if self.ping_args!='':
ping_time = re.findall("-c (\d+)",str(self.ping_args))
if launchFromEpc:
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
@@ -1596,14 +1618,14 @@ class OaiCiTest():
#copy the ping log file to have it locally for analysis (ping stats)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/scripts/ping_' + self.testCase_id + '_' + device_id + '.log', '.')
else:
if launchfromModule == False:
if (launchFromModule == False) and (launchFromASUE == False):
#ping log file is on the python executor
cmd = 'ping ' + self.ping_args + ' ' + UE_IPAddress + ' 2>&1 > ping_' + self.testCase_id + '_' + device_id + '.log'
cmd = 'ping ' + self.ping_args + ' ' + UE_IPAddress + ' > ping_' + self.testCase_id + '_' + device_id + '.log 2>&1'
message = cmd + '\n'
logging.debug(cmd)
ret = subprocess.run(cmd, shell=True)
ping_status = ret.returncode
#copy the ping log file to an other folder for log collection (source and destination are EPC)
#copy the ping log file to an other folder for log collection (source and desti elif (launchfromModule == True) and (launchfromASUE == False): #launch from Modulenation are EPC)
SSH.copyout(EPC.IPAddress, EPC.UserName, EPC.Password, 'ping_' + self.testCase_id + '_' + device_id + '.log', EPC.SourceCodePath + '/scripts')
#copy the ping log file to have it locally for analysis (ping stats)
logging.debug(EPC.SourceCodePath + 'ping_' + self.testCase_id + '_' + device_id + '.log')
@@ -1613,7 +1635,8 @@ class OaiCiTest():
#cat is executed on EPC
SSH.command('cat ' + EPC.SourceCodePath + '/scripts/ping_' + self.testCase_id + '_' + device_id + '.log', '\$', 5)
ping_log_file='/scripts/ping_' + self.testCase_id + '_' + device_id + '.log'
else: #launch from Module
elif (launchFromModule == True) and (launchFromASUE == False): #launch from Module
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
#target address is different depending on EPC type
if re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE):
@@ -1623,15 +1646,29 @@ class OaiCiTest():
else:
Target = EPC.IPAddress
#ping from module NIC rather than IP address to make sure round trip is over the air
cmd = 'ping -I ' + Module_UE.UENetwork + ' ' + self.ping_args + ' ' + Target + ' 2>&1 > ping_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'ping -I ' + Module_UE.UENetwork + ' ' + self.ping_args + ' ' + Target + ' > ping_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1'
SSH.command(cmd,'\$',int(ping_time[0])*1.5)
#copy the ping log file to have it locally for analysis (ping stats)
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, 'ping_' + self.testCase_id + '_' + self.ue_id + '.log', '.')
#cat is executed locally
SSH.command('cat ping_' + self.testCase_id + '_' + self.ue_id + '.log', '\$', 5)
ping_log_file='ping_' + self.testCase_id + '_' + self.ue_id + '.log'
ping_status=0
elif (launchFromASUE == True):
#ping was already executed when running scenario
#we only need to retrieve ping log file, whose location is in the ci_ueinfra.yaml
logging.debug("Get logs from AS server : " + Module_UE.Ping + ", " + Module_UE.UELog)
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, Module_UE.Ping, '.')
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, Module_UE.UELog, '.')
logging.debug("Ping analysis from Amarisoft scenario")
path,ping_log_file = os.path.split(Module_UE.Ping)
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
SSH.command('cat ' + Module_UE.Ping, '\#', 5)
else:
ping_status=-1
# TIMEOUT CASE
if ping_status < 0:
@@ -1679,28 +1716,30 @@ class OaiCiTest():
#adding extra ping stats from local file
#ping_log_file variable is defined above in this function, depending on device/ue
logging.debug('Analyzing Ping log file : ' + os.getcwd() + '/' + ping_log_file)
ping_stat=GetPingTimeAnalysis(RAN,ping_log_file,self.ping_rttavg_threshold)
ping_stat_msg=''
if (ping_stat!=-1) and (len(ping_stat)!=0):
ping_stat_msg+='Ping stats before removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_0'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_0'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_0'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_0'])) + 'ms \n'
ping_stat_msg+='Max Index : ' + str(ping_stat['max_loc']) + '\n'
ping_stat_msg+='Ping stats after removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_1'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_1'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_1'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_1'])) + 'ms \n'
if launchFromASUE == False : #skip in case of AS UE (for the moment)
logging.debug('Analyzing Ping log file : ' + os.getcwd() + '/' + ping_log_file)
ping_stat=GetPingTimeAnalysis(RAN,ping_log_file,self.ping_rttavg_threshold)
if (ping_stat!=-1) and (len(ping_stat)!=0):
ping_stat_msg+='Ping stats before removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_0'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_0'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_0'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_0'])) + 'ms \n'
ping_stat_msg+='Max Index : ' + str(ping_stat['max_loc']) + '\n'
ping_stat_msg+='Ping stats after removing largest value : \n'
ping_stat_msg+='RTT(Min) : ' + str("{:.2f}".format(ping_stat['min_1'])) + 'ms \n'
ping_stat_msg+='RTT(Mean) : ' + str("{:.2f}".format(ping_stat['mean_1'])) + 'ms \n'
ping_stat_msg+='RTT(Median) : ' + str("{:.2f}".format(ping_stat['median_1'])) + 'ms \n'
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_1'])) + 'ms \n'
#building html message
qMsg = pal_msg + '\n' + min_msg + '\n' + avg_msg + '\n' + max_msg + '\n' + ping_stat_msg
#checking packet loss compliance
packetLossOK = True
if packetloss is not None:
if (packetloss is not None) :
if float(packetloss) > float(self.ping_packetloss_threshold):
qMsg += '\nPacket Loss too high'
logging.debug('\u001B[1;37;41m Packet Loss too high; Target: '+ self.ping_packetloss_threshold + '%\u001B[0m')
@@ -1728,6 +1767,7 @@ class OaiCiTest():
lock.release()
SSH.close()
except:
logging.debug('exit from Ping_Common except')
os.kill(os.getppid(),signal.SIGUSR1)
def PingNoS1_wrong_exit(self, qMsg,HTML):
@@ -1855,11 +1895,21 @@ class OaiCiTest():
HTML.CreateHtmlTestRow(self.ping_args, 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
else:
self.UEIPAddresses=[]
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.GetModuleIPAddress()
self.UEIPAddresses.append(Module_UE.UEIPAddress)
else: #if an ID is specified, it is a UE from the yaml infrastructure file
ue_kind = InfraUE.ci_ue_infra[self.ue_id]['Kind']
logging.debug("Detected UE Kind : " + ue_kind)
if ue_kind == 'quectel':
self.UEIPAddresses=[]
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.GetModuleIPAddress()
self.UEIPAddresses.append(Module_UE.UEIPAddress)
elif ue_kind == 'amarisoft':
self.UEIPAddresses=['AS UE IP']
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
else:
logging.debug("Incorrect UE Kind was detected")
logging.debug(self.UEIPAddresses)
multi_jobs = []
i = 0
@@ -1870,6 +1920,7 @@ class OaiCiTest():
device_id = self.UEDevices[i]
else:
device_id = Module_UE.ID + "-" + Module_UE.Kind
logging.debug(device_id)
p = Process(target = self.Ping_common, args = (lock,UE_IPAddress,device_id,status_queue,EPC,Module_UE,RAN,))
p.daemon = True
p.start()
@@ -1994,7 +2045,7 @@ class OaiCiTest():
req_bandwidth = '%.1f Gbits/sec' % req_bw
req_bw = req_bw * 1000000000
result = re.search('Server Report:\\\\r\\\\n(?:|\[ *\d+\].*) (?P<bitrate>[0-9\.]+ [KMG]bits\/sec) +(?P<jitter>[0-9\.]+ ms) +(\d+\/..\d+) +(\((?P<packetloss>[0-9\.]+)%\))', SSH.getBefore())
result = re.search('Server Report:\r\n(?:|\[ *\d+\].*) (?P<bitrate>[0-9\.]+ [KMG]bits\/sec) +(?P<jitter>[0-9\.]+ ms) +(\d+\/..\d+) +(\((?P<packetloss>[0-9\.]+)%\))', SSH.getBefore())
if result is not None:
bitrate = result.group('bitrate')
packetloss = result.group('packetloss')
@@ -2084,7 +2135,8 @@ class OaiCiTest():
statusQueue.put(UE_IPAddress)
statusQueue.put(report_msg)
logging.debug('\u001B[1;37;45m TCP Bidir Iperf Result (' + UE_IPAddress + ') \u001B[0m')
logging.debug('\u001B[1;35m ' + report_msg + '\u001B[0m')
for rLine in report_msg.split('\n'):
logging.debug('\u001B[1;35m ' + rLine + '\u001B[0m')
lock.release()
else:
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from Log file')
@@ -2209,7 +2261,7 @@ class OaiCiTest():
def Iperf_analyzeV3Output(self, lock, UE_IPAddress, device_id, statusQueue,SSH):
result = re.search('(?P<bitrate>[0-9\.]+ [KMG]bits\/sec) +(?:|[0-9\.]+ ms +\d+\/\d+ \((?P<packetloss>[0-9\.]+)%\)) +(?:|receiver)\\\\r\\\\n(?:|\[ *\d+\] Sent \d+ datagrams)\\\\r\\\\niperf Done\.', SSH.getBefore())
result = re.search('(?P<bitrate>[0-9\.]+ [KMG]bits\/sec) +(?:|[0-9\.]+ ms +\d+\/\d+ \((?P<packetloss>[0-9\.]+)%\)) +(?:|receiver)\r\n(?:|\[ *\d+\] Sent \d+ datagrams)\r\niperf Done\.', SSH.getBefore())
if result is None:
result = re.search('(?P<error>iperf: error - [a-zA-Z0-9 :]+)', SSH.getBefore())
lock.acquire()
@@ -2379,10 +2431,12 @@ class OaiCiTest():
SSH.copyout(EPC.IPAddress, EPC.UserName, EPC.Password, 'iperf_' + self.testCase_id + '_' + device_id + '.log', EPC.SourceCodePath + '/scripts')
def Iperf_Module(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue,EPC, Module_UE):
def Iperf_Module(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue,EPC, Module_UE, RAN):
SSH = sshconnection.SSHConnection()
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
if (re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE)) or (re.match('OAICN5G', EPC.Type, re.IGNORECASE)):
#retrieve trf-gen container IP address
SSH = sshconnection.SSHConnection()
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
SSH.command('docker inspect --format="TRF_IP_ADDR = {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" prod-trf-gen', '\$', 5)
result = re.search('TRF_IP_ADDR = (?P<trf_ip_addr>[0-9\.]+)', SSH.getBefore())
@@ -2404,20 +2458,18 @@ class OaiCiTest():
if self.iperf_direction=="DL":
logging.debug("Iperf for Module in DL mode detected")
##server side UE
server_filename='iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm ' + server_filename
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > ' + server_filename + ' &'
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u -i 1 > ' + server_filename + ' 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
##client side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
#remove old client file in EPC.SourceCodePath
cmd = 'rm ' + EPC.SourceCodePath + '/' + client_filename
SSH.command(cmd,'\$',5)
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' > ' + client_filename + ' 2>&1'
cmd = 'docker exec -w /iperf-2.0.13 -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',int(iperf_time)*5.0)
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/'+ client_filename + ' ' + EPC.SourceCodePath, '\$', 5)
@@ -2433,19 +2485,17 @@ class OaiCiTest():
logging.debug("Iperf for Module in UL mode detected")
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u 2>&1 > ' + server_filename
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u -i 1 > ' + server_filename + ' 2>&1'
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',5)
SSH.close()
#client side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'rm '+ client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
SSH.command('iperf -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' > ' + client_filename + ' 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#once client is done, retrieve the server file from container to EPC Host
@@ -2461,12 +2511,10 @@ class OaiCiTest():
elif self.iperf_direction=="BIDIR":
logging.debug("Iperf for Module in BIDIR mode detected")
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s 2>&1 > ' + server_filename
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s -i 1 > ' + server_filename + ' 2>&1'
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2475,7 +2523,7 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm '+ client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' > ' + client_filename + ' 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#once client is done, retrieve the server file from container to EPC Host
@@ -2499,8 +2547,6 @@ class OaiCiTest():
else: #default is ltebox
SSH = sshconnection.SSHConnection()
#kill iperf processes before (in case there are still some remaining)
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
@@ -2524,14 +2570,14 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup /opt/iperf-2.0.10/iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log &'
cmd = 'echo $USER; nohup /opt/iperf-2.0.10/iperf -s -B ' + UE_IPAddress + ' -u -i 1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
#client side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'rm iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
cmd = 'iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
cmd = 'iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1'
SSH.command(cmd,'\$',int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
@@ -2547,7 +2593,7 @@ class OaiCiTest():
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'rm iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf -s -u 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log &'
cmd = 'echo $USER; nohup iperf -s -u -i 1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2555,7 +2601,7 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command(cmd,'\$',5)
SSH.command('/opt/iperf-2.0.10/iperf -c 192.172.0.1 ' + self.iperf_args + ' 2>&1 > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log', '\$', int(iperf_time)*5.0)
SSH.command('/opt/iperf-2.0.10/iperf -c 192.172.0.1 ' + self.iperf_args + ' > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
@@ -2566,15 +2612,13 @@ class OaiCiTest():
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,filename,1)
elif self.iperf_direction=="BIDIR":
logging.debug("Iperf for Module in BIDIR mode detected")
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'rm ' + server_filename
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf3 -s 2>&1 > '+server_filename+' &'
cmd = 'echo $USER; nohup iperf3 -s -i 1 > '+server_filename+' 2>&1 &'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2582,7 +2626,7 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm ' + client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf3 -c 192.172.0.1 ' + self.iperf_args + ' 2>&1 > '+client_filename, '\$', int(iperf_time)*5.0)
SSH.command('iperf3 -c 192.172.0.1 ' + self.iperf_args + ' > '+client_filename + ' 2>&1', '\$', int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
@@ -2593,6 +2637,7 @@ class OaiCiTest():
else :
logging.debug("Incorrect or missing IPERF direction in XML")
#kill iperf processes after to be clean
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
@@ -2606,7 +2651,12 @@ class OaiCiTest():
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
return
# Copying to xNB server for Jenkins artifacting
if (os.path.isfile(server_filename)):
SSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, server_filename, RAN.eNBSourceCodePath + '/cmake_targets/')
if (os.path.isfile(client_filename)):
SSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, client_filename, RAN.eNBSourceCodePath + '/cmake_targets/')
def Iperf_common(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue,EPC):
try:
@@ -2804,12 +2854,12 @@ class OaiCiTest():
else:
SSH.copyin(self.ADBIPAddress, self.ADBUserName, self.ADBPassword, EPC.SourceCodePath + '/scripts/iperf_server_' + self.testCase_id + '_' + device_id + '.log', '.')
# fromdos has to be called on the python executor not on ADB server
cmd = 'fromdos -o iperf_server_' + self.testCase_id + '_' + device_id + '.log 2>&1 > /dev/null'
cmd = 'fromdos -o iperf_server_' + self.testCase_id + '_' + device_id + '.log > /dev/null 2>&1'
try:
subprocess.run(cmd, shell=True)
except:
pass
cmd = 'dos2unix -o iperf_server_' + self.testCase_id + '_' + device_id + '.log 2>&1 > /dev/null'
cmd = 'dos2unix -o iperf_server_' + self.testCase_id + '_' + device_id + '.log > /dev/null 2>&1'
try:
subprocess.run(cmd, shell=True)
except:
@@ -2995,7 +3045,7 @@ class OaiCiTest():
#special quick and dirty treatment for modules, iperf to be restructured
if self.ue_id!="": #is module
device_id = Module_UE.ID + "-" + Module_UE.Kind
p = Process(target = self.Iperf_Module ,args = (lock, UE_IPAddress, device_id, i, ue_num, status_queue, EPC, Module_UE,))
p = Process(target = self.Iperf_Module ,args = (lock, UE_IPAddress, device_id, i, ue_num, status_queue, EPC, Module_UE, RAN, ))
else: #legacy code
p = Process(target = self.Iperf_common, args = (lock, UE_IPAddress, device_id, i, ue_num, status_queue, EPC, ))
p.daemon = True
@@ -3156,10 +3206,12 @@ class OaiCiTest():
nrFoundDCI = 0
nrCRCOK = 0
mbms_messages = 0
nbPduSessAccept = 0
nbPduDiscard = 0
HTML.htmlUEFailureMsg=''
global_status = CONST.ALL_PROCESSES_OK
for line in ue_log_file.readlines():
result = re.search('nr_synchro_time', str(line))
result = re.search('nr_synchro_time|Starting NR UE soft modem', str(line))
if result is not None:
nrUEFlag = True
if nrUEFlag:
@@ -3172,6 +3224,15 @@ class OaiCiTest():
result = re.search('CRC OK', str(line))
if result is not None:
nrCRCOK += 1
result = re.search('Received PDU Session Establishment Accept', str(line))
if result is not None:
nbPduSessAccept += 1
result = re.search('warning: discard PDU, sn out of window', str(line))
if result is not None:
nbPduDiscard += 1
result = re.search('--nfapi 5 --node-number 2 --sa', str(line))
if result is not None:
frequency_found = True
result = re.search('Exiting OAI softmodem', str(line))
if result is not None:
exitSignalReceived = True
@@ -3302,21 +3363,29 @@ class OaiCiTest():
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nrUEFlag:
if nrDecodeMib > 0:
statMsg = 'UE showed ' + str(nrDecodeMib) + ' MIB decode message(s)'
statMsg = 'UE showed ' + str(nrDecodeMib) + ' "MIB decode" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nrFoundDCI > 0:
statMsg = 'UE showed ' + str(nrFoundDCI) + ' DCI found message(s)'
statMsg = 'UE showed ' + str(nrFoundDCI) + ' "DCI found" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nrCRCOK > 0:
statMsg = 'UE showed ' + str(nrCRCOK) + ' PDSCH decoding message(s)'
statMsg = 'UE showed ' + str(nrCRCOK) + ' "PDSCH decoding" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if not frequency_found:
statMsg = 'NR-UE could NOT synch!'
logging.error('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nbPduSessAccept > 0:
statMsg = 'UE showed ' + str(nbPduSessAccept) + ' "Received PDU Session Establishment Accept" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if nbPduDiscard > 0:
statMsg = 'UE showed ' + str(nbPduDiscard) + ' "warning: discard PDU, sn out of window" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
HTML.htmlUEFailureMsg=HTML.htmlUEFailureMsg + statMsg + '\n'
if uciStatMsgCount > 0:
statMsg = 'UE showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
@@ -3447,16 +3516,23 @@ class OaiCiTest():
job.join()
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
else: #if an ID is specified, it is a module from the yaml infrastructure file
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
Module_UE.Command("detach")
Module_UE.DisableTrace()
Module_UE.DisableCM()
archive_destination=Module_UE.LogCollect()
if Module_UE.ue_trace=='yes':
HTML.CreateHtmlTestRow('QLog at : '+archive_destination, 'OK', CONST.ALL_PROCESSES_OK)
ue_kind = InfraUE.ci_ue_infra[self.ue_id]['Kind']
logging.debug("Detected UE Kind : " + ue_kind)
if ue_kind == 'quectel':
Module_UE = cls_module_ue.Module_UE(InfraUE.ci_ue_infra[self.ue_id])
Module_UE.ue_trace=ue_trace
Module_UE.Command("detach")
Module_UE.DisableTrace()
Module_UE.DisableCM()
archive_destination=Module_UE.LogCollect()
if Module_UE.ue_trace=='yes':
HTML.CreateHtmlTestRow('QLog at : '+archive_destination, 'OK', CONST.ALL_PROCESSES_OK)
else:
HTML.CreateHtmlTestRow('QLog trace is disabled', 'OK', CONST.ALL_PROCESSES_OK)
elif ue_kind == 'amarisoft':
HTML.CreateHtmlTestRow('AS UE is already terminated', 'OK', CONST.ALL_PROCESSES_OK)
else:
HTML.CreateHtmlTestRow('QLog trace is disabled', 'OK', CONST.ALL_PROCESSES_OK)
logging.debug("Incorrect UE Kind was detected")
def TerminateOAIUE(self,HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS):
SSH = sshconnection.SSHConnection()
@@ -3788,7 +3864,7 @@ class OaiCiTest():
SSH = sshconnection.SSHConnection()
SSH.open(IPAddress, UserName, Password)
SSH.command('lsb_release -a', '\$', 5)
result = re.search('Description:\\\\t(?P<os_type>[a-zA-Z0-9\-\_\.\ ]+)', SSH.getBefore())
result = re.search('Description:\t(?P<os_type>[a-zA-Z0-9\-\_\.\ ]+)', SSH.getBefore())
if result is not None:
OsVersion = result.group('os_type')
logging.debug('OS is: ' + OsVersion)
@@ -3806,13 +3882,13 @@ class OaiCiTest():
logging.debug('OS is: ' + OsVersion)
HTML.OsVersion[idx]=OsVersion
SSH.command('uname -r', '\$', 5)
result = re.search('uname -r\\\\r\\\\n(?P<kernel_version>[a-zA-Z0-9\-\_\.]+)', SSH.getBefore())
result = re.search('uname -r\r\n(?P<kernel_version>[a-zA-Z0-9\-\_\.]+)', SSH.getBefore())
if result is not None:
KernelVersion = result.group('kernel_version')
logging.debug('Kernel Version is: ' + KernelVersion)
HTML.KernelVersion[idx]=KernelVersion
SSH.command('dpkg --list | egrep --color=never libuhd003', '\$', 5)
result = re.search('libuhd003:amd64 *(?P<uhd_version>[0-9\.]+)', SSH.getBefore())
SSH.command('dpkg --list | egrep --color=never libuhd', '\$', 5)
result = re.search('libuhd.*:amd64 *(?P<uhd_version>[0-9\.]+)', SSH.getBefore())
if result is not None:
UhdVersion = result.group('uhd_version')
logging.debug('UHD Version is: ' + UhdVersion)
@@ -3825,7 +3901,7 @@ class OaiCiTest():
logging.debug('UHD Version is: ' + UhdVersion)
HTML.UhdVersion[idx]=UhdVersion
SSH.command('echo ' + Password + ' | sudo -S uhd_find_devices', '\$', 180)
usrp_boards = re.findall('product: ([0-9A-Za-z]+)\\\\r\\\\n', SSH.getBefore())
usrp_boards = re.findall('product: ([0-9A-Za-z]+)', SSH.getBefore())
count = 0
for board in usrp_boards:
if count == 0:
@@ -3837,14 +3913,18 @@ class OaiCiTest():
logging.debug('USRP Board(s) : ' + UsrpBoard)
HTML.UsrpBoard[idx]=UsrpBoard
SSH.command('lscpu', '\$', 5)
result = re.search('CPU\(s\): *(?P<nb_cpus>[0-9]+).*Model name: *(?P<model>[a-zA-Z0-9\-\_\.\ \(\)]+).*CPU MHz: *(?P<cpu_mhz>[0-9\.]+)', SSH.getBefore())
result = re.search('CPU\(s\): *(?P<nb_cpus>[0-9]+)', SSH.getBefore())
if result is not None:
CpuNb = result.group('nb_cpus')
logging.debug('nb_cpus: ' + CpuNb)
HTML.CpuNb[idx]=CpuNb
result = re.search('Model name: *(?P<model>[a-zA-Z0-9\-\_\.\ \(\)]+)', SSH.getBefore())
if result is not None:
CpuModel = result.group('model')
logging.debug('model: ' + CpuModel)
HTML.CpuModel[idx]=CpuModel
result = re.search('CPU MHz: *(?P<cpu_mhz>[0-9\.]+)', SSH.getBefore())
if result is not None:
CpuMHz = result.group('cpu_mhz') + ' MHz'
logging.debug('cpu_mhz: ' + CpuMHz)
HTML.CpuMHz[idx]=CpuMHz

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
@@ -56,7 +56,6 @@ class PhySim:
self.__workSpacePath=''
self.__buildLogFile='compile_phy_sim.log'
self.__runLogFile=''
self.__runResults=[]
self.__runLogPath='phy_sim_logs'
@@ -64,20 +63,20 @@ class PhySim:
#PRIVATE Methods
#-----------------
def __CheckResults_PhySim(self,HTML,CONST,testcase_id):
def __CheckResults_LDPCTest(self,HTML,CONST,testcase_id):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
#retrieve run log file and store it locally$
mySSH.copyin(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord, self.__workSpacePath+self.__runLogFile, '.')
mySSH.close()
#parse results looking for Encoding and Decoding mean values
self.__runResults=[]
runResults=[]
with open(self.__runLogFile) as f:
for line in f:
if 'mean' in line:
self.__runResults.append(line)
runResults.append(line)
#the values are appended for each mean value (2), so we take these 2 values from the list
info=self.__runResults[0]+self.__runResults[1]
info = runResults[0] + runResults[1]
#once parsed move the local logfile to its folder for tidiness
os.system('mv '+self.__runLogFile+' '+ self.__runLogPath+'/.')
@@ -89,6 +88,38 @@ class PhySim:
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, html_queue)
return HTML
def __CheckResults_NRulsimTest(self, HTML, CONST, testcase_id):
html_queue = SimpleQueue()
#retrieve run log file and store it locally
mySSH = sshconnection.SSHConnection()
filename = self.__workSpacePath + self.__runLogFile
ret = mySSH.copyin(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord, filename, '.')
if ret != 0:
error_msg = f'could not recover test result file {filename}'
logging.error(error_msg)
html_queue.put(f'<pre style="background-color:white">{error_msg}</pre>')
HTML.CreateHtmlTestRowQueue("could not recover results", 'KO', 1, html_queue)
self.exitStatus = 1
return HTML
PUSCH_OK = False
with open(self.__runLogFile) as f:
PUSCH_OK = 'PUSCH test OK' in f.read()
# once parsed move the local logfile to its folder for tidiness
os.system(f'mv {self.__runLogFile} {self.__runLogPath}/.')
#updating the HTML with results
if PUSCH_OK:
html_queue.put('<pre style="background-color:white">succeeded</pre>')
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, html_queue)
else:
error_msg = 'error: no "PUSCH test OK"'
logging.error(error_msg)
html_queue.put(f'<pre style="background-color:white">{error_msg}</pre>')
HTML.CreateHtmlTestRowQueue(self.runargs, 'KO', 1, html_queue)
self.exitStatus = 1
return HTML
def __CheckBuild_PhySim(self, HTML, CONST):
self.__workSpacePath=self.eNBSourceCodePath+'/cmake_targets/'
@@ -100,21 +131,16 @@ class PhySim:
mySSH.command('rm ' + self.__workSpacePath+self.__runLogFile, '\$', 5)
mySSH.close()
#check build result from local compile log file
buildStatus=False
with open(self.__buildLogFile) as f:
#nr_prachsim is the last compile step
if 'nr_prachsim compiled' in f.read():
buildStatus=True
#update HTML based on build status
if buildStatus:
HTML.CreateHtmlTestRow(self.buildargs, 'OK', CONST.ALL_PROCESSES_OK, 'LDPC')
self.exitStatus=0
else:
logging.error('\u001B[1m Building Physical Simulators Failed\u001B[0m')
HTML.CreateHtmlTestRow(self.buildargs, 'KO', CONST.ALL_PROCESSES_OK, 'LDPC')
HTML.CreateHtmlTabFooter(False)
#exitStatus=1 will do a sys.exit in main
self.exitStatus=1
if 'BUILD SHOULD BE SUCCESSFUL' in f.read():
HTML.CreateHtmlTestRow(self.buildargs, 'OK', CONST.ALL_PROCESSES_OK, 'PhySim')
self.exitStatus=0
return HTML
logging.error('\u001B[1m Building Physical Simulators Failed\u001B[0m')
HTML.CreateHtmlTestRow(self.buildargs, 'KO', CONST.ALL_PROCESSES_OK, 'LDPC')
HTML.CreateHtmlTabFooter(False)
#exitStatus=1 will do a sys.exit in main
self.exitStatus = 1
return HTML
@@ -163,17 +189,17 @@ class PhySim:
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
mySSH.command('mkdir -p log', '\$', 5)
mySSH.command('chmod 777 log', '\$', 5)
mySSH.command('stdbuf -o0 ./build_oai ' + self.buildargs + ' 2>&1 | stdbuf -o0 tee ' + self.__buildLogFile, 'Bypassing the Tests|build have failed', 1500)
mySSH.command(f'./build_oai {self.buildargs} 2>&1 | tee {self.__buildLogFile}', '\$', 1500)
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
def Run_PhySim(self,htmlObj,constObj,testcase_id):
def Run_LDPCTest(self,htmlObj,constObj,testcase_id):
self.__workSpacePath = self.eNBSourceCodePath+'/cmake_targets/'
#create run logs folder locally
os.system('mkdir -p ./'+self.__runLogPath)
#log file is tc_<testcase_id>.log remotely
@@ -186,6 +212,19 @@ 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=self.__CheckResults_PhySim(htmlObj,constObj,testcase_id)
lHTML = cls_oai_html.HTMLManagement()
lHTML=self.__CheckResults_LDPCTest(htmlObj,constObj,testcase_id)
return lHTML
def Run_NRulsimTest(self, htmlObj, constObj, testcase_id):
self.__workSpacePath=self.eNBSourceCodePath+'/cmake_targets/'
os.system(f'mkdir -p ./{self.__runLogPath}')
self.__runLogFile = f'physim_{testcase_id}.log'
mySSH = sshconnection.SSHConnection()
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
mySSH.command(f'cd {self.__workSpacePath}', '\$', 5)
mySSH.command(f'sudo {self.__workSpacePath}ran_build/build/nr_ulsim {self.runargs} > {self.__runLogFile} 2>&1', '\$', 30)
mySSH.close()
#return updated HTML to main
lHTML = self.__CheckResults_NRulsimTest(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
@@ -141,7 +141,7 @@ class PhySim:
logging.debug('oai-physim size is unknown')
# logging to OC Cluster and then switch to corresponding project
mySSH.command(f'oc login -u {ocUserName} -p {ocPassword}', '\$', 30)
mySSH.command(f'oc login -u {ocUserName} -p {ocPassword} --server https://api.oai.cs.eurecom.fr:6443', '\$', 30)
if mySSH.getBefore().count('Login successful.') == 0:
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
mySSH.close()
@@ -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

@@ -35,7 +35,9 @@ import sys # arg
import re # reg
import logging
import os
from pathlib import Path
import time
from multiprocessing import Process, Lock, SimpleQueue
#-----------------------------------------------------------
# OAI Testing modules
@@ -51,7 +53,7 @@ class CppCheckResults():
def __init__(self):
self.variants = ['xenial', 'bionic']
self.variants = ['bionic', 'focal']
self.versions = ['','']
self.nbErrors = [0,0]
self.nbWarnings = [0,0]
@@ -116,12 +118,22 @@ class StaticCodeAnalysis():
# if the commit ID is provided use it to point to it
if self.ranCommitID != '':
mySSH.command('git checkout -f ' + self.ranCommitID, '\$', 30)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should already been checked earlier
if (self.ranAllowMerge):
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
mySSH.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
else:
logging.debug('Merging with the target branch: ' + self.ranTargetBranch)
mySSH.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:xenial || true', '\$', 60)
mySSH.command('docker build --tag oai-cppcheck:xenial --file ci-scripts/docker/Dockerfile.cppcheck.xenial . > cmake_targets/log/cppcheck-xenial.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:focal || true', '\$', 60)
mySSH.command('sed -e "s@xenial@bionic@" ci-scripts/docker/Dockerfile.cppcheck.xenial > ci-scripts/docker/Dockerfile.cppcheck.bionic', '\$', 6)
mySSH.command('docker build --tag oai-cppcheck:bionic --file ci-scripts/docker/Dockerfile.cppcheck.bionic . > cmake_targets/log/cppcheck-bionic.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:xenial || true', '\$', 30)
mySSH.command('sed -e "s@xenial@focal@" ci-scripts/docker/Dockerfile.cppcheck.xenial > ci-scripts/docker/Dockerfile.cppcheck.focal', '\$', 6)
mySSH.command('docker build --tag oai-cppcheck:focal --file ci-scripts/docker/Dockerfile.cppcheck.focal . > cmake_targets/log/cppcheck-focal.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:focal || true', '\$', 30)
# Analyzing the logs
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
@@ -131,8 +143,22 @@ class StaticCodeAnalysis():
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/build_log_' + self.testCase_id + '/*', '.')
CCR = CppCheckResults()
CCR_ref = CppCheckResults()
vId = 0
for variant in CCR.variants:
refAvailable = False
if self.ranAllowMerge:
refFolder = str(Path.home()) + '/cppcheck-references'
if (os.path.isfile(refFolder + '/cppcheck-'+ variant + '.txt')):
refAvailable = True
with open(refFolder + '/cppcheck-'+ variant + '.txt', 'r') as refFile:
for line in refFile:
ret = re.search(' (?P<nb_errors>[0-9\.]+) errors', str(line))
if ret is not None:
CCR_ref.nbErrors[vId] = int(ret.group('nb_errors'))
ret = re.search(' (?P<nb_warnings>[0-9\.]+) warnings', str(line))
if ret is not None:
CCR_ref.nbWarnings[vId] = int(ret.group('nb_warnings'))
if (os.path.isfile('./cppcheck-'+ variant + '.txt')):
xmlStart = False
with open('./cppcheck-'+ variant + '.txt', 'r') as logfile:
@@ -167,21 +193,43 @@ class StaticCodeAnalysis():
CCR.nbPtrAddNotNull[vId] += 1
if re.search('id="oppositeInnerCondition"', str(line)) is not None:
CCR.nbOppoInnerCondition[vId] += 1
logging.debug('======== Variant ' + variant + ' - ' + CCR.versions[vId] + ' ========')
logging.debug(' ' + str(CCR.nbErrors[vId]) + ' errors')
logging.debug(' ' + str(CCR.nbWarnings[vId]) + ' warnings')
logging.debug(' -- Details --')
logging.debug(' Memory leak: ' + str(CCR.nbMemLeaks[vId]))
logging.debug(' Possible null pointer deference: ' + str(CCR.nbNullPtrs[vId]))
logging.debug(' Uninitialized variable: ' + str(CCR.nbUninitVars[vId]))
logging.debug(' Undefined behaviour shifting: ' + str(CCR.nbTooManyBitsShift[vId]))
logging.debug(' Signed integer overflow: ' + str(CCR.nbIntegerOverflow[vId]))
logging.debug('')
logging.debug(' Printf formatting issue: ' + str(CCR.nbInvalidPrintf[vId]))
logging.debug(' Modulo result is predetermined: ' + str(CCR.nbModuloAlways[vId]))
logging.debug(' Opposite Condition -> dead code: ' + str(CCR.nbOppoInnerCondition[vId]))
logging.debug(' Wrong Scanf Nb Args: ' + str(CCR.nbWrongScanfArg[vId]))
logging.debug('')
vMsg = ''
vMsg += '======== Variant ' + variant + ' - ' + CCR.versions[vId] + ' ========\n'
vMsg += ' ' + str(CCR.nbErrors[vId]) + ' errors\n'
vMsg += ' ' + str(CCR.nbWarnings[vId]) + ' warnings\n'
vMsg += ' -- Details --\n'
vMsg += ' Memory leak: ' + str(CCR.nbMemLeaks[vId]) + '\n'
vMsg += ' Possible null pointer deference: ' + str(CCR.nbNullPtrs[vId]) + '\n'
vMsg += ' Uninitialized variable: ' + str(CCR.nbUninitVars[vId]) + '\n'
vMsg += ' Undefined behaviour shifting: ' + str(CCR.nbTooManyBitsShift[vId]) + '\n'
vMsg += ' Signed integer overflow: ' + str(CCR.nbIntegerOverflow[vId]) + '\n'
vMsg += '\n'
vMsg += ' Printf formatting issue: ' + str(CCR.nbInvalidPrintf[vId]) + '\n'
vMsg += ' Modulo result is predetermined: ' + str(CCR.nbModuloAlways[vId]) + '\n'
vMsg += ' Opposite Condition -> dead code: ' + str(CCR.nbOppoInnerCondition[vId]) + '\n'
vMsg += ' Wrong Scanf Nb Args: ' + str(CCR.nbWrongScanfArg[vId]) + '\n'
for vLine in vMsg.split('\n'):
logging.debug(vLine)
if self.ranAllowMerge and refAvailable:
if CCR_ref.nbErrors[vId] == CCR.nbErrors[vId]:
logging.debug(' No change in number of errors')
elif CCR_ref.nbErrors[vId] > CCR.nbErrors[vId]:
logging.debug(' Good! Decrease in number of errors')
else:
logging.debug(' Bad! increase in number of errors')
if CCR_ref.nbWarnings[vId] == CCR.nbWarnings[vId]:
logging.debug(' No change in number of warnings')
elif CCR_ref.nbWarnings[vId] > CCR.nbWarnings[vId]:
logging.debug(' Good! Decrease in number of warnings')
else:
logging.debug(' Bad! increase in number of warnings')
# Create new reference file
if not self.ranAllowMerge:
refFolder = str(Path.home()) + '/cppcheck-references'
if not os.path.isdir(refFolder):
os.mkdir(refFolder)
with open(refFolder + '/cppcheck-'+ variant + '.txt', 'w') as refFile:
refFile.write(vMsg)
vId += 1
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
@@ -190,3 +238,191 @@ 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:
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

@@ -21,10 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
servingCellConfigCommon = (
{
#spCellConfigCommon
@@ -218,7 +214,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
}
);

View File

@@ -211,8 +211,8 @@ MACRLCs = (
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
puSch10xSnr = 190;
puCch10xSnr = 160;
}
);
@@ -231,13 +231,13 @@ RUs = (
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
att_tx = 10
att_rx = 5;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
sdr_addrs = "mgmt_addr=172.21.19.13,addr=192.168.20.2,second_addr=192.168.10.2";
}
);

View File

@@ -211,8 +211,8 @@ MACRLCs = (
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
puSch10xSnr = 190;
puCch10xSnr = 160;
}
);
@@ -231,13 +231,13 @@ RUs = (
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
att_tx = 10
att_rx = 5;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
sdr_addrs = "mgmt_addr=172.21.19.13,addr=192.168.20.2,second_addr=192.168.10.2";
}
);

View File

@@ -211,8 +211,8 @@ MACRLCs = (
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
puSch10xSnr = 190;
puCch10xSnr = 160;
}
);
@@ -231,13 +231,13 @@ RUs = (
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
att_tx = 10
att_rx = 5;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
sdr_addrs = "mgmt_addr=172.21.19.13,addr=192.168.20.2,second_addr=192.168.10.2";
}
);

View File

@@ -32,10 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
@@ -73,15 +69,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -136,19 +123,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -240,52 +214,6 @@ MACRLCs = (
}
);
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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#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"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen

View File

@@ -1,45 +0,0 @@
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";
};
uicc0 = {
imsi = "208950000000031";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -1,45 +0,0 @@
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";
};
uicc0 = {
imsi = "208950000000032";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -1,45 +0,0 @@
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";
};
uicc0 = {
imsi = "208950000000033";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -1,45 +0,0 @@
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";
};
uicc0 = {
imsi = "208950000000034";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -21,10 +21,14 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
@@ -54,15 +58,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -117,18 +112,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -235,16 +218,6 @@ MACRLCs = (
}
)
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";

View File

@@ -32,10 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
@@ -74,15 +70,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -137,19 +124,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -241,52 +215,6 @@ MACRLCs = (
}
);
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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#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"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen

View File

@@ -21,8 +21,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
@@ -53,29 +52,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=2,L=12
initialDLBWPstartSymbolAndLength_1 = 53;
initialDLBWPk0_2 = 0;
initialDLBWPmappingType_2 = 0;
#this is SS=1,L=12
initialDLBWPstartSymbolAndLength_2 = 54;
initialDLBWPk0_3 = 0;
initialDLBWPmappingType_3 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_3 = 57;
#uplinkConfigCommon
#frequencyInfoUL
@@ -130,22 +106,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 55;
initialULBWPk2_1 = 6;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -275,16 +235,6 @@ MACRLCs = (
}
)
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";

View File

@@ -44,11 +44,7 @@ gNBs =
local_s_portd = 2152;
remote_s_portc = 500;
remote_s_portd = 2152;
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
@@ -84,17 +80,8 @@ gNBs =
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -149,19 +136,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;

View File

@@ -36,11 +36,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
@@ -76,17 +72,8 @@ gNBs =
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -141,19 +128,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -230,8 +204,7 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
prach_dtx_threshold = 200;
pucch0_dtx_threshold = 150;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}

View File

@@ -37,8 +37,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
pdcch_ConfigSIB1 = (
@@ -209,9 +208,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
};
@@ -232,7 +231,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
}
@@ -258,7 +256,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);

View File

@@ -38,8 +38,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
pdcch_ConfigSIB1 = (
@@ -206,9 +205,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
};
@@ -229,7 +228,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
}
);
@@ -254,7 +252,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);

View File

@@ -21,9 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -214,7 +211,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
@@ -227,6 +223,7 @@ RUs = (
att_tx = 0;
att_rx = 0;
bands = [7];
sl_ahead = 12;
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];

View File

@@ -21,9 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -184,7 +181,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);

View File

@@ -19,11 +19,8 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"
servingCellConfigCommon = (
@@ -201,20 +198,20 @@ 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 = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 80;
}
);
@@ -232,15 +229,14 @@ RUs = (
bf_weights = [0x00007fff, 0x00007fff];
#clock_src = "external";
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
//parallel_config = "PARALLEL_SINGLE_THREAD";
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

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

View File

@@ -37,8 +37,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;
@@ -235,7 +234,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
@@ -261,7 +259,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);

View File

@@ -0,0 +1,302 @@
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:
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";
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

@@ -37,9 +37,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"
@@ -240,7 +237,7 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 120;
prach_dtx_threshold = 200;
# pucch0_dtx_threshold = 150;
}
);
@@ -265,7 +262,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);

View File

@@ -37,9 +37,10 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist = "79,80,81,82"
pdcch_ConfigSIB1 = (
@@ -83,7 +84,7 @@ gNBs =
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 31899;
initialDLBWPlocationAndBandwidth = 31624;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
@@ -103,7 +104,7 @@ gNBs =
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 31899;
initialULBWPlocationAndBandwidth = 31624;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
@@ -234,7 +235,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
@@ -260,7 +260,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs = "mgmt_addr=172.21.19.14,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);

View File

@@ -21,9 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -197,7 +194,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
}
);
@@ -221,8 +217,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "addr=192.168.30.2,mgmt_addr=192.168.30.2,second_addr=192.168.50.2";
clock_src = "external";
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2";
}
);

View File

@@ -19,9 +19,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
servingCellConfigCommon = (
{
@@ -205,7 +202,7 @@ MACRLCs = (
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
ulsch_max_frame_inactivity = 0;
}
);
@@ -213,7 +210,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 6;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
@@ -223,11 +219,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

@@ -20,9 +20,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -214,7 +211,6 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 6;
}
);

View File

@@ -32,11 +32,8 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
enable_sdap = 1;
pdcch_ConfigSIB1 = (
{
@@ -66,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;
@@ -88,7 +85,7 @@ gNBs =
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 13475;
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
@@ -221,6 +218,7 @@ L1s = (
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
prach_dtx_threshold = 200;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);

View File

@@ -0,0 +1,344 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 222;
mnc = 01;
mnc_length = 2;
snssaiList = (
{
sst = 1;
#sd = 0x1; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
min_rxtxtime = 2;
do_CSIRS = 1;
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#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=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
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 = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated = ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp-Id_1 = 1;
dl_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing = 1;
# BWP 2 Configuration
dl_bwp-Id_2 = 2;
dl_bwp2_locationAndBandwidth = 13750; // RBstart=0, L=51 (20 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp2_subcarrierSpacing = 1;
# BWP 3 Configuration
dl_bwp-Id_3 = 3;
dl_bwp3_locationAndBandwidth = 6325; // RBstart=0, L=24 (10 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp3_subcarrierSpacing = 1;
firstActiveDownlinkBWP-Id = 1; #BWP-Id
defaultDownlinkBWP-Id = 1; #BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp-Id_1 = 1;
ul_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing = 1;
# BWP 2 Configuration
ul_bwp-Id_2 = 2;
ul_bwp2_locationAndBandwidth = 13750; // RBstart=0, L=51 (20 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp2_subcarrierSpacing = 1;
# BWP 3 Configuration
ul_bwp-Id_3 = 3;
ul_bwp3_locationAndBandwidth = 6325; // RBstart=0, L=24 (10 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp3_subcarrierSpacing = 1;
firstActiveUplinkBWP-Id = 1; #BWP-Id
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "172.21.16.136";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.137/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.137/24";
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 = 200;
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 100;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 10;
att_rx = 10;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
f1ap_log_level ="debug";
};

View File

@@ -32,9 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
sib1_tda = 15;
min_rxtxtime = 6;

View File

@@ -46,6 +46,7 @@ ENB_PROCESS_NOLOGFILE_TO_ANALYZE = -14
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED = -15
ENB_REAL_TIME_PROCESSING_ISSUE = -16
ENB_RETX_ISSUE = -17
ENB_SHUTDOWN_NO_BYE = -18
HSS_PROCESS_FAILED = -2
HSS_PROCESS_OK = +2
MME_PROCESS_FAILED = -3

View File

@@ -16,7 +16,7 @@ Ref :
L1 Rx processing : 175.0
PUSCH inner-receiver : 100.0
PUSCH decoding : 180.0
DL & UL scheduling timing stats : 37.0
DL & UL scheduling timing : 37.0
UL Indication : 38.0
Threshold :
feprx : 1.25
@@ -28,5 +28,5 @@ Threshold :
L1 Rx processing : 1.25
PUSCH inner-receiver : 1.25
PUSCH decoding : 1.25
DL & UL scheduling timing stats : 1.25
DL & UL scheduling timing : 1.25
UL Indication : 1.25

View File

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

View File

@@ -52,7 +52,6 @@ Options:
--------
# OpenAirInterface Build Variants
--variant enb-usrp OR -v1 ( build and test )
--variant basic-sim OR -v2 ( build and test )
--variant phy-sim OR -v3 ( build and test )
--variant cppcheck OR -v4 ( build and test )
--variant gnb-usrp OR -v5 ( build and test )

View File

@@ -45,7 +45,6 @@ Mandatory Options:
# OpenAirInterface Build Variants
--variant enb-usrp OR -v1 ( build and test )
--variant basic-sim OR -v2 ( build and test )
--variant phy-sim OR -v3 ( build and test )
--variant cppcheck OR -v4 ( build and test )
--variant gnb-usrp OR -v5 ( build and test )

View File

@@ -109,12 +109,6 @@ You can get the list of variant specific variables specifying the variant argume
NB_PATTERN_FILES=9 BUILD_OPTIONS=""
LOG_PATTERN=.Rel15.txt
--variant basic-sim OR -v2 ( build and test )
VM_NAME=ci-basic-sim ARCHIVES_LOC=basic_sim
VM_MEMORY=8192 VM_CPU=4
NB_PATTERN_FILES=13 BUILD_OPTIONS="--eNB --UE"
LOG_PATTERN=.Rel15.txt
--variant phy-sim OR -v3 ( build and test )
VM_NAME=ci-phy-sim ARCHIVES_LOC=phy_sim
VM_MEMORY=2048 VM_CPU=4

View File

@@ -18,16 +18,14 @@
2. [Detailed Description](#2-detailed-description)
3. [Typical Usage](#3-typical-usage)
1. [Testing the physical simulators](#31-testing-the-physicals-simulators)
2. [Testing the basic simulator](#32-testing-the-basic-simulator)
3. [Testing the RF simulator](#33-testing-the-rf-simulator)
4. [Testing the L2-nFAPI simulator](#33-testing-the-l2-nfapi-simulator)
2. [Testing the RF simulator](#33-testing-the-rf-simulator)
3. [Testing the L2-nFAPI simulator](#33-testing-the-l2-nfapi-simulator)
# 1. Introduction #
Currently 2 build variants can be directly tested:
Currently 1 build variant can be directly tested:
* Physical Simulators
* Basic Simulator
In addition, 2 build variants are used:
@@ -73,7 +71,6 @@ Options:
# OpenAirInterface Build Variants
--variant enb-usrp OR -v1 ( build and test )
--variant basic-sim OR -v2 ( build and test )
--variant phy-sim OR -v3 ( build and test )
--variant cppcheck OR -v4 ( build and test )
--variant gnb-usrp OR -v5 ( build and test )
@@ -143,64 +140,7 @@ $ ./ci-scripts/oai-ci-vm-tool test --workspace /var/jenkins/workspace/RAN-CI-dev
Note that the VM instance is destroyed. You do that when you are sure your test is passing.
## 3.2. Testing the basic simulator ##
```bash
$ ./ci-scripts/oai-ci-vm-tool test --workspace /var/jenkins/workspace/RAN-CI-develop --variant basic-sim --job-name RAN-CI-develop --build-id 48
15:11:13 ############################################################
15:11:13 OAI CI VM script
15:11:13 ############################################################
15:11:13 VM_NAME = RAN-CI-develop-b48-basic-sim
15:11:13 VM_CMD_FILE = RAN-CI-develop-b48-basic-sim_cmds.txt
15:11:13 JENKINS_WKSP = /var/jenkins/workspace/RAN-CI-develop
15:11:13 ARCHIVES_LOC = /var/jenkins/workspace/RAN-CI-develop/archives/basic_sim/test
15:11:13 ############################################################
15:11:13 Waiting for VM to be started
15:11:13 ############################################################
15:11:14 Warning: Permanently added '192.168.122.29' (ECDSA) to the list of known hosts.
15:11:15 RAN-CI-develop-b48-basic-sim has for IP addr = 192.168.122.29
15:11:15 ############################################################
15:11:15 Test EPC on VM (RAN-CI-develop-b48-epc) will be using ltebox
15:11:15 ############################################################
15:11:15 EPC_VM_CMD_FILE = RAN-CI-develop-b48-epc_cmds.txt
15:11:15 ############################################################
15:11:15 Creating test EPC VM (RAN-CI-develop-b48-epc) on Ubuntu Cloud Image base
15:11:15 ############################################################
15:11:18 Waiting for VM to be started
15:13:25 Warning: Permanently added '192.168.122.156' (ECDSA) to the list of known hosts.
15:13:25 RAN-CI-develop-b48-epc has for IP addr = 192.168.122.156
15:13:25 Warning: Permanently added '192.168.122.156' (ECDSA) to the list of known hosts.
15:13:25 ls: cannot access '/opt/ltebox/tools/start_ltebox': No such file or directory
15:13:25 ############################################################
15:13:25 Copying ltebox archives into EPC VM (RAN-CI-develop-b48-epc)
15:13:25 ############################################################
15:13:25 ############################################################
15:13:25 Install EPC on EPC VM (RAN-CI-develop-b48-epc)
15:13:25 ############################################################
....
15:24:39 ############################################################
15:24:39 Terminate EPC
15:24:39 ############################################################
15:24:39 cd /opt/ltebox/tools
15:24:39 sudo ./stop_ltebox
15:24:40 sudo daemon --name=simulated_hss --stop
15:24:40 sudo killall --signal SIGKILL hss_sim
15:24:40 ############################################################
15:24:40 Destroying VMs
15:24:40 ############################################################
15:24:41 # Host 192.168.122.29 found: line 18
15:24:41 /home/eurecom/.ssh/known_hosts updated.
15:24:41 Original contents retained as /home/eurecom/.ssh/known_hosts.old
15:24:43 # Host 192.168.122.60 found: line 20
15:24:43 /home/eurecom/.ssh/known_hosts updated.
15:24:43 Original contents retained as /home/eurecom/.ssh/known_hosts.old
15:24:43 ############################################################
15:24:43 Checking run status
15:24:43 ############################################################
15:24:43 STATUS seems OK
```
## 3.3. Test the RF simulator ##
## 3.2. Test the RF simulator ##
```bash
./ci-scripts/oai-ci-vm-tool test --workspace /var/jenkins/workspace/RAN-CI-develop --variant rf-sim --job-name RAN-CI-develop --build-id 48 --keep-vm-alive
@@ -209,7 +149,7 @@ $ ./ci-scripts/oai-ci-vm-tool test --workspace /var/jenkins/workspace/RAN-CI-dev
15:24:45 STATUS seems OK
```
## 3.4. Testing the L2-nFAPI simulator
## 3.3. Testing the L2-nFAPI simulator
```bash
./ci-scripts/oai-ci-vm-tool test --workspace /var/jenkins/workspace/RAN-CI-develop --variant l2-sim --job-name RAN-CI-develop --build-id 48

View File

@@ -0,0 +1,27 @@
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 \
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 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

@@ -66,6 +66,8 @@ class EPCManagement():
self.mmeConfFile = 'mme.conf'
self.yamlPath = ''
self.isMagmaUsed = False
self.cfgDeploy = '--type start-mini --fqdn yes --scenario 1 --capture /tmp/oai-cn5g-v1.3.pcap' #from xml, 'mini' is default normal for docker-network.py
self.cfgUnDeploy = '--type stop-mini --fqdn yes --scenario 1' #from xml, 'mini' is default normal for docker-network.py
#-----------------------------------------------------------
@@ -251,18 +253,21 @@ class EPCManagement():
logging.debug('Starting OAI CN5G')
mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5)
mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('cd /opt/oai-cn5g-fed/docker-compose', '\$', 5)
mySSH.command('./core-network.sh start nrf spgwu', '\$', 60)
time.sleep(2)
mySSH.command('docker-compose -p 5gcn ps -a', '\$', 60)
mySSH.command('cd /opt/oai-cn5g-fed-v1.4/docker-compose', '\$', 5)
mySSH.command('python3 ./core-network.py '+self.cfgDeploy, '\$', 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') + ' '
@@ -306,6 +311,8 @@ class EPCManagement():
tmp = str(response[0],'utf-8')
self.MmeIPAddress = tmp.rstrip()
logging.debug('AMF IP Address ' + self.MmeIPAddress)
else:
logging.error('no container with name oai-amf found, could not retrieve AMF IP address')
mySSH.close()
def CheckHSSProcess(self, status_queue):
@@ -530,11 +537,11 @@ class EPCManagement():
mySSH.command('docker logs ' + c + ' > ' + self.SourceCodePath + '/logs/' + c + '.log', '\$', 5)
logging.debug('Terminating OAI CN5G')
mySSH.command('cd /opt/oai-cn5g-fed/docker-compose', '\$', 5)
mySSH.command('./core-network.sh stop nrf spgwu', '\$', 60)
mySSH.command('cd /opt/oai-cn5g-fed-v1.4/docker-compose', '\$', 5)
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)'
@@ -828,8 +835,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
#-----------------------------------------------------------
@@ -102,7 +102,7 @@ def AssignParams(params_dict):
def GetParametersFromXML(action):
if action == 'Build_eNB' or action == 'Build_Image':
if action == 'Build_eNB' or action == 'Build_Image' or action == 'Build_Proxy':
RAN.Build_eNB_args=test.findtext('Build_eNB_args')
CONTAINERS.imageKind=test.findtext('kind')
forced_workspace_cleanup = test.findtext('forced_workspace_cleanup')
@@ -138,6 +138,9 @@ def GetParametersFromXML(action):
RAN.backgroundBuild=True
else:
RAN.backgroundBuild=False
proxy_commit = test.findtext('proxy_commit')
if proxy_commit is not None:
CONTAINERS.proxyCommit = proxy_commit
elif action == 'WaitEndBuild_eNB':
RAN.Build_eNB_args=test.findtext('Build_eNB_args')
@@ -376,6 +379,16 @@ def GetParametersFromXML(action):
if (string_field is not None):
EPC.yamlPath = string_field
elif action == 'Initialize_5GCN':
string_field = test.findtext('args')
if (string_field is not None):
EPC.cfgDeploy = string_field
elif action == 'Terminate_5GCN':
string_field = test.findtext('args')
if (string_field is not None):
EPC.cfgUnDeploy = string_field
elif action == 'Deploy_Object' or action == 'Undeploy_Object':
eNB_instance=test.findtext('eNB_instance')
if (eNB_instance is None):
@@ -391,7 +404,7 @@ def GetParametersFromXML(action):
if (string_field is not None):
CONTAINERS.yamlPath[CONTAINERS.eNB_instance] = string_field
elif action == 'DeployGenObject' or action == 'UndeployGenObject':
elif action == 'DeployGenObject' or action == 'UndeployGenObject' or action == 'StatsFromGenObject':
string_field=test.findtext('yaml_path')
if (string_field is not None):
CONTAINERS.yamlPath[0] = string_field
@@ -444,9 +457,18 @@ def GetParametersFromXML(action):
if (string_field is not None):
CONTAINERS.testSvrId = string_field
else: # ie action == 'Run_PhySim':
elif action == 'Run_LDPCTest' or action == 'Run_NRulsimTest':
ldpc.runargs = test.findtext('physim_run_args')
elif action == 'LicenceAndFormattingCheck':
pass
elif action == 'Cppcheck_Analysis':
pass
else:
logging.error(f"unknown action {action}")
#check if given test is in list
#it is in list if one of the strings in 'list' is at the beginning of 'test'
@@ -508,7 +530,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()
@@ -769,19 +791,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
@@ -789,7 +811,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:
@@ -901,18 +923,34 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
HTML=ldpc.Build_PhySim(HTML,CONST)
if ldpc.exitStatus==1:
RAN.prematureExit = True
elif action == 'Run_PhySim':
HTML=ldpc.Run_PhySim(HTML,CONST,id)
elif action == 'Run_LDPCTest':
HTML=ldpc.Run_LDPCTest(HTML,CONST,id)
if ldpc.exitStatus==1:
RAN.prematureExit = True
elif action == 'Run_NRulsimTest':
HTML=ldpc.Run_NRulsimTest(HTML,CONST,id)
if ldpc.exitStatus==1:
RAN.prematureExit = True
elif action == 'Build_Image':
CONTAINERS.BuildImage(HTML)
elif action == 'Build_Proxy':
CONTAINERS.BuildProxy(HTML)
elif action == 'Copy_Image_to_Test':
CONTAINERS.Copy_Image_to_Test_Server(HTML)
success = CONTAINERS.Copy_Image_to_Test_Server(HTML)
if not success:
RAN.prematureExit = True
elif action == 'Deploy_Object':
CONTAINERS.DeployObject(HTML, EPC)
if CONTAINERS.exitStatus==1:
RAN.prematureExit = True
elif action == 'Undeploy_Object':
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':
@@ -931,6 +969,8 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
CONTAINERS.IperfFromContainer(HTML, RAN)
if CONTAINERS.exitStatus==1:
RAN.prematureExit = True
elif action == 'StatsFromGenObject':
CONTAINERS.StatsFromGenObject(HTML)
else:
sys.exit('Invalid class (action) from xml')
if RAN.prematureExit:

View File

@@ -174,7 +174,7 @@ function variant__v1__enb_usrp {
BUILD_OPTIONS="--eNB -w USRP --mu"
VM_MEMORY=3072
}
function variant__v2__basic_sim {
NB_PATTERN_FILES=11
BUILD_OPTIONS="--eNB --UE"
@@ -200,28 +200,28 @@ function variant__v4__cppcheck {
function variant__v5__gnb_usrp {
VM_MEMORY=10240
VM_CPU=8
NB_PATTERN_FILES=7
NB_PATTERN_FILES=6
BUILD_OPTIONS="--gNB -w USRP"
}
function variant__v6__nr_ue_usrp {
VM_MEMORY=4096
VM_CPU=4
NB_PATTERN_FILES=7
NB_PATTERN_FILES=6
BUILD_OPTIONS="--nrUE -w USRP"
}
function variant__v7__enb_ethernet {
VM_MEMORY=4096
ARCHIVES_LOC=enb_eth
NB_PATTERN_FILES=7
NB_PATTERN_FILES=6
BUILD_OPTIONS="--eNB -w USRP"
}
function variant__v8__ue_ethernet {
VM_MEMORY=4096
ARCHIVES_LOC=ue_eth
NB_PATTERN_FILES=11
NB_PATTERN_FILES=10
BUILD_OPTIONS="--UE -w USRP"
}

View File

@@ -0,0 +1,54 @@
import argparse
import os
import re
import subprocess
import sys
AUTH_SERVICE = 'registry.docker.io'
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 + '" 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/oaisoftwarealliance/oai-enb/tags/list" 2>/dev/null | jq .'
listOfTags = subprocess.check_output(cmd, shell=True, universal_newlines=True)
foundTag = False
for tag in listOfTags.split('\n'):
if re.search('"' + args.start_tag + '"', tag) is not None:
foundTag = True
if not foundTag:
print (args.start_tag)
sys.exit(0)
proposedVariants = ['a', 'b', 'c', 'd']
for variant in proposedVariants:
foundTag = False
currentVariant = variant
for tag in listOfTags.split('\n'):
if re.search('"' + args.start_tag + variant + '"', tag) is not None:
foundTag = True
break
if not foundTag:
break
if not foundTag:
print (args.start_tag + currentVariant)
def _parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description='Provides an unique new image tag for DockerHub')
parser.add_argument(
'--start_tag', '-st',
action='store',
required=True,
help='Proposed Starting Tag',
)
return parser.parse_args()
if __name__ == '__main__':
main()

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 xNB 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 EPC 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
@@ -485,7 +479,7 @@ class RANManagement():
mySSH.command('chmod 775 ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf enb_' + self.testCase_id + '.log', '\$', 5)
mySSH.command('echo $USER; nohup sudo -E ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh > ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '.log 2>&1 &', lUserName, 10)
mySSH.command('echo $USER; nohup sudo -E stdbuf -o0 ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh > ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '.log 2>&1 &', lUserName, 10)
#stats monitoring during runtime
@@ -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 on EPC \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:
@@ -654,18 +644,16 @@ class RANManagement():
time.sleep(5)
mySSH.command('rm -f my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
#stopping tshark (valid if eNB and enabled in xml, will not harm otherwise)
logging.debug('\u001B[1m Stopping tshark \u001B[0m')
logging.debug('\u001B[1m Stopping tshark on xNB \u001B[0m')
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5)
time.sleep(1)
mySSH.close()
# If tracer options is on, stopping tshark on EPC side
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if (result is not None):
if EPC.IPAddress != "none" and EPC.IPAddress != '':
localEpcIpAddr = EPC.IPAddress
localEpcUserName = EPC.UserName
localEpcPassword = EPC.Password
logging.debug('\u001B[1m Stopping tshark on EPC (' + localEpcIpAddr + ') \u001B[0m')
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
logging.debug('\u001B[1m Stopping tshark \u001B[0m')
mySSH.command('echo ' + localEpcPassword + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5)
time.sleep(1)
if self.epcPcapFile != '':
@@ -752,11 +740,11 @@ class RANManagement():
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/enb_*.pcap .','\$',20)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/gnb_*.pcap .','\$',20)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm -f enb.log.zip', '\$', 5)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip enb*.log enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor*.png ping*.log.png log/*/*.log log/*/*.pcap', '\$', 60)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip enb*.log enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor*.png ping*.log* iperf*.log log/*/*.log log/*/*.pcap', '\$', 60)
result = re.search('core.\d+', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip core* ran_build/build/{lte,nr}-softmodem', '\$', 60) # add core and executable to zip
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor*.png ping*.log.png log/*/*.log log/*/*.pcap', '\$', 15)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor*.png ping*.log* iperf*.log log/*/*.log log/*/*.pcap', '\$', 15)
mySSH.close()
def AnalyzeLogFile_eNB(self, eNBlogFile, HTML, checkers={}):
@@ -822,6 +810,9 @@ class RANManagement():
RealTimeProcessingIssue = False
DLRetxIssue = False
ULRetxIssue = False
nrRrcRcfgComplete = 0
harqFeedbackPast = 0
showedByeMsg = False # last line is Bye. -> stopped properly
line_cnt=0 #log file line counter
for line in enb_log_file.readlines():
@@ -995,8 +986,25 @@ class RANManagement():
for k in keys:
result = re.search(k, line)
if result is not None:
ue_prefix = 'ue0'
ue_res = re.search('UE ID 1|UE 1:', line)
if ue_res is not None:
ue_prefix = 'ue1'
ue_res = re.search('UE ID 2|UE 2:', line)
if ue_res is not None:
ue_prefix = 'ue2'
ue_res = re.search('UE ID 3|UE 3:', line)
if ue_res is not None:
ue_prefix = 'ue3'
#remove 1- all useless char before relevant info (ulsch or dlsch) 2- trailing char
dlsch_ulsch_stats[k]=re.sub(r'^.*\]\s+', r'' , line.rstrip())
dlsch_ulsch_stats[ue_prefix+k]=re.sub(r'^.*\]\s+', r'' , line.rstrip())
result = re.search('Received NR_RRCReconfigurationComplete from UE', str(line))
if result is not None:
nrRrcRcfgComplete += 1
result = re.search('HARQ feedback is in the past', str(line))
if result is not None:
harqFeedbackPast += 1
#count "problem receiving samples" msg
@@ -1017,6 +1025,12 @@ class RANManagement():
if result is not None:
gnb_markers[k].append(line_cnt)
# check whether e/gNB log finishes with "Bye." message
# Note that it is "=" not "|=" so not only is the regex
# asking for EOF (\Z) but we also only retain the last
# line's result
showedByeMsg = re.search(r'^Bye.\n\Z', str(line), re.MULTILINE) is not None
enb_log_file.close()
@@ -1085,6 +1099,14 @@ class RANManagement():
statMsg = nodeB_prefix + 'NB ran with TX Write thread enabled'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if nrRrcRcfgComplete > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(nrRrcRcfgComplete) + ' "Received NR_RRCReconfigurationComplete from UE" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if harqFeedbackPast > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(harqFeedbackPast) + ' "HARQ feedback is in the past" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
#FR1 NSA test : add new markers to make sure gNB is used
if NSA_RAPROC_PUSCH_check:
statMsg = '[RAPROC] PUSCH with TC_RNTI message check for ' + nodeB_prefix + 'NB : PASS '
@@ -1193,6 +1215,13 @@ class RANManagement():
logging.debug('No real time stats found in the log file')
htmleNBFailureMsg += statMsg
if not showedByeMsg:
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB did not show "Bye." message at end, it likely did not stop properly! \u001B[0m')
htmleNBFailureMsg += 'No Bye. message found, did not stop properly\n'
global_status = CONST.ENB_SHUTDOWN_NO_BYE
else:
logging.debug('"Bye." message found at end.')
else:
#Removing UE log
statMsg = '[MAC] Removing UE msg count = '+str(removing_ue)

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
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 += '\\\n' + jobname + ': **'+status+'** ([' + buildid + '](' + buildurl + '))'
#create new note
mr_note = editable_mr.notes.create({

View File

@@ -463,106 +463,75 @@ function report_build {
echo " </table>" >> ./build_results.html
echo " <h2>Build Summary</h2>" >> ./build_results.html
if [ -f ./oai_rules_result.txt ]
echo " <h3>OAI Coding / Formatting Guidelines Check</h3>" >> ./build_results.html
if [ -f ./header-files-w-incorrect-define.txt ]
then
echo " <h3>OAI Coding / Formatting Guidelines Check</h3>" >> ./build_results.html
NB_FILES=`cat ./oai_rules_result.txt`
if [ $NB_FILES = "0" ]
then
NB_FILES_IN_ERROR=`wc -l ./header-files-w-incorrect-define.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -eq 0 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]; then echo " <strong>All files in repository follow OAI rules. <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <strong>All modified files in Merge-Request follow OAI rules. <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <strong>No Issue for CIRCULAR DEPENDENCY PROTECTION in modified files</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>No Issue for CIRCULAR DEPENDENCY PROTECTION in the whole repository</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]; then echo " <strong>$NB_FILES files in repository DO NOT follow OAI rules. <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <strong>$NB_FILES modified files in Merge-Request DO NOT follow OAI rules. <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files MAY NOT HAVE CIRCULAR DEPENDENCY PROTECTION</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository MAY NOT HAVE CIRCULAR DEPENDENCY PROTECTION in the whole repository</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
fi
if [ -f ./oai_rules_result_list.txt ]
then
echo " <button data-toggle=\"collapse\" data-target=\"#oai-formatting-details\">More details on formatting check</button>" >> ./build_results.html
echo " <div id=\"oai-formatting-details\" class=\"collapse\">" >> ./build_results.html
echo " <p>Please apply the following command to this(ese) file(s): </p>" >> ./build_results.html
echo " <p style=\"margin-left: 30px\"><strong><code>astyle --options=ci-scripts/astyle-options.txt filename(s)</code></strong></p>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-circular-details\">More details on circular dependency protection check</button>" >> ./build_results.html
echo " <div id=\"oai-circular-details\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Potential Issue</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Impacted File</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Incorrect Macro</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ./oai_rules_result_list.txt >> ./build_results.html
awk '{if($0 ~/error in/){print " <tr><td>error in declaration</td><td>"$4"</td><td>"$5"</td></tr>"};if($0 ~/files with same/){print " <tr><td>files with same #define</td><td>"$5"</td><td>"$6"</td></tr>"}}' ./header-files-w-incorrect-define.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
if [ -f ./header-files-w-incorrect-define.txt ]
fi
if [ -f ./files-w-gnu-gpl-license-banner.txt ]
then
NB_FILES_IN_ERROR=`wc -l ./files-w-gnu-gpl-license-banner.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -ne 0 ]
then
NB_FILES_IN_ERROR=`wc -l ./header-files-w-incorrect-define.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -eq 0 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>No Issue for CIRCULAR DEPENDENCY PROTECTION in modified files</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>No Issue for CIRCULAR DEPENDENCY PROTECTION in the whole repository</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files MAY NOT HAVE CIRCULAR DEPENDENCY PROTECTION</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository MAY NOT HAVE CIRCULAR DEPENDENCY PROTECTION in the whole repository</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-circular-details\">More details on circular dependency protection check</button>" >> ./build_results.html
echo " <div id=\"oai-circular-details\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Potential Issue</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Impacted File</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Incorrect Macro</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{if($0 ~/error in/){print " <tr><td>error in declaration</td><td>"$4"</td><td>"$5"</td></tr>"};if($0 ~/files with same/){print " <tr><td>files with same #define</td><td>"$5"</td><td>"$6"</td></tr>"}}' ./header-files-w-incorrect-define.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files HAVE a GNU GPL license banner</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository HAVE a GNU GPL license banner</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-license-gpl\">More details on GNU GPL license banner issue</button>" >> ./build_results.html
echo " <div id=\"oai-license-gpl\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ./files-w-gnu-gpl-license-banner.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
if [ -f ./files-w-gnu-gpl-license-banner.txt ]
fi
if [ -f ./files-w-suspect-banner.txt ]
then
NB_FILES_IN_ERROR=`wc -l ./files-w-suspect-banner.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -ne 0 ]
then
NB_FILES_IN_ERROR=`wc -l ./files-w-gnu-gpl-license-banner.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -ne 0 ]
then
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files HAVE a GNU GPL license banner</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository HAVE a GNU GPL license banner</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-license-gpl\">More details on GNU GPL license banner issue</button>" >> ./build_results.html
echo " <div id=\"oai-license-gpl\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ./files-w-gnu-gpl-license-banner.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
fi
if [ -f ./files-w-suspect-banner.txt ]
then
NB_FILES_IN_ERROR=`wc -l ./files-w-suspect-banner.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -ne 0 ]
then
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files HAVE a suspect license banner</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository HAVE a suspect license banner</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-license-suspect\">More details on suspect banner files</button>" >> ./build_results.html
echo " <div id=\"oai-license-suspect\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ././files-w-suspect-banner.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files HAVE a suspect license banner</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository HAVE a suspect license banner</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-license-suspect\">More details on suspect banner files</button>" >> ./build_results.html
echo " <div id=\"oai-license-suspect\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ././files-w-suspect-banner.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
fi
@@ -574,7 +543,6 @@ function report_build {
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/enb_eth/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./enb_eth_row3.html
summary_table_row "Parameters Lib Config - Release 15" ./archives/enb_eth/params_libconfig.Rel15.txt "Built target params_libconfig" ./enb_eth_row4.html
summary_table_row "RF Simulator - Release 15" ./archives/enb_eth/rfsimulator.Rel15.txt "Built target rfsimulator" ./enb_eth_row5.html
summary_table_row "TCP OAI Bridge - Release 15" ./archives/enb_eth/tcp_bridge_oai.Rel15.txt "Built target tcp_bridge_oai" ./enb_eth_row6.html
summary_table_row "OAI USRP device if - Release 15" ./archives/enb_eth/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./enb_eth_row7.html
summary_table_footer
@@ -584,7 +552,6 @@ function report_build {
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/ue_eth/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./ue_eth_row3.html
summary_table_row "Parameters Lib Config - Release 15" ./archives/ue_eth/params_libconfig.Rel15.txt "Built target params_libconfig" ./ue_eth_row4.html
summary_table_row "RF Simulator - Release 15" ./archives/ue_eth/rfsimulator.Rel15.txt "Built target rfsimulator" ./ue_eth_row5.html
summary_table_row "TCP OAI Bridge - Release 15" ./archives/ue_eth/tcp_bridge_oai.Rel15.txt "Built target tcp_bridge_oai" ./ue_eth_row6.html
summary_table_row "Conf 2 UE Data - Release 15" ./archives/ue_eth/conf2uedata.Rel15.txt "Built target conf2uedata" ./ue_eth_row7.html
summary_table_row "NVRAM - Release 15" ./archives/ue_eth/nvram.Rel15.txt "Built target nvram" ./ue_eth_row8.html
summary_table_row "UE IP - Release 15" ./archives/ue_eth/ue_ip.Rel15.txt "Built target ue_ip" ./ue_eth_row9.html
@@ -592,20 +559,6 @@ function report_build {
summary_table_row "OAI USRP device if - Release 15" ./archives/ue_eth/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./ue_eth_row9b.html
summary_table_footer
summary_table_header "OAI Build: 4G LTE basic simulator option" ./archives/basic_sim
summary_table_row "LTE SoftModem - Release 15" ./archives/basic_sim/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./basic_sim_row1.html
summary_table_row "LTE UE SoftModem - Release 15" ./archives/basic_sim/lte-uesoftmodem.Rel15.txt "Built target lte-uesoftmodem" ./basic_sim_row2.htm
summary_table_row "Coding - Release 15" ./archives/basic_sim/coding.Rel15.txt "Built target coding" ./basic_sim_row3.html
summary_table_row "Conf 2 UE data - Release 15" ./archives/basic_sim/conf2uedata.Rel15.txt "Built target conf2uedata" ./basic_sim_row4.html
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/basic_sim/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./basic_sim_row5.html
summary_table_row "Parameters Lib Config - Release 15" ./archives/basic_sim/params_libconfig.Rel15.txt "Built target params_libconfig" ./basic_sim_row7.html
summary_table_row "RF Simulator - Release 15" ./archives/basic_sim/rfsimulator.Rel15.txt "Built target rfsimulator" ./basic_sim_row9.html
summary_table_row "TCP Bridge - Release 15" ./archives/basic_sim/tcp_bridge_oai.Rel15.txt "Built target tcp_bridge_oai" ./basic_sim_row10.html
summary_table_row "UE IP - Release 15" ./archives/basic_sim/ue_ip.Rel15.txt "Built target ue_ip" ./basic_sim_row11.html
summary_table_row "USIM - Release 15" ./archives/basic_sim/usim.Rel15.txt "Built target usim" ./basic_sim_row12.html
summary_table_row "NVRAM - Release 15" ./archives/basic_sim/nvram.Rel15.txt "Built target nvram" ./basic_sim_row13.html
summary_table_footer
if [ -f archives/gnb_usrp/nr-softmodem.Rel15.txt ]
then
summary_table_header "OAI Build: 5G NR gNB -- USRP option" ./archives/gnb_usrp
@@ -658,13 +611,6 @@ function report_build {
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./basic_sim_row1.html ] || [ -f ./basic_sim_row2.html ] || [ -f ./basic_sim_row3.html ] || [ -f ./basic_sim_row4.html ] || [ -f ./basic_sim_row5.html ]
then
for DETAILS_TABLE in `ls ./basic_sim_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./gnb_usrp_row1.html ] || [ -f ./gnb_usrp_row2.html ] || [ -f ./gnb_usrp_row3.html ] || [ -f ./gnb_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./gnb_usrp_row*.html`

View File

@@ -250,156 +250,6 @@ function report_test {
echo " </table>" >> ./test_simulator_results.html
echo " <h2>Test Summary</h2>" >> ./test_simulator_results.html
ARCHIVES_LOC=archives/basic_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>4G LTE Basic Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
if [ `grep -c TEST_OK $ARCHIVES_LOC/test_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>TEST was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>COULD NOT DETERMINE TEST FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-basic-sim-test-details\">More details on Basic Simulator test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-basic-sim-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Log File Name</th>" >> ./test_simulator_results.html
echo " <th>Command</th>" >> ./test_simulator_results.html
echo " <th>Status</th>" >> ./test_simulator_results.html
echo " <th>Statistics</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
TRANS_MODES=("fdd" "tdd")
BW_CASES=(05 10 20)
for TMODE in ${TRANS_MODES[@]}
do
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
if [[ $TMODE =~ .*fdd.* ]]
then
echo " <td align = \"center\" colspan = 4 >Test in FDD</td>" >> ./test_simulator_results.html
else
echo " <td align = \"center\" colspan = 4 >Test in TDD</td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
for BW in ${BW_CASES[@]}
do
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_enb.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
then
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
fi
echo " <td><pre>" >> ./test_simulator_results.html
if [ $NB_ENB_GOT_SYNC -gt 0 ]
then
echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_GOT_SYNC -eq 2 ]
then
echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
then
echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
fi
NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
if [ $NB_SEGFAULT_ENB -ne 0 ]
then
echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
fi
NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
if [ $NB_SEGFAULT_UE -ne 0 ]
then
echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
fi
NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
if [ $NB_ASSERTION_ENB -ne 0 ]
then
echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
awk 'BEGIN{assertion=10}{if(assertion < 3){print " " $0; assertion++};if ($0 ~/Assertion/){print " " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
fi
NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
if [ $NB_ASSERTION_UE -ne 0 ]
then
echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
awk 'BEGIN{assertion=10}{if(assertion < 3){print " " $0; assertion++};if ($0 ~/Assertion/){print " " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt 2> /dev/null`
analyzePingFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt 2> /dev/null`
analyzeIperfFiles
done
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
if [ -e $JENKINS_WKSP/flexran/flexran_build_complete.txt ]
then
echo " <h3>4G LTE Basic Simulator + FlexRan Controller Check</h3>" >> ./test_simulator_results.html
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-flexran-test-details\">More details on Basic Simulator + Fleran Controller test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-flexran-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Log File Name</th>" >> ./test_simulator_results.html
echo " <th>JSON Query Response</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
FLEXRAN_QUERIES=`ls $ARCHIVES_LOC/flexran_ctl_query_*log`
for QUERY in $FLEXRAN_QUERIES
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $QUERY | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
echo " <td><pre><code>" >> ./test_simulator_results.html
egrep -v "LOG_NAME|\-\-\-\-\-" $QUERY >> ./test_simulator_results.html
echo " </code></pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
ARCHIVES_LOC=archives/rf_sim/test
if [ -d $ARCHIVES_LOC ]
then

View File

@@ -36,137 +36,6 @@ function test_usage {
command_options_usage
}
function start_basic_sim_enb {
local LOC_VM_IP_ADDR=$2
local LOC_EPC_IP_ADDR=$3
local LOC_LOG_FILE=$4
local LOC_NB_RBS=$5
local LOC_CONF_FILE=$6
local LOC_FLEXRAN_CTL_IP_ADRR=$7
echo "cd /home/ubuntu/tmp" > $1
echo "echo \"sudo apt-get --yes --quiet install daemon \"" >> $1
echo "sudo apt-get --yes install daemon >> /home/ubuntu/tmp/cmake_targets/log/daemon-install.txt 2>&1" >> $1
echo "echo \"export ENODEB=1\"" >> $1
echo "export ENODEB=1" >> $1
echo "echo \"source oaienv\"" >> $1
echo "source oaienv" >> $1
echo "cd ci-scripts/conf_files/" >> $1
echo "cp $LOC_CONF_FILE ci-$LOC_CONF_FILE" >> $1
echo "sed -i -e 's#N_RB_DL.*=.*;#N_RB_DL = $LOC_NB_RBS;#' -e 's#CI_MME_IP_ADDR#$LOC_EPC_IP_ADDR#' -e 's#CI_ENB_IP_ADDR#$LOC_VM_IP_ADDR#' ci-$LOC_CONF_FILE" >> $1
if [[ $LOC_FLEXRAN_CTL_IP_ADRR =~ .*none.* ]]
then
echo "sed -i -e 's#CI_FLEXRAN_CTL_IP_ADDR#127.0.0.1#' ci-$LOC_CONF_FILE" >> $1
else
echo "sed -i -e 's#FLEXRAN_ENABLED = .*no.*;#FLEXRAN_ENABLED = \"yes\";#' -e 's#CI_FLEXRAN_CTL_IP_ADDR#$LOC_FLEXRAN_CTL_IP_ADRR#' ci-$LOC_CONF_FILE" >> $1
fi
echo "echo \"grep N_RB_DL ci-$LOC_CONF_FILE\"" >> $1
echo "grep N_RB_DL ci-$LOC_CONF_FILE | sed -e 's#N_RB_DL.*=#N_RB_DL =#'" >> $1
echo "echo \"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/\"" >> $1
echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/ran_build/" >> $1
echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/ran_build/build/" >> $1
echo "cd /home/ubuntu/tmp/cmake_targets/ran_build/build/" >> $1
echo "echo \"ulimit -c unlimited && ./lte-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --basicsim\" > ./my-lte-softmodem-run.sh " >> $1
echo "chmod 775 ./my-lte-softmodem-run.sh" >> $1
echo "cat ./my-lte-softmodem-run.sh" >> $1
echo "if [ -e /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE ]; then sudo sudo rm -f /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE; fi" >> $1
echo "sudo -E daemon --inherit --unsafe --name=enb_daemon --chdir=/home/ubuntu/tmp/cmake_targets/ran_build/build -o /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE ./my-lte-softmodem-run.sh" >> $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$LOC_VM_IP_ADDR < $1
rm $1
sleep 5
local i="0"
echo "egrep -c \"got sync\" /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE" > $1
while [ $i -lt 10 ]
do
CONNECTED=`ssh -T -o StrictHostKeyChecking=no ubuntu@$LOC_VM_IP_ADDR < $1`
if [ $CONNECTED -ne 0 ]
then
i="100"
else
sleep 5
i=$[$i+1]
fi
done
ENB_SYNC=0
echo "echo \"free -m\"" > $1
echo "free -m" >> $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$LOC_VM_IP_ADDR < $1
rm $1
if [ $i -lt 50 ]
then
ENB_SYNC=0
echo "Basic-Sim eNB: eNB did NOT got sync"
else
echo "Basic-Sim eNB: eNB GOT SYNC --> waiting for UE to connect"
fi
sleep 5
}
function start_basic_sim_ue {
local LOC_UE_LOG_FILE=$3
local LOC_NB_RBS=$4
local LOC_FREQUENCY=$5
echo "echo \"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/\"" > $1
echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/ran_build/build/" >> $1
echo "cd /home/ubuntu/tmp/cmake_targets/ran_build/build" >> $1
echo "echo \"./lte-uesoftmodem -C ${LOC_FREQUENCY}000000 -r $LOC_NB_RBS --log_config.global_log_options nocolor,line_num,level --basicsim\" > ./my-lte-uesoftmodem-run.sh" >> $1
echo "chmod 775 ./my-lte-uesoftmodem-run.sh" >> $1
echo "cat ./my-lte-uesoftmodem-run.sh" >> $1
echo "if [ -e /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE ]; then sudo sudo rm -f /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE; fi" >> $1
echo "sudo -E daemon --inherit --unsafe --name=ue_daemon --chdir=/home/ubuntu/tmp/cmake_targets/ran_build/build -o /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE ./my-lte-uesoftmodem-run.sh" >> $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1
rm $1
local i="0"
echo "ifconfig oaitun_ue1 | egrep -c \"inet addr\"" > $1
while [ $i -lt 10 ]
do
sleep 5
CONNECTED=`ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1`
if [ $CONNECTED -eq 1 ]
then
i="100"
else
i=$[$i+1]
fi
done
UE_SYNC=1
rm $1
if [ $i -lt 50 ]
then
UE_SYNC=0
echo "Basic-Sim UE: oaitun_ue1 is DOWN and/or NOT CONFIGURED"
else
echo "Basic-Sim UE: oaitun_ue1 is UP and CONFIGURED"
fi
i="0"
echo "egrep -c \"Generating RRCConnectionReconfigurationComplete\" /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE" > $1
while [ $i -lt 10 ]
do
CONNECTED=`ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1`
if [ $CONNECTED -ne 0 ]
then
i="100"
else
sleep 5
i=$[$i+1]
fi
done
echo "echo \"free -m\"" > $1
echo "free -m" >> $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1
rm $1
if [ $i -lt 50 ]
then
UE_SYNC=0
echo "Basic-Sim UE: UE did NOT complete RRC Connection"
else
echo "Basic-Sim UE: UE did COMPLETE RRC Connection"
fi
}
function get_ue_ip_addr {
local LOC_IF_ID=$3
echo "ifconfig oaitun_ue${LOC_IF_ID} | egrep \"inet addr\" | sed -e 's#^.*inet addr:##' -e 's# P-t-P:.*\$##'" > $1
@@ -417,7 +286,6 @@ function check_iperf {
local LOC_REQ_BW_MINUS_TWO=`echo "$LOC_REQ_BW - 2" | bc -l`
local LOC_REQ_BW_MINUS_THREE=`echo "$LOC_REQ_BW - 3" | bc -l`
local LOC_IS_DL=`echo $LOC_BASE_LOG | grep -c _dl`
local LOC_IS_BASIC_SIM=`echo $LOC_BASE_LOG | grep -c basic_sim`
local LOC_IS_RF_SIM=`echo $LOC_BASE_LOG | grep -c rf_sim`
local LOC_IS_NR=`echo $LOC_BASE_LOG | grep -c _106prb`
if [ -f ${LOC_BASE_LOG}_client.txt ]
@@ -438,28 +306,17 @@ function check_iperf {
local EFFECTIVE_BANDWIDTH=`tail -n3 ${LOC_BASE_LOG}_client.txt | egrep "Kbits/sec" | sed -e "s#^.*KBytes *##" -e "s#sec.*#sec#"`
local BW_PREFIX="K"
fi
if [ $LOC_IS_DL -eq 1 ] && [ $LOC_IS_BASIC_SIM -eq 1 ]
if [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW}.*${BW_PREFIX}bits.* ]] || [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW_MINUS_ONE}.*${BW_PREFIX}bits.* ]]
then
if [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW}.*${BW_PREFIX}bits.* ]] || [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW_MINUS_ONE}.*${BW_PREFIX}bits.* ]] || [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW_MINUS_TWO}.*${BW_PREFIX}bits.* ]] || [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW_MINUS_THREE}.*${BW_PREFIX}bits.* ]]
if [ $LOC_IS_DL -eq 1 ]
then
echo "got requested DL bandwidth: $EFFECTIVE_BANDWIDTH"
else
echo "got LESS than requested DL bandwidth: $EFFECTIVE_BANDWIDTH"
IPERF_STATUS=-1
echo "got requested UL bandwidth: $EFFECTIVE_BANDWIDTH"
fi
else
if [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW}.*${BW_PREFIX}bits.* ]] || [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW_MINUS_ONE}.*${BW_PREFIX}bits.* ]]
then
if [ $LOC_IS_DL -eq 1 ]
then
echo "got requested DL bandwidth: $EFFECTIVE_BANDWIDTH"
else
echo "got requested UL bandwidth: $EFFECTIVE_BANDWIDTH"
fi
else
echo "got LESS than requested DL bandwidth: $EFFECTIVE_BANDWIDTH"
IPERF_STATUS=-1
fi
echo "got LESS than requested DL bandwidth: $EFFECTIVE_BANDWIDTH"
IPERF_STATUS=-1
fi
fi
else
@@ -526,22 +383,6 @@ function full_terminate {
sleep 10
}
function full_basic_sim_destroy {
if [ $KEEP_VM_ALIVE -eq 0 ]
then
echo "############################################################"
echo "Destroying VMs"
echo "############################################################"
uvt-kvm destroy $VM_NAME
ssh-keygen -R $VM_IP_ADDR
if [ -e $JENKINS_WKSP/flexran/flexran_build_complete.txt ]
then
uvt-kvm destroy $FLEXRAN_CTL_VM_NAME
ssh-keygen -R $FLEXRAN_CTL_VM_IP_ADDR
fi
fi
}
function install_epc_on_vm {
local LOC_EPC_VM_NAME=$1
local LOC_EPC_VM_CMDS=$2
@@ -744,35 +585,6 @@ function terminate_epc {
fi
}
function start_flexran_ctrl {
echo "cd /home/ubuntu/tmp" > $1
echo "if [ -f cmake_targets/log/flexran_ctl_run.log ]; then rm -f cmake_targets/log/flexran_ctl_run.log cmake_targets/log/flexran_ctl_query*.log; fi" >> $1
echo "echo \" sudo build/rt_controller -c log_config/basic_log\"" >> $1
echo "nohup sudo build/rt_controller -c log_config/basic_log > cmake_targets/log/flexran_ctl_run.log 2>&1 &" >> $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1
rm $1
sleep 10
}
function stop_flexran_ctrl {
echo "echo \"sudo killall --signal SIGKILL rt_controller\"" > $1
echo "sudo killall --signal SIGKILL rt_controller" > $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1
rm $1
sleep 2
}
function query_flexran_ctrl_status {
local LOC_MESSAGE=$3
echo "cd /home/ubuntu/tmp" > $1
echo "echo \"------------------------------------------------------------\" > cmake_targets/log/flexran_ctl_query_${LOC_MESSAGE}.log" >> $1
echo "echo \"LOG_NAME: $LOC_MESSAGE\" >> cmake_targets/log/flexran_ctl_query_${LOC_MESSAGE}.log" >> $1
echo "echo \"------------------------------------------------------------\" >> cmake_targets/log/flexran_ctl_query_${LOC_MESSAGE}.log" >> $1
echo "curl http://localhost:9999/stats | jq '.' | tee -a cmake_targets/log/flexran_ctl_query_${LOC_MESSAGE}.log" >> $1
ssh -T -o StrictHostKeyChecking=no ubuntu@$2 < $1
rm $1
}
function build_ue_on_separate_folder {
echo "mkdir tmp-ue" > $1
echo "cd tmp-ue" >> $1
@@ -1480,6 +1292,11 @@ function run_test_on_vm {
echo "This VM test type is no longer supported in the pipeline framework"
return
fi
if [[ (( "$RUN_OPTIONS" == "complex" ) && ( $VM_NAME =~ .*-basic-sim.* )) ]]
then
echo "This VM test type is no longer supported in the pipeline framework"
return
fi
if [[ (( "$RUN_OPTIONS" == "complex" ) && ( $VM_NAME =~ .*-rf-sim.* )) ]]
then
ENB_VM_NAME=`echo $VM_NAME | sed -e "s#rf-sim#enb-ethernet#"`
@@ -1667,234 +1484,6 @@ function run_test_on_vm {
fi
fi
if [[ "$RUN_OPTIONS" == "complex" ]] && [[ $VM_NAME =~ .*-basic-sim.* ]]
then
PING_STATUS=0
IPERF_STATUS=0
if [ -d $ARCHIVES_LOC ]
then
rm -Rf $ARCHIVES_LOC
fi
mkdir --parents $ARCHIVES_LOC
# Creating a VM for EPC and installing SW
EPC_VM_NAME=`echo $VM_NAME | sed -e "s#basic-sim#epc#"`
EPC_VM_CMDS=${EPC_VM_NAME}_cmds.txt
LTEBOX=0
if [[ "$EPC_IPADDR" == "" ]]
then
# Creating a VM for EPC and installing SW
install_epc_on_vm $EPC_VM_NAME $EPC_VM_CMDS
EPC_VM_IP_ADDR=`uvt-kvm ip $EPC_VM_NAME`
# Starting EPC
start_epc $EPC_VM_NAME $EPC_VM_CMDS $EPC_VM_IP_ADDR
else
echo "We will use EPC on $EPC_IPADDR"
EPC_VM_IP_ADDR=$EPC_IPADDR
fi
# Retrieve EPC real IP address
retrieve_real_epc_ip_addr $EPC_VM_NAME $EPC_VM_CMDS $EPC_VM_IP_ADDR
TRANS_MODES=("fdd" "tdd")
BW_CASES=(05 10 20)
for TMODE in ${TRANS_MODES[@]}
do
for BW in ${BW_CASES[@]}
do
# Not Running in TDD-20MHz : too unstable
if [[ $TMODE =~ .*tdd.* ]] && [[ $BW =~ .*20.* ]]; then continue; fi
if [[ $BW =~ .*05.* ]]; then PRB=25; fi
if [[ $BW =~ .*10.* ]]; then PRB=50; fi
if [[ $BW =~ .*20.* ]]; then PRB=100; fi
if [[ $TMODE =~ .*fdd.* ]]; then FREQUENCY=2680; else FREQUENCY=2350; fi
echo "############################################################"
echo "Starting the eNB in ${TMODE}-${BW}MHz mode"
echo "############################################################"
CURRENT_ENB_LOG_FILE=${TMODE}_${BW}MHz_enb.log
start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE $PRB lte-${TMODE}-basic-sim.conf none
echo "############################################################"
echo "Starting the UE in ${TMODE}-${BW}MHz mode"
echo "############################################################"
CURRENT_UE_LOG_FILE=${TMODE}_${BW}MHz_ue.log
start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE $PRB $FREQUENCY
if [ $UE_SYNC -eq 0 ]
then
echo "Problem w/ eNB and UE not syncing"
full_terminate
STATUS=-1
continue
fi
get_ue_ip_addr $VM_CMDS $VM_IP_ADDR 1
echo "############################################################"
echo "Pinging the UE"
echo "############################################################"
PING_LOG_FILE=${TMODE}_${BW}MHz_ping_ue.txt
ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE 0
scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
# Not more testing in any TDD : too unstable
if [[ $TMODE =~ .*tdd.* ]] && [[ $BW =~ .*05.* ]]; then full_terminate; continue; fi
if [[ $TMODE =~ .*tdd.* ]] && [[ $BW =~ .*10.* ]]; then full_terminate; continue; fi
if [[ $TMODE =~ .*tdd.* ]] && [[ $BW =~ .*20.* ]]; then full_terminate; continue; fi
echo "############################################################"
echo "Iperf DL"
echo "############################################################"
if [[ $TMODE =~ .*fdd.* ]]
then
if [[ $BW =~ .*20.* ]]; then THROUGHPUT=12; else THROUGHPUT=10; fi
else
THROUGHPUT=6
fi
CURR_IPERF_LOG_BASE=${TMODE}_${BW}MHz_iperf_dl
generic_iperf $VM_CMDS $VM_IP_ADDR $UE_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR $REAL_EPC_IP_ADDR $THROUGHPUT $CURR_IPERF_LOG_BASE 0 0
scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE $THROUGHPUT
# Not more testing in FDD-20MHz : too unstable
if [[ $TMODE =~ .*fdd.* ]] && [[ $BW =~ .*20.* ]]; then full_terminate; continue; fi
echo "############################################################"
echo "Iperf UL"
echo "############################################################"
THROUGHPUT=2
CURR_IPERF_LOG_BASE=${TMODE}_${BW}MHz_iperf_ul
generic_iperf $EPC_VM_CMDS $EPC_VM_IP_ADDR $REAL_EPC_IP_ADDR $VM_CMDS $VM_IP_ADDR $UE_IP_ADDR $THROUGHPUT $CURR_IPERF_LOG_BASE 0 0
scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE $THROUGHPUT
full_terminate
done
done
if [ -d $JENKINS_WKSP/flexran ]
then
echo "############################################################"
echo "Flexran testing is possible"
echo "############################################################"
local j="0"
while [ $j -lt 20 ]
do
if [ -e $JENKINS_WKSP/flexran/flexran_build_complete.txt ]
then
echo "Found an proper flexran controller vm build"
j="100"
else
j=$[$j+1]
sleep 30
fi
done
if [ $j -lt 50 ]
then
echo "ERROR: compiling flexran controller on vm went wrong"
terminate_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
echo "TEST_KO" > $ARCHIVES_LOC/test_final_status.log
STATUS=-1
return
fi
FLEXRAN_CTL_VM_NAME=`echo $VM_NAME | sed -e "s#basic-sim#flexran-rtc#"`
FLEXRAN_CTL_VM_CMDS=`echo $VM_CMDS | sed -e "s#cmds#flexran-rtc-cmds#"`
IS_FLEXRAN_VM_ALIVE=`uvt-kvm list | grep -c $FLEXRAN_CTL_VM_NAME`
if [ $IS_FLEXRAN_VM_ALIVE -eq 0 ]
then
echo "ERROR: Flexran Ctl VM is not alive"
terminate_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
full_basic_sim_destroy
echo "TEST_KO" > $ARCHIVES_LOC/test_final_status.log
STATUS=-1
return
fi
uvt-kvm wait $FLEXRAN_CTL_VM_NAME --insecure
FLEXRAN_CTL_VM_IP_ADDR=`uvt-kvm ip $FLEXRAN_CTL_VM_NAME`
echo "$FLEXRAN_CTL_VM_NAME has for IP addr = $FLEXRAN_CTL_VM_IP_ADDR"
echo "FLEXRAN_CTL_VM_CMDS = $FLEXRAN_CTL_VM_CMDS"
echo "############################################################"
echo "Starting the FLEXRAN CONTROLLER"
echo "############################################################"
start_flexran_ctrl $FLEXRAN_CTL_VM_CMDS $FLEXRAN_CTL_VM_IP_ADDR
query_flexran_ctrl_status $FLEXRAN_CTL_VM_CMDS $FLEXRAN_CTL_VM_IP_ADDR 01_no_enb_connected
echo "############################################################"
echo "Starting the eNB in FDD-5MHz mode with Flexran ON"
echo "############################################################"
CURRENT_ENB_LOG_FILE=fdd_05fMHz_enb.log
start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-fdd-basic-sim.conf $FLEXRAN_CTL_VM_IP_ADDR
query_flexran_ctrl_status $FLEXRAN_CTL_VM_CMDS $FLEXRAN_CTL_VM_IP_ADDR 02_enb_connected
echo "############################################################"
echo "Starting the UE in FDD-5MHz mode"
echo "############################################################"
CURRENT_UE_LOG_FILE=fdd_05fMHz_ue.log
start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2680
if [ $UE_SYNC -eq 0 ]
then
echo "Problem w/ eNB and UE not syncing"
terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR 0
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
terminate_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
stop_flexran_ctrl $FLEXRAN_CTL_VM_CMDS $FLEXRAN_CTL_VM_IP_ADDR
echo "TEST_KO" > $ARCHIVES_LOC/test_final_status.log
STATUS=-1
return
fi
query_flexran_ctrl_status $FLEXRAN_CTL_VM_CMDS $FLEXRAN_CTL_VM_IP_ADDR 03_enb_ue_connected
get_ue_ip_addr $VM_CMDS $VM_IP_ADDR 1
sleep 30
echo "############################################################"
echo "Terminate enb/ue simulators"
echo "############################################################"
terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR 0
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
sleep 10
echo "############################################################"
echo "Stopping the FLEXRAN CONTROLLER"
echo "############################################################"
stop_flexran_ctrl $FLEXRAN_CTL_VM_CMDS $FLEXRAN_CTL_VM_IP_ADDR
scp -o StrictHostKeyChecking=no ubuntu@$FLEXRAN_CTL_VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/flexran_ctl_*.log $ARCHIVES_LOC
fi
echo "############################################################"
echo "Terminate EPC"
echo "############################################################"
if [[ "$EPC_IPADDR" == "" ]]
then
terminate_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
fi
full_basic_sim_destroy
echo "############################################################"
echo "Checking run status"
echo "############################################################"
if [ $PING_STATUS -ne 0 ]; then STATUS=-1; fi
if [ $IPERF_STATUS -ne 0 ]; then STATUS=-1; fi
if [ $STATUS -eq 0 ]
then
echo "TEST_OK" > $ARCHIVES_LOC/test_final_status.log
else
echo "TEST_KO" > $ARCHIVES_LOC/test_final_status.log
fi
fi
if [[ "$RUN_OPTIONS" == "complex" ]] && [[ $VM_NAME =~ .*-rf-sim.* ]]
then
PING_STATUS=0
@@ -2310,7 +1899,7 @@ function run_test_on_vm {
CURRENT_NR_UE_LOG_FILE=tdd_${PRB}prb_${CN_CONFIG}_ue_sa_test.log
#last argument = 2 is to enable --sa for SA test for 106PRB
start_rf_sim_nr_ue $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR $GNB_VM_IP_ADDR $CURRENT_NR_UE_LOG_FILE $PRB $FREQUENCY $S1_NOS1_CFG 2
if [ $NR_UE_SYNC -eq 0 ]
if [ $GNB_SYNC -eq 0 ] || [ $NR_UE_SYNC -eq 0 ]
then
echo "Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR 2
@@ -2343,13 +1932,19 @@ function run_test_on_vm {
echo "SA test NOT OK"
echo "try_cnt = " $try_cnt
try_cnt=$((try_cnt+1))
SA_106PRB_STATUS = -1
SA_106PRB_STATUS=-1
else
echo "SA test OK"
try_cnt=$((try_cnt+10))
SA_106PRB_STATUS = 0
SA_106PRB_STATUS=0
fi
done
#manage SYNC issue after try_cnt
if [ $SYNC_STATUS -ne 0 ]
then
echo "SA 106PRB test NOT OK, NOT SYNC'ED"
SA_106PRB_STATUS=-1
fi
########### end SA test
sleep 30
@@ -2393,7 +1988,7 @@ function run_test_on_vm {
CURRENT_NR_UE_LOG_FILE=tdd_${PRB}prb_${CN_CONFIG}_ue_sa_test.log
#last argument = 3 is to enable --sa for SA test for 24PRB
start_rf_sim_nr_ue $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR $GNB_VM_IP_ADDR $CURRENT_NR_UE_LOG_FILE $PRB $FREQUENCY $S1_NOS1_CFG 3
if [ $NR_UE_SYNC -eq 0 ]
if [ $GNB_SYNC -eq 0 ] || [ $NR_UE_SYNC -eq 0 ]
then
echo "Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR 2
@@ -2426,13 +2021,19 @@ function run_test_on_vm {
echo "SA test NOT OK"
echo "try_cnt = " $try_cnt
try_cnt=$((try_cnt+1))
SA_24PRB_STATUS = -1
SA_24PRB_STATUS=-1
else
echo "SA test OK"
try_cnt=$((try_cnt+10))
SA_24PRB_STATUS = 0
SA_24PRB_STATUS=0
fi
done
#manage SYNC issue after try_cnt
if [ $SYNC_STATUS -ne 0 ]
then
echo "SA 24PRB test NOT OK, NOT SYNC'ED"
SA_24PRB_STATUS=-1
fi
########### end SA test
sleep 30
@@ -2481,7 +2082,7 @@ function run_test_on_vm {
CURRENT_NR_UE_LOG_FILE=tdd_${PRB}prb_${CN_CONFIG}_ue_ra_fr2_test.log
#last argument = 1 is to enable --do-ra for RA test
start_rf_sim_nr_ue $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR $GNB_VM_IP_ADDR $CURRENT_NR_UE_LOG_FILE $PRB $FREQUENCY $S1_NOS1_CFG 1
if [ $NR_UE_SYNC -eq 0 ]
if [ $GNB_SYNC -eq 0 ] || [ $NR_UE_SYNC -eq 0 ]
then
echo "Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR 2
@@ -2521,6 +2122,12 @@ function run_test_on_vm {
try_cnt=$((try_cnt+10))
fi
done
#manage SYNC issue after try_cnt
if [ $SYNC_STATUS -ne 0 ]
then
echo "RA FR2 test NOT OK, NOT SYNC'ED"
RA_FR2_STATUS=-1
fi
########### end RA FR2 test
sleep 30
@@ -2583,7 +2190,7 @@ function run_test_on_vm {
CURRENT_NR_UE_LOG_FILE=${TMODE}_${PRB}prb_${CN_CONFIG}_ue_ra_test.log
#last argument = 1 is to enable --do-ra for RA test
start_rf_sim_nr_ue $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR $GNB_VM_IP_ADDR $CURRENT_NR_UE_LOG_FILE $PRB $FREQUENCY $S1_NOS1_CFG 1
if [ $NR_UE_SYNC -eq 0 ]
if [ $GNB_SYNC -eq 0 ] || [ $NR_UE_SYNC -eq 0 ]
then
echo "Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR 2
@@ -2623,6 +2230,13 @@ function run_test_on_vm {
try_cnt=$((try_cnt+10))
fi
done
#manage SYNC issue after try_cnt
if [ $SYNC_STATUS -ne 0 ]
then
echo "RA FR1 test NOT OK, NOT SYNC'ED"
RA_FR1_STATUS=-1
fi
done
########### end RA test
@@ -2664,7 +2278,7 @@ function run_test_on_vm {
echo "############################################################"
CURRENT_NR_UE_LOG_FILE=${TMODE}_${PRB}prb_${CN_CONFIG}_ue.log
start_rf_sim_nr_ue $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR $GNB_VM_IP_ADDR $CURRENT_NR_UE_LOG_FILE $PRB $FREQUENCY $S1_NOS1_CFG 0
if [ $NR_UE_SYNC -eq 0 ]
if [ $GNB_SYNC -eq 0 ] || [ $NR_UE_SYNC -eq 0 ]
then
echo "Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim $NR_UE_VM_CMDS $NR_UE_VM_IP_ADDR 2
@@ -2743,6 +2357,13 @@ function run_test_on_vm {
try_cnt=$((try_cnt+10))
fi
done
#manage SYNC issue after try_cnt
if [ $SYNC_STATUS -ne 0 ]
then
echo "PHY test NOT OK, NOT SYNC'ED"
IPERF_STATUS=-1
fi
done
######### end of loop
full_l2_sim_destroy
@@ -2756,7 +2377,6 @@ function run_test_on_vm {
if [ $SA_24PRB_STATUS -ne 0 ]; then NR_STATUS=-1; fi
if [ $RA_FR2_STATUS -ne 0 ]; then NR_STATUS=-1; fi
if [ $RA_FR1_STATUS -ne 0 ]; then NR_STATUS=-1; fi
if [ $SYNC_STATUS -ne 0 ]; then NR_STATUS=-1; fi
if [ $PING_STATUS -ne 0 ]; then NR_STATUS=-1; fi
if [ $IPERF_STATUS -ne 0 ]; then NR_STATUS=-1; fi
if [ $NR_STATUS -eq 0 ]

View File

@@ -56,10 +56,11 @@ class SSHConnection():
self.picocom_closure = True
def open(self, ipaddress, username, password):
prompt = "#" if username == "root" else "\$"
count = 0
connect_status = False
while count < 4:
self.ssh = pexpect.spawn('ssh -o PubkeyAuthentication=no {}@{}'.format(username,ipaddress))
self.ssh = pexpect.spawn('ssh -o PubkeyAuthentication=yes {}@{}'.format(username,ipaddress))
# Longer timeout at connection due to asterix slowness
self.ssh.timeout = 25
self.sshresponse = self.ssh.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', 'Last login', pexpect.EOF, pexpect.TIMEOUT])
@@ -68,7 +69,7 @@ class SSHConnection():
self.sshresponse = self.ssh.expect(['password:', username + '@'])
if self.sshresponse == 0:
self.ssh.sendline(password)
self.sshresponse = self.ssh.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
self.sshresponse = self.ssh.expect([prompt, 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
count = 10
connect_status = True
@@ -76,21 +77,18 @@ class SSHConnection():
logging.debug('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 1:
self.ssh.sendline(password)
self.sshresponse = self.ssh.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
self.sshresponse = self.ssh.expect([prompt, 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
count = 10
connect_status = True
else:
logging.debug('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 2:
# Checking if we are really on the remote client defined by its IP address
self.command('stdbuf -o0 ifconfig | egrep --color=never "inet addr:|inet "', '\$', 5)
result = re.search(str(ipaddress), str(self.ssh.before))
if result is None:
self.close()
else:
count = 10
connect_status = True
# We directly ended up on the remote server because of pubkey auth
count = 10
connect_status = True
# this expect() seems to be necessary to advance the read buffer until the prompt, or getBefore() will not return the last command
self.sshresponse = self.ssh.expect([prompt])
else:
# debug output
logging.debug(str(self.ssh.before))
@@ -100,7 +98,7 @@ class SSHConnection():
time.sleep(1)
count += 1
if connect_status:
self.command('unset HISTFILE', '\$', 5, silent=True)
self.command('unset HISTFILE', prompt, 5, silent=True)
else:
sys.exit('SSH Connection Failed')
self.ipaddress = ipaddress
@@ -271,4 +269,4 @@ class SSHConnection():
sys.exit('SCP failed')
def getBefore(self):
return str(self.ssh.before)
return self.ssh.before.decode('utf-8')

View File

@@ -25,7 +25,7 @@ gnb :
L1 Rx processing:
PUSCH inner-receiver:
PUSCH decoding:
DL & UL scheduling timing stats:
DL & UL scheduling timing:
UL Indication:
graph :
page1:
@@ -45,5 +45,5 @@ gnb :
page4:
rt.PUSCH inner-receiver:
rt.PUSCH decoding:
rt.DL & UL scheduling timing stats:
rt.DL & UL scheduling timing:
rt.UL Indication:

View File

@@ -47,7 +47,7 @@ function wait_on_vm_build {
echo "ARCHIVES_LOC = $ARCHIVES_LOC"
echo "BUILD_OPTIONS = $BUILD_OPTIONS"
if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]]
if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
echo "This VM type is no longer supported in the pipeline framework"
return
@@ -93,7 +93,7 @@ function wait_on_vm_build {
}
function check_on_vm_build {
if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]]
if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
echo "This VM type is no longer supported in the pipeline framework"
return
@@ -174,13 +174,13 @@ function check_on_vm_build {
fi
# If we were building the FlexRan Controller, flag-touch for basic-simulator to continue
if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
if [[ $STATUS -eq 0 ]]
then
touch $JENKINS_WKSP/flexran/flexran_build_complete.txt
fi
fi
#if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
#then
# if [[ $STATUS -eq 0 ]]
# then
# touch $JENKINS_WKSP/flexran/flexran_build_complete.txt
# fi
#fi
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then

View File

@@ -1,5 +1,7 @@
- Build_Proxy
- Build_PhySim
- Run_PhySim
- Run_LDPCTest
- Run_NRulsimTest
- Build_eNB
- WaitEndBuild_eNB
- Initialize_eNB
@@ -46,3 +48,5 @@
- UndeployGenObject
- PingFromContainer
- IperfFromContainer
- StatsFromGenObject
- LicenceAndFormattingCheck

View File

@@ -0,0 +1,42 @@
<!--
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>l2sim-4glte-proxy-build</htmlTabRef>
<htmlTabName>Build L2sim proxy image</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>Build_Proxy</class>
<desc>Build L2sim Proxy Image</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
<proxy_commit>56cfdc0</proxy_commit>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,135 @@
<!--
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>l2sim-4glte-tdd</htmlTabRef>
<htmlTabName>Testing 4G LTE L2 sim - FDD eNB</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
100001
000000
000001
000002
000003
000011
200000
020001
020002
030011
030012
200001
100001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000000">
<class>DeployGenObject</class>
<desc>Deploy Cassandra Database</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
<services>cassandra db_init</services>
<nb_healthy>1</nb_healthy>
</testCase>
<testCase id="000001">
<class>DeployGenObject</class>
<desc>Deploy OAI 4G CoreNetwork</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
<services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services>
<nb_healthy>7</nb_healthy>
</testCase>
<testCase id="000002">
<class>DeployGenObject</class>
<desc>Deploy OAI 4G eNB L2 sim</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
<services>oai_enb</services>
<nb_healthy>8</nb_healthy>
</testCase>
<testCase id="000003">
<class>DeployGenObject</class>
<desc>Deploy OAI L2 sim 4G LTE-UE 1 and Proxy</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
<services>proxy oai_ue1</services>
<nb_healthy>10</nb_healthy>
</testCase>
<testCase id="000011">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="020001">
<class>PingFromContainer</class>
<desc>Ping trf-gen from LTE-UE 1</desc>
<container_name>l2sim4g-oai-lte-ue1</container_name>
<options>-I oaitun_ue1 -c 20 192.168.61.11</options>
<loss_threshold>0</loss_threshold>
</testCase>
<testCase id="020002">
<class>PingFromContainer</class>
<desc>Ping LTE-UE 1 from trf-gen</desc>
<container_name>l2sim4g-trf-gen</container_name>
<options>-c 20 12.0.0.2</options>
<loss_threshold>0</loss_threshold>
</testCase>
<testCase id="030011">
<class>IperfFromContainer</class>
<desc>Iperf UDP Downlink</desc>
<server_container_name>l2sim4g-oai-lte-ue1</server_container_name>
<client_container_name>l2sim4g-trf-gen</client_container_name>
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options>
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 1M</client_options>
</testCase>
<testCase id="030012">
<class>IperfFromContainer</class>
<desc>Iperf UDP Uplink</desc>
<server_container_name>l2sim4g-trf-gen</server_container_name>
<client_container_name>l2sim4g-oai-lte-ue1</client_container_name>
<server_options>-u -i 1 -s</server_options>
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 3M</client_options>
</testCase>
<testCase id="100001">
<class>UndeployGenObject</class>
<desc>Undeploy all OAI 4G stack</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
</testCase>
<testCase id="200000">
<class>StatsFromGenObject</class>
<desc>Statistics before Traffic Test</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
</testCase>
<testCase id="200001">
<class>StatsFromGenObject</class>
<desc>Statistics after Traffic Test</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,38 @@
<!--
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>l2sim-4glte-down</htmlTabRef>
<htmlTabName>CleanUp 4G L2 sim - FDD eNB</htmlTabName>
<htmlTabIcon>trash</htmlTabIcon>
<TestCaseRequestedList>
100002
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="100002">
<class>UndeployGenObject</class>
<desc>Undeploy all OAI 4G stack</desc>
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
</testCase>
</testCaseList>

View File

@@ -22,7 +22,7 @@
-->
<testCaseList>
<htmlTabRef>rfsim-5gnr-f1</htmlTabRef>
<htmlTabName>Testing 5G NR RF sim in containers - CU-DU F1 split</htmlTabName>
<htmlTabName>CU-DU F1 split</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
100021

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