Compare commits

..

1098 Commits

Author SHA1 Message Date
Raphael Defosseux
67293964ac Merge branch 'develop_integration_2019_w25' into 'develop'
Develop: Integration 2019 Week 25

See merge request oai/openairinterface5g!617

The following Merge Requests are included:

* MR 576 : Multi-RU support and OTA Synch/Calibration for TDD
* MR 589 : UE side FeMBMS-EnTV
* MR 610 : Enhance CI with external EPC usage
* MR 614 : fixed rar_Hopping configuration for eMT
* MR 619 : bugfix: fix RRC UE removal
* MR 620 : Coverity Scan defect fixes
2019-06-21 18:58:38 +02:00
Raphael Defosseux
541184c2cc CI: adding pauses in F1 cases
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-21 16:05:28 +02:00
Raphael Defosseux
99012f88b9 HACK: force initialization of variables in CU case!
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-21 16:02:23 +02:00
Raphael Defosseux
ec0538c461 CI: adding a include path to cppcheck
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-21 13:06:05 +02:00
Raphael Defosseux
8931915030 Merge remote-tracking branch 'origin/434-coverity-scan-fix-week25' into develop_integration_2019_w25 2019-06-21 13:04:51 +02:00
Raphael Defosseux
18b8bd4ee9 Merge remote-tracking branch 'origin/bugfix-rrc-ue-removal' into develop_integration_2019_w25 2019-06-21 13:03:39 +02:00
Raphael Defosseux
4bf932d6bd DOC: added caution message about nasmesh
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-21 12:57:40 +02:00
Dong Anyuan
42a0f7b016 Remove Coverity Scan CID 261519 (Using uninitialized value tmp. Field tmp.elems is uninitialized when calling _mm256_insert_epi16.) 2019-06-21 18:39:47 +09:00
Dong Anyuan
14e6da9ab5 Remove Coverity Scan CID 261470 (Using uninitialized value tmp. Field tmp.elems is uninitialized when calling _mm256_insert_epi8.) 2019-06-21 18:36:44 +09:00
Dong Anyuan
4c60ee7775 Remove Coverity Scan CID 60471 (Function memory_read does not terminate string *user->nas_user_nvdata.) 2019-06-21 18:34:14 +09:00
Dong Anyuan
0e2406f0fe Remove Coverity Scan CID 60241 (Passing &eplmn to function emm_proc_attach_accept which uses it as an array. This might corrupt or misinterpret adjacent memory locations.) 2019-06-21 18:31:58 +09:00
Cedric Roux
f6f83ca01b bugfix: fix RRC UE removal
If several UEs are removed, the variable ue_to_be_removed may be overwritten.
Let's use an array instead.
2019-06-20 17:20:20 +02:00
Dong Anyuan
3adb2efd8c Fix Coverity Scan CID 339954 (Overrunning callee's array of size 16 by passing argument ue_id (which evaluates to 65535) in call to flexran_set_ue_ul_slice_idx.) 2019-06-20 14:06:32 +09:00
Dong Anyuan
2f2f21d2aa Fix Coverity Scan CID 339964 (Passing &rrc_eNB_mui to function rrc_eNB_process_S1AP_DOWNLINK_NAS which uses it as an array. This might corrupt or misinterpret adjacent memory locations.) 2019-06-20 14:06:04 +09:00
Dong Anyuan
61ebac43f1 Fix Coverity Scan CID 339972 (Variable msg going out of scope leaks the storage it points to.) 2019-06-20 14:05:40 +09:00
Dong Anyuan
486f1368e0 Fix Coverity Scan CID 339974 (Overrunning array eutra_bandtable of 48 24-byte elements at element index 48 (byte offset 1152) using index i (which evaluates to 48).) 2019-06-20 14:05:13 +09:00
Dong Anyuan
4fd1495be6 Fix Coverity Scan CID 339978 (Variable msg going out of scope leaks the storage it points to..) 2019-06-20 14:04:40 +09:00
Dong Anyuan
21c4e256bf Fix Coverity Scan CID 339991 (Variable msg going out of scope leaks the storage it points to.) 2019-06-20 14:04:05 +09:00
Dong Anyuan
f3c3a1ff67 Fix Coverity Scan CID 340004 (Overrunning array eutra_bandtable of 48 24-byte elements at element index 48 (byte offset 1152) using index i (which evaluates to 48).) 2019-06-20 14:03:17 +09:00
Dong Anyuan
a70288769a Fix Coverity Scan CID 340209 (Variable message_p going out of scope leaks the storage it points to.) 2019-06-20 14:02:45 +09:00
Dong Anyuan
9b80070a59 Fix Coverity Scan CID 340211 (Variable message_p going out of scope leaks the storage it points to.) 2019-06-20 14:02:11 +09:00
Dong Anyuan
c7d2937e35 Fix Coverity Scan CID 340221 (Variable msg going out of scope leaks the storage it points to.) 2019-06-20 14:01:40 +09:00
Dong Anyuan
4a3f26b2cf Fix Coverity Scan CID 340228 (Handle variable s going out of scope leaks the handle.) 2019-06-20 14:01:05 +09:00
Dong Anyuan
f6765e0633 Fix Coverity Scan CID 340232 (Variable message_p going out of scope leaks the storage it points to.) 2019-06-20 14:00:24 +09:00
Dong Anyuan
f1fdff80a0 Fix Coverity Scan CID 340235 (Using variable UE_id_mac as an index to array RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl.) 2019-06-20 13:59:53 +09:00
Dong Anyuan
bca84e8160 Fix Coverity Scan CID 340237 (Using variable UE_id as an index to array UE_list->UE_sched_ctrl.) 2019-06-20 13:59:21 +09:00
Dong Anyuan
e9267be8db Fix Coverity Scan CID 340243 (Overrunning array of 1 bytes at byte offset 1 by dereferencing pointer ie->value.choice.UESecurityCapabilities.encryptionAlgorithms.buf + 1.) 2019-06-20 13:58:52 +09:00
Dong Anyuan
6087373184 Fix Coverity Scan CID 340245 (Variable Sparams going out of scope leaks the storage it points to.) 2019-06-20 13:58:08 +09:00
Dong Anyuan
8e599681b0 Fix Coverity Scan CID 340247 (Variable pc5s_header going out of scope leaks the storage it points to.) 2019-06-20 13:57:34 +09:00
Dong Anyuan
b40385aa09 Fix Coverity Scan CID 340261 (Variable securityConfigHO going out of scope leaks the storage it points to.) 2019-06-20 13:57:04 +09:00
Dong Anyuan
1ad6361bd1 Fix Coverity Scan CID 340263 (Using uninitialized value DRB2LCHAN[i] when calling rrc_mac_config_req_eNB.) 2019-06-20 13:56:35 +09:00
Dong Anyuan
20406a7057 Fix Coverity Scan CID 340268 (Passing freed pointer pdu_mem_pP as an argument to rlc_um_store_pdu_in_dar_buffer.) 2019-06-20 13:56:05 +09:00
Dong Anyuan
62b5911bb3 Fix Coverity Scan CID 340277 (Variable gNB_CUSystemInformation going out of scope leaks the storage it points to.) 2019-06-20 13:55:32 +09:00
Dong Anyuan
3354bd5122 Fix Coverity Scan CID 340278 (Variable quantityConfig going out of scope leaks the storage it points to.) 2019-06-20 13:54:55 +09:00
Dong Anyuan
84acd4c692 Fix Coverity Scan CID 340280 (Variable msg going out of scope leaks the storage it points to.) 2019-06-20 13:53:58 +09:00
Dong Anyuan
cd31745af1 Fix Coverity Scan CID 340290 (Variable msg_p going out of scope leaks the storage it points to.) 2019-06-20 13:53:08 +09:00
Dong Anyuan
2a8ed1a056 Fix Coverity Scan CID 21666 (Variable measResultListEUTRA2 going out of scope leaks the storage it points to.) 2019-06-20 12:43:44 +09:00
Dong Anyuan
dc8b2c1ef0 Fix Coverity Scan CID 21694 (Variable quantityConfig going out of scope leaks the storage it points to.) 2019-06-20 12:43:17 +09:00
Dong Anyuan
87023eeb6a Fix Coverity Scan CID 21734 (Variable Sparams going out of scope leaks the storage it points to.) 2019-06-20 12:42:42 +09:00
Dong Anyuan
b7c04de927 Fix Coverity Scan CID 21842 (Using uninitialized value data_req. Field data_req.ue_id_type_indicator is uninitialized.) 2019-06-20 12:42:05 +09:00
Dong Anyuan
d415fc52ad Fix Coverity Scan CID 21843 (Using uninitialized value data_req. Field data_req.buffer_occupancy_in_pdus is uninitialized.) 2019-06-20 12:41:38 +09:00
Dong Anyuan
3d12d16c29 Fix Coverity Scan CID 21906 (Using uninitialized value pcfich_bt[2 * i].) 2019-06-20 12:41:05 +09:00
Dong Anyuan
bdd6b0fb18 Fix Coverity Scan CID 21911 (Using uninitialized value data_req. Field data_req.buffer_occupancy_in_pdus is uninitialized.) 2019-06-20 12:40:36 +09:00
Dong Anyuan
3c81412704 Fix Coverity Scan CID 21929 (Using uninitialized value newtbl.num_elements when calling hashtable_insert.) 2019-06-20 12:40:04 +09:00
Dong Anyuan
e84ba4fa6c Fix Coverity Scan CID 21938 (Using uninitialized value status_resp. Field status_resp.head_sdu_creation_time is uninitialized.) 2019-06-20 12:39:34 +09:00
Dong Anyuan
3b96a7ac3f Fix Coverity Scan CID 60241 (Passing &eplmn to function emm_proc_attach_accept which uses it as an array. This might corrupt or misinterpret adjacent memory locations.) 2019-06-20 12:39:06 +09:00
Dong Anyuan
7cf75c6d50 Fix Coverity Scan CID 60277 (Calling strncpy with a maximum size argument of 4096 bytes on destination array user_api_id->recv_buffer of size 4096 bytes might leave the destination string unterminated.) 2019-06-20 12:38:33 +09:00
Dong Anyuan
4eb0344714 Fix Coverity Scan CID 60348 (Variable addr going out of scope leaks the storage it points to.) 2019-06-20 12:37:36 +09:00
Dong Anyuan
264e429f23 Fix Coverity Scan CID 60351 (Variable sctp_cnx going out of scope leaks the storage it points to.) 2019-06-20 12:37:08 +09:00
Dong Anyuan
1338654285 Fix Coverity Scan CID 60357 (Handle variable sfd going out of scope leaks the handle.) 2019-06-20 12:36:38 +09:00
Dong Anyuan
42f481b51e Fix Coverity Scan CID 60369 (Variable plain_msg going out of scope leaks the storage it points to.) 2019-06-20 12:36:02 +09:00
Dong Anyuan
d7f9a3578d Fix Coverity Scan CID 60371 (Handle variable fd going out of scope leaks the handle.) 2019-06-20 12:35:33 +09:00
Dong Anyuan
1d017a3625 Fix Coverity Scan CID 60372 (Handle variable sd going out of scope leaks the handle.) 2019-06-20 12:35:04 +09:00
Dong Anyuan
65d168143f Fix Coverity Scan CID 60387 (Using uninitialized value ulp. Field ulp.hUlp is uninitialized when calling nwGtpv1uSetUlpEntity.) 2019-06-20 12:34:27 +09:00
Dong Anyuan
db137bf1d5 Fix Coverity Scan CID 60393 (Using uninitialized value pid when calling esm_ebr_context_release.) 2019-06-20 12:33:52 +09:00
Dong Anyuan
47758322b6 Fix Coverity Scan CID 60394 (Using uninitialized value addr6. Field addr6.sin6_flowinfo is uninitialized when calling bind.) 2019-06-20 12:33:09 +09:00
Dong Anyuan
8084d6d247 Fix Coverity Scan CID 60413 (Using uninitialized value udp. Field udp.hUdp is uninitialized when calling nwGtpv1uSetUdpEntity.) 2019-06-20 12:32:36 +09:00
Dong Anyuan
76fbb7c0b1 Fix Coverity Scan CID 60430 (Using uninitialized value meas2. Field meas2.ext1 is uninitialized.) 2019-06-20 12:32:07 +09:00
Dong Anyuan
5275b4c7c6 Fix Coverity Scan CID 60435 (Using uninitialized value bid when calling esm_ebr_context_release.) 2019-06-20 12:31:35 +09:00
Dong Anyuan
731d10d9fa Fix Coverity Scan CID 60469 (Using uninitialized value log. Field log.logMgrHandle is uninitialized when calling nwGtpv1uSetLogMgrEntity.) 2019-06-20 12:30:49 +09:00
Dong Anyuan
c4d56a9331 Fix Coverity Scan CID 60471 (Function memory_read does not terminate string *user->nas_user_nvdata.) 2019-06-20 12:02:32 +09:00
Dong Anyuan
88042616cd Fix Coverity Scan CID 140733 (Calling strncpy with a maximum size argument of 16 bytes on destination array ifr.ifr_ifrn.ifrn_name of size 16 bytes might leave the destination string unterminated.) 2019-06-20 12:01:46 +09:00
Dong Anyuan
8fe94b2f2c Fix Coverity Scan CID 261458 (Variable message_p going out of scope leaks the storage it points to.) 2019-06-20 12:00:51 +09:00
Dong Anyuan
6986cbdd2a Fix Coverity Scan CID 261468 (Using variable UE_id as an index to array UE_list->UE_sched_ctrl.) 2019-06-20 12:00:10 +09:00
Dong Anyuan
5388598f80 Fix Coverity Scan CID 261470 (Using uninitialized value tmp. Field tmp.elems is uninitialized when calling _mm256_insert_epi8.) 2019-06-20 11:44:47 +09:00
Dong Anyuan
325e6e525c Fix Coverity Scan CID 261481 (Overwriting message_p in message_p = NULL leaks the storage that message_p points to.) 2019-06-20 11:35:46 +09:00
Dong Anyuan
5fbea5caf1 Fix Coverity Scan CID 261489 (Overrunning array cc->mbsfn_SubframeConfig of 8 8-byte elements at element index 65535 (byte offset 524280) using index j (which evaluates to 65535).) 2019-06-20 11:34:46 +09:00
Dong Anyuan
00c10b7706 Fix Coverity Scan CID 261498 (Overrunning array eutra_bandtable of 48 24-byte elements at element index 48 (byte offset 1152) using index i (which evaluates to 48).) 2019-06-20 11:31:42 +09:00
Dong Anyuan
ac6f5dceb0 Fix Coverity Scan CID 261499 (Overrunning array sqn_ms of 6 bytes at byte offset 6 using index 6 - i (which evaluates to 6).) 2019-06-20 11:28:22 +09:00
Dong Anyuan
ab06b52486 Fix Coverity Scan CID 261506 (Overrunning array eutra_bandtable of 48 24-byte elements at element index 48 (byte offset 1152) using index i (which evaluates to 48).) 2019-06-20 11:21:07 +09:00
Dong Anyuan
a907b35001 Fix Coverity Scan CID 261519 (Using uninitialized value tmp. Field tmp.elems is uninitialized when calling _mm256_insert_epi16.) 2019-06-20 11:18:58 +09:00
Dong Anyuan
dbcfda529d Fix Coverity Scan CID 261543 (Overrunning array usim_data->usim_sqn_data.sqn_ms of 6 bytes at byte offset 6 using index 6 - i (which evaluates to 6).) 2019-06-20 11:17:33 +09:00
Dong Anyuan
1e14bee4f3 Fix Coverity Scan CID 261548 (Overrunning array eutra_bandtable of 48 24-byte elements at element index 48 (byte offset 1152) using index i (which evaluates to 48).) 2019-06-20 11:15:26 +09:00
Dong Anyuan
6c99431942 Fix Coverity Scan CID 261563 (Overrunning array ue_context_p->ue_context.enb_gtp_ebi of 11 2-byte elements at element index 13 (byte offset 26) using index i (which evaluates to 13).) 2019-06-20 11:13:37 +09:00
Dong Anyuan
39e3769e9a Fix Coverity Scan CID 261570 (Overwriting DRB_config in DRB_config = calloc(1UL, 96UL) leaks the storage that DRB_config points to.) 2019-06-20 11:12:44 +09:00
Dong Anyuan
91dcaae357 Fix Coverity Scan CID 261623 (Variable msg_p going out of scope leaks the storage it points to.) 2019-06-20 11:11:41 +09:00
Dong Anyuan
0d7fa51405 Fix Coverity Scan CID 261633 (Overrunning array reestablish_rnti_map of 16 4-byte elements at element index 16 (byte offset 64) using index i (which evaluates to 16).) 2019-06-20 11:09:57 +09:00
Dong Anyuan
3f327f8650 Fix Coverity Scan CID 261637 (Using uninitialized value timestamp[0].) 2019-06-20 11:09:05 +09:00
Dong Anyuan
f71a53e82d Fix Coverity Scan CID 261649 (Variable rx_buffer going out of scope leaks the storage it points to.) 2019-06-20 11:07:03 +09:00
Dong Anyuan
0e23059320 Fix Coverity Scan CID 261663 (Overrunning array reestablish_rnti_map of 16 4-byte elements at element index 16 (byte offset 64) using index i (which evaluates to 16).) 2019-06-20 11:05:52 +09:00
Dong Anyuan
864e5df407 Fix Coverity Scan CID 300370 (Variable reconf_param going out of scope leaks the storage it points to.) 2019-06-20 11:04:43 +09:00
Dong Anyuan
c65e3d2eea Fix Coverity Scan CID 300371 (Overrunning array rb_table of 34 bytes at byte offset 255 using index rb_table_index (which evaluates to 255).) 2019-06-20 11:03:41 +09:00
Dong Anyuan
ca1e83187f Fix Coverity Scan CID 300377 (Variable p_info going out of scope leaks the storage it points to.) 2019-06-20 11:02:10 +09:00
Dong Anyuan
525e0da714 Fix Coverity Scan CID 300379 (Variable csi_reports going out of scope leaks the storage it points to.) 2019-06-20 11:01:19 +09:00
Dong Anyuan
fdb47bed67 Fix Coverity Scan CID 300383 (Variable sl_CommConfig going out of scope leaks the storage it points to.) 2019-06-20 10:59:59 +09:00
Dong Anyuan
4010027380 Fix Coverity Scan CID 300384 (Variable rrc_measurements going out of scope leaks the storage it points to.) 2019-06-20 10:58:21 +09:00
Dong Anyuan
db3cfa8b7b Fix Coverity Scan CID 300387 (Using freed pointer req_msg.) 2019-06-20 10:56:43 +09:00
Dong Anyuan
42e3a1394d Fix Coverity Scan CID 300388 (Variable destinationInfoList going out of scope leaks the storage it points to.) 2019-06-20 10:55:36 +09:00
Dong Anyuan
a9e9488cd2 Fix Coverity Scan CID 300392 (Variable dl_report going out of scope leaks the storage it points to.) 2019-06-20 10:54:34 +09:00
Dong Anyuan
097d78cab1 Fix Coverity Scan CID 300393 (Variable copy going out of scope leaks the storage it points to.) 2019-06-20 10:51:06 +09:00
Dong Anyuan
d0f3c98b26 Fix Coverity Scan CID 300460 (Using uninitialized value fp->eutra_band when calling from_earfcn.) 2019-06-20 10:45:00 +09:00
Dong Anyuan
4ab9c49a13 Fix Coverity Scan CID 300464 (Using hi as an array. This might corrupt or misinterpret adjacent memory locations.) 2019-06-20 10:44:05 +09:00
Dong Anyuan
03cc588652 Fix Coverity Scan CID 300471 (Using uninitialized value queue->mutex when calling free.) 2019-06-20 10:42:57 +09:00
Dong Anyuan
7ddaa8ed1b Fix Coverity Scan CID 300489 (Variable neigh_meas going out of scope leaks the storage it points to.) 2019-06-20 10:41:17 +09:00
Dr.-Ing. Javier Morgade
ae714ca933 Update FEATURE_SET.md 2019-06-19 09:23:35 +02:00
Raphael Defosseux
e16d9f3a2b fix compilation issues
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-18 15:14:18 +02:00
Raphael Defosseux
2835b8697a Merge remote-tracking branch 'origin/eMTC-configuration_fix' into develop_integration_2019_w25 2019-06-18 14:43:28 +02:00
Raphael Defosseux
0c8618987d CI: fixes after peer review
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-18 14:41:01 +02:00
Raphael Defosseux
c6d43476d8 Merge remote-tracking branch 'origin/enhance_CI_extEPC' into develop_integration_2019_w25 2019-06-18 14:22:12 +02:00
Raphael Defosseux
8f68d596f1 Merge remote-tracking branch 'origin/develop-entv' into develop_integration_2019_w25 2019-06-18 13:42:50 +02:00
Raphael Defosseux
56eb818d08 Merge remote-tracking branch 'origin/ru_rau_enhancement_L1_renaming' into develop_integration_2019_w25 2019-06-18 13:40:42 +02:00
Raymond Knopp
dd2d49f191 fixed rar_Hopping configuration for eMTC. The value in configuration file was a string, but libconfig was told it was an int. changed the configura
tion file to '1' for this parameter and put default value to '1' which means off. Added AssertFatal, if this value is '0', which we don't suppor fo
r now.

_Please enter the commit message for your changes. Lines starting
2019-06-14 00:15:32 +02:00
frtabu
983f759739 Fix typo when using trigger option in report commands 2019-06-13 19:43:55 +02:00
Raphael Defosseux
79016d3c3b Fixes to pass basic-sim in TDD and OAI-UE + USRP test
-- cell synchronization was successful on the 1st try (in OAI UE + USRP) test
2019-06-13 19:14:26 +02:00
Raphael Defosseux
490f0d61e7 fixing compilation warnings 2019-06-13 17:11:32 +02:00
Raphael Defosseux
433706a7a2 CI: better handling when UE does not connect properly in USRP condition
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-13 16:46:12 +02:00
frtabu
7982580861 Automate help message using variants and options arrays. Fix wrong arithmetic used to set the mask used to check options 2019-06-13 15:29:11 +02:00
frtabu
05e7e3e0a8 Fix report problem, improve option flexibility 2019-06-11 19:58:47 +02:00
frtabu
13a079c855 Modify main bash script in CI to ease addition of new variants. 2019-06-10 19:28:01 +02:00
Javier Morgade
8b4c23cf80 Merge remote-tracking branch 'origin/develop' into develop-entv 2019-06-10 15:21:51 +02:00
frtabu
b1d35dcf68 Make addition of new options and variants easier in the bash scripts
prepare for external EPC
2019-06-07 19:36:11 +02:00
Raphael Defosseux
71191fb9b7 Merge branch 'develop_integration_2019_w23' into 'develop'
Develop: integration 2019 week 23

See merge request oai/openairinterface5g!607
2019-06-07 16:53:01 +02:00
Raphael Defosseux
b5aac45a8f CI: testing all sim configurations (in basic/l2-nfapi simulators) even if no sync
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-07 13:51:35 +02:00
Raphael Defosseux
3c62968e94 Updating the release notes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-07 10:12:47 +02:00
jordan moore
ee944efd04 Update lms_lib.cpp 2019-06-07 10:12:47 +02:00
Raphael Defosseux
ff2e2cbc84 Merge remote-tracking branch 'origin/429-coverity-scan-fix-week22' into develop_integration_2019_w23 2019-06-07 10:03:17 +02:00
Wang Tsu-Han
3720aa0583 assersion condition and timedlock overflow fix 2019-06-04 15:23:50 +02:00
Dong Anyuan
e62bc308b8 Fix Coverity Scan CID 341132 (Using freed pointer cell_report.) 2019-06-04 10:21:52 +09:00
Dong Anyuan
86d7a5cd69 ReFix Coverity Scan CID 341066 (Using freed pointer ue_report.) 2019-06-04 10:19:35 +09:00
Dong Anyuan
b75500ac79 Fix Coverity Scan CID 341066 (Using freed pointer ue_report.) 2019-05-31 12:10:12 +09:00
Dong Anyuan
04732d3a8b Fix Coverity Scan CID 341064 (Null-checking mac_MainConfig->phr_Config suggests that it may be null, but it has already been dereferenced on all paths leading to the check.) 2019-05-31 10:29:42 +09:00
Dong Anyuan
507c9cd2a4 Fix Coverity Scan CID 341071 (Null-checking mac_MainConfig->ul_SCH_Config suggests that it may be null, but it has already been dereferenced on all paths leading to the check.) 2019-05-31 10:27:17 +09:00
Dong Anyuan
3dae026c09 Fix Coverity Scan CID 341067 (Null-checking mac_MainConfig suggests that it may be null, but it has already been dereferenced on all paths leading to the check.) 2019-05-31 10:23:58 +09:00
Dong Anyuan
1de860bc89 Fix Coverity Scan CID 341070 (Null-checking quantityConfig->quantityConfigEUTRA suggests that it may be null, but it has already been dereferenced on all paths leading to the check.) 2019-05-31 10:13:11 +09:00
Dong Anyuan
b19f9d9c6e Fix Coverity Scan CID 341065 (Null-checking quantityConfig suggests that it may be null, but it has already been dereferenced on all paths leading to the check.) 2019-05-31 10:04:11 +09:00
Dong Anyuan
324da70ee1 ReFix Coverity Scan CID 300503 (Variable rlc_reports going out of scope leaks the storage it points to.) 2019-05-30 23:04:16 +09:00
Dong Anyuan
32bb6c9ebf ReFix Coverity Scan CID 300428 (Variable dl_info going out of scope leaks the storage it points to.) 2019-05-30 19:10:05 +09:00
Dong Anyuan
540e409b2e ReFix Coverity Scan CID 300508 (Variable ul_info going out of scope leaks the storage it points to.) 2019-05-30 19:01:02 +09:00
Dong Anyuan
983d208543 ReFix Coverity Scan CID 339937 (Overrunning array x2ap_messages_callback of 27 24-byte elements at element index 27 (byte offset 648) using index pdu.choice.successfulOutcome.procedureCode (which evaluates to 27).) 2019-05-30 18:40:27 +09:00
Wang Tsu-Han
7ed11406f0 fixes for error in if4p5 2019-05-29 15:48:33 +02:00
Dong Anyuan
ec2ac48d90 ReFix Coverity Scan CID 300459 (Using uninitialized value addr. Field addr.sin_zero is uninitialized when calling bind.) 2019-05-29 17:45:02 +09:00
Dong Anyuan
33eefa2e54 ReFix Coverity Scan CID 300452 (Using uninitialized value addr. Field addr.sin_zero is uninitialized when calling connect.) 2019-05-29 17:41:09 +09:00
Dong Anyuan
616ab18719 ReFix Coverity Scan CID 339948 (Using uninitialized value a. Field a.sin_zero is uninitialized when calling bind.) 2019-05-29 17:36:56 +09:00
SAWADA Kentaro
4acb50f99e ReFix Coverity Scan CID 340196 (Using uninitialized value prose_addr_len when calling recvfrom.) 2019-05-29 15:25:38 +09:00
SAWADA Kentaro
a8bd28cc8a ReFix Coverity Scan CID 340288 (Using uninitialized value slen when calling getsockname.) 2019-05-29 14:54:39 +09:00
SAWADA Kentaro
69f68d13f5 ReFix Coverity Scan CID 340273 (Using uninitialized value slen when calling recvfrom.) 2019-05-29 14:51:47 +09:00
Dong Anyuan
2d3d0f7ae7 Fix Coverity Scan CID 300396 (Variable mac_MainConfig going out of scope leaks the storage it points to.) 2019-05-28 22:21:04 +09:00
Dong Anyuan
8fcce371d8 Fix Coverity Scan CID 300402 (Variable header going out of scope leaks the storage it points to.) 2019-05-28 22:20:15 +09:00
Dong Anyuan
3c1f80f47b Fix Coverity Scan CID 300405 (Variable ue_state_change_msg going out of scope leaks the storage it points to.) 2019-05-28 22:19:33 +09:00
Dong Anyuan
554058d4b0 Fix Coverity Scan CID 300407 (Variable stats_reply_msg going out of scope leaks the storage it points to.) 2019-05-28 22:18:45 +09:00
Dong Anyuan
e65b702287 Fix Coverity Scan CID 300411 (Using uninitialized value reconf_param->report_amount when calling flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration.) 2019-05-28 22:17:55 +09:00
Dong Anyuan
4f55adf6e2 Fix Coverity Scan CID 300412 (Variable macstats going out of scope leaks the storage it points to.) 2019-05-28 22:16:38 +09:00
Dong Anyuan
1f752815cf Fix Coverity Scan CID 300414 (Variable lib going out of scope leaks the storage it points to.) 2019-05-28 22:04:20 +09:00
Dong Anyuan
71a7ba5738 Fix Coverity Scan CID 300415 (Variable ul_report going out of scope leaks the storage it points to.) 2019-05-28 22:03:19 +09:00
Dong Anyuan
e04f4c15c0 Fix Coverity Scan CID 300419 (Variable cell_conf going out of scope leaks the storage it points to.) 2019-05-28 22:02:04 +09:00
Dong Anyuan
ddf6cfe002 Fix Coverity Scan CID 300420 (Variable ul_mac_config_msg going out of scope leaks the storage it points to.) 2019-05-28 21:47:40 +09:00
Dong Anyuan
5877ee80c7 Fix Coverity Scan CID 300421 (Variable eutra_meas going out of scope leaks the storage it points to.) 2019-05-28 21:46:15 +09:00
Dong Anyuan
542bd49c96 Fix Coverity Scan CID 300425 (Using uninitialized value req_msg when calling flexran_agent_stats_request.) 2019-05-28 21:43:58 +09:00
Dong Anyuan
a7585c3fd4 Fix Coverity Scan CID 300427 (Variable ue_report going out of scope leaks the storage it points to.) 2019-05-28 21:43:05 +09:00
Dong Anyuan
4e1beaa6e4 Fix Coverity Scan CID 300428 (Variable dl_info going out of scope leaks the storage it points to.) 2019-05-28 21:41:45 +09:00
Dong Anyuan
3cbb53e069 Fix Coverity Scan CID 300429 (Overrunning array buffer of 255 bytes by passing it to a function which accesses it at byte offset 65534 using argument size (which evaluates to 65535).) 2019-05-28 21:40:35 +09:00
Dong Anyuan
f8a9d517af Fix Coverity Scan CID 300430 (Using uninitialized value msg when calling flexran_agent_mac_sr_info.) 2019-05-28 21:38:38 +09:00
Dong Anyuan
29081f0a16 Fix Coverity Scan CID 300431 (Overrunning array pdu_info_pP->li_list of 128 2-byte elements at element index 128 (byte offset 256) using index pdu_info_pP->num_li (which evaluates to 128).) 2019-05-28 21:37:30 +09:00
Dong Anyuan
af0e318a82 Fix Coverity Scan CID 300435 (Variable channel going out of scope leaks the storage it points to.) 2019-05-28 21:35:13 +09:00
Dong Anyuan
0b328f3315 Fix Coverity Scan CID 300448 (Using uninitialized value sl_DiscConfig. Field sl_DiscConfig.ext1 is uninitialized.) 2019-05-28 21:34:20 +09:00
Dong Anyuan
8dc8a1627d Fix Coverity Scan CID 300452 (Using uninitialized value addr. Field addr.sin_zero is uninitialized when calling connect.) 2019-05-28 21:33:22 +09:00
Dong Anyuan
91be65e8a8 Fix Coverity Scan CID 300455 (Using uninitialized value msg when calling flexran_agent_mac_sf_trigger.) 2019-05-28 21:32:28 +09:00
Dong Anyuan
bf3db975bb Fix Coverity Scan CID 300456 (Variable full_ul_report going out of scope leaks the storage it points to.) 2019-05-28 21:31:17 +09:00
Dong Anyuan
0398f964bb Fix Coverity Scan CID 300459 (Using uninitialized value addr. Field addr.sin_zero is uninitialized when calling bind.) 2019-05-28 21:29:44 +09:00
Dong Anyuan
156726875a Fix Coverity Scan CID 300461 (Variable stats_reply_msg going out of scope leaks the storage it points to.) 2019-05-28 21:27:46 +09:00
Dong Anyuan
64e0df286c Fix Coverity Scan CID 300465 (Variable header going out of scope leaks the storage it points to.) 2019-05-28 21:25:59 +09:00
Dong Anyuan
c91bfb228b Fix Coverity Scan CID 300472 (Variable header going out of scope leaks the storage it points to.) 2019-05-28 21:25:02 +09:00
Dong Anyuan
c6a7f9d58f Fix Coverity Scan CID 300474 (Using freed pointer timer_msg.) 2019-05-28 21:21:59 +09:00
Dong Anyuan
9176f90a3d Fix Coverity Scan CID 300476 (Variable dl_mac_config_msg going out of scope leaks the storage it points to.) 2019-05-28 21:19:17 +09:00
Dong Anyuan
5e000215a3 Fix Coverity Scan CID 300477 (Using uninitialized value err_code.) 2019-05-28 21:18:19 +09:00
Dong Anyuan
c3854df16e Fix Coverity Scan CID 300478 (Variable dl_report going out of scope leaks the storage it points to.) 2019-05-28 21:16:57 +09:00
Dong Anyuan
130c8d3da0 Fix Coverity Scan CID 300490 (Variable copy going out of scope leaks the storage it points to.) 2019-05-28 21:15:24 +09:00
Dong Anyuan
ba81c62eb7 Fix Coverity Scan CID 300496 (Variable header going out of scope leaks the storage it points to.) 2019-05-28 21:14:05 +09:00
Dong Anyuan
f4def402b5 Fix Coverity Scan CID 300497 (Using uninitialized element of array cpuset.__bits.) 2019-05-28 21:13:11 +09:00
Dong Anyuan
736c3b988b Fix Coverity Scan CID 300499 (Variable paging_report going out of scope leaks the storage it points to.) 2019-05-28 21:12:16 +09:00
Dong Anyuan
f6b615636f Fix Coverity Scan CID 300500 (Variable p_info going out of scope leaks the storage it points to.) 2019-05-28 21:10:25 +09:00
Dong Anyuan
e5a0b98ee4 Fix Coverity Scan CID 300502 (Variable quantityConfig going out of scope leaks the storage it points to.) 2019-05-28 21:07:26 +09:00
Dong Anyuan
5cb42d56f6 Fix Coverity Scan CID 300503 (Variable rlc_reports going out of scope leaks the storage it points to.) 2019-05-28 21:06:33 +09:00
Dong Anyuan
28ad281944 Fix Coverity Scan CID 300504 (Using uninitialized value timer_msg when calling flexran_agent_stats_request.) 2019-05-28 21:05:31 +09:00
Dong Anyuan
ddb9b21878 Fix Coverity Scan CID 300506 (Variable full_ul_report going out of scope leaks the storage it points to.) 2019-05-28 21:04:15 +09:00
Dong Anyuan
a4a51eb9c7 Fix Coverity Scan CID 300507 (Variable lc_ue_config going out of scope leaks the storage it points to.) 2019-05-28 20:59:50 +09:00
Dong Anyuan
ccdd9f0495 Fix Coverity Scan CID 300508 (Variable ul_info going out of scope leaks the storage it points to.) 2019-05-28 20:32:21 +09:00
Dong Anyuan
8c0db8086d Fix Coverity Scan CID 339892 (Overrunning array msg_p->ittiMsg.rrc_mac_ccch_data_ind.sdu of 512 bytes by passing it to a function which accesses it at byte offset 1022 using argument msg_p->ittiMsg.rrc_mac_ccch_data_ind.sdu_size (which evaluates to 1023).) 2019-05-28 20:31:03 +09:00
Dong Anyuan
0b48bb46be Fix Coverity Scan CID 339921 (Using uninitialized value tokctx when calling __strtok_r_1c.) 2019-05-28 20:29:38 +09:00
Dong Anyuan
c41af020a2 Fix Coverity Scan CID 339932 (Overrunning array messages_callback of 48 24-byte elements at element index 48 (byte offset 1152) using index pdu.choice.initiatingMessage.procedureCode (which evaluates to 48).) 2019-05-28 20:14:25 +09:00
Dong Anyuan
5d1500cbdc Fix Coverity Scan CID 339937 2019-05-28 19:42:34 +09:00
Dong Anyuan
7dc6547479 Fix Coverity Scan CID 339944 2019-05-28 19:41:59 +09:00
Dong Anyuan
1e4ca86184 Fix Coverity Scan CID 339948 2019-05-28 19:40:07 +09:00
Dong Anyuan
f19c72f785 Fix Coverity Scan CID 339951 2019-05-28 19:38:22 +09:00
SAWADA Kentaro
3cfe9636ab Fix Coverity Scan CID 340291 2019-05-28 19:33:00 +09:00
SAWADA Kentaro
ef9c227746 Fix Coverity Scan CID 340288 2019-05-28 19:32:32 +09:00
SAWADA Kentaro
4085349be3 Fix Coverity Scan CID 340276 2019-05-28 19:31:53 +09:00
SAWADA Kentaro
5fe7940ef4 Fix Coverity Scan CID 340273 2019-05-28 19:31:19 +09:00
SAWADA Kentaro
3a92f18eca Fix Coverity Scan CID 340266 2019-05-28 19:30:36 +09:00
SAWADA Kentaro
228ad9c824 Fix Coverity Scan CID 340255 2019-05-28 19:30:12 +09:00
SAWADA Kentaro
6fa16963cb Fix Coverity Scan CID 340253 2019-05-28 19:28:45 +09:00
SAWADA Kentaro
78b5f9da53 Fix Coverity Scan CID 340246 2019-05-28 19:28:08 +09:00
SAWADA Kentaro
72a6bbe22f Fix Coverity Scan CID 340231 2019-05-28 19:27:30 +09:00
SAWADA Kentaro
e241a74ae6 Fix Coverity Scan CID 340229 2019-05-28 19:26:59 +09:00
SAWADA Kentaro
80c7f25efd Fix Coverity Scan CID 340227 2019-05-28 19:25:16 +09:00
SAWADA Kentaro
c28d157dc4 Fix Coverity Scan CID 340226 2019-05-28 19:24:44 +09:00
SAWADA Kentaro
880432cafd Fix Coverity Scan CID 340222 2019-05-28 19:24:10 +09:00
SAWADA Kentaro
304c4842aa Fix Coverity Scan CID 340210 2019-05-28 19:23:28 +09:00
SAWADA Kentaro
550ac9841f Fix Coverity Scan CID 340203 2019-05-28 19:23:01 +09:00
SAWADA Kentaro
4939f38a57 Fix Coverity Scan CID 340196 2019-05-28 19:22:24 +09:00
SAWADA Kentaro
9b10599186 Fix Coverity Scan CID 340192 2019-05-28 19:20:52 +09:00
SAWADA Kentaro
95c8693181 Fix Coverity Scan CID 340000 2019-05-28 19:18:27 +09:00
SAWADA Kentaro
95b5f2baba Fix Coverity Scan CID 339973 2019-05-28 19:16:50 +09:00
SAWADA Kentaro
a51fb55f8a Fix Coverity Scan CID 339968 2019-05-28 19:10:16 +09:00
Dong Anyuan
f4ab9af045 Fix Coverity Scan CID 339961 2019-05-28 18:41:18 +09:00
Javier Morgade
943e480b6e BUGFIX (wrong fembms pbch call in UE procedures) 2019-05-24 14:21:17 +02:00
Wang Tsu-Han
9125074562 fixed bug created while merge conflict remove 2019-05-24 13:17:51 +02:00
Wang Tsu-Han
f874d6a655 Changing back cmake virsion to 3.0 2019-05-24 10:36:19 +02:00
Francois TABURET
55700fc99e Update BUILD.md 2019-05-24 10:31:42 +02:00
Francois TABURET
3b9fabe1b3 Update BUILD.md 2019-05-24 10:26:55 +02:00
Francois TABURET
fc86788a8e Update BUILD.md, fixing broken link, typo and clarifying some points 2019-05-24 10:18:10 +02:00
Wang Tsu-Han
6b2e064216 Merge branch 'develop' into ru_rau_enhancement_L1_renaming
Conflicts:
	ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c
	targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf
	targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf
	targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-ue.c
2019-05-23 18:29:01 +02:00
Wang Tsu-Han
f35d9f2044 adding assertion for lte-ru 2019-05-23 17:53:29 +02:00
Javier Morgade
b1c1c4545a Merge remote-tracking branch 'origin/develop' into develop-entv 2019-05-23 16:51:30 +02:00
Wang Tsu-Han
cec3f0ae89 adding assertion to lock and adding timedwait with other realtime threading handel 2019-05-23 16:45:25 +02:00
Raphael Defosseux
ebd40e8d4e Merge branch 'develop_integration_2019_w21' into 'develop'
See merge request oai/openairinterface5g!595

The following Merge Requests are included:

* MR 544: RRC Inactivity Timer testing
* MR 581: Remove deprecated build options
* MR 583: RRC: add an option to enable measurement reports
* MR 590: bugfix UE realtime bug
2019-05-23 14:37:10 +02:00
Louis-Adrien DUFRENE (Orange Labs)
afdeaa631c update feature list with RRC inactivity timer 2019-05-23 07:58:00 +02:00
Raphael Defosseux
3c322792ba CI: fixig failing OAI UE + USRP + OAI eNB test
-- scenarios were using FDD 5MHz conf file w/ active RRC inactivity timeout
  -- since we are waiting very long that UE is sync'ed w/ eNB, timeout occurs and UE is released
  -- solution is to disable timeouts in command line in scenario
  -- also python is fixed to handle properly wrong ping exits

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-22 15:39:03 +02:00
Raphael Defosseux
a65d09cbda CI: adding support to build for coverity-scan
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-22 12:08:42 +02:00
Raphael Defosseux
28840df8f2 CI: fixing incorrect space indentation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-22 12:04:26 +02:00
Raphael Defosseux
7d1956b674 Merge remote-tracking branch 'origin/bugfix-ue-realtime' into develop_integration_2019_w21 2019-05-22 11:39:00 +02:00
Raphael Defosseux
e40ec9578f Merge remote-tracking branch 'origin/enable-measurement-reports' into develop_integration_2019_w21 2019-05-22 11:38:10 +02:00
Raphael Defosseux
9466105ddc Merge remote-tracking branch 'origin/issue425_buildsimplification' into develop_integration_2019_w21 2019-05-22 11:34:15 +02:00
Raphael Defosseux
286956a04d Merge remote-tracking branch 'origin/RRC-Inactivity-timers-testing' into develop_integration_2019_w21 2019-05-22 11:33:49 +02:00
Javier Morgade
642d6ee681 CI WARNING suppression 2019-05-21 12:23:59 +02:00
Javier Morgade
27a3cff798 BUGFIX and cppcheck/warning suppression 2019-05-21 10:59:17 +02:00
Javier Morgade
6ba8cd7029 DCI Format1A 0xfff9 false decoding 2019-05-20 17:27:19 +02:00
Raphael Defosseux
cbf1e1f7f2 CI: adding high throughput DL iperf tests w/ OAI UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-20 16:37:19 +02:00
Javier Morgade
fe89f107e3 Code cleanup & CI F1 CD/DU Bugfix 2019-05-20 13:14:51 +02:00
Cedric Roux
1efbfa5304 bugfix: fix UE realtime bug
When pushing traffic with iperf the UE was crashing.

The argument passed to pthread_mutex_timedlock is absolute time based
on the CLOCK_REALTIME timer, not relative time. That seems to be the
root cause of the bug. (That there is a timeout is another story.)

This commit uses absolute value.

Also we separate cases between IS_SOFTMODEM_BASICSIM / IS_SOFTMODEM_RFSIM
and standard realtime UE. In the 'sim' modes we don't care about
timeout and just call pthread_mutex_lock. It seems to be the idea
of the original work. If not, then to be fixed.
2019-05-20 11:26:06 +02:00
Javier Morgade
c3d9e779aa missing dummy function for LTE phy simulation build 2019-05-18 16:54:33 +02:00
Javier Morgade
3056343c5b Remove test code before CI 2019-05-18 16:11:55 +02:00
Javier Morgade
786895dcd9 Merge remote-tracking branch 'origin/develop' into develop-entv 2019-05-17 18:11:55 +02:00
Raphael Defosseux
cba1659c1d CI: fix the formatting on build HTML report for basic-sim
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-16 16:21:46 +02:00
Raphael Defosseux
aceb3a83ea Hack to break infinite loop when UE is released during RRC inactivity timeout
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-16 15:54:03 +02:00
frtabu
ae2885b28c Merge branch 'develop' into issue425_buildsimplification 2019-05-15 23:57:57 +02:00
frtabu
03ba3b7611 update telnet server documentation (build procedure modification, add measur command)
# Please enter the commit message for your changes. Lines starting
2019-05-15 19:24:51 +02:00
frtabu
f47f3f65ba More build_oai cleanup, add a generic option "--build-lib" to build optional shared libraries (telnet server for example) 2019-05-15 18:20:16 +02:00
frtabu
83c2d32883 fix crash when attempting to use -d legacy softscope. Doesn't fix all problems but at least no crash and ready for anybody to fix diplay problems 2019-05-15 16:28:56 +02:00
frtabu
e19c0ab851 Remove deprecated build options, now available as config options: noS1, basic_simulator. Remove DISABLE_LOG_X macros, disabling logs now available via disabling the T_TRACER 2019-05-15 16:22:15 +02:00
Raphael Defosseux
df90d4bc49 CI: little scripts improvements
-- in python: detection of a build failure, the tab should close nicely
  -- L2-nFAPi simulator: adding the num-ue-thread option
  -- Moved the VM destroy stage into the "VM-based test" branch.
  -- On "slave" job pipeline, moved the XML parsing after the git merge step so new test-cases are nicely taken care of.

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-15 16:08:00 +02:00
Raphael Defosseux
dfd5f316fc CI: fix in path
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-15 15:58:59 +02:00
Raphael Defosseux
5d455fb57b CI: little scripts improvements
-- in python: detection of a build failure, the tab should close nicely
  -- L2-nFAPi simulator: adding the num-ue-thread option
  -- Moved the VM destroy stage into the "VM-based test" branch.
  -- On "slave" job pipeline, moved the XML parsing after the git merge step so new test-cases are nicely taken care of.

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-15 10:44:25 +02:00
Cedric Roux
cd667e5563 RRC: add an option to enable measurement reports
In the configuration file, to enable measurements, add:

    enable_measurement_reports = "yes";

Note that if x2 is enabled then the option 'enable_measurement_reports'
is not taken into account and the measurements are enabled.
2019-05-13 15:52:54 +02:00
frtabu
da71492f25 fix dlsim build, (dlsim has it's own scope start method...) 2019-05-09 12:13:39 +02:00
frtabu
00d9060711 remove XFORM macro, move XFORM code in optional library 2019-05-09 02:03:56 +02:00
Javier Morgade
07b25f9e8e -3GPP spec TS 36.321 table 7.1-1 RNTI values for MBMS dedicated carrier
-FFF9 RNTI also enabled for MBMS dedicated carrier
2019-05-07 17:19:48 +02:00
Raphael Defosseux
296560f477 CI: adding TDD-5MHz TM2 test-cases
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-07 15:37:55 +02:00
frtabu
28a4f53356 Fix basic simu problem, due to remaining #if OAI_USRP... macros in UE 2019-05-06 19:17:40 +02:00
Raphael Defosseux
711f7dd228 CI: fix when OAI-UE IP address is not retrievable
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-05-02 12:04:49 +02:00
Raymond Knopp
c5d1a8b8dc fixed IF4p5 2x2 functionality (especially PRACH was broken on both ends)
configuration files for CU/DU (thread policy)
2019-04-30 20:26:17 +02:00
frtabu
fad83e4724 Update doc, remove color escape sequences from logs (use character to identify message level), try to fix basic simu Pb 2019-04-30 19:08:37 +02:00
frtabu
d205c806de fix remaining deprecated commands in CI 2019-04-30 15:40:13 +02:00
frtabu
582c6dd076 Try basic_simulator build failure (log file pattern Pb?) 2019-04-30 10:54:16 +02:00
frtabu
9f3bd99c52 Fix NB_PATTERN_FILES and BUILD_OPTIONS in oai-ci-vm-tool, remove useless options (-t, basic_simulator, rf_simulator) as corresponding libraries always built 2019-04-30 10:24:20 +02:00
frtabu
d30776912e Rebase fixes 2019-04-29 18:51:03 +02:00
frtabu
0bf3d8f6bc Remove deprecated build options, now available as config options: noS1, basic_simulator. Remove DISABLE_LOG_X macros, disabling logs now available via disabling the T_TRACER 2019-04-29 18:46:55 +02:00
frtabu
615a56fff6 Remove deprecated build options, now available as config options: noS1, basic_simulator. Remove DISABLE_LOG_X macros, disabling logs now available via disabling the T_TRACER 2019-04-29 18:33:59 +02:00
Raymond Knopp
9fb2f7365c fronthaul bugfixes for IF4p5 2x2 antenna configuration, testing with TM2 2019-04-28 20:27:10 +02:00
Raymond Knopp
e47829af6c removal of EXPRESS MIMO HW drivers/libraries, same for mobipass. 2019-04-28 11:11:11 +02:00
Raymond Knopp
17eb5eedaf Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement_L1_renaming
also:
removed XFORMS from lte-softmodem target and associated extra functions in lte-softmodem.c
Conflicts:
	common/utils/T/T_defs.h
	targets/RT/USER/lte-softmodem.c
2019-04-28 10:30:56 +02:00
Raphael Defosseux
81d4202b9b Merge branch 'develop_integration_2019_w17' into 'develop'
The following Merge Requests are included:

* MR 557 : Implement CDRX in FDD mode
* MR 571 : Improvement on documentation
* MR 572 : Fix CU/DU protocol split
* MR 574 : Fix a flexran free issue
* MR 578 : CI -- Improve OAI UE testing with USRP
2019-04-26 16:17:41 +02:00
Raphael Defosseux
f31694533e fix a few cppcheck errors.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-26 13:53:06 +02:00
Raphael Defosseux
d8096787c3 CI: forced marker output by fflush at the end of eNB initialization
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-26 11:12:55 +02:00
Raphael Defosseux
96c11ff539 Merge remote-tracking branch 'origin/421-cdrx-for-lte' into develop_integration_2019_w17 2019-04-26 11:10:04 +02:00
Louis Adrien Dufrene
e5eb58d227 Fix for CU/DU split error. To test. 2019-04-26 08:37:46 +02:00
Raymond Knopp
269527f321 removal of residual warnings 2019-04-25 20:51:54 +02:00
Raphael Defosseux
5261ccd34d CI: making sure in all test scenarios that eNB/UE are OFF
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-25 17:54:47 +02:00
Raphael Defosseux
0701784daa CI: adding EPC log collection in the OAI-UE + OAI-eNB USRP pipeline template
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-25 17:44:53 +02:00
Raphael Defosseux
b40e2459a9 Merge remote-tracking branch 'origin/fix-flexran-test-free' into develop_integration_2019_w17 2019-04-25 17:31:37 +02:00
Raphael Defosseux
fef0f7320d CI: separate 2 stages
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-25 17:08:37 +02:00
Raphael Defosseux
96ed6a75fd Merge remote-tracking branch 'origin/ci-improve-oai-ue-testing' into develop_integration_2019_w17 2019-04-25 17:07:27 +02:00
Raphael Defosseux
d312a9d797 Merge remote-tracking branch 'origin/fix-cudu' into develop_integration_2019_w17 2019-04-25 17:07:00 +02:00
Raphael Defosseux
35705578e7 Merge remote-tracking branch 'origin/develop-improved-doc' into develop_integration_2019_w17 2019-04-25 17:06:44 +02:00
Raphael Defosseux
ebb30df8f7 Merge remote-tracking branch 'origin/421-cdrx-for-lte' into develop_integration_2019_w17 2019-04-25 17:06:17 +02:00
Raymond Knopp
14374c1473 fixed cppcheck errors and warnings. Removal of oaisim files tha came back during merge. 2019-04-25 11:53:52 +02:00
Raymond Knopp
31cf3ac05c removal of warnings 2019-04-24 23:17:05 +02:00
Raphael Defosseux
4ecc3c1e1f CI: OAI-UE USRP testing supports S1 configuration and testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-24 18:03:31 +02:00
Raphael Defosseux
52023590e4 DOC: remeasured TDD performances
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-24 13:44:22 +02:00
Raymond Knopp
c245e426d2 made "is_slave" RRU parameter default to "no" instead of "yes". 2019-04-24 11:37:13 +02:00
Raymond Knopp
8ea46f8f95 changed CI configuration files so that the scheduling paramter for TDD and TM2 is "PARALLEL_SINGLE_THREAD" 2019-04-24 07:40:35 +02:00
Raymond Knopp
b9363eef70 insert check on "ru->do_precoding" in RU TX chain for basic behaviour in monolithic eNB case 2019-04-23 19:54:12 +02:00
Raphael Defosseux
489726d0de CI: fixing some gains in the CI bench conf files for TDD
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-23 17:21:58 +02:00
Raphael Defosseux
9bf9c2fe97 CI: made UE cell synchro more reliable
--> looping during the initOAIUE stage

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-23 15:41:46 +02:00
Raymond Knopp
a64e7eef7d tested compilation and execution with --simL1 and --rfsim. 2019-04-22 21:20:43 +02:00
Raymond Knopp
ed08f3ab1b Merge remote-tracking branch 'origin/signal-delay' into ru_rau_enhancement_L1_renaming
Conflicts:
	openair1/PHY/defs_eNB.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/prach_procedures.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-uesoftmodem.c
2019-04-20 08:28:43 +02:00
Robert Schmidt
82db432191 Make separate func_ptr setters for PDCP Ind/RLC Req 2019-04-19 14:06:48 +02:00
Robert Schmidt
42713b95fc Configure complete PDCP in lte-(ue)softmodem
* Instead of partly initializing in read_config_and_init(), everything of
  PDCP is initialized in main() of lte-softmodem
* Omit RC.rrc access in RRU through checking of RC.nb_inst > 0
* Includes FlexRAN, i.e. do not start FlexRAN in RRU
* Function pointers to PDCP functions have to be set explicitly (avoid
  confusion of multiply setting function pointers)
2019-04-19 14:05:51 +02:00
Raphael Defosseux
24b46f3f02 CI: running the RRC Inactivity Timer scenarion first once without flexran controller
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-19 12:17:02 +02:00
Raphael Defosseux
b39cb4e586 CI: fix end of scenario when UE IP address retrieving fails during ping tests
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-19 10:55:27 +02:00
Raymond Knopp
d1e27f4e8c changes in PARALLEL_RU_L!_TRX_SPLIT configuration. Correction of a few bugs related to passing of variables between threads 2019-04-19 03:18:06 +02:00
Raphael Defosseux
8418bec3a3 DOC: fix some page headers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-18 17:20:01 +02:00
Raphael Defosseux
b5008bf48a DOC: fix links in GitLab
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-18 17:11:50 +02:00
Raphael Defosseux
151bbd0832 CI/DOC: more detailed documentation on how CI works
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-18 17:02:41 +02:00
Robert Schmidt
de1dc5c9d7 Correct if before call free() 2019-04-18 16:03:01 +02:00
Robert Schmidt
b4f462b9c8 Align PROTO_AGENT functions with PDCP/RLC function pointers 2019-04-18 13:42:20 +02:00
Louis Adrien Dufrene
fd30b205d9 Merge branch '421-cdrx-for-lte' of https://gitlab.eurecom.fr/oai/openairinterface5g into 421-cdrx-for-lte 2019-04-18 13:29:35 +02:00
Louis Adrien Dufrene
3f6ab59010 remove debug 2019-04-18 13:28:36 +02:00
Raphael Defosseux
f515213dbe CI: adding back TCP iperf tests in TDD
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-18 12:34:55 +02:00
Louis Adrien Dufrene
0e6431a7b9 Moved code for HARQ process from PHY layer to MAC layer 2019-04-18 11:51:20 +02:00
Louis Adrien Dufrene
fbcc7ad20c Merge branch '421-cdrx-for-lte' into orange_cdrx_test 2019-04-18 10:59:41 +02:00
Louis Adrien Dufrene
5da3dd5df6 Some formats + CDRX added to feature_set.md 2019-04-18 10:59:17 +02:00
Raphael Defosseux
363dc1cb6f CI: adding cdrx parameters to one scenario (FDD-Monolithic-10MHz)
-> slight increase on the ping RTT by 10 ms
  -> notification in the HTML report that CDRX was activated

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-17 15:06:32 +02:00
Louis Adrien Dufrene
34447c0eef build fix 2019-04-17 08:29:54 +02:00
Louis Adrien Dufrene
6751a39a03 Merge branch 'orange_cdrx_test' of https://gitlab.forge.orange-labs.fr/afyf6286/oai-orange into orange_cdrx_test 2019-04-17 08:12:07 +02:00
Louis Adrien Dufrene
71d56e78eb Remove MAC layer context from phy_procedures_lte_eNb.c to prevent phy-sim build from fail 2019-04-17 08:06:37 +02:00
Raphael Defosseux
2774e51664 DOC: fix some images broken links and also align formatting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-16 14:52:29 +02:00
Raphael Defosseux
1fea702c68 CI: fix last failure in full-RAN pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-16 13:06:38 +02:00
Louis Adrien Dufrene
49ba4e5669 Fix phy_sim build 2019-04-16 11:51:28 +02:00
Raphael Defosseux
c153ee1204 CI: fix after bad merge in main.py
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-16 10:33:17 +02:00
Louis Adrien Dufrene
93fb04ea5f End of merge from develop 2019-04-16 09:29:20 +02:00
OAI-admin
7b6ac826ff End of merge from develop 2019-04-16 09:24:38 +02:00
Louis Adrien Dufrene
5ae494e974 merge from develop 2019-04-16 09:13:25 +02:00
Louis Adrien Dufrene
36cd05bcba Bug fix: dci0_ongoing timer ok, now impossible to set ul_SR when dci0 is ongoing. 2019-04-16 08:22:54 +02:00
Raphael Defosseux
ef42eb7181 CI: fix in full ran template pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-15 23:09:04 +02:00
Raphael Defosseux
f8f19aa084 Merge remote-tracking branch 'origin/develop' into RRC-Inactivity-timers-testing 2019-04-15 21:21:07 +02:00
Raphael Defosseux
7b7718a126 CI: fix TerminateOAIUE standalone mode
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-15 21:11:41 +02:00
Raphael Defosseux
c7c104a6e7 CI: adding dummy skeleton stages in pipeline to run L1/RF simulators
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-15 17:28:44 +02:00
Raphael Defosseux
8c7ed9f743 Merge branch 'develop_integration_2019_w15' into 'develop'
The following Merge Requests are included:

-  MR 553: L2-nFAPI-simulator improvements and nFAPI code clean-up
-  MR 554: Fixes on MAC scheduler
-  MR 558: T: minor fix: ensure printing is inside the widget 
-  MR 559: UE T Tracer: bug fixes
-  MR 561: Adding OAI UE + USRP test scenarios
-  MR 567: Adding F1 - CU/DU test scenarios
2019-04-15 15:19:31 +02:00
Raphael Defosseux
815f97d6bc CI: fix typo in main.py file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-15 13:30:38 +02:00
Raphael Defosseux
fd956d7f0e CI: fix in PCPAP file recovering process
---> issue: /tmp was chmod'ed 666 on the EPC server

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-15 12:30:36 +02:00
Louis Adrien Dufrene
d7cddc2825 Bug fix of drx_config == PrNothing is now handled. Bug fix for dci0_ongoing not working. To investigate 2019-04-15 10:57:39 +02:00
Cedric Roux
9ea7073c68 Merge remote-tracking branch 'origin/fixes-mac-scheduler-2019-w13' into develop_integration_2019_w15
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
2019-04-15 10:50:38 +02:00
Raphael Defosseux
1f504284b8 Merge remote-tracking branch 'origin/add-f1-cu-du-tests' into develop_integration_2019_w15 2019-04-15 10:20:42 +02:00
Raphael Defosseux
44e1b6aec3 Merge remote-tracking branch 'origin/add-oai-ue-noS1-testing' into develop_integration_2019_w15 2019-04-15 10:19:10 +02:00
Raphael Defosseux
335e894ce3 Merge remote-tracking branch 'origin/T-ue-fixes-2019-w14' into develop_integration_2019_w15 2019-04-15 10:18:47 +02:00
Raphael Defosseux
3ce2861864 Merge remote-tracking branch 'origin/T-minor-fix-2019-w14' into develop_integration_2019_w15 2019-04-15 10:18:27 +02:00
Raphael Defosseux
9e247f3fb3 Merge remote-tracking branch 'origin/ci-improve-l2-sim' into develop_integration_2019_w15 2019-04-15 10:18:01 +02:00
Louis Adrien Dufrene
4c931888e6 Add dci0_ongoing_timer. Commit to build and test. 2019-04-15 08:54:00 +02:00
Raymond Knopp
ca111641d4 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement_L1_renaming
Conflicts:
	cmake_targets/build_oai
	cmake_targets/oaisim_build_oai/CMakeLists.template
	cmake_targets/oaisim_mme_build_oai/CMakeLists.template
	cmake_targets/oaisim_noS1_build_oai/CMakeLists.template
	openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SIMULATION/LTE_PHY/dlsim.c
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
2019-04-14 20:34:03 +02:00
Raphael Defosseux
796bdaec77 CI: increasing timeout limit for UHD commands
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-13 15:04:43 +02:00
Rohit Gupta
a05255d246 increased size of maximum SI allocation (to mcs 9 with 3 PRBs) Fixes issues with SI message using eMTC information elementswq 2019-04-13 01:12:33 +02:00
Dr.-Ing. Javier Morgade
aecd1ee1d3 Bug fix remove test code 2019-04-12 16:35:31 +02:00
Raphael Defosseux
818b8d82f1 CI: full report on L2 nFAPI simulator testing
-- Also added support for RF simulator

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-12 15:47:18 +02:00
Raphael Defosseux
7cf543f7fb CI: forcing the --nokrnmod 1 option on the UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-12 15:22:43 +02:00
Javier Morgade
db42be5db9 FeMBMS PBCH Initial Scan Procedures 2019-04-12 10:59:50 +02:00
Javier Morgade
8a67e0e5f0 FeMBMS PBCH Physical Layer Procedures 3GPP TS 36.213 version 14.2.0 Release 14 2019-04-12 09:46:39 +02:00
Javier Morgade
23e63be717 FeMBMS PBCH (Physical Broadcast Channel) 3GPP TS 36.211 version 14.2.0 Release 14 Section 6.6
Code cleanup
2019-04-12 09:13:09 +02:00
Javier Morgade
a25f4b08bb FeMBMS UE Physical Layer Procedures implemented/validated -> 3GPP TS 36.213 version 14.2.0 Release 14 (Section 11) 2019-04-11 22:08:30 +02:00
Javier Morgade
f1fa1e1f53 FeMBMS UE RRC<->MAC Procedures SI-MBMS and SIB1-MBMS(sib13, LTE_NonMBSFN_Subframe) 2019-04-11 22:04:40 +02:00
Javier Morgade
35421860f9 Bugfix RLC/PDCP MBMS Bearer settings 2019-04-11 22:01:24 +02:00
Javier Morgade
23fa1ee31f FeMBMS PMCH (Physical Multicast Channel) procedures implemented/validated
3GPP TS 36.211 version 14.2.0 Release 14 Section 6.5
	3GPP TS 36.211 version 14.2.0 Release 14 Section 6.10.2
2019-04-11 21:53:43 +02:00
Javier Morgade
0a4dd14009 FeMBMS 1.25KHz Carrier Spacing OFDM demodulation and Channel Estimation Procedures 2019-04-11 21:50:21 +02:00
Javier Morgade
e58b56548d Comment LOG_M function 2019-04-11 21:48:10 +02:00
Javier Morgade
2566048e7c FeMBMS 1.25KHz Pilots (MBSFN Gold psequences) 2019-04-11 21:45:50 +02:00
Javier Morgade
fe6fd8b7dc Bugfix 2019-04-11 21:44:51 +02:00
Javier Morgade
a05f3b3508 Missing files 2019-04-11 21:43:50 +02:00
Javier Morgade
28b33ac048 Adding some basic prototypes 2019-04-11 21:42:23 +02:00
Javier Morgade
bffa7ca056 Implemented FeMBMS Channel Estimation (1.25 KHz @ 25 RB) 2019-04-11 21:39:33 +02:00
Javier Morgade
42db242189 Cubic Interpolation Lookup Tables for 1.25KHz MBSFN Carrier Spacing 2019-04-11 21:37:21 +02:00
Javier Morgade
a3f2ce1b2c VCD FeMBMS Prototypes 2019-04-11 21:32:32 +02:00
Raphael Defosseux
0ed77d6304 CI: simplify master pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-11 17:18:08 +02:00
Raphael Defosseux
191f11a01a CI: adding new slave job to pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-11 17:18:08 +02:00
Raphael Defosseux
a7678b337b CI: better iperf syntax
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-11 17:06:13 +02:00
nepes
7efa1921b6 check for LTE-M PDSCH in call to pdsch_procedures() to avoid unset dlsch1 structure 2019-04-11 16:09:29 +02:00
OAI-admin
7dc2b23115 minor modification in print info 2019-04-11 08:45:27 +02:00
OAI-admin
58082d84b8 Clean version. Check if there is a bug to fix. 2019-04-11 08:37:52 +02:00
OAI-admin
85ebe2d261 Build fix 2019-04-11 08:16:41 +02:00
Louis Adrien Dufrene
46b0a9fb38 Remove bypass_cdrx variable and add cdrx_waiting_ack. The CDRX is now activated at RRC COnnection Reconfiguration Complete reception. To Test 2019-04-11 07:36:05 +02:00
Raphael Defosseux
95a71eeef6 CI: adding iperf tests to L2-nFAPI sim
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-10 16:41:39 +02:00
Louis Adrien Dufrene
62fba7c03d To clean and test: in rrc_eNB.c RRC Connection reconfiguration: CAT-M1 should not be configured 2019-04-10 10:19:36 +02:00
Louis Adrien Dufrene
3406634b6b This is version 1.0. To test. Cleanup of phy_procedures_lte_eNb.c eNB_scheduler_dlsch.c eNB_scheduler_ulsch.c pre_processor.c and asn1_msg.c 2019-04-10 08:48:37 +02:00
Raphael Defosseux
ba3f18ded9 Merge branch 'ci-improve-l2-sim' of https://gitlab.eurecom.fr/oai/openairinterface5g into ci-improve-l2-sim 2019-04-09 23:21:23 +02:00
Raphael Defosseux
aaa07960f3 CI: initial support for RF simulator
-- also parallel pings on L2 nFAPI simulator

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-09 23:19:40 +02:00
Raphael Defosseux
2390b8aeed CI: adding support for F1 CU/DU split testing
-- Only FDD for the moment

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-09 14:54:14 +02:00
Louis Adrien Dufrene
a73f639d8a Cleanup of rrc_eNB.c 2019-04-09 10:01:48 +02:00
frtabu
3535263cc3 Add a LOG in nas_config.c, apply astyle for the 6 files CI mentioned as not well formatted 2019-04-08 18:21:03 +02:00
Raphael Defosseux
064d7fd917 CI: fixing the build report and a few warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-08 11:54:03 +02:00
frtabu
30b7c973e0 merge nfapi_cleanup 2019-04-05 18:43:40 +02:00
Raphael Defosseux
6c475f8fc2 CI: final python fixes for OAI-UE <-> OAI-eNB connection test
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-05 15:10:54 +02:00
Louis Adrien Dufrene
7817358197 Cleanup of enb_config.c config.c asn1_msg.c asn1_msg.h 2019-04-05 11:56:29 +02:00
Louis Adrien Dufrene
8359b9684e Cleanup of mac.h and mac_proto.h 2019-04-05 08:28:23 +02:00
Louis Adrien Dufrene
ca11800087 Cleanup of eNB_scheduler.c 2019-04-05 08:14:27 +02:00
Raphael Defosseux
25a3f1cdfe CI: fix on build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-04 22:06:10 +02:00
Raphael Defosseux
69c4acfb85 CI: fix on detach
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-04 20:55:41 +02:00
Raphael Defosseux
a65b4c087c CI: auto-termination, check on all processes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-04 17:50:17 +02:00
Raphael Defosseux
d99dc5af17 CI: adding iperf UDP skeleton
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-04 11:40:03 +02:00
Stefan Schaffelder
42e0929a0c apply last diff from ssr to local orange_cdrx branch. Remove SSR comments 2019-04-04 10:15:38 +02:00
Louis Adrien Dufrene
81f04d2982 Apply diff between ssr (CDRX) branch and develop 2019-04-04 08:17:26 +02:00
Raphael Defosseux
5f5cef7a20 CI: supporting ping in noS1 configuration in python
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-03 21:42:24 +02:00
Raphael Defosseux
ee547c1d5a CI: fix address from committer in Merge Request case
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-03 13:53:39 +02:00
Cedric Roux
4905a5e8e8 bugfixes for the ue T tracer
Not much major changes. In openair1/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c,
in the function generate_ue_dlsch_params_from_dci,
'harq_pid' was removed and dci_info_extarcted.harq_pid is now used for
all cases.

The ue T tracer only deals with PHY signals (no MAC, RLC, PDCP, RRC).
2019-04-03 12:44:17 +02:00
Cedric Roux
b937983449 T: minor fix: ensure printing is inside the widget 2019-04-03 12:27:31 +02:00
Raphael Defosseux
b39bf79bab CI: pipeline is too big
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-02 18:38:27 +02:00
Raphael Defosseux
f53d025e0d CI: better email reporting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-02 18:19:31 +02:00
Raphael Defosseux
b40335613f CI: after Radio Setup modification, increase on the max Rx gain for UE scenario
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-01 16:28:33 +02:00
Raphael Defosseux
cc4aeb6a0c CI: hack to running l2-nfapi-sim in current pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-04-01 13:33:45 +02:00
Cedric Roux
a5a1690394 bugfixes for UL scheduling
- size of PUCCH has been fixed to:
    - 2 RBs for N_RB_UL = 25 (1 RB at top of resource grid, 1 RB at bottom)
    - 4 RBs for N_RB_UL = 50
    - 6 RBs for N_RB_UL = 100
  this is arbitrary and will need some rework at some point.
  This may be also wrong. PUCCH size actually depends on DL traffic
  (if the ack/nack is not done in PUSCH) and scheduling request
  configurations.
- add sched_frame %= 1024 at one needed place
- reserve RBs for retransmission
  this was not done so new transmissions were scheduled in the same
  RBs. Since the code works with the notion of 'first_rb' only, it
  was decided to skip all RBs lower than those retransmitted. This
  works but is not correct (imagine we have to retransmit RB 23, then
  all RBs < 23 will not be used for new transmission). The work to
  fix this properly is complex, a lot has to change, so let's do it
  this simple way for now.
- sort_ue_ul was not correct
  - add the function maxround_ul to use the correct 'round' (the one
    from DL was used, which is totally wrong)
  - be sure to use the correct frame/subframe to get the correct HARQ pid
2019-03-30 15:19:27 +01:00
Cedric Roux
0e38852b05 bugfix: access correctly round_UL 2019-03-30 15:18:18 +01:00
Cedric Roux
26118ed860 bugfix: fix cqi_req usage in UL scheduler
For retransmission, let's use cqi_req used for the 1st transmission.

Maybe incorrect, should check the specs. (In the worst case, we
simply won't decode this transmission at all. No big deal.)
2019-03-30 15:18:18 +01:00
Cedric Roux
9565544e3f bugfix: test free RBs and CCE allocation feasible only for new transmissions 2019-03-30 15:18:18 +01:00
Cedric Roux
04c24ff698 minor cleanup 2019-03-30 15:13:37 +01:00
Cedric Roux
daee800e3e bugfix: keep frame in [0..1023] 2019-03-30 15:13:37 +01:00
Cedric Roux
35a38fbee8 bugfix: fix T_ENB_MAC_UE_UL_SCHEDULE_RETRANSMISSION parameters 2019-03-30 15:13:37 +01:00
Raphael Defosseux
802f4c6158 CI: separating the OSA, non-OSA build variants from the test variants
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-29 16:41:11 +01:00
Raphael Defosseux
92ca8a5e34 Merge remote-tracking branch 'origin/develop' into ci-improve-l2-sim
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-29 15:02:39 +01:00
Raphael Defosseux
2222829bd9 Merge remote-tracking branch 'origin/develop' into RRC-Inactivity-timers-testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-29 15:00:20 +01:00
Raphael Defosseux
118418cdc5 Merge branch 'develop_integration_2019_w13' into 'develop'
Develop Integration Branch 2019 week 13

The following MRs have been integrated:

* MR 524 : Feature 127 -- Protocol Split F1 -- CU/DU
* MR 539 : Documentation on the new build/simulation system
* MR 542 : TDD fixes
* MR 545 : Initial framework testing for OAI UE testing over-the-air
* MR 546 : Fix in FlexRan code
* MR 548 : new Thread Pool feature
2019-03-29 12:24:41 +01:00
Raphael Defosseux
9fc69ea197 CI: putting back stronger constraints on TDD-5MHz tests
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-28 17:55:12 +01:00
Raphael Defosseux
34b4f693e1 CI: proper factorisation on basic-sim and l2-sim tests
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-28 17:49:55 +01:00
Raphael Defosseux
046089ac27 CI: fixing image links in documentation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-28 15:01:25 +01:00
Raphael Defosseux
2d58f3541e CI: adding noS1 test on L2-simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-28 14:54:43 +01:00
Raphael Defosseux
0a05acc29f CI: fix reporting for L2-simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-28 10:34:53 +01:00
Raphael Defosseux
7d44d4dde9 Merge remote-tracking branch 'origin/feature-thread-pool' into develop_integration_2019_w13 2019-03-28 10:24:51 +01:00
Raphael Defosseux
cf2996f403 Merge remote-tracking branch 'origin/fix-flexran-ul-mac-sdus' into develop_integration_2019_w13 2019-03-28 10:24:27 +01:00
Raphael Defosseux
5c8b5780bf Merge remote-tracking branch 'origin/add-oai-ue-testing' into develop_integration_2019_w13 2019-03-28 10:24:04 +01:00
Raphael Defosseux
1008be908c Merge remote-tracking branch 'origin/tdd-fixes-2019-w11' into develop_integration_2019_w13 2019-03-28 10:23:46 +01:00
Raphael Defosseux
7dd91db2bd Merge remote-tracking branch 'origin/issue414_doc' into develop_integration_2019_w13 2019-03-28 10:23:23 +01:00
Raphael Defosseux
6271ca3705 CI: Improvement to 4 users
-- EPC lists are expended to 16 users
 -- UE .u* files are regenerated on demand
 -- ping still one UE from EPC
CI: pipeline improvement
 -- L2-Sim is no more a build variant
    One VM less to be created

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-27 17:37:10 +01:00
Raphael Defosseux
783583880d CI: improved HTML reporting on OAI UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-27 15:06:01 +01:00
Raphael Defosseux
cce291c5fc CI: fixing the cppcheck assertion non-check.
fixed also new warnings

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-27 11:10:35 +01:00
Raphael Defosseux
551319ef87 Fix segmentation fault. The si_Periodicity value was taking very lage values.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-26 13:52:53 +01:00
Robert Schmidt
896ea4a72a Fix: Check for node type in L2_interface only when not UE 2019-03-26 13:37:14 +01:00
Robert Schmidt
024007716a Check type of node using NODE_IS_CU/DU/MONOLITHIC macros 2019-03-26 13:15:02 +01:00
Robert Schmidt
f0fced85f2 Execute pdcp_run from rrc_data_req only when in CU mode 2019-03-26 10:50:11 +01:00
Robert Schmidt
dc9a68ff30 Correct condition to read MIB/SIB1 params only when not CU 2019-03-26 10:49:47 +01:00
Cedric Roux
bc234f200f bugfix: initialize SRB1 data even for monolithic eNB 2019-03-26 09:21:06 +01:00
Javier Morgade
ac185617a2 -a 2019-03-25 17:11:54 +01:00
Boris Djalal
27a8abfe51 Removing a wrong change in match TerminateUE. Code cleaning.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-25 15:50:19 +01:00
laurent
0f9fbef24d add thread pool feature 2019-03-25 10:09:04 +01:00
laurent
e492b971e1 Merge remote-tracking branch 'origin/develop' into feature-thread-pool 2019-03-25 10:07:51 +01:00
Robert Schmidt
cdc2d921c1 FlexRAN: fix total_size_ul_mac_sdus parameter 2019-03-24 16:45:32 +01:00
Robert Schmidt
c1f142cc44 Fix warnings: space between literal and identifier in macro
This resolves the following warning:
"error: invalid suffix on literal; C++11 requires a space between literal and
identifier"
Since this file might be included from a C++11 file. It only adds spaces.
2019-03-23 17:32:28 +01:00
Robert Schmidt
4f6b1e46a5 Remove warnings for DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER() include 2019-03-23 17:10:43 +01:00
Robert Schmidt
10a5e5fd75 Use OAI NUM_ENB/UE defines for F1U (removes warnings) 2019-03-23 16:57:26 +01:00
Robert Schmidt
9611a22a65 Remove warnings in RRC 2019-03-23 16:40:47 +01:00
Robert Schmidt
7519b8e061 Free UE in RRC/S1/GTP if not DU 2019-03-23 16:20:43 +01:00
Raphael Defosseux
dac4ceb7cb CI: adding call to new slave UE job from master pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-22 16:48:58 +01:00
Raphael Defosseux
db4bce547f CI: running l2-nfapi-simulator on 2 separate VM
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-22 16:34:44 +01:00
Boris Djalal
ee06bb4fd1 typo
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 16:29:08 +01:00
Boris Djalal
20b13d64fb Replacing N/A with success message in cell.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 16:17:42 +01:00
Boris Djalal
a7f841ad74 Printing UE in report and eNB by default.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 15:24:12 +01:00
Boris Djalal
b15ad72f84 fix
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 13:54:50 +01:00
Boris Djalal
a282bea31c fix
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 13:42:05 +01:00
Boris Djalal
290a22e1ba Adapting log collection in Jenkins script.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 13:26:39 +01:00
Raphael Defosseux
2c2d34dc85 CI: fix when XML file is missing during HtmlInit
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-22 12:05:19 +01:00
Boris Djalal
b53e7e6546 Removing 2 frequencies.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 11:38:05 +01:00
Boris Djalal
0146f8bf59 Renamed xml_files/ue_band20_test_10mhz.xml to xml_files/ue_band20_build.xml.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 11:34:53 +01:00
Boris Djalal
ad694026d9 Merge branch 'add-oai-ue-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into add-oai-ue-testing 2019-03-22 11:07:15 +01:00
Boris Djalal
d8bc658ab4 Adding CollectOAIUE mode.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 10:51:11 +01:00
Boris Djalal
f4bdf53c4e Splitting two xml files into three xml files.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-22 09:40:09 +01:00
Raphael Defosseux
8bd3075a3b CI: more details on the UE status
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-21 16:18:16 +01:00
Raphael Defosseux
77582d06c5 fix again
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-21 16:03:26 +01:00
Raphael Defosseux
82b742368e fix
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-21 15:57:14 +01:00
Boris Djalal
982aa940a7 First test of the pipeline.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 15:50:00 +01:00
Boris Djalal
e360232e56 Fixing a typo.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 13:58:20 +01:00
Boris Djalal
61bda22269 Merge remote-tracking branch 'origin/develop' into add-oai-ue-testing 2019-03-21 12:14:02 +01:00
Boris Djalal
c396e42ab2 Adding the reset procedure using b2xx_fx3_utils.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 12:01:16 +01:00
Boris Djalal
dccf64ac57 Deleting ue_sfr_796.xml.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 12:01:16 +01:00
Boris Djalal
32be9dcbb8 Testing 2 frequencies for each operator (Orange and SFR).
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 12:01:16 +01:00
Boris Djalal
1affd5ff59 Printing information from the UE log file.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 12:01:16 +01:00
Boris Djalal
6d93c9c522 Using os.getcwd() instead of sys.path[0] to work with pdb.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 12:01:16 +01:00
Boris Djalal
df49d8a908 No more 'none' value.
Successfully writing the log file ue_080101.log and finding the sync marker.
Initialize OAI UE is working.
BuildOAIUE action seems ok. Must fix the log file path for the InitializeOAIUE action.
Doing the work in /tmp, not in the repository of the main.py script being executed.

Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-21 12:00:36 +01:00
Cedric Roux
b7155f0276 cleanup: remove a file that should not be here 2019-03-21 10:49:32 +01:00
Raphael Defosseux
5d82287fa5 CI: fully testing RRC Inactivity timers
-- Connecting eNB to a Flexran Ctrler
  -- Checking eNB status for UEs through flexran

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-20 21:47:56 +01:00
Raphael Defosseux
9b7367c0ce Adding a parameter in configuration file to enable RRC Inactivity timers
-- rrc_inactivity_threshold in seconds
Adding support in CI to test it
  -- disable/enable data service on UEs
  -- no automatic check yet on the UE status
     certainly should be done w/ a Flexran controller command

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-19 17:52:14 +01:00
Robert Schmidt
9fd0f9f8bf Re-comment Assert for unconfigured RLC as in current develop 2019-03-19 15:48:00 +01:00
Robert Schmidt
1f590efe2b Merge branch 'develop' into feature-127-protocol-split 2019-03-19 14:49:07 +01:00
Cedric Roux
275e5b3a64 PHY: add parameter end_of_burst_delay for TDD
end_of_burst_delay is used to stop TX only "after a while".
If we stop right after effective signal, with USRP B210 and
B200mini, we observe a high EVM on the S subframe (on the
PSS).
A value of 400 (for 30.72MHz) solves this issue. This is
the default.

This default value can be changed in the configuration file.
For example:

RUs = (
    {
       local_rf       = "yes"
         nb_tx          = 1
         nb_rx          = 1
         att_tx         = 20
         att_rx         = 0;
         bands          = [7];
         max_pdschReferenceSignalPower = -27;
         max_rxgain                    = 105;
         eNB_instances  = [0];
         sf_extension = 312;
         end_of_burst_delay = 200;
    }
);

Here we would set a value of 200.

The value to put in the configuration file is for
30.72MHz. The value is scaled accordingly at runtime
(thus only one value to set for every RB configuration,
25, 50 or 100, leading to less problems when adapting
configuration files).

This option is for experts and should not be changed
randomly.
2019-03-19 09:25:43 +01:00
Cedric Roux
a05753dff3 PHY: bugfix: compute start/end of burst correctly for TDD
Start of burst is to start TDD DL transmission in the driver
(tested with USRP for the moment).

End of burst is to stop DL transmission.

Start of burst can only happen for a DL subframe when the
previous subframe was an UL subframe.

End of burst can only happen for an S subframe.

It's impossible for a subframe to be both the start of a burst
and the end of a burst.

This can be checked with eg. http://niviuk.free.fr/lte_resource_grid.html
(or reading the specs).
2019-03-19 09:25:43 +01:00
Cedric Roux
1e71749cdf PHY: bugfix: use correct count of samples for TDD DL S-subframe 2019-03-19 09:25:43 +01:00
Cedric Roux
ee5b739019 PHY: make sf_extension a parameter
This parameter is meaningful in TDD, to decide
when to start DL at eNB side. Since there is a
need for the PA to be operational, we need to
transmit a bit before the DL subframe coming
after an UL subframe. (We transmit zeros.)

We used to use N_TA_offset which may be too much.
Default value is now N_TA_offset/2 and can be
changed in the configuration file, in the RUs
section, like:

RUs = (
    {
       local_rf       = "yes"
         nb_tx          = 1
         nb_rx          = 1
         att_tx         = 0
         att_rx         = 0;
         bands          = [7];
         max_pdschReferenceSignalPower = -27;
         max_rxgain                    = 105;
         eNB_instances  = [0];
         sf_extension = 312;
    }
);

N_TA_offset is 624 (for 30.72MHz). In the example
above, we set sf_extension = 312, which is also
the default.

The value to put in the configuration file is for
30.72MHz. The value is scaled accordingly at runtime
(thus only one value to set for every RB configuration,
25, 50 or 100, leading to less problems when adapting
configuration files).

This option is for experts and should not be changed
randomly.
2019-03-19 09:25:43 +01:00
Cedric Roux
69ccf51f96 bugfix: fix compilation
T has to be generated before compiling targets SCHED_RU_LIB and SCHED_UE_LIB.
2019-03-19 09:25:43 +01:00
Raphael Defosseux
b56aef4f2a Merge branch 'develop_integration_2019_w11' into 'develop'
Develop integration 2019 week 11

See merge request oai/openairinterface5g!538

Following Merge Requests were merged:

- MR 527: eMTC testing
- MR 537: x2ap: timers and cleanup
2019-03-18 13:14:30 +01:00
Raphael Defosseux
b685774ca1 Merge branch 'develop_integration_2019_w11' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop_integration_2019_w11 2019-03-18 11:41:22 +01:00
Raphael Defosseux
2fcd4fcec1 Fixing error in LTE-M MAC scheduling 2019-03-18 11:40:38 +01:00
frtabu
c7d7f88da0 doc update 2019-03-17 23:26:10 +01:00
frtabu
53c7c4c1b0 fix file name typo 2019-03-17 23:09:41 +01:00
frtabu
77bd7b0790 fix file name problem 2019-03-17 23:01:51 +01:00
frtabu
07375a04be move some doc to gitlab 2019-03-17 22:50:51 +01:00
frtabu
44e30b4d95 add links to new pages 2019-03-16 02:15:17 +01:00
frtabu
4cb1b9cefc update rf simulator doc, add lte usage doc 2019-03-16 01:33:26 +01:00
frtabu
777be28189 Build documentation update, moved to gitlab 2019-03-15 18:39:12 +01:00
Raphael Defosseux
14a9104694 Removing debug printf
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-15 17:14:11 +01:00
Raphael Defosseux
574e8d6da9 CI: Adding LTE-M testing to the continuous integration
-- Master has now a stage calling the Band 13 job
 -- Pipeline executor is now a parameter

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-15 11:36:27 +01:00
Raphael Defosseux
cf55b03fad CI: rru command line options are checked if applied
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-14 21:58:46 +01:00
Raphael Defosseux
872a99fbec Merge remote-tracking branch 'origin/eMTC-testing' into develop_integration_2019_w11 2019-03-14 21:48:02 +01:00
Raphael Defosseux
cb4e2c55ed Merge remote-tracking branch 'origin/x2' into develop_integration_2019_w11 2019-03-14 21:47:24 +01:00
Javier Morgade
d62de3565c FeMBMS preliminary PMCH procedures (de-mapper) 2019-03-14 17:42:39 +01:00
Konstantinos Alexandris
0a459545cb Update FEATURE_SET.md 2019-03-14 15:49:47 +01:00
Cedric Roux
1fa9c322fb x2: update feature set 2019-03-14 14:58:30 +01:00
Robert Schmidt
13857c67e8 fix segfault RRU: check for nb_inst >0 before node_type 2019-03-14 14:24:16 +01:00
Robert Schmidt
62d9b8cf36 Merge branch 'develop' into feature-127-protocol-split 2019-03-14 13:10:21 +01:00
Raphael Defosseux
6bdd4e75f4 CI: optimizations
-- RRU max rx gain is given in command line
  -- USRP reset is only done once in protocol split scenarios

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-14 11:59:17 +01:00
Raphael Defosseux
c6b2ca2460 CI: fix when slave jobs fails, email status is SUCCESS.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-13 17:56:03 +01:00
Cedric Roux
9456fe584a x2ap: timers, cleanup
This commit introduces X2AP timers (t_reloc_prep, tx2_reloc_overall).
You need to set the values in the configuration file.

X2AP can be enabled or disabled in the configuration file too (disabled
by default).

Some deadcode was removed.
2019-03-13 15:28:37 +01:00
Raphael Defosseux
d8e16e37a5 Merge remote-tracking branch 'origin/develop' into eMTC-testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-13 14:17:24 +01:00
Raphael Defosseux
e1d4079145 Merge branch 'develop_integration_2019_w10' into 'develop'
Develop integration 2019 week 10

See merge request oai/openairinterface5g!534
2019-03-13 14:11:21 +01:00
Raphael Defosseux
cd5e140eb7 Fixes for FDD attachment
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-13 12:07:17 +01:00
Raymond Knopp
f96aab57cf parameters for PRACH/PUCCH in configuration file. Default values are those used for Band 7. eMTC configuration file for eMTC changed to reflect modification made for Band 13 operation. 2019-03-12 15:31:05 +01:00
Raphael Defosseux
a299d6e248 CI: fix RHEL build status
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-12 14:12:30 +01:00
Raphael Defosseux
d4495ec78e CI: Lower iperf constraints on basic-simulator
Simplify HSS configuration in VM-based testing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-12 12:52:58 +01:00
Raphael Defosseux
a4361e3291 CI: adding LTE-M testing support
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-11 19:23:26 +01:00
Raphael Defosseux
d67d435a49 Fixing last cppcheck warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-11 14:41:49 +01:00
laurent
590c99e79e add license 2019-03-11 11:22:27 +01:00
Raphael Defosseux
95569173d5 Merge remote-tracking branch 'origin/issue407_nos1_siml1_datapath' into develop_integration_2019_w10 2019-03-11 10:37:42 +01:00
laurent
718e0fe894 thread pool 2019-03-11 09:56:47 +01:00
Boris Djalal
a22102bf34 Temporary hack to make main.py command work with the new xml file, ue_band20_test_10mhz.xml.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-11 09:37:28 +01:00
frtabu
c68d15d1d6 Merge branch 'issue407_nos1_siml1_datapath' of https://gitlab.eurecom.fr/oai/openairinterface5g into issue407_nos1_siml1_datapath 2019-03-10 00:14:35 +01:00
frtabu
753c2f446d apply astyle, fix compilation warnings in raw aeth transport and kernel modules 2019-03-10 00:04:12 +01:00
frtabu
49f4bdc2e5 try to fix build failure due to increased number of build files on some build commands (=> more log files) 2019-03-08 19:38:21 +01:00
Raphael Defosseux
f922c8d917 CI: temp fix for CI build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-08 19:30:23 +01:00
Robert Schmidt
7edf4387f9 Fix bug in eNB: correctly set brOption for RRC R14 2019-03-08 16:58:45 +01:00
Robert Schmidt
20c35748ca Fix lte-uesoftmodem: segfaults & logic errors
* prevent segfault: guard access to RC.rrc with UETARGET
* in rlc_data_ind(): correct logic to test for all cases eNB, CU, DU, UE
2019-03-08 16:52:34 +01:00
Robert Schmidt
05ebea4a24 Reduce PHY layer logging (as in current develop) 2019-03-08 16:51:57 +01:00
frtabu
c9dcaa53af noS1 woking with tun interfaces and basic simu 2019-03-08 16:00:09 +01:00
Raphael Defosseux
99fcdfd0f7 CI: reduce failure constraint on TDD-5MHz in unbalanced UL iperf test
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-08 15:22:21 +01:00
Raphael Defosseux
069e5973eb Merge remote-tracking branch 'origin/T-typo-fix-2019-w10' into develop_integration_2019_w10 2019-03-08 13:36:03 +01:00
Raphael Defosseux
067a4129e2 CI: minor fixes:
-- Moved the Gitlab notification within the try:
     As a result, when fails, the notification will be a fail
  -- Changed all exit by return in the runTest script

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-08 13:34:16 +01:00
Raphael Defosseux
f83c92d799 CI: add a procedure to reset B2xx boards before running
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-08 10:52:12 +01:00
Cedric Roux
63989f579b T: minor: fix typo 2019-03-08 10:28:59 +01:00
Boris Djalal
c2b51255d6 WIP for adding OAI UE Testing.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-08 09:42:33 +01:00
Raphael Defosseux
52cc57fa55 Merge remote-tracking branch 'origin/fix-configuration-parameter' into develop_integration_2019_w10 2019-03-07 16:54:54 +01:00
Raphael Defosseux
9b1274829f Merge remote-tracking branch 'origin/x2' into develop_integration_2019_w10 2019-03-07 16:54:34 +01:00
Robert Schmidt
02d99edf23 Fix cppcheck errors: RRC, F1AP 2019-03-07 14:16:16 +01:00
Robert Schmidt
ede37e56b8 Use correct RNTI for RRC data req 2019-03-07 12:46:34 +01:00
Robert Schmidt
bbedd315e7 Correctly link lte-uesoftmodem(-nos1) (hack)
Although not used in the UE, we currently need to link the F1 library into it.
This is because we do not define ASN_DISABLE_OER_SUPPORT (otherwise, F1 has
compilation problems). In this case, some functions are apparently not
correctly defined, giving linker errors in the UE. Linking F1 in solves the
problem.

This is a hack. It would be better to be able to define ASN_DISABLE_OER_SUPPORT
and have no compilation errors or compile everything with
ASN_DISABLE_OER_SUPPORT except F1. I did not do this because I did not find
another way than add target_compile_definitions() to every target except F1
which adds many lines just so that one target (F1 ASN.1) compiles correctly (in
other words, F1 needs to be fixed).
2019-03-06 19:28:12 +01:00
Raphael Defosseux
ea0e313f81 CI: issue #410 --> command options are displayed in build HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-06 17:59:06 +01:00
Robert Schmidt
275b559fbf Fix linker error: link F1-U protobuf for eNB noS1 case 2019-03-06 14:18:54 +01:00
Robert Schmidt
7a7c2afa11 Handle cppcheck errors in ASYNC_IF 2019-03-06 13:59:39 +01:00
Robert Schmidt
66d4c4e92d Fix cppcheck issues in PROTO_AGENT 2019-03-06 13:43:09 +01:00
Robert Schmidt
56af9c60e4 Fix compilation/linking errors in lte-uesoftmodem 2019-03-05 18:47:29 +01:00
Robert Schmidt
e3bb3ab7d3 Change integer based conf parameter from string 2019-03-05 18:27:54 +01:00
Raphael Defosseux
5bf595a0ad fixing added cppcheck errors
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-05 14:56:42 +01:00
Cedric Roux
78b6fef63c fix compilation in nos1 mode
Some #if defined(ENABLE_USE_MME)/#endif were added here and there.
The nos1 softmodem has not been tested, maybe this commit breaks
things.
2019-03-05 14:56:42 +01:00
Cedric Roux
c394188e73 x2: first implementation of ID management, some cleanup
Some deadcode was removed.

The implementation of the ID management is not finished.
It will only work if the handover is successful. No error
recovery has been done. For error recovery, we need to
implement the X2AP timers. As it is, in case of error, an ID
might very well never be released.

It has been tested with 1 and 2 UEs doing handover more or less
at the same time.
2019-03-05 14:56:42 +01:00
Konstantinos Alexandris
02193f4bab x2: some cleanup in instance management
- manage target eNB based on target cell id received by measurement report
  for Handover Request
- manage source eNB based on association id for Handover Request Ack
- use only x2ap instance and not x2ap data instance points to x2ap instance
2019-03-05 14:56:42 +01:00
Konstantinos Alexandris
a8eefbcf58 sctp: bugfix: use correct instance (not default) for sctp_itti_send_new_message_ind 2019-03-05 14:56:42 +01:00
Konstantinos Alexandris
f76f1f1e1c x2: bugfix: pass correct rach resource type 2019-03-05 14:56:42 +01:00
Konstantinos Alexandris
3179722161 x2: bug fixes
- free correctly in rrc_eNB_free_mem_UE_context
- check for existence of ue_context.handover_info in rrc_enb_process_itti_msg
- check return value sctp_peeloff in sctp_handle_new_association_req_multi
  and exit in case of failure
2019-03-05 14:56:42 +01:00
Konstantinos Alexandris
52a52eefb9 X2AP UE Context Release (generate/handle message), Release eNB resources 2019-03-05 14:53:00 +01:00
Konstantinos Alexandris
4b5c42115d bugfix: Path switch request ack (manage re-established/released E-RABs) 2019-03-05 14:46:21 +01:00
Konstantinos Alexandris
ca19953200 x2ap: bugfixes Store UE Capability at target, Key derivation (keNB star) at source 2019-03-05 14:22:40 +01:00
Konstantinos Alexandris
eb59c2cd68 bugfix: fix realtime issues with RRC (race condition)
When testing x2 handover, we found a race issue between the
RRC thread and the phy/mac thread (which is calling rrc_rx_tx).

The UE context was updated by the RRC thread but in the middle of
the update (which consists of several function calls and variables'
updates) the context was accessed by rrc_rx_tx. At this point, the
context was in an inconsistent state.

The solution is to access RRC data in the RRC thread only.
The function rrc_rx_tx now just sends an ITTI message to the
RRC thread. When receiving this message, the RRC thread does
the processing that was done by the function rrc_rx_tx (in
the new function rrc_subframe_process).

This way, the race condition disappears.

However we now send an ITTI message from the phy/mac thread to
the RRC thread at each subframe. That might increase the processing
time of the eNB. So maybe it's not the best solution. It may also
improve the realtime performance because less work is done by the
phy/mac realtime thread. To be checked somehow.

Also, it may be possible that some other RRC functions are still
called by the phy/mac thread, which should also be checked and
replaced by ITTI messages (if this solution is considered to be
correct).
2019-03-05 14:22:40 +01:00
Robert Schmidt
f9c4c501e3 Merge branch 'develop' into feature-127-protocol-split 2019-03-05 14:17:38 +01:00
frtabu
17e36b3a65 add ocp/frf/enhanced basic simulator sources 2019-03-05 08:06:23 +01:00
frtabu
87a8cb28a5 basic and rf simulators as config option to allow noS1 datapath debug. 2019-03-04 22:07:32 +01:00
Raphael Defosseux
458019d89a CI: the slave job should have the correct target branch when running on MR
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-04 15:48:56 +01:00
Raphael Defosseux
1546fc0eb8 CI: slave jobs will run with their dedicated test-suite (in develop, master and develop-nr)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-04 12:05:25 +01:00
nepes
22e13cb64c resolving conflicts 2019-03-02 23:28:49 +01:00
nepes
40cb79e44f Merge remote-tracking branch 'origin/develop' into eMTC-testing 2019-03-02 22:41:48 +01:00
nepes
4c505b8639 log removal and testing for Cat-M1 2019-03-02 15:34:48 +01:00
Raphael Defosseux
b6296d8d8d Merge branch 'develop_integration_2019_w09' into 'develop'
Develop integration 2019 week 09

See merge request oai/openairinterface5g!522
2019-03-01 13:39:40 +01:00
Raphael Defosseux
831044de25 CI: adding notification when added CPPCHECK errors/warnings are detected.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-01 12:03:26 +01:00
nepes
1d2ee01b6c removal of logs 2019-02-28 18:28:35 +01:00
Raphael Defosseux
5887787734 CI: same fix as previous
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-28 17:16:50 +01:00
Raphael Defosseux
5fe6bea1ea CI: fix to handle keyword commit in commit message
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-28 17:13:47 +01:00
Raphael Defosseux
69dfd020b0 CI: even in sequential mode, all VM-based are run.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-28 16:07:49 +01:00
Raphael Defosseux
f62580de4f CI: VM-based tests are now sequential to prevent too much stress
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-28 14:50:28 +01:00
Raphael Defosseux
0f11865fa4 Merge remote-tracking branch 'origin/issue-404-pdcp-integrity' into develop_integration_2019_w09
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-28 14:37:10 +01:00
Javier Morgade
b052dbb9b5 Revert changes from commmit 8fa685f0 2019-02-28 11:33:29 +01:00
Javier Morgade
56f7e2e26c Revert build_oai changes from commit a89a9ae3 2019-02-28 11:27:13 +01:00
Javier Morgade
65e485642e NFAPI bindings for FeMBMS-CAS 2019-02-28 10:44:44 +01:00
Robert Schmidt
1e3d0c9a16 Update F1 CU/DU configuration (tested, formatted) 2019-02-27 15:31:52 +01:00
Schultze
8fa685f0db Merge branch 'develop-entv' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-entv 2019-02-27 13:35:41 +01:00
Schultze
a89a9ae311 --build-codeblocks switch added, command line parser fixed. 2019-02-27 12:55:28 +01:00
Cedric Roux
e3782b5ca2 bugfix: fix PDCP sequence management (plus some cleanup)
With the introduction of X2AP into develop, the UEs now have to regularly
send measurement reports.

In the logs of the eNB, we see:

[OSA]   Mismatch found in integrity for algorithm 2,
        got e0.a0.c2.66, expecting a5.9c.cb.57
[PDCP]   [OSA][RB 1] eNB failed to validate MAC-I of incoming PDU

This is a bug in the PDCP layer that uses wrong parameters to compute the
integrity.

This commit fixes this bug.

The function pdcp_is_rx_seq_number_valid was removed. Its processing
has been directly integrated into the function pdcp_data_ind.

The function pdcp_mark_current_pdu_as_received is not called anymore.
Its processing was not used later on, so as of today, not calling it does
not introduce any functional change.

The function pdcp_validate_security takes now as parameters both
SN and HFN. Same for the function pdcp_get_next_count_rx.

Useless constants PDCP_SN_5BIT, PDCP_SN_7BIT and PDCP_SN_12BIT have been
removed.

The compilation option ENABLE_SECURITY has been removed. It's now always
on. (This may impact some use cases.)

The PDCP for DRB using RLC AM is not correct. It was not correct before
this commit (apart from the integrity bug). We should deal with a list
of PDUs and transmit packets to upper layers as detailed in the specs.
Today we transmit the PDU as soon as we get it. We don't care about
duplicates, in-order delivery, timeouts.

Also, we don't deal with "PDCP re-establishment". Not sure how that impacts
the software.

And, last but not least, there is still no ROHC.
2019-02-27 12:33:04 +01:00
Javier Morgade
39fe25a44d FeMBMS RRC->MAC config request protypes 2019-02-27 11:01:47 +01:00
Raphael Defosseux
53f5f6685a Merge remote-tracking branch 'origin/T-tracer-hack-2019-w9' into develop_integration_2019_w09 2019-02-27 10:25:31 +01:00
frtabu
43f827351f Fix basic-simulator (pdcp.c) 2019-02-26 16:49:55 +01:00
Cedric Roux
f425113044 T: hack: add a multi rru cleaner program
This is for internal use at eurecom. No documentation provided.
2019-02-26 15:08:32 +01:00
OAI-admin
c22f10aa72 Add PHR/BSR to RRCConnectionSetup + add some debug for DLSCH scheduling 2019-02-26 12:44:59 +01:00
Louis Adrien Dufrene
9b9ef32a20 Fix RRC version variable to allow dlsch scheduling for eMTC 2019-02-26 11:04:55 +01:00
Louis Adrien Dufrene
4e176e112e Merge branch 'eMTC-testing' into eMTC-testing-orange 2019-02-26 07:21:15 +01:00
nepes
a4b57f3150 loggin reduction for LTE-M. 2019-02-26 01:43:56 +01:00
Raymond Knopp
dd35208c26 debugging trace 2019-02-25 23:14:04 +01:00
nepes
282985eb2b RRC bugfix 2019-02-25 21:52:47 +01:00
Robert Schmidt
544d80c40d Merge branch 'develop' into feature-127-protocol-split 2019-02-25 18:06:35 +01:00
nepes
67aa968001 Merge branch 'eMTC-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into eMTC-testing 2019-02-25 17:55:16 +01:00
nepes
d74f2da9a8 changes to configuration file for eMTC (pucch parameters) 2019-02-25 17:54:44 +01:00
frtabu
79d0042c4a Merge branch 'develop' into issue392-simplify-s1-nos1step2 2019-02-25 17:37:20 +01:00
frtabu
fb46545526 Fix corrupted LOGs in L1L2simulator, introducing two new components NFAPI_VNF and NFAPI_pnf. Integrate Fujitsu fix for up to 50 UEs. Apply astyle to all modified files in the branch 2019-02-25 16:50:03 +01:00
Robert Schmidt
97126eb57e Fix carrierFreq MeasObj calculation to handle F1 case 2019-02-25 16:33:02 +01:00
Robert Schmidt
cc2a507d59 Unify and comment RRC container print of F1 2019-02-25 16:23:42 +01:00
Louis Adrien Dufrene
22656b65ce fix RA_id again for add_new_ue() 2019-02-25 15:59:07 +01:00
Louis Adrien Dufrene
90c53b11c3 Merge branch 'eMTC-testing' into eMTC-testing-orange 2019-02-25 14:03:14 +01:00
Louis Adrien Dufrene
27d01dcea9 remove some debug 2019-02-25 14:02:05 +01:00
nepes
669724c100 Merge branch 'eMTC-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into eMTC-testing 2019-02-25 13:30:14 +01:00
nepes
b28b14411e modifications for LTE-M testing 2019-02-25 13:29:43 +01:00
Louis Adrien Dufrene
f552fd73ba Merge branch 'eMTC-testing' into eMTC-testing-orange 2019-02-25 11:28:41 +01:00
Louis Adrien Dufrene
87f415d2dd Fix wrong RA_id index in rx_sdu for add_new_ue 2019-02-25 11:21:53 +01:00
Louis Adrien Dufrene
a4259b9071 Fix build error 2019-02-25 10:34:30 +01:00
Louis Adrien Dufrene
1e374fdf60 Add some debug in eNB_scheduler_primitives to test 2019-02-25 10:21:47 +01:00
Louis Adrien Dufrene
46bbfb820c remove some debug 2019-02-25 10:06:31 +01:00
Louis Adrien Dufrene
cddba97c21 remove CDRX related stuff 2019-02-25 10:03:19 +01:00
Louis Adrien Dufrene
ad511a4a3d some format in generate_Msg4() 2019-02-25 09:51:21 +01:00
Louis Adrien Dufrene
55460eafe1 some format for eMTC schedulers 2019-02-25 09:45:58 +01:00
Louis Adrien Dufrene
0ead4bdb12 some format for eNB_scheduler_RA.c and rar_tools.c + some fix in RAR PDU 2019-02-25 08:16:23 +01:00
Louis Adrien Dufrene
a3d3b0cde7 Merge branch 'eMTC-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into eMTC-testing 2019-02-25 08:06:12 +01:00
tomita.y
f3dc8d446d Fixed a problem of double free. 2019-02-25 15:55:02 +09:00
tomita.y
2e49f833a3 Modified for L2 simulator with using TUN. 2019-02-25 13:34:23 +09:00
nepes
71bd6e863b bugfix in harq_handling for eMTC 2019-02-23 00:22:02 +01:00
Robert Schmidt
80b6245213 Remove comments left after merge 2019-02-22 18:38:34 +01:00
Robert Schmidt
eab78405cc Log received F1 messages correctly 2019-02-22 18:33:12 +01:00
Robert Schmidt
549e72d001 Trigger UL RRC Message through ITTI Message 2019-02-22 16:36:26 +01:00
Robert Schmidt
c75fd52e3a Remove many warnings 2019-02-22 15:22:13 +01:00
Robert Schmidt
bd36a9ef0c Gracefully handle different numbers of UE in MAC and RRC 2019-02-22 15:22:09 +01:00
Raymond Knopp
078e692319 correction of parameter syntax 2019-02-22 14:38:10 +01:00
Robert Schmidt
a4d909bca8 Initialize variables to prevent illegal free() 2019-02-22 10:51:40 +01:00
Robert Schmidt
1a07a1e067 Replace redundant CU_F1AP/DU_F1AP with F1AP 2019-02-22 10:26:41 +01:00
Robert Schmidt
030e11ba9a Merge branch 'develop' into feature-127-protocol-split 2019-02-21 20:18:35 +01:00
frtabu
e758a32ff7 change ethernet interface name from oip<n> to oaitun_ue<n> in ci script to take into accont corresponding code modif. 2019-02-19 21:56:08 +01:00
frtabu
eb26975451 attempt to fix l2 simulator issue 2019-02-19 19:50:44 +01:00
frtabu
3f61d5f720 fix compilation warning 2019-02-17 23:46:45 +01:00
frtabu
38d772d8a2 nos1 et s1 execs identical, nos1 enforced based on exec name or --noS1 option 2019-02-17 23:46:45 +01:00
Raymond Knopp
3c8a4c871b robustified fronthaul a bit for out-of-order packets (PULTICK during PULFFT stream) 2019-02-17 22:26:28 +01:00
Raymond Knopp
9cb461ec75 reduced computations for TX during S subframe 2019-02-17 22:25:40 +01:00
Raymond Knopp
f773b4291a Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2019-02-17 10:54:55 +01:00
Raymond Knopp
ba5b70ab51 log removal 2019-02-17 10:54:27 +01:00
Raymond Knopp
cfea040e8a ulsim / dlsim modifications 2019-02-17 10:50:29 +01:00
Javier Morgade
fb435f2d48 Bugfix MBMS Initialization 2019-02-16 13:17:14 +01:00
Javier Morgade
74aee78635 MBMS Dedicated Serving Cell Params added 2019-02-15 13:03:31 +01:00
Javier Morgade
11dffe80b4 Basic SIB1-MBMS Initilization added 2019-02-15 11:55:20 +01:00
Javier Morgade
1bca870d61 Setting CFI region with two OFDM symbols (default)
Code cleanup
2019-02-15 08:50:44 +01:00
Javier Morgade
46a8c83b6c UE procedures for FeMBMS SIB1-MBMS (SystemInformationBlockType1-MBMS message)
-- asn1 dissectors ETSI TS 136 331 V14.2.2 (2017-05)
	-- schedule_SI_MBMS
	-- ue_decode_si_mbms
2019-02-14 15:35:00 +01:00
Robert Schmidt
2f23047900 Restructure F1AP UE list
* Restructure the code handling the UEs F1AP knows
* This fixes a bug that only two phones can be connected
2019-02-08 19:42:25 +01:00
Robert Schmidt
032fc48ac0 Remove unused, commented F1AP code 2019-02-08 18:01:56 +01:00
Robert Schmidt
36f192e873 Fix test of socket_link.c after interface change
link_send_packet() has been extended to use for multiple protocols (added UDP,
SCTP after TCP). The test was not update, though, which is fixed in this
commit.
2019-02-07 18:03:18 +01:00
Robert Schmidt
9fd4b45226 Remove F1-related flags from build_oai script 2019-02-07 18:03:17 +01:00
Robert Schmidt
822f9849a2 Stop CU's PROTO_AGENT when DU disconnects
This adds an exit flag as well as the proto_agent_async_msg_recv_unlock()
function to unlock and release the proto_agent worker thread correctly.
2019-02-07 18:00:20 +01:00
Robert Schmidt
beec74b01a Correctly stop link_manager sender and receiver threads
This changes the destroy_link_manager() function to:
* call a new function message_get_unlock() to unlock the sending thread from
  its blocking message_get()
* calls pthread_cancel() on the receiving thread, because this unlocks any
  blocking read from a file descriptor

The same message_get_unlock() function has been added ringbuffer_queue to keep
the interfaces the same (it does nothing, because ringbuffer_queue is
non-blocking).
2019-02-07 17:56:56 +01:00
Raymond Knopp
b2921eadfe Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2019-01-30 11:44:55 +01:00
Raymond Knopp
1b013ece30 Merge remote-tracking branch 'origin/ru_rau_enhancement-external-timing' into ru_rau_enhancement_L1_renaming 2019-01-30 11:42:54 +01:00
Raymond Knopp
0c21813fa4 Merge remote-tracking branch 'origin/ru_rau_enhancement-external-timing' into ru_rau_enhancement_L1_renaming 2019-01-30 11:41:51 +01:00
Raymond Knopp
f8cb661953 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2019-01-30 10:52:41 +01:00
Raymond Knopp
96ee719330 minor changes for RRU 2019-01-30 10:51:55 +01:00
Raymond Knopp
23575ae41e logging removal 2019-01-30 10:25:23 +01:00
Raymond Knopp
a13f70beee removal of warnings after merge 2019-01-29 17:09:49 +01:00
Robert Schmidt
0643d6b561 Make queue_recv() functions return size, not as out-param 2019-01-29 16:55:15 +01:00
Robert Schmidt
63c4a90eb7 Remove unused PROTO_AGENT code 2019-01-29 16:55:15 +01:00
Robert Schmidt
8c0ebfadda Add FlexRAN PLMN ID list and remove defunct cell_id 2019-01-28 08:36:32 +01:00
Raymond Knopp
72b5745abb Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing
Conflicts:
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/defs_eNB.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair1/SIMULATION/LTE_PHY/dlsim.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-uesoftmodem.c
	targets/RT/USER/rfsim.c
2019-01-26 11:54:10 +01:00
Robert Schmidt
d9d6ce374f Perform S1 UE Context Release Complete after corresponding F1 message
This commits isolates the S1 UE Ctxt Rel Complete and GTP Tunnel Delete
Requests in functions and calls these function in the original place
(rrc_rx_tx()). The same functions are then used in the F1 UE Ctxt Rel
Complete handler to perform the same functionality, i.e. forward the UE
Ctxt Rel Complete message to the MME and free outstanding resources (RRC
context, GTP tunnels, S1 context).
2019-01-25 16:37:57 +01:00
Robert Schmidt
2cdcb6466b Move PDCP stats recording out from non-applying packet_forwarded FALSE case 2019-01-22 16:11:37 +01:00
Robert Schmidt
03b52216a0 FlexRAN: Access PDCP stats through RNTI 2019-01-19 18:22:43 +01:00
Robert Schmidt
767eaf5ba2 Initialize PDCP stats when UE is added 2019-01-19 18:22:40 +01:00
Robert Schmidt
6f9f2d8992 Correct PDCP stats defining constant to MAX_eNB from CC 2019-01-19 16:59:33 +01:00
Robert Schmidt
ad9778be76 FlexRAN fix: correct array index var in loop 2019-01-19 16:13:38 +01:00
Robert Schmidt
ca2f91072a F1AP: on UEContextRelCmd, DU distinguishes whether UE is out of sync 2019-01-18 16:44:00 +01:00
Robert Schmidt
7df8257526 F1AP: when UL_sync failure, send UEContextRelReq
When a phone loses connection, it should not simply be removed but first
CU should be informed which will send a ContextRelCmd. Correspondingly,
when the RRC releases the UE, it does not send a UE Context Release Req
2019-01-18 16:44:01 +01:00
Robert Schmidt
0699e539fe Put RRC S1AP UEContextReleaseReq message inside corresponding if 2019-01-17 18:21:47 +01:00
Robert Schmidt
a26fad9e47 F1AP: Correct UEContextReleaseReq path, send corresp. S1AP message 2019-01-16 14:45:06 +01:00
magounak
e1a07c2f41 cosmetic changes 2019-01-11 13:23:33 +01:00
Robert Schmidt
05e08d5094 Remove DU's UE RRC, MAC, RLC contexts correctly on UE RELEASE COMMAND 2019-01-10 16:51:04 +01:00
Robert Schmidt
be17b9b655 Correctly handle UE RELEASE COMPLETE in CU
* remove PDCP/RRC contexts
* inform the FlexRAN controller
2019-01-10 16:50:17 +01:00
Robert Schmidt
29f23e161e Fix socket type to IPv4 in case of no-multi usage
sctp_create_new_listener() takes a parameter server_type which is NOT
the IP version but whether it is an SCTP multihoming server. There was a
bug that when multihoming is not wanted, it created an IPv6 socket
instead of IPv4. This commit fixes this.

IPv6 is not supported yet.
2019-01-10 14:28:25 +01:00
magounak
3c328263ab mask filling mechanism adjustment and VCD adding for 3rd RU 2018-12-21 15:47:30 +01:00
Raymond Knoppp
69a126909b final changes at slave RRU 2018-12-19 13:01:01 +01:00
Raymond Knoppp
2a279bc723 final changes at slave RRU 2018-12-19 12:36:42 +01:00
magounak
1723c22558 RU_mask final changes 2018-12-19 12:34:26 +01:00
magounak
e170ba24fb RU_mask changes 2018-12-17 15:50:23 +01:00
magounak
4c95e295d1 Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-12-10 14:41:25 +01:00
magounak
0dfdf66f8a vcd changes for RU_mask_tx 2018-12-10 14:26:44 +01:00
Robert Schmidt
e389b79818 F1 handlers: Improve error message if RNTI obtained through CU/DU ID differ 2018-12-07 16:32:42 +01:00
Robert Schmidt
58850e3c86 Send F1 UE CONTEXT RELEASE REQ when RRC detects radio failure 2018-12-07 16:31:36 +01:00
Robert Schmidt
6f19bc4b8f Add F1AP_UE_CONTEXT_RELEASE_COMPLETE, tx in DU, correctly rx in CU 2018-12-07 15:49:04 +01:00
Robert Schmidt
ae3ef27059 Move F1 UE ctxt release req to function mac_eNB_rrc_ul_failure() 2018-12-07 15:37:32 +01:00
Robert Schmidt
412caafd31 F1AP_UE_CONTEXT_RELEASE_COMMAND: Implement in DU, don't send COMPLETE 2018-12-07 14:17:33 +01:00
Robert Schmidt
956fafb51c F1AP_UE_CONTEXT_RELEASE_REQUEST/COMPLETE: Implement in CU 2018-12-07 14:16:42 +01:00
Robert Schmidt
707048c551 F1AP_UE_CONTEXT_RELEASE_REQUEST: Handle in CU, don't send CMD 2018-12-07 14:16:18 +01:00
Robert Schmidt
f3f2bc584f F1AP_UE_CONTEXT_RELEASE_REQ: implement in DU
* MAC differentiates between DU/eNB
* sends ITTI message to DU task for F1AP_UE_CONTEXT_RELEASE_REQ
* message is dispatched to correctly in DU_TASK
* sender correctly fills IDs and cause and sends
2018-12-07 14:16:12 +01:00
Robert Schmidt
d9bf26b9e8 Sort FlexRAN statistics by user before sending 2018-12-05 11:46:54 +01:00
Robert Schmidt
62b89f828a FlexRAN: Circumvent different RRC/MAC layer user ID sorting
* RRC and MAC might sort users differently
* therefore, we have to "reverse lookup" the MAC ID from the RNTI when filling
  user info
* For this purpose, add RAN API function flexran_get_mac_ue_id_rnti()
2018-12-05 11:46:26 +01:00
Raymond Knoppp
14e633231b minor change a slave RRU 2018-11-27 12:36:09 +01:00
Raymond Knoppp
6f148b9111 Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-11-27 12:30:51 +01:00
Raymond Knoppp
d8c35774aa modifications at slave RRU 2018-11-27 12:30:10 +01:00
Raymond Knopp
a24001bfb4 Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-11-27 12:25:59 +01:00
Raymond Knopp
fb0132e23b minor changes at sirius 2018-11-27 12:21:59 +01:00
magounak
eebb19d9eb added some extra vcd signals 2018-11-27 12:17:39 +01:00
Robert Schmidt
8d862dace4 F1 test: fixes after merge 2018-11-07 16:13:04 +01:00
Robert Schmidt
f3a5720dd9 FlexRAN: Apply slicing configuration if MAC CM present 2018-11-07 16:13:03 +01:00
Robert Schmidt
f0c5f57159 Do not free mem_block in PDCP, it is freed in F1 or RLC 2018-11-07 16:13:03 +01:00
Robert Schmidt
c32094685e Deliver SCTP ITTI messages with instance I 2018-11-07 16:13:03 +01:00
Robert Schmidt
a477043a24 Add some useful LOG statements 2018-11-07 16:13:03 +01:00
Robert Schmidt
6c33f79095 Fix bugs after merge
* F1AP has to read MCC/MNC from list
* Do not stop if MACRLC list is not present in conf, it might be a CU
2018-11-07 16:13:03 +01:00
Robert Schmidt
04126f7bdc Do not compile with mem_block.c 2018-11-07 16:13:03 +01:00
Robert Schmidt
07d9c6a3be Cast malloc() to type 2018-11-07 16:13:03 +01:00
Robert Schmidt
6bd69d6eaa Leave OER support in asn1c enabled
OER can be disable with the switch -DASN_DISABLE_OER_SUPPORT. In F1AP,
disabling OER leads to a typedef void a_type; leading to lots of compilation
errors because of illegal void variable declarations. This commit leaves OER
support enabled, avoiding this error.
2018-11-07 16:13:03 +01:00
Robert Schmidt
397d2f4815 Merge commit 'develop' into feature-127-protocol-split
* remove a lot of white spaces
* many conflicts in enb_config.c
2018-11-07 16:07:59 +01:00
Robert Schmidt
c1e680dd89 FlexRAN: free memory of statistics reports 2018-11-07 10:58:09 +01:00
Robert Schmidt
836f6c6374 Include statistics flag only when values are written 2018-11-07 10:54:35 +01:00
Robert Schmidt
f02b539234 Correct init_cont_stats_update(), test for result 2018-11-07 10:54:35 +01:00
Robert Schmidt
2cf4060680 Implement stats_reply-specific destroy function 2018-11-07 10:54:35 +01:00
Robert Schmidt
86d8e21445 Test for CMs before taking CM-specific stats 2018-11-07 10:54:34 +01:00
Robert Schmidt
23650bdea3 Make flexran_agent_handle_stats() respect presence of MAC, RRC CMs 2018-11-07 10:54:34 +01:00
Robert Schmidt
3b3c9daefb Reformat flexran_agent_handle_stats() for better readability 2018-11-07 10:54:34 +01:00
Robert Schmidt
328448e875 Remove flexran_agent_send_update_stats() which is unnecessary 2018-11-07 10:54:34 +01:00
Robert Schmidt
70f74777f3 Correctly implement proto_agent_stop(), call it 2018-11-07 10:54:34 +01:00
Robert Schmidt
920a4abb6d Make link_manager threads joinable
This makes it possible to stop the link_manager by joining its threads.
2018-11-07 10:53:59 +01:00
Robert Schmidt
e71adffcfd Correct logging messages in FlexRAN & PROTO_AGENT 2018-11-07 10:53:52 +01:00
Robert Schmidt
f01c78e532 Set thread names for FlexRAN and PROTO rx_thread 2018-11-07 10:53:52 +01:00
Robert Schmidt
1290552647 Introduce LOG_W logger for PROTO_AGENT 2018-11-07 10:53:52 +01:00
Robert Schmidt
54da66eeac Bugfix: Rename proto_agent global channel variable
The PROTO_AGENT variable holding the channel for various was named as the same
one for FlexRAN. In C, global variables with the same name are merged into one,
which had the effect that the same queues where used for PROTO_AGENT and
FlexRAN, locking the FlexRAN RX thread. Renaming the PROTO_AGENT variable (it
was introduced second) resolves this issue.
2018-11-07 10:53:52 +01:00
Robert Schmidt
eaff77695b Correct malloc in proto_agent_async_channel_info 2018-11-07 10:53:52 +01:00
Robert Schmidt
44b29d04c3 Read config before starting FlexRAN for node_type and ID 2018-11-07 10:53:52 +01:00
Robert Schmidt
0efde02161 Sanitize link_manager interface, correct in FlexRAN/PROTO_AGENT
This commit cleans up the link_manager interface:
* don't provide peer_addr/port in create_link_manager() (for TCP/SCTP it is not
  needed, so in the UDP case in needs to be set explicitly)
* Make FlexRAN connect again (correct hardcoded address)
* Fix FlexRAN: retain the manager pointer
* Fix FlexRAN: store receive_queue pointer
* the link_manager's sender thread passes the correct peer_addr/port for the
  UDP case
2018-11-07 10:48:36 +01:00
Robert Schmidt
34adfd2af8 ASYNC_IF link_{send,receive}_packet(): infer socket type automatically 2018-11-07 10:48:36 +01:00
Robert Schmidt
ec9e70a023 FlexRAN: provide better error messages in async channel 2018-11-07 10:48:36 +01:00
Robert Schmidt
d7948d04b4 Always fill RRC part of ue_config with all parameters 2018-11-07 10:48:36 +01:00
Robert Schmidt
2fa8c29fd4 Put ue_config MAC and RRC parts in resp. CMs 2018-11-07 10:48:36 +01:00
Robert Schmidt
1fc631e2a4 RAN API RRC part: Change interface to RNTI, change flexran_get_aperiodic_cqi_rep_mode()
* the RAN API RRC part now takes rnti and does not look it up in the MAC every
  time again
* the function flexran_get_aperiodic_cqi_rep_mode() has been changed to return
  a proper protobuf variable, not OAI typedef
2018-11-07 10:48:36 +01:00
Robert Schmidt
fdd47e5701 RAN API: add functions for getting UE RNTIs directly from RRC 2018-11-07 10:48:36 +01:00
Robert Schmidt
e0742be747 RAN API flexran_get_num_ues() belongs to MAC, change name 2018-11-07 10:48:36 +01:00
Robert Schmidt
3035781485 Move ue_lc_config message filling into MAC CM 2018-11-07 10:48:36 +01:00
Robert Schmidt
369e89ee2a Create RAN API flexran_get_num_ue_lcs() [no dedicated bearers detection] 2018-11-07 10:48:35 +01:00
Robert Schmidt
89d8afb612 Remove MAC presence checking from scheduler primitives 2018-11-07 10:48:35 +01:00
Robert Schmidt
a7b114c4ec RAN API: Check for MAC presence 2018-11-07 10:48:35 +01:00
Robert Schmidt
fa7168a097 FlexRAN enb_config_reply destroy message update 2018-11-07 10:48:35 +01:00
Robert Schmidt
b702b415a7 Split enb_config_reply->cell_conf message to PHY, MAC, RRC 2018-11-07 10:48:35 +01:00
Robert Schmidt
2623e3f298 Improve interface of FlexRAN RAN API: Return protobuf types
The functions of the RAN API should not return the types of OAI, but protobuf
types. Previously, they would return OAI types and the calling code "marshals"
this into Protobuf type. This commit changes the following functions and
modifies the calling code to directly store the protobuf type:
* flexran_get_hopping_mode()
* flexran_get_phich_resource()
* flexran_get_phich_duration()
* flexran_get_ul_cyclic_prefix_length()
* flexran_get_dl_cyclic_prefix_length()
* flexran_get_duplex_mode() usage
* flexran_get_enable64QAM()
2018-11-07 10:48:35 +01:00
Robert Schmidt
9a2aab34f6 Remove lots of warnings in F1AP 2018-11-07 10:48:35 +01:00
Robert Schmidt
be750619dc Remove warning of uninitialized use in RLC 2018-11-07 10:48:35 +01:00
Robert Schmidt
e8af3bd464 Selectively load FlexRAN CMs depending on BS capability 2018-11-07 10:48:32 +01:00
Robert Schmidt
c81535a8b0 Add FlexRAN PHY CM 2018-11-07 10:40:17 +01:00
Robert Schmidt
391320b992 Simplify PDCP FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt
5e0088fa52 Simplify RRC FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt
33d0ac4982 Simplify MAC FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt
608a14591e Add BS ID and Capabilities to FlexRAN Hello Msg
* Hello msg agent->RTC carries ID and capabilities this agent supports
* RAN API provides ID and capabilities:
    - flexran_get_bs_id()
    - flexran_get_capabilities() // protobuf list of capabilities
    - flexran_get_capabilities() // capabilities as bit mask

Add FlexRAN capabilities mask RAN API function
2018-11-07 10:40:07 +01:00
Robert Schmidt
eb577d11dd Remove warnings in enb_config.c and rrc_eNB.c 2018-11-07 10:26:41 +01:00
Robert Schmidt
1114efad1c Remove capabilities+agent_id from FlexRAN conf/RCconfig_flexran() 2018-11-07 10:26:08 +01:00
magounak
38e9231a53 adding ru_state at ru_thread_tx for RU_mask_tx 2018-11-02 18:06:21 +01:00
magounak
85b6f0183a changes at wakeup_L1s() for RU_mask 2018-10-31 15:45:22 +01:00
magounak
470c664f93 Changes after the merge with L1_renaming in order to work at least in FDD mode. We need to handle the RU_mask_tx for TDD mode. 2018-10-30 19:14:34 +01:00
magounak
5ac4ced133 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-10-29 12:15:29 +01:00
magounak
36a92f4614 renaming eNB_proc_t -> L1_proc_t and eNB_rxtx_proc_t -> L1_rxtx_proc_t 2018-10-29 12:11:07 +01:00
Raymond Knoppp
55d2ef72e5 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-29 12:08:08 +01:00
Raymond Knoppp
4f7b4d5bdc minor changes at aquila 2018-10-29 12:07:16 +01:00
Raymond Knopp
18fb29eca4 minor changes at sirius 2018-10-29 12:05:01 +01:00
magounak
0da8e5cc4f merge with L1_renaming (RU_mask_tx) 2018-10-28 16:47:50 +01:00
magounak
872839d1e7 minor changes at wakeup_txfh 2018-10-28 14:33:47 +01:00
magounak
37df6df9c3 minor fixes after merging with L1_renaming 2018-10-26 16:32:23 +02:00
magounak
bc2ee09774 Merge remote-tracking branch 'origin/L1_renaming' into ru_rau_enhancement_L1_renaming 2018-10-26 14:49:44 +02:00
magounak
42687dfec1 changes at wakeup_rxtx for the RU mask 2018-10-26 13:44:50 +02:00
Robert Schmidt
9d2637557c Add BS capability protobuf message in FlexRAN 2018-10-23 14:59:19 +02:00
Robert Schmidt
5e1f344199 Add Disconnect protobuf message description in FlexRAN 2018-10-23 14:58:30 +02:00
magounak
4c83082e52 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-22 10:17:34 +02:00
Raymond Knopp
f43149e1a7 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-22 08:07:23 +02:00
Raymond Knopp
d488ddb6b4 OTA synchronization debugging (phoenix) 2018-10-22 08:06:53 +02:00
Raymond Knoppp
9ec5b6c22f Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-22 08:05:40 +02:00
Raymond Knoppp
de284e9e8e OTA synchronization debugging (aquila) 2018-10-22 08:04:21 +02:00
Raymond Knopp
9b3e36a79d debugging of OTA synchronization (sirius) 2018-10-22 08:01:40 +02:00
magounak
d24be4d61f Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-21 16:50:20 +02:00
magounak
769992442d deleting prints 2018-10-21 16:46:04 +02:00
Raymond Knopp
22eccb1c2e simulation ok. fixes after merge with develop 2018-10-20 17:46:28 +02:00
Raymond Knopp
b7e0f7c01a Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-10-20 15:37:13 +02:00
Raymond Knopp
c8cef9e1fb fixes after merge with develop 2018-10-20 15:30:48 +02:00
Robert Schmidt
0a4ffade77 Don't malloc() context_t in F1U, stack is sufficient 2018-10-19 18:54:17 +02:00
Raymond Knopp
ea11edadb3 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-10-19 09:50:42 +02:00
Robert Schmidt
86fcea8dd5 Call free_mem_block() after sending F1U packet 2018-10-18 16:47:44 +02:00
Robert Schmidt
5862a10274 Don't spam with some PROTO_AGENT and PDCP messages, correct two other 2018-10-18 09:49:14 +02:00
magounak
f1dbbd08c8 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-17 17:07:08 +02:00
magounak
c8c6b9e9be dumb received signal at slave RRU 2018-10-17 17:02:43 +02:00
magounak
f97c7b952a fixing bugs on dmrs symbol 2018-10-17 16:56:57 +02:00
magounak
34f3422b44 fixing generate_ul_ref_sigs() 2018-10-16 14:17:16 +02:00
Raymond Knopp
5f30031d29 fixing merge conflict at slave RRU 2018-10-11 15:28:20 +02:00
Raymond Knopp
05ff7b9e0e counter to track sync process at slave RRU 2018-10-11 15:22:37 +02:00
magounak
cdb3f2afee deleting logs 2018-10-11 15:07:20 +02:00
magounak
262f221787 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-09 11:36:08 +02:00
magounak
af75d546df fixing bugs for dmrssync 2018-10-09 11:22:16 +02:00
magounak
8649f178d6 fixing bugs for tdd mode 2018-10-09 11:02:27 +02:00
Navid Nikaein
fec4f5cd04 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-10-05 17:04:48 +02:00
Navid Nikaein
403db5b544 Fix the issue in sending UE Initial Context Setup Response 2018-10-05 17:03:24 +02:00
Bing-Kai Hong
be661cce1a turn off debug print with F1AP 2018-09-28 16:44:14 +02:00
Bing-Kai Hong
3d41f5cb03 add msc trace for F1AP 2018-09-28 11:51:11 +02:00
Bing-Kai Hong
c017b8b489 Add handle UE CONTEXT RELEASE message procedure 2018-09-25 17:27:43 +02:00
Bing-Kai Hong
ecd6d673ea Update complete elements with ue context setup response 2018-09-25 16:21:01 +02:00
Bing-Kai Hong
5d8f17f392 Add send UE CONTEXT RELEASE message procedure 2018-09-25 15:36:00 +02:00
Navid Nikaein
374c1087a1 Add some comments 2018-09-25 11:36:36 +02:00
Navid Nikaein
d4f0e50d4f send the S1SP initial context response if it is not sent with the attach complete message 2018-09-25 11:36:36 +02:00
Raymond Knopp
345989a975 remove info traces in PDCP, one still remains 2018-09-25 04:07:52 -04:00
Navid Nikaein
8ab24646f2 Proper setting for dedicated_DRB flag so as to sent the S1AP InitialContextSetupRequest 2018-09-25 07:12:35 +02:00
Bing-Kai Hong
7f70860c24 Fix tag typo of PROTO_AGENT 2018-09-24 17:48:57 +02:00
Navid Nikaein
6d16bf5243 Add log to trace proto_agent pdcp_data_ind operation 2018-09-24 12:32:41 +02:00
Navid Nikaein
e4ac90238e Fix F1-U srb and drb function calls (not tested). 2018-09-24 09:28:57 +02:00
Raymond Knopp
ddb238b808 removal of logging
preparation for UE CONTEXT Release from CU
2018-09-23 18:05:57 -04:00
Raymond Knopp
6bbc81694b Control plane is functional. Still need to handle RRCConnectionRelease in DU 2018-09-23 16:06:40 -04:00
Raymond Knopp
31fe819c7d extra logging 2018-09-23 14:30:37 -04:00
Raymond Knopp
f2c5c0f753 warning removal in rrc_eNB.c 2018-09-23 09:06:39 -04:00
Raymond Knopp
d27e6f21b0 bugfix in F1 module_id handling for transaction idntifiers 2018-09-23 03:11:39 -04:00
Bing-Kai Hong
57755e2773 Check node type for the MAC API calls (find_UE) 2018-09-22 16:44:45 +02:00
Bing-Kai Hong
ba609ca94f Set the RRC status in DU, Reconfigure SRB2, Manage RRC/NAS UL message in DU 2018-09-22 16:01:31 +02:00
Raymond Knopp
f6c28fad62 extra log in F1AP receiver for DL_RRC_MESSAGE_TRANSFER to identify RRC message type 2018-09-22 04:55:57 -04:00
Raymond Knopp
1cf564a74f Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-22 04:28:48 -04:00
Raymond Knopp
45eda99583 conditions for configuration in DU 2018-09-22 04:28:29 -04:00
Raymond Knopp
ac1496c212 conditions for rlc_config_asn in CU 2018-09-22 04:26:05 -04:00
Raymond Knopp
c43281a7c9 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-21 16:46:40 -04:00
Raymond Knopp
876e9efd99 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-21 16:39:46 -04:00
Raymond Knopp
5de7f61fd5 monolithic is functional with EPC and COTS UE (full connection) 2018-09-21 16:38:06 -04:00
Bing-Kai Hong
1181790b86 Partially update the node_type check 2018-09-21 22:07:39 +02:00
Raymond Knopp
a1b60957a1 reworking logic for selection of configuration parameters as a function of node (CU/DU/eNB) 2018-09-21 21:19:27 +02:00
Raymond Knopp
360e2e77a9 monolithic ok (RRCConnectionSetupComplete) 2018-09-21 18:07:47 +02:00
Raymond Knopp
1e5f95cd95 fixes for monolithic case. Still doesn't work to RRCConnectionSetup, context allocation problem. 2018-09-21 17:23:08 +02:00
Raymond Knopp
34172c7a4c Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-21 07:59:04 +02:00
Raymond Knopp
8a11e8dd52 protection of RLC configuration in case of CU 2018-09-21 07:58:25 +02:00
Raymond Knopp
4cdc01384d Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	cmake_targets/tools/build_helper
2018-09-20 16:25:05 -04:00
Raymond Knopp
05c7681b5a cu machine @ RH 2018-09-20 16:23:35 -04:00
Raymond Knopp
461bfa5fae Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-20 16:15:20 -04:00
Raymond Knopp
5a8622960e partial removal of warning 2018-09-20 16:13:59 -04:00
Robert Schmidt
a8bd9df3eb Remove local_interface from F1U/UDP parameters 2018-09-20 20:07:01 +02:00
Bing-Kai Hong
0372c9b289 Generate the DCCH and send from pdcp 2018-09-20 19:12:05 +02:00
Bing-Kai Hong
53d741f20d Generate the DCCH and send from pdcp 2018-09-20 18:58:59 +02:00
Robert Schmidt
7ed0aa1d6a Add F1U proto_agent calls, remove old code 2018-09-20 17:13:18 +02:00
Robert Schmidt
eacd1cfbf0 PROTO_AGENT test program changes 2018-09-20 15:03:47 +02:00
Robert Schmidt
b564b116d3 Fix memory leaks in PROTO_AGENT 2018-09-20 15:03:47 +02:00
Robert Schmidt
7f40bf76fb ASYNC_IF: join threads when destroying link manager 2018-09-20 15:03:47 +02:00
Robert Schmidt
4318072bb7 PROTO_AGENT: don't send ACKs, formatting 2018-09-20 15:03:47 +02:00
Robert Schmidt
d94ae11fe0 Add test programs to verify F1U 2018-09-20 15:03:47 +02:00
Robert Schmidt
278fc6d711 Improve PROTO_AGENT
* unified CU/DU in one PROTO_AGENT instance since they are symmetric from UDP POV
* delete a lot of unnecessary code
* better error handling
* can reciprocally send data
2018-09-20 15:03:47 +02:00
Robert Schmidt
f060385b6a Improve UDP support of ASYNC_IF
* peer_addr is now const
* new_link_udp_server() can bind to address or INADDR_ANY
* socket_udp_receive() happens without a loop
* socket_udp_send() happens without a loop
* sending in two packets (first size, then data) is only performed for TCP,
  SCTP, not for UDP anymore (it is unreliable, so we could miss something and
  will receive complete garbage)
2018-09-20 15:03:47 +02:00
Raymond Knopp
5f758074ef RRCConnectionSetupComplete received in CU! (needed to allocate mem_pool for pdcp. remaining transactions on SRB1 and then SRB2 need to use PDCP (DCCH). 2018-09-20 02:53:26 +02:00
Raymond Knopp
2acdfc14b2 UL_RRC_MESSAGE_TRANSFER correctly received in CU. But : it shouldn't go directly to RRC, it has to go through PDCP via pdcp_data_ind 2018-09-20 02:24:43 +02:00
Raymond Knopp
ac5e8cbdfc UL_RRC_MESSAGE_TRANSFER arrives in CU, which crashes :-( 2018-09-20 02:10:49 +02:00
Raymond Knopp
43def3d76c crashes inside DU_send_UL_RRC_MESSAGE_TRANSFER 2018-09-20 01:38:57 +02:00
Raymond Knopp
7ea6cb25a4 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_du_rrc_message_transfer.c
2018-09-20 00:15:45 +02:00
Raymond Knopp
a6d3efb9a4 minor changes for testing 2018-09-20 00:12:46 +02:00
Navid Nikaein
cee89cb389 Send the UL_RRC_MESSAGE over DCCH from CU to RRC 2018-09-19 21:22:24 +02:00
Raymond Knopp
578ce9ebe1 up to RRCConnectionSetupComplete Transmission in UE 2018-09-19 20:14:55 +02:00
Bing-Kai Hong
a7be0cc2a8 send F1AP_UL_RRC_MESSAGE from rrc 2018-09-19 19:47:11 +02:00
Bing-Kai Hong
24884bfb2b Update complete elements with ue context setup request 2018-09-19 18:57:48 +02:00
Raymond Knopp
3d1faefad9 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-19 12:32:23 +02:00
Raymond Knopp
0b81663408 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_du_rrc_message_transfer.c
2018-09-19 12:32:14 +02:00
Robert Schmidt
144a0a37e5 define display_backtrace() without void 2018-09-19 12:11:56 +02:00
Robert Schmidt
1cd43984c2 Remove PDCP/RLC code depending on old F1U/PROTO_AGENT 2018-09-19 11:56:54 +02:00
Robert Schmidt
3ad16e9806 minor fixes 2018-09-19 11:46:38 +02:00
Robert Schmidt
3b68376ad3 PROTO_AGENT: Restructure/simplify code, UDP only, no own configuration 2018-09-19 11:46:38 +02:00
Robert Schmidt
cf55a513d9 ASYNC_IF: peer addresses as const in interface 2018-09-19 11:46:38 +02:00
Robert Schmidt
c19bdb776f add UE Context Setup Req at CU/DU
- add message sender (CU) + handler (CU) and fill with data from ITTI message
- add PLMNID_TO_MCC_MNC and BIT_STRING_TO_TRANSPORT_LAYER_ADDRESS_IPv4 macros
- correct TRANSPORT_LAYER_ADDRESS_TO_BIT_STRING:
  change name to TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING, make it send 4B, not 5
2018-09-19 11:46:38 +02:00
Raymond Knopp
de205def25 added configuration of DU L2 functions upon RRCConnectionSetup reception 2018-09-19 10:46:36 +02:00
Navid Nikaein
d9661177fa Better management of cu/du ue ids
Fix for some variables
2018-09-19 02:01:08 +02:00
Raymond Knopp
0dea1969df Merge branch 'ru_rau_enhancement-external-timing' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-09-18 17:03:29 +02:00
Raymond Knopp
58800db24f removed MTU change for IF4p5 UDP 2018-09-18 16:27:26 +02:00
Bing-Kai Hong
c8742f26fb Normalized message output 2018-09-18 16:12:01 +02:00
Bing-Kai Hong
988d98a4e3 send UL RRC MESSAGE TRANSFER 2018-09-18 15:11:05 +02:00
Raymond Knopp
b7fd875bed fix MTU to 1500 for UDP IF4p5 2018-09-18 10:45:19 +02:00
Raymond Knopp
4ff4481362 switch/case for handling DL_RRC_MESSAGE in DU 2018-09-17 22:56:01 +02:00
Raymond Knopp
b1313aaf04 DL_RRC_MESSAGE_TRANSFER goes to DU, and is received, but doesn't reconfigure L2/L1 yet. 2018-09-17 18:33:08 +02:00
Raymond Knopp
a2f914185d Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/RRC/LTE/rrc_eNB.c
2018-09-17 18:20:07 +02:00
Raymond Knopp
9482568f74 F1AP_DL_RRC_MESSAGE destination change. 2018-09-17 18:13:36 +02:00
Bing-Kai Hong
a45d496c8c Update F1 DL RRC message transfer from DU to CU 2018-09-17 16:02:13 +02:00
Raymond Knopp
ebb9bbfae8 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_cu_rrc_message_transfer.c
2018-09-16 23:22:48 +02:00
Raymond Knopp
825c33df1b handling of nr_cellid and creation of context upon CCCH transmission.
Connection goes until generation of RRCConnectionSetup in CU which crashes (it calls rrc_mac_config_req. For DU this should be replaced with filling DL_RRC_MESSAGE_TRANSFER
2018-09-16 23:07:14 +02:00
Bing-Kai Hong
f7f7daf715 Restore some template files for CMake 2018-09-16 22:02:33 +08:00
Navid Nikaein
693a82a58d Add the instance id in the sctp_itti_send_new_message_ind 2018-09-16 16:36:45 +02:00
Navid Nikaein
7fcaf4f984 Update the SIB buffer as per earlier commits 2018-09-16 16:36:45 +02:00
Navid Nikaein
942d92cf7c send msg 4 in F1 DL RRC message transfer 2018-09-16 16:36:45 +02:00
Bing-Kai Hong
0e7887de76 Handle DL\UL RRC MESSAGE TRANSFER at f1ap_handlers 2018-09-16 21:51:15 +08:00
Raymond Knopp
ca9748eca7 corrections to RNTI coding/decoding in openair3/conversions.h 2018-09-16 11:03:53 +02:00
Raymond Knopp
eedc4226f0 modifications for SRB0 to allow multiple UE contexts in case of delayed CCCH reception in CU/DU split (moved SRB0 from carrier to UE context) 2018-09-15 22:42:10 +02:00
Raymond Knopp
6f11dc7741 removed assertion in MAC layer and adjusted generation of MSG4 to handle when CCCH message is not present. UL CCCH is now received in CU, but asserts. Need to add code in DU to handle scheduling of DL-CCCH in later subframe. In current state, DL-CCCH will only come out if it is ready for MSG$ transmission. 2018-09-15 16:10:58 +02:00
Raymond Knopp
fc6afc8116 simulation up to CCCH reception in DU is functional 2018-09-15 13:59:11 +02:00
Raymond Knopp
d670138b69 fixes for SIB2/3 handling in DU 2018-09-15 12:57:17 +02:00
Raymond Knopp
b683395df1 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_cu_interface_management.c
	openair2/F1AP/f1ap_du_interface_management.c
2018-09-14 19:08:36 +02:00
Raymond Knopp
91d4cd3cfd debugging of F1AP-Setup-Resp procedure in DU. DU configuration is ok now. 2018-09-14 18:58:46 +02:00
Robert Schmidt
eedfa4933d Correct header files for CU/DU UE context management 2018-09-14 18:23:31 +02:00
Robert Schmidt
f4633ba260 Correctly add headers for RRC message transfer, remove warnings 2018-09-14 17:16:04 +02:00
Robert Schmidt
911e738f0c Improve interface of functions CU/DU interface management 2018-09-14 17:16:04 +02:00
Bing-Kai Hong
62a5d9031d Update complete the NR_Mode_Info structure for F1 SETUP REQUEST 2018-09-14 16:45:15 +02:00
Bing-Kai Hong
30977ecc12 Replace some dummy value with DU from exist define in f1ap_setup_req_t 2018-09-14 15:12:37 +02:00
Bing-Kai Hong
cedc13d7ea Implement the F1_SETUP_FAILURE procedure 2018-09-14 11:04:50 +02:00
Bing-Kai Hong
5d06dcc306 fix Segmentation fault when f1ap_message_decoded_callback have not define instance_t for arguments 2018-09-13 20:12:04 +02:00
Bing-Kai Hong
d4b13691ee Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-13 19:56:46 +02:00
Bing-Kai Hong
ef1627fac7 INITIAL_UL_RRC_MESSAGE at DU and CU respectively is developped 2018-09-13 19:55:01 +02:00
Robert Schmidt
9a4fce6163 Unify headers for interface_management, remove some warnings 2018-09-13 18:59:47 +02:00
Bing-Kai Hong
ab49f954c1 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-13 16:29:10 +02:00
Bing-Kai Hong
f736213d09 Update F1AP new code structure to closer implementing all the procedures 2018-09-13 16:25:51 +02:00
Robert Schmidt
d454a95675 Reduce warnings in ASYNC_IF 2018-09-13 13:47:56 +02:00
Robert Schmidt
b27cd4dd1b Reduce warnings in PROTO_AGENT heavily 2018-09-13 13:47:56 +02:00
Bing-Kai Hong
e54f6305dc update f1 response with value from conf and request content 2018-09-13 10:13:05 +02:00
Bing-Kai Hong
bf0cef3fd1 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-12 19:53:51 +02:00
Bing-Kai Hong
37b9e7b512 Handle the f1 setup request and send back f1 response with value from conf 2018-09-12 19:51:03 +02:00
Wolfgang A. Mozart
f1253ee7e9 UE compiles now 2018-09-12 08:34:24 +02:00
Bing-Kai Hong
44d0fa64e0 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-11 20:13:02 +02:00
Raymond Knopp
00c0a3e5f8 compiles now 2018-09-11 19:55:32 +02:00
Bing-Kai Hong
ac3db89ec1 Remove the dummy value in DU, and store the payload data in DU 2018-09-11 17:53:16 +02:00
Raymond Knopp
66fc1bbd42 added F1/RRC interfaces for CU handling of F1Setup procedure
note: doesn't compile yet.
2018-09-11 17:25:42 +02:00
Bing-Kai Hong
7732b49a34 Ignore config x2, if we are in F1 procedure 2018-09-10 16:20:54 +02:00
Bing-Kai Hong
9f098a3461 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split 2018-09-10 15:33:03 +02:00
Bing-Kai Hong
ab412cb39d Normalization of the file names for CU and DU 2018-09-10 13:39:48 +02:00
Robert Schmidt
0fe608c292 Add TERMIATE_MESSAGE to DU/CU tasks, add warning/trace IDs 2018-09-09 16:00:19 +02:00
Robert Schmidt
c1249842d6 Initialize netlink when node_type is known 2018-09-08 18:58:27 +02:00
Robert Schmidt
5a74b790a2 Restructure code, CMakeLists fixes
- move the configuration reading code before task creation
- fix CMakeLists.txt so that lte-softmodem-nos1 compiles
2018-09-08 18:55:30 +02:00
Robert Schmidt
a1439effe3 Revert "Restructure create_tasks(): start tasks depending on RAN type, is read in RCconfig_RRC()"
This reverts commit 87093e1b55.
2018-09-08 15:21:47 +02:00
Bing-Kai Hong
5105766ec5 Remove unwanted files and function for sctp and f1 unit test 2018-09-07 19:14:12 +02:00
Bing-Kai Hong
021d7abf8a Create the F1 pingpong procedure with SCTP 2018-09-07 19:04:45 +02:00
Bing-Kai Hong
17cc510a3c add itti_receive_msg at CU and DU 2018-09-07 14:13:56 +02:00
Robert Schmidt
c4370d9df0 Start CU/DU tasks in create_remaining_tasks() of ENB_APP 2018-09-07 12:17:03 +02:00
Robert Schmidt
2e453eff69 move F1AP_get_next_transaction_identifier() to f1ap_common.c 2018-09-07 12:17:03 +02:00
Robert Schmidt
54aa295eb4 Use f1ap_encoder.c file for F1AP encoding functionality 2018-09-07 12:15:35 +02:00
Bing-Kai Hong
e82cae08c3 fix wrong parameter when get ip address in DU 2018-09-07 12:07:26 +02:00
Bing-Kai Hong
b6295efd2a modify the ip address struct in f1 setup req for DU 2018-09-07 11:53:33 +02:00
Bing-Kai Hong
185c2fd46b Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-06 19:15:52 +02:00
Bing-Kai Hong
d0de98e067 Create SCTP request and response with ITTI procedure for F1 2018-09-06 19:13:09 +02:00
Robert Schmidt
87093e1b55 Restructure create_tasks(): start tasks depending on RAN type, is read in RCconfig_RRC() 2018-09-06 18:12:47 +02:00
Bing-Kai Hong
f19fa8ad47 Create ITTI procedure for F1 2018-09-06 11:56:15 +02:00
Robert Schmidt
9e5f9bdb94 Suppress warning "implicitly truncated to unsigned type" 2018-09-06 10:05:45 +02:00
Robert Schmidt
63a2fb0660 Handle warnings regarding undeclared functions for dec, enc, sctp 2018-09-06 10:03:55 +02:00
Robert Schmidt
14298413a4 Fix obvious warnings when building CU/DU tests 2018-09-06 09:25:10 +02:00
Raymond Knopp
b2583c6f23 CU is exectuable 2018-09-06 09:24:10 +02:00
Raymond Knopp
32a39e9a67 CU configuration modifications 2018-09-05 22:28:56 +02:00
Raymond Knopp
ce07a11ed8 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-05 11:53:34 +02:00
Raymond Knopp
3e987bc143 update of cu configuration file 2018-09-05 11:53:08 +02:00
Bing-Kai Hong
cdfca6c00a F1:
1.create the f1ap handlers procedure
2.hide asn1c warning when in compile
2018-09-05 11:14:35 +02:00
Raymond Knopp
e2dd22b6ae added parsing of F1AP_SETUP_RESP message and subsequent RAN configuration in DU 2018-09-04 23:07:46 +02:00
Raymond Knopp
b584ddeda8 added configuration files for cu/du, ngran_types.h 2018-09-04 09:36:01 +02:00
Raymond Knopp
1daed67012 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	common/utils/T/T_IDs.h
	common/utils/T/T_messages.txt
2018-09-04 09:28:35 +02:00
Raymond Knopp
c8c8032358 initial DU part for F1AP_setup_resp 2018-09-04 09:25:02 +02:00
Raymond Knopp
c56eb9eda7 addition of configuration (DU) for F1AP and filling of F1AP_SET_REQ parameters 2018-09-04 07:40:04 +02:00
Bing-Kai Hong
3021cf114d F1 & MAC:
1. Fix UE_CONTEXT_SETUP_REQUEST and CONTEXT_MODIFICATION_REQUEST encode/decode
2. Add gNB_DU_CONFIGURATION_UPDATE and gNB_CU_CONFIGURATION_UPDATE procedure
3. Add C_RNTI_TO_BIT_STRING function
4. Add INITIAL_UL_RRC_MESSAGE_TRANSFER procedure and with mac_du_data_ind (MSG3)
5. Add GNB-CUSystemInformation extension part for the F1SetupResponse procedure
2018-08-31 15:55:42 +02:00
Bing-Kai Hong
a817b54c74 T: generate for PROTO_AGENT and F1U 2018-08-28 17:01:17 +02:00
Bing-Kai Hong
b797dafdc6 1.Update the F1 messages with F1AP spec R15.2.1 and build scripts for proper generation of F1 messages
2.Add SCTP procedure (without ITTI) with F1AP
3.Add F1AP test code
2018-08-28 15:05:05 +02:00
Calvin HSU
b58ef54608 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split 2018-08-28 12:22:59 +02:00
Raymond Knopp
b9a06a75ff Merge branch 'ru_rau_enhancement-external-timing' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-08-24 14:49:29 +02:00
Raymond Knopp
bcabf5fe11 tracing for if4p5 fronthaul 2018-08-24 14:49:00 +02:00
Raymond Knopp
671aa4e11a Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-08-24 14:48:04 +02:00
Raymond Knopp
b7b48fd6c7 beamforming debugging after fronthaul testing 2018-08-24 10:32:03 +02:00
Raymond Knopp
c3b9328540 Merge remote-tracking branch 'origin/t_tracer_w32' into ru_rau_enhancement-external-timing
Conflicts:
	common/utils/T/T_messages.txt
2018-08-17 16:33:07 +02:00
cdxu0312
0fd3ca7584 added 2 RRU debugging for vcd 2018-08-17 15:12:26 +08:00
Raymond Knopp
ff0ca09040 changed precoder initialization for cell-specific antenna ports 2018-08-15 05:24:47 +02:00
Raymond Knopp
6bfbb77ebe Merge remote-tracking branch 'origin/340-fix-beamforming-for-multiple-antenna' into ru_rau_enhancement-external-timing
Conflicts:
	openair1/SCHED/ru_procedures.c
2018-08-15 04:23:59 +02:00
Raymond Knopp
1609b21f4b Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-08-15 04:17:25 +02:00
Cedric Roux
21481fef71 compilation warning "jobserver unavailable" removal
This commit emoves the warning:
make[4]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.

Basically, inside a Makefile we should use $(MAKE) instead of make.
2018-08-13 12:37:17 +02:00
Cedric Roux
fd8eb46c6a minor: remove TABs 2018-08-13 11:29:07 +02:00
Cedric Roux
d5da350b06 T: check consistency of T_messages.txt with VCD functions and variables traces
Since VCD has now to go through the T tracer, we enforce the consistency
of data found in common/utils/LOG/vcd_signal_dumper.[ch] with data
found in common/utils/T/T_messages.txt.

We might get completely rid of common/utils/LOG/vcd_signal_dumper.[ch] at some
point. For the moment, let's keep it.

This commit adds the program common/utils/T/check_vcd.c and necessary
modifications to enforce its use at compilation time.

If you modify common/utils/LOG/vcd_signal_dumper.[ch] but do not update
cmake_targets/CMakeLists.txt an error will pop up when you compile the
software. You have to keep both modules synchronized.
2018-08-13 11:29:07 +02:00
Cedric Roux
bd3fc60ae4 T: update 'to_vcd' tracer to trace all VCD variables and functions
Pass the command line arguemnt -vcd to trace all VCD variables
and functions.
2018-08-10 15:20:36 +02:00
Wang Tsu-Han
2d723c542e adding VCD log for multiple RUs
Conflicts:
	common/utils/T/T_messages.txt
	openair1/SCHED/ru_procedures.c
	targets/RT/USER/lte-enb.c
2018-08-10 15:19:00 +02:00
Wang Tsu-Han
b8feeef407 VCD log for two ru_thread 2018-08-09 17:06:24 +02:00
Wang Tsu-Han
3fd125257a VCD removal 2018-08-09 16:34:59 +02:00
ISIP CS/NCTU
90c9bfd926 Update ru_procedures.c 2018-08-09 16:05:05 +02:00
ISIP CS/NCTU
f458287a4d Replace ru_procedures.c 2018-08-09 15:47:56 +02:00
ISIP CS/NCTU
5618856ea9 Replace modulation_eNB.h 2018-08-09 15:47:31 +02:00
ISIP CS/NCTU
9d8aecdb3e Replace beamforming.c 2018-08-09 15:47:12 +02:00
ISIP CS/NCTU
c87e00c35c Update beamforming.c 2018-08-09 11:53:00 +02:00
ISIP CS/NCTU
778361685c Update ru_procedures.c 2018-08-09 11:52:27 +02:00
ISIP CS/NCTU
0fbde1bad0 Update lte-enb.c 2018-08-09 11:51:54 +02:00
ISIP CS/NCTU
2e7962be0c Update modulation_eNB.h 2018-08-09 11:48:13 +02:00
ISIP CS/NCTU
cf2f6f58f6 Update beamforming.c 2018-08-09 11:40:53 +02:00
ISIP CS/NCTU
95d6792c12 Update ru_procedures.c 2018-08-09 11:38:51 +02:00
ISIP CS/NCTU
03e91a3d9c Replace modulation_eNB.h 2018-08-09 11:31:09 +02:00
ISIP CS/NCTU
61df625703 Replace beamforming.c 2018-08-09 11:30:44 +02:00
ISIP CS/NCTU
191d36705a Replace lte-enb.c 2018-08-09 11:29:47 +02:00
ISIP CS/NCTU
c4ee45acb3 Replace ru_procedures.c 2018-08-09 11:28:30 +02:00
Raymond Knopp
91d23cb31d Merge remote-tracking branch 'origin/ru_rau_enhancement' into ru_rau_enhancement-external-timing
Conflicts:
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.h
2018-08-09 09:45:57 +02:00
Raymond Knopp
70461a3344 initialization of dumpframe variable to 0. 2018-08-08 05:37:16 +02:00
Raymond Knopp
47764ebb58 Merge remote-tracking branch 'origin/issue-centos-fixes' into ru_rau_enhancement 2018-08-08 05:06:35 +02:00
Raymond Knopp
53a31093fa minor modifications to lte-ru.c and ru_control.c. Addition of lte_noS1_buildCMakelists.template which somehow got removed. 2018-08-08 05:01:21 +02:00
Raymond Knopp
f7dfb6c6b2 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.h
2018-08-07 19:44:53 +02:00
Raymond Knopp
44ce13d7de added ru_control.c (extraction of RU state-machine and support functions for fronthaul) 2018-08-02 05:55:50 -07:00
Bing-Kai Hong
a21258ece7 Update the F1 messages and build scripts for proper generation of F1 messages 2018-06-26 10:58:46 +02:00
Raymond Knopp
011818e91e extraction of RU control functions from lte-ru.c. Removal of mobipass fronthaul. 2018-06-19 03:51:52 -07:00
Bing-Kai Hong
05c0ab1a76 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split 2018-06-15 14:33:25 +02:00
Raymond Knopp
bafd6fbe75 removed logging, fixed drs_modulation after recent change 2018-06-12 14:23:35 -07:00
Raymond Knopp
502d6658a0 modification of receive timeout in ethernet library (for fronthaul simulation to setup on slow machines)
removal of some logging in lte-ru
2018-06-12 01:51:06 -07:00
Raymond Knopp
5e991ecc3d fixed compilatiaon issues after merge with develop and enhancement-rfsim. Intitial testing with emulator. 2018-06-10 17:10:16 -07:00
Raymond Knopp
45dc7ed608 Merge branch 'enhancement-rfsim' into ru_rau_enhancement
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/SIMU/USER/channel_sim.c
	targets/SIMU/USER/oaisim.c
	targets/SIMU/USER/oaisim_config.c
	targets/SIMU/USER/oaisim_functions.c
2018-06-10 15:14:09 -07:00
Raymond Knopp
6ecf336ae7 missing declaration 2018-06-10 14:29:45 -07:00
Raymond Knopp
cffb083914 Merge branch 'ru_rau_enhancement' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement
Conflicts:
	targets/RT/USER/lte-ru.c
2018-06-06 08:12:41 +02:00
Massive
59a07e2117 testing with 2 RUS (changes in default precoder) 2018-06-06 07:46:16 +02:00
Raymond Knopp
6bbe833735 fixing for testing 2018-05-30 16:40:27 +02:00
Raymond Knopp
d9568d2c06 bugfix after merge 2018-05-28 15:31:14 +02:00
Raymond Knopp
8a11946f73 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement 2018-05-28 11:53:34 +02:00
Raymond Knopp
a0e193c5e8 fixing conflicts 2018-05-27 05:27:58 +02:00
Raymond Knopp
3864136700 fixing conflicts 2018-05-26 06:30:36 +02:00
Raymond Knopp
285e01943d fixing conflicts 2018-05-26 06:26:33 +02:00
Raymond Knopp
8364b4f97d adding thread_tx from develop 2018-05-26 05:49:49 +02:00
Raymond Knopp
0ad9ab947c dmrs-based OTA synchronization for RU 2018-05-13 15:53:59 -07:00
Raymond Knopp
fe861bf49e compilation passes and 1 UE simulation ok. 2018-05-13 05:16:57 -07:00
Raymond Knopp
0b89046a81 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-05-13 00:47:48 -07:00
Raymond Knopp
66fe9c5d3b added external-timing option to allow to wait for PPS in usrp_lib.cpp 2018-05-04 17:26:07 +08:00
Raymond Knopp
bb15ec4e4e Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement 2018-05-04 10:30:08 +02:00
Raymond Knopp
0eb2f0175e Support for RAW, not tested yet 2018-05-04 10:29:45 +02:00
Raymond Knopp
9d82d5aebd added command line parameter to set external timing for PPS on USRP. 2018-05-04 15:55:32 +08:00
Nikos Makris
3aabed57d2 Applied patch for aper asn1c - Compile with flag --pdcp-split 2018-04-27 15:24:17 +03:00
Nikos Makris
da7c24b539 Added definitions for F1AP ASN messages
Added asn1c compiler compatible with the F1AP definitions
Compilation fails for the S1AP messages with "error: unknown type name ‘asn_comp_rval_t’"
2018-04-11 20:45:54 +03:00
Raymond Knopp
497c818b02 removed some logging 2018-04-05 12:26:02 -07:00
Nikos Makris
4195681fc9 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split
Tested with one UE
Possibly broken FLEXRAN (different methods for configuring the link manager)
2018-04-05 13:22:12 +03:00
Raymond Knopp
03dfe63a1b reseting in_synch after receiving RU_CONFIG 2018-03-26 16:34:53 +02:00
Raymond Knopp
df9827b5fb changes for TDD 2018-03-25 23:57:33 -07:00
Raymond Knopp
d312f9c805 debugging for TDD 2018-03-19 01:10:10 -07:00
Raymond Knopp
c4a81c2215 changes for TDD signaling. 2018-03-13 16:18:26 +01:00
Raymond Knopp
f8f6f003ef Bugfix 2018-03-12 13:54:09 +01:00
Raymond Knopp
1f130faf17 Resolving Merge conflicts 2018-03-12 13:48:12 +01:00
Raymond Knopp
ffe2967d81 Split init and config USRP device. It seems to have solved the stop/restart RAU without stopping the RRU 2018-03-12 11:31:08 +01:00
Raymond Knopp
9a373b2897 oaisim updates after merge with develop 2018-03-11 19:43:44 +01:00
Raymond Knopp
c42a4f4baa testing monolithic eNodeB after merge with develop. Changes : don't create ru_thread_control and add initalization procedures during configuration instead. 2018-03-11 10:11:19 +01:00
Raymond Knopp
bf846280d1 removal of warnings 2018-03-11 09:20:45 +01:00
Raymond Knopp
4d71261cb9 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/INIT/lte_init_ru.c
	openair1/PHY/defs.h
	openair2/ENB_APP/enb_paramdef.h
	targets/RT/USER/lte-ru.c
2018-03-11 08:45:09 +01:00
Raymond Knopp
79c8d0e0cb updates for IF4p5 to handle >1 nb_rx/nb_tx. Tested with 2x2 2018-03-10 16:19:40 +01:00
Raymond Knopp
49bb8b4cd7 bug fixes in channel simulation routines for multi-UE 2018-03-10 00:02:50 +01:00
Raymond Knopp
6a4abf1464 modifications to default configuration files for oaisim and some minor chanes to lte-ru.c for simulator target 2018-03-09 10:48:32 -08:00
Younes
bc0ae0fce9 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-03-05 08:17:10 +01:00
Younes
a4660d322d minor changes in RRU portion for frame resynch 2018-03-05 08:16:55 +01:00
Raymond Knopp
271b761a64 frame resynch completed. to be tested with more than 2 RRU. 2018-03-05 08:15:46 +01:00
Raymond Knopp
4afeaaf2ff Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-03-04 18:39:24 +01:00
Raymond Knopp
570ac353f1 frame resynchronization in RAU and RRU 2018-03-04 18:38:43 +01:00
Younes
e57ecfb7f8 modifications for RU synch 2018-03-03 21:33:15 +01:00
Raymond Knopp
b68e7d76eb fixes for if4p5 RRU 2018-03-03 09:36:31 +01:00
Raymond Knopp
103471e9cc added "is_slave" flag parsing to RAU 2018-03-02 20:08:27 +01:00
Raymond Knopp
58fb23757f Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-03-02 17:06:02 +01:00
Younes
cbecc5860c modifications for Synch procedure in RU 2018-03-02 17:02:54 +01:00
Younes
34be055fb3 changes in RAU handling of multiple RRUs 2018-03-02 17:01:20 +01:00
Younes
96c12c86d9 some conditions for TDD which were asserting after latest NFAPI merge. 2018-03-02 12:19:27 +01:00
Raymond Knopp
4695d16cf9 handling of RU_IDLE->RU_RUN->RU_IDLE 2018-02-25 21:58:26 +01:00
Raymond Knopp
1bf4541190 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement
Conflicts:
	targets/SIMU/USER/oaisim.c
2018-02-25 18:24:58 +01:00
Raymond Knopp
5abbdaa39c debugging for RU state control 2018-02-25 18:24:14 +01:00
Raymond Knopp
75325ec79e debbuging for RU state control 2018-02-25 18:23:40 +01:00
Raymond Knopp
d4eb54660a indentation of lte-ru.c 2018-02-23 16:10:02 -08:00
Raymond Knopp
1547de9ad8 debugging for simulator target 2018-02-24 01:04:01 +01:00
Raymond Knopp
72cd1b1d7c update lte-softmodem for init_RU 2018-02-23 18:11:58 +01:00
Raymond Knopp
5cb9fcfce7 fixed compilation error in lte-ru.c Added modifications for oaisim from other branch. 2018-02-23 17:18:52 +01:00
Younes
3ab54c8a4b gpio fix 2018-02-23 16:50:32 +01:00
khadraou
de5e5beee1 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement 2018-02-22 17:11:44 +01:00
Younes
e2ddd50fde Dealing with connection lost case. Now the RRU keeps working but we can't restart it again, a problem with the USRP load 2018-02-22 15:54:27 +01:00
Younes
ecd1f9f3e1 Dealing with the case of keeping RRU working if RAU is down 2018-02-21 15:10:42 +01:00
Nikos Makris
73691de7f6 Fixes that were affecting the communication between PDCP and RLC, cleanup 2018-02-08 19:13:34 +02:00
Nikos Makris
fc43139e6a Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split
Compile with  ./build_oai --eNB -w USRP --pdcp-split
2018-02-07 19:31:51 +02:00
Raymond Knopp
f9aba7ac0f OTA synchronization for TDD. Added PSS position computation for testing on EURECOM CRAN. 2018-02-04 02:18:24 -08:00
Nikos Makris
bc0f49cea0 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split
OAISIM NoS1 broken, needs fixing (no linking of libraries for the UE code)
2018-02-02 20:21:34 +02:00
Younes
9e69e729c5 bugfix 2018-02-02 16:51:59 +01:00
Younes
57f02ec182 bugfix 2018-02-02 16:35:30 +01:00
Younes
7c4e75d018 Send RRU_sync_ok once RRU is in sync 2018-02-02 16:32:22 +01:00
Younes
6e3f57cbe1 added msg type RRU_sync 2018-02-02 16:23:32 +01:00
Younes
58948310b3 Slave RU can now synchronize, the problem was in nb_antennas_rx which is init in UE but not in RU. I added it in ru_thread_control, but it should be done somewhere else. Added msg RRU_sync_ok from RRU to RAU to inform the RAU that the RRU is in sync 2018-02-02 16:22:08 +01:00
Younes
1783066561 removed log 2018-02-02 11:10:08 +01:00
Younes
9d8c205073 Removed some logs 2018-02-02 11:06:49 +01:00
Younes
e0a0f7ed8b Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-02-02 10:55:28 +01:00
Younes
785a435fe0 bugfix in configuring ru from file, at_rx was set to att_tx 2018-02-02 10:53:22 +01:00
Younes
becbaf2006 bugfix in do_ru_synch 2018-01-29 16:04:45 +01:00
Younes
a32775149a commented freq adjustment in do_ru_sync 2018-01-29 16:00:28 +01:00
Younes
4f23f5427c mask adjustment to take into account RRUs not in SYNC 2018-01-29 15:58:12 +01:00
Younes
9255b3b97b Commented MTU tuning 2018-01-29 14:45:55 +01:00
Raymond Knopp
1b87fe8f51 split of external clock and external time sources 2018-01-26 23:53:02 +01:00
Younes
ba5e3e7463 clock source / timing source split.
MTU tuning removed for now.
2018-01-26 16:06:15 +01:00
Younes
22638ba012 Merge branch 'develop-nos1-fixes' into ru_rau_enhancement 2018-01-15 14:32:57 +01:00
Younes
767621ce28 fixing diffs to merge with develop-nos1-fixes 2018-01-15 14:32:02 +01:00
Eurecom
f3be3c4d7b signal output when sync 2017-12-20 16:20:35 +01:00
Eurecom
384e113660 signal output when sync 2017-12-20 16:02:00 +01:00
Eurecom
d7718fb298 signal output when sync 2017-12-20 15:41:26 +01:00
Eurecom
a564363221 bugfix 2017-12-20 15:04:27 +01:00
Eurecom
92d0610c60 bugfix 2017-12-20 15:01:11 +01:00
Eurecom
0f0204556d added config slave 2017-12-20 14:50:27 +01:00
Eurecom
30857e8d74 bugfix 2017-12-20 14:43:32 +01:00
Eurecom
04230dcaa2 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2017-12-20 14:32:04 +01:00
khadraou
7fcb24e6d8 dealing with sync 2017-12-20 14:30:20 +01:00
Eurecom
7be8f7bddc some logs 2017-12-20 14:28:37 +01:00
khadraou
ebb53665d9 dealing with sync 2017-12-20 14:26:10 +01:00
Eurecom
efabb8b687 signal output when sync 2017-12-20 11:40:37 +01:00
Eurecom
80ec6e5e6f signal output when sync 2017-12-20 11:26:45 +01:00
Eurecom
0a953c91d4 signal output when sync 2017-12-20 11:26:08 +01:00
Eurecom
4b69b75b5e signal output when sync 2017-12-20 11:17:58 +01:00
Eurecom
7c5c6e62ba lte_sync_time_eNB logs 2017-12-20 11:06:35 +01:00
Eurecom
eeb399177a lte_sync_time assertFatal added 2017-12-20 11:02:05 +01:00
Eurecom
4c59670399 slave in configfile 2017-12-19 16:45:40 +01:00
Eurecom
70388157af added is_slave to config file 2017-12-19 16:41:07 +01:00
Eurecom
58d9901683 Set RU 0 to master and others to slave. Testing the synch 2017-12-19 15:32:18 +01:00
Eurecom
9d687c8d84 Set RU 0 to master and others to slave. Testing the synch 2017-12-19 15:23:28 +01:00
Eurecom
9b4938293b Set RU 0 to master and others to slave. Testing the synch 2017-12-19 15:13:12 +01:00
Eurecom
f161b406dc Set RU 0 to master and others to slave. Testing the synch 2017-12-19 14:34:36 +01:00
Eurecom
630746e49f Set RU 0 to master and others to slave. Testing the synch 2017-12-19 14:28:27 +01:00
Eurecom
a65a29f91a Bugfix for multiple RRUs. Tested with 2 2017-12-19 10:43:54 +01:00
Eurecom
8414e01f19 VCD logs for frame_number_eNB 2017-12-18 14:51:56 +01:00
khadraou
59b77ffcf8 bugfix 2017-12-14 14:00:56 +01:00
khadraou
24c84695e5 bugfix 2017-12-14 10:09:53 +01:00
khadraou
e015b521d7 bugfix 2017-12-14 09:31:37 +01:00
khadraou
b5a28996c7 bugfix 2017-12-14 09:09:31 +01:00
khadraou
34b16b004f bugfix 2017-12-13 17:12:11 +01:00
khadraou
e4a3a539a5 bugfix 2017-12-13 17:09:36 +01:00
khadraou
0dcc9e8284 bugfix 2017-12-13 17:00:09 +01:00
khadraou
a83218a0dd bugfix 2017-12-13 16:39:49 +01:00
khadraou
362e7c1403 bugfix 2017-12-13 16:38:28 +01:00
khadraou
3a84acfe42 bugfix 2017-12-13 16:25:20 +01:00
khadraou
16f9d4974b bugfix 2017-12-13 16:24:27 +01:00
khadraou
e289be953e bugfix 2017-12-13 15:34:45 +01:00
khadraou
0ef072c722 bugfix 2017-12-13 15:29:58 +01:00
khadraou
eda72f0e8a bugfix 2017-12-13 15:28:48 +01:00
khadraou
c41601908e bugfix 2017-12-13 14:28:13 +01:00
khadraou
6d84da68ef bugfix 2017-12-13 14:26:51 +01:00
khadraou
04e37e9ae2 bugfix 2017-12-13 14:19:09 +01:00
khadraou
c935816d6a bugfix 2017-12-13 12:02:34 +01:00
khadraou
5c5c8c4eb2 ru_thread_control: still missing stop ru_thread; not tested 2017-12-13 11:40:37 +01:00
khadraou
c3a7a7286d added some members to RU_proc, RU_struct, other type of msg and states for RU 2017-12-13 11:40:31 +01:00
khadraou
ca0a6820b9 added some members to RU_proc, RU_struct, other type of msg and states for RU 2017-12-13 11:32:09 +01:00
khadraou
3f2df9bb1e added some members to RU_proc, RU_struct, other type of msg and states for RU 2017-12-13 11:23:53 +01:00
khadraou
242beed0e3 ru_thread_control: still missing stop ru_thread; not tested 2017-12-13 11:21:49 +01:00
khadraou
c9908f536c ru_thread_control: still missing stop ru_thread; not tested 2017-12-13 11:05:54 +01:00
khadraou
c5ea577e3d some code in ru_thread_control, still need to remove redundant code in ru_thread, add the state to ru struct, all ru_thread changes still need to be done 2017-12-07 12:03:44 +01:00
Younes
93551181f3 thread control lte-ru 2017-12-04 10:37:15 +01:00
Nikos Makris
9db40696f7 Added functionality for UDP/TCP/SCTP transferring of data over the ASYNC channel interface.
Added selection of interfaces through the configuration file with a new block of statements as follows:

    FLEXSPLIT_INTERFACES :
    {
        DU_INTERFACE_NAME_FOR_F1U           = "lo";
        DU_IPV4_ADDRESS_FOR_F1U             = "127.0.0.1/24";
        DU_PORT_FOR_F1U			    = 2210;

        CU_INTERFACE_NAME_FOR_F1U           = "lo";
        CU_IPV4_ADDRESS_FOR_F1U             = "127.0.0.1";	//Address to search the DU
        CU_PORT_FOR_F1U			    = 2210;

        // One of TCP/UDP/SCTP
        F1_U_TRANSPORT_TYPE 		    = "UDP";
    };
2017-07-21 14:02:09 +03:00
Nikos Makris
af6af8a90d Cleanup of the messages; sometimes an error is logged 2016-10-10 20:12:46 +03:00
Nikos Makris
e0c3356dbb Fixed memory management issues 2016-10-10 19:43:26 +03:00
Nikos Makris
71cc8fa337 Changed the mem alloc of queue 12 for data; can now work for TCP split with traffic more than 2Mbps 2016-10-04 20:18:15 +03:00
Nikos Makris
2a4fa1da41 Fixed broken UL for data plane split 2016-10-04 18:59:01 +03:00
Nikos Makris
9f3b8cb9f8 Added support for the UL split:
TODO:
1) connection to UEs is broken (tested for oaisim)
2) Memory management problems, oaisim is exiting for large rates of traffic
2016-09-15 18:38:31 +03:00
Nikos Makris
2eb2b5e7ba First working version of the DL split.
TODO list:
1) check the message handler as if the function is not present it does not return msg not handled
2) use and check return arguments from the functions calling the data req
3) parse the config file for the configuration arguments
4) clean up the messy code
5) define and use other protocols than TCP for the communication between RLC and PDCP
2016-09-13 21:02:20 +03:00
Nikos Makris
96e46e77e2 RLC_DATA_REQ Message is created and sent over the async channel, initial functionality preserved 2016-09-08 20:44:33 +03:00
Nikos Makris
70ad5d587e Functionality for a simple protocol agent exchanging echo_request/reply messages 2016-09-05 14:28:58 +03:00
Nikos Makris
bc5e30318f Added proto_agent files for a simple message exchange in oaisim 2016-09-05 14:09:22 +03:00
Navid Nikaein
e508be85d4 add async interface and flexsplit messages 2016-08-29 16:04:07 +02:00
Navid Nikaein
560170a0ee update cmakefile to support split messages and scripts to manage the protobuf 2016-08-29 13:09:05 +02:00
831 changed files with 71187 additions and 637558 deletions

14
.gitignore vendored
View File

@@ -1,8 +1,8 @@
cscope.files
cscope.files2
cscope.in.out
cscope.out
cscope.po.out
# vim swp
*.swp
# log and exec file
log/
lte_build_oai/
targets/bin/
cmake_targets/log/
cmake_targets/lte_build_oai/
cmake_targets/nas_sim_tools/build/

View File

@@ -1,266 +0,0 @@
*******************************************************************************************************
*Below is the list of files whose conflicts have been reolved, including some comments for the files *
*where the conflicts are not resolved completely yet *
*******************************************************************************************************
cmake_targets/CMakeLists.txt (complicated)
common/config/config_cmdline.c (Done but not sure)
common/config/config_userapi.c
d2d_emulator_setup.txt
nfapi/oai_integration/nfapi_pnf.c
nfapi/open-nFAPI/vnf/src/vnf_p7.c
openair1/PHY/INIT/lte_init.c
openair1/PHY/INIT/lte_init_ue.c
openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c (Do not know which definition of lte_ul_channel_estimation() to use.
All the changes correspond to sidelink? Should it be modified to support both sidelink and
uplink now?)
openair1/PHY/LTE_TRANSPORT/dci.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/pbch.c
openair1/PHY/LTE_TRANSPORT/prach.c
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h (Not sure whether the following func. definitions should be there: ulsch_qpsk_llr,
ulsch_16qam_llr, fill_dci_and_dlsch, fill_mdci_and_dlsch, fill_dci0,
fill_ulsch, generate_eNB_dlsch_params_from_dci, generate_eNB_ulsch_params_from_rar.
Same for: ul_subframe2pdcch_alloc_subframe, find_dlsch, )
openair1/PHY/MODULATION/slot_fep_ul.c
openair1/PHY/defs_eNB.h (Removed definitions of typedef uint8_t(decoder_if_t) and typedef uint8_t(*encoder_if_t)(uint8_t *input from defs_enb.h and left
only the corresponding definitions in defs_common.h. However they are slightly different. I kept the ones that were in
defs_enb.h (i.e., modified the ones on defs_common so that they are identical with the ones in defs_enb.h. Not sure if
this is correct).
openair1/PHY/impl_defs_lte.h
openair1/PHY/phy_vars.h
openair1/SCHED/fapi_l1.c
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/sched_common.h (There are a lot of function definitions which are also in other header files and they differ. Not sure which one I
should keep.)
openair1/SCHED_UE/phy_procedures_lte_ue.c (Should we keep ue->generate_ul_signal[][] or ue->generate_ul_signal[]? I guess the first.
In conflicting lines 1491-1497 I am not sure which version to keep.)
openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c
openair1/SIMULATION/LTE_PHY/dlsim.c
openair2/COMMON/mac_rrc_primitives.h
openair2/COMMON/platform_types.h
openair2/COMMON/rrc_messages_types.h
openair2/ENB_APP/enb_config.c (done but not so sure)
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/flexran_agent_ran_api.c
openair2/LAYER2/MAC/config.c
openair2/LAYER2/MAC/config_ue.c
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
openair2/LAYER2/MAC/eNB_scheduler_mch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/mac.h
openair2/LAYER2/MAC/mac_proto.h
openair2/LAYER2/MAC/pre_processor.c
openair2/LAYER2/MAC/ra_procedures.c
openair2/LAYER2/MAC/ue_procedures.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
openair2/LAYER2/RLC/rlc.c
openair2/LAYER2/RLC/rlc.h
openair2/LAYER2/RLC/rlc_mac.c
openair2/LAYER2/RLC/rlc_mpls.c
openair2/LAYER2/RLC/rlc_rrc.c
openair2/NETWORK_DRIVER/UE_IP/common.c
openair2/NETWORK_DRIVER/UE_IP/device.c
openair2/NETWORK_DRIVER/UE_IP/local.h
openair2/PHY_INTERFACE/IF_Module.c
openair2/PHY_INTERFACE/UE_MAC_interface.h (Should be completely deleted)
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.h
openair2/RRC/LTE/L2_interface.c
openair2/RRC/LTE/L2_interface_ue.c
openair2/RRC/LTE/MESSAGES/asn1_msg.c (Inside do_sib23() there are some lines ASN_SEQUENCE_ADD(...) corresponding to the addition of
SIB18, 19,21 which are commented out in the develop-version whereas they were intially integrated from
Thinh in the sidelink branches. Is this the removal that Cedric did for RF operation because
the SIB2/3 message turned out to be very large with these new elements?.
Additional not sure whether lines 1646-1663 should be included or not. They were in the sidelink branch
version)
openair2/RRC/LTE/MESSAGES/asn1_msg.h
openair2/RRC/LTE/rrc_UE.c (Some conflicts were complicated)
openair2/RRC/LTE/rrc_defs.h
openair2/RRC/LTE/rrc_eNB.c (In function rrc_rx_tx() not sure which one we should keep:
if (ue_context_p->ue_context.ul_failure_timer >= 8) { #sidelink branch version
OR
if (ue_context_p->ue_context.ul_failure_timer >= 20000) { #Develop branch version
For now I keep the develop version
openair2/RRC/LTE/rrc_proto.h
openair3/GTPV1-U/gtpv1u_eNB.c
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp (Had we changed something in the sidelink branch? I have kept all the develop versions
of the conflicts)
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi-STUB.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.h
targets/RT/USER/lte-ue.c (In UE_thread_synch() the following part referring to cell synchronization is
commented out:
/*
FILE *fd;
if ((fd = fopen("rxsig_frame0.dat","w"))!=NULL) {
fwrite((void*)&UE->common_vars.rxdata[0][0],
sizeof(int32_t),
10*UE->frame_parms.samples_per_tti,
fd);
LOG_I(PHY,"Dummping Frame ... bye bye \n");
fclose(fd);
exit(0);
}
AssertFatal(1==0,"No cell synchronization found, abandoning");
return &UE_thread_synch_retval; // not reached
*/
What should be done in the merged branch now?
In the branch version of init_UE_threads() which I kept I added the following lines originating
from the develop branch:
UE->proc.instance_cnt_synch = -1;
UE->is_synchronized = 0;
and then later:
UE->proc.proc_rxtx[i].instance_cnt_rxtx = -1;)
targets/RT/USER/lte-uesoftmodem.c (Complicated in main())
*******************************************************************************************************
*Below is the pending list of files with conflicts that remain to be resolved *
*******************************************************************************************************
deleted by them: openair1/PHY/TOOLS/file_output.c
deleted by them: openair1/SCHED/pusch_pc.c
deleted by them: openair2/UTIL/LOG/log.c
deleted by them: openair2/UTIL/LOG/log.h
deleted by them: targets/RT/USER/lte-ran.c
deleted by them: targets/SIMU/USER/channel_sim.c (Shouldn't remove that)
*******************************************************************************************************
*Below is the initial list of files with conflicts right after the merge *
*******************************************************************************************************
both modified: cmake_targets/CMakeLists.txt
both modified: common/config/config_cmdline.c
both modified: common/config/config_userapi.c
both added: d2d_emulator_setup.txt
both modified: nfapi/oai_integration/nfapi_pnf.c
both modified: nfapi/open-nFAPI/vnf/src/vnf_p7.c
both modified: openair1/PHY/INIT/lte_init.c
both modified: openair1/PHY/INIT/lte_init_ue.c
both modified: openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
both modified: openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
both modified: openair1/PHY/LTE_TRANSPORT/dci.c
both modified: openair1/PHY/LTE_TRANSPORT/dci_tools.c
both modified: openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
both modified: openair1/PHY/LTE_TRANSPORT/pbch.c
both modified: openair1/PHY/LTE_TRANSPORT/prach.c
both modified: openair1/PHY/LTE_TRANSPORT/transport_eNB.h
both modified: openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
both modified: openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
both modified: openair1/PHY/MODULATION/slot_fep_ul.c
deleted by them: openair1/PHY/TOOLS/file_output.c
both modified: openair1/PHY/defs_eNB.h
both modified: openair1/PHY/impl_defs_lte.h
both modified: openair1/PHY/phy_vars.h
both modified: openair1/SCHED/fapi_l1.c
both modified: openair1/SCHED/phy_procedures_lte_eNb.c
deleted by them: openair1/SCHED/pusch_pc.c
both modified: openair1/SCHED/sched_common.h
both modified: openair1/SCHED_UE/phy_procedures_lte_ue.c
both modified: openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c
both modified: openair1/SIMULATION/LTE_PHY/dlsim.c
both modified: openair2/COMMON/mac_rrc_primitives.h
both modified: openair2/COMMON/platform_types.h
both modified: openair2/COMMON/rrc_messages_types.h
both modified: openair2/ENB_APP/enb_config.c
both modified: openair2/ENB_APP/enb_paramdef.h
both modified: openair2/ENB_APP/flexran_agent_ran_api.c
both modified: openair2/LAYER2/MAC/config.c
both modified: openair2/LAYER2/MAC/config_ue.c
both modified: openair2/LAYER2/MAC/eNB_scheduler.c
both modified: openair2/LAYER2/MAC/eNB_scheduler_RA.c
both modified: openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
both modified: openair2/LAYER2/MAC/eNB_scheduler_mch.c
both modified: openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
both modified: openair2/LAYER2/MAC/mac.h
both modified: openair2/LAYER2/MAC/mac_proto.h
both modified: openair2/LAYER2/MAC/pre_processor.c
both modified: openair2/LAYER2/MAC/ra_procedures.c
both modified: openair2/LAYER2/MAC/ue_procedures.c
both modified: openair2/LAYER2/PDCP_v10.1.0/pdcp.c
both modified: openair2/LAYER2/PDCP_v10.1.0/pdcp.h
both modified: openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
both modified: openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
both modified: openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
both modified: openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h
both modified: openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
both modified: openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
both modified: openair2/LAYER2/RLC/rlc.c
both modified: openair2/LAYER2/RLC/rlc.h
both modified: openair2/LAYER2/RLC/rlc_mac.c
both modified: openair2/LAYER2/RLC/rlc_mpls.c
both modified: openair2/LAYER2/RLC/rlc_rrc.c
both modified: openair2/NETWORK_DRIVER/UE_IP/common.c
both modified: openair2/NETWORK_DRIVER/UE_IP/device.c
both modified: openair2/NETWORK_DRIVER/UE_IP/local.h
both modified: openair2/PHY_INTERFACE/IF_Module.c
both added: openair2/PHY_INTERFACE/UE_MAC_interface.h
both added: openair2/PHY_INTERFACE/phy_stub_UE.c
both added: openair2/PHY_INTERFACE/phy_stub_UE.h
both modified: openair2/RRC/LTE/L2_interface.c
both modified: openair2/RRC/LTE/L2_interface_ue.c
both modified: openair2/RRC/LTE/MESSAGES/asn1_msg.c
both modified: openair2/RRC/LTE/MESSAGES/asn1_msg.h
both modified: openair2/RRC/LTE/rrc_UE.c
both modified: openair2/RRC/LTE/rrc_defs.h
both modified: openair2/RRC/LTE/rrc_eNB.c
both modified: openair2/RRC/LTE/rrc_proto.h
deleted by them: openair2/UTIL/LOG/log.c
deleted by them: openair2/UTIL/LOG/log.h
both modified: openair3/GTPV1-U/gtpv1u_eNB.c
both modified: targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
both added: targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
both modified: targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
both added: targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi-STUB.conf
both modified: targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf
both modified: targets/RT/USER/lte-enb.c
deleted by them: targets/RT/USER/lte-ran.c
both modified: targets/RT/USER/lte-ru.c
both modified: targets/RT/USER/lte-softmodem.c
both modified: targets/RT/USER/lte-softmodem.h
both modified: targets/RT/USER/lte-ue.c
both modified: targets/RT/USER/lte-uesoftmodem.c #Conflicts solved up to here
deleted by them: targets/SIMU/USER/channel_sim.c (Shouldn't remove that)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: openair1/PHY/LTE_UE_TRANSPORT/pbch_ue.c
modified: openair1/PHY/defs_UE.h
modified: openair1/PHY/defs_common.h
Untracked files:
(use "git add <file>..." to include in what will be committed)
.cproject
.project
diff_merge_develop.patch

View File

@@ -17,7 +17,7 @@ openairinterface5g
├── maketags : Script to generate emacs tags
├── nfapi : Contains the NFAPI code. A local Readme file provides more details.
├── openair1 : 3GPP LTE Rel-10/12 PHY layer + PHY RF simulation. A local Readme file provides more details.
├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP implementation.
├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP implementation.
├── COMMON
├── DOCS
├── ENB_APP
@@ -63,3 +63,4 @@ v1.0.0 -> January 2019. This version first implements the architectural split de
A lot of bugfixes and a proper automated Continuous Integration process validates contributions.
v1.0.1 -> February 2019: Bug fix for the UE L1 simulator.
v1.0.2 -> February 2019: Full OAI support for 3.13.1 UHD
v1.0.3 -> June 2019: Bug fix for LimeSuite v19.04.0 API

Binary file not shown.

View File

@@ -33,15 +33,18 @@ def sendSocialMediaMessage(pipeChannel, pipeColor, pipeMessage) {
def doRedHatBuild = false
def doFlexranCtrlTest = false
// Location of the executor node
def nodeExecutor = params.nodeExecutor
pipeline {
agent {
label 'bellatrix'
label nodeExecutor
}
options {
disableConcurrentBuilds()
timestamps()
gitLabConnection('OAI GitLab')
gitlabBuilds(builds: ["Build eNb-USRP", "Build basic-sim", "Build phy-sim", "Build eNb-ethernet", "Build UE-ethernet", "Analysis with cppcheck", "Test phy-sim", "Test basic-sim", "Test L2-sim", "Test-FDD-Band7", "Test-TDD-Band40", "Test-IF4p5-FDD-Band7", "Test-IF4p5-TDD-Band40"])
gitlabBuilds(builds: ["Build eNb-USRP", "Build basic-sim", "Build phy-sim", "Build eNb-ethernet", "Build UE-ethernet", "Analysis with cppcheck", "Test phy-sim", "Test basic-sim", "Test L2-sim", "Test-Mono-FDD-Band7", "Test-Mono-TDD-Band40", "Test-IF4p5-FDD-Band7", "Test-IF4p5-TDD-Band40", "Test-Mono-FDD-Band13"])
ansiColor('xterm')
}
@@ -85,6 +88,9 @@ pipeline {
echo "GitLab Act is ${env.gitlabActionType}"
script {
if ("MERGE".equals(env.gitlabActionType)) {
// since a bit, in push events, gitlabUserEmail is not populated
gitCommitAuthorEmailAddr = env.gitlabUserEmail
echo "GitLab Usermail is ${gitCommitAuthorEmailAddr}"
// GitLab-Jenkins plugin integration is lacking to perform the merge by itself
// Doing it manually --> it may have merge conflicts
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
@@ -104,6 +110,10 @@ pipeline {
} else {
echo "Git Branch is ${GIT_BRANCH}"
echo "Git Commit is ${GIT_COMMIT}"
// since a bit, in push events, gitlabUserEmail is not populated
gitCommitAuthorEmailAddr = sh returnStdout: true, script: 'git log -n1 --pretty=format:%ae ${GIT_COMMIT}'
gitCommitAuthorEmailAddr = gitCommitAuthorEmailAddr.trim()
echo "GitLab Usermail is ${gitCommitAuthorEmailAddr}"
sh "git log -n1 --pretty=format:\"%s\" > .git/CI_COMMIT_MSG"
sh "zip -r -qq localZip.zip ."
@@ -130,6 +140,7 @@ pipeline {
script {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Merge Conflicts -- Cannot perform CI"
addGitLabMRComment comment: message
currentBuild.result = 'FAILURE'
}
}
}
@@ -167,14 +178,6 @@ pipeline {
}
}
stage ("Start VM -- L2-Sim") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Start VM -- phy-sim") {
steps {
timeout (time: 5, unit: 'MINUTES') {
@@ -224,7 +227,7 @@ pipeline {
steps {
gitlabCommitStatus(name: "Build eNb-ethernet") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
@@ -233,20 +236,11 @@ pipeline {
steps {
gitlabCommitStatus(name: "Build UE-ethernet") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build L2-Simulator-eNB") {
steps {
//gitlabCommitStatus(name: "Build UE-ethernet") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
//}
}
}
stage ("Build physical simulators") {
steps {
gitlabCommitStatus(name: "Build phy-sim") {
@@ -272,7 +266,7 @@ pipeline {
}
}
} catch (Exception e) {
echo "Red Hat build failed not an error now"
echo "Red Hat build failed but we could keep running pipeline if all ubuntu-based build passed"
}
}
}
@@ -280,6 +274,11 @@ pipeline {
}
}
post {
failure {
script {
currentBuild.result = 'FAILURE'
}
}
always {
script {
dir ('archives') {
@@ -290,6 +289,17 @@ pipeline {
}
if ("MERGE".equals(env.gitlabActionType)) {
sh "./ci-scripts/oai-ci-vm-tool report-build --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
// If the merge request has introduced more CPPCHECK errors or warnings, notifications in GitLab
if (fileExists('oai_cppcheck_added_errors.txt')) {
def ret=readFile('./oai_cppcheck_added_errors.txt').trim();
if ("0".equals(ret)) {
echo "No added cppcheck warnings/errors in this merge request"
} else {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Some modified files in Merge Request MAY have INTRODUCED up to " + ret + " CPPCHECK errors/warnings"
addGitLabMRComment comment: message
}
}
// If the merge request has introduced compilation warnings, notifications in GitLab
sh "./ci-scripts/checkAddedWarnings.sh --src-branch ${env.gitlabSourceBranch} --target-branch ${env.gitlabTargetBranch}"
def res=readFile('./oai_warning_files.txt').trim();
if ("0".equals(res)) {
@@ -313,174 +323,160 @@ pipeline {
stage ("Variant Tests") {
parallel {
stage ("Test physical simulators") {
steps {
gitlabCommitStatus(name: "Test phy-sim") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Test basic simulator") {
steps {
gitlabCommitStatus(name: "Test basic-sim") {
timeout (time: 30, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Test L2 simulator") {
steps {
gitlabCommitStatus(name: "Test L2-sim") {
timeout (time: 30, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Build Flexran Controller") {
when {
expression {doFlexranCtrlTest}
}
steps {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant flexran-rtc --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
stage ("Test FDD - Band 7 - B210") {
steps {
script {
if ("MERGE".equals(env.gitlabActionType)) {
gitlabCommitStatus(name: "Test-FDD-Band7") {
build job: 'eNB-CI-FDD-Band7-B210',
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: true)
]
}
} else {
gitlabCommitStatus(name: "Test-FDD-Band7") {
build job: 'eNB-CI-FDD-Band7-B210',
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
}
}
post {
// 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
always {
script {
if (!fileExists('test_results-eNB-CI-FDD-Band7-B210.html')) {
copyArtifacts(projectName: 'eNB-CI-FDD-Band7-B210',
filter: 'test_results*.html',
selector: lastCompleted())
if (fileExists('test_results-eNB-CI-FDD-Band7-B210.html')) {
sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-FDD-Band7-B210.html"
archiveArtifacts artifacts: 'test_results-eNB-CI-FDD-Band7-B210.html'
stage ("VM-based tests") {
stages {
stage ("Test physical simulators") {
steps {
script {
timeout (time: 20, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test phy-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
}
stage ("Test TDD - Band 40 - B210") {
steps {
script {
if ("MERGE".equals(env.gitlabActionType)) {
gitlabCommitStatus(name: "Test-TDD-Band40") {
build job: 'eNB-CI-TDD-Band40-B210',
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: true)
]
}
} else {
gitlabCommitStatus(name: "Test-TDD-Band40") {
build job: 'eNB-CI-TDD-Band40-B210',
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
stage ("Build Flexran Controller") {
when {
expression {doFlexranCtrlTest}
}
steps {
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'
}
}
}
}
}
}
post {
// 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
always {
script {
if (!fileExists('test_results-eNB-CI-TDD-Band40-B210.html')) {
copyArtifacts(projectName: 'eNB-CI-TDD-Band40-B210',
filter: 'test_results*.html',
selector: lastCompleted())
if (fileExists('test_results-eNB-CI-TDD-Band40-B210.html')) {
sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-TDD-Band40-B210.html"
archiveArtifacts artifacts: 'test_results-eNB-CI-TDD-Band40-B210.html'
stage ("Test basic simulator") {
steps {
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") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test L1-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l1-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Test RF simulator") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test RF-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant rf-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Test L2 simulator") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test L2-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Destroy all Virtual Machines") {
steps {
sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Test MONOLITHIC - FDD - Band 7 - B210") {
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") {
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") {
steps {
script {
if ("MERGE".equals(env.gitlabActionType)) {
gitlabCommitStatus(name: "Test-IF4p5-FDD-Band7") {
build job: 'eNB-CI-IF4p5-FDD-Band7-B210',
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: true)
]
}
} else {
gitlabCommitStatus(name: "Test-IF4p5-FDD-Band7") {
build job: 'eNB-CI-IF4p5-FDD-Band7-B210',
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
sh "sleep 60"
triggerSlaveJob ('eNB-CI-IF4p5-FDD-Band7-B210', 'Test-IF4p5-FDD-Band7')
}
}
post {
// 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
always {
script {
if (!fileExists('test_results-eNB-CI-IF4p5-FDD-Band7-B210.html')) {
copyArtifacts(projectName: 'eNB-CI-IF4p5-FDD-Band7-B210',
filter: 'test_results*.html',
selector: lastCompleted())
if (fileExists('test_results-eNB-CI-IF4p5-FDD-Band7-B210.html')) {
sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-IF4p5-FDD-Band7-B210.html"
archiveArtifacts artifacts: 'test_results-eNB-CI-IF4p5-FDD-Band7-B210.html'
}
}
finalizeSlaveJob('eNB-CI-IF4p5-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
@@ -488,44 +484,78 @@ pipeline {
stage ("Test IF4p5 - TDD - Band 40 - B210") {
steps {
script {
if ("MERGE".equals(env.gitlabActionType)) {
gitlabCommitStatus(name: "Test-IF4p5-TDD-Band40") {
build job: 'eNB-CI-IF4p5-TDD-Band40-B210',
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: true)
]
}
} else {
gitlabCommitStatus(name: "Test-IF4p5-TDD-Band40") {
build job: 'eNB-CI-IF4p5-TDD-Band40-B210',
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
sh "sleep 60"
triggerSlaveJob ('eNB-CI-IF4p5-TDD-Band40-B210', 'Test-IF4p5-TDD-Band40')
}
}
post {
// 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
always {
script {
if (!fileExists('test_results-eNB-CI-IF4p5-TDD-Band40-B210.html')) {
copyArtifacts(projectName: 'eNB-CI-IF4p5-TDD-Band40-B210',
filter: 'test_results*.html',
selector: lastCompleted())
if (fileExists('test_results-eNB-CI-IF4p5-TDD-Band40-B210.html')) {
sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-IF4p5-TDD-Band40-B210.html"
archiveArtifacts artifacts: 'test_results-eNB-CI-IF4p5-TDD-Band40-B210.html'
}
}
finalizeSlaveJob('eNB-CI-IF4p5-TDD-Band40-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test MONOLITHIC - FDD - Band 13 - B210") {
steps {
script {
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-B210', 'Test-Mono-FDD-Band13')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-MONO-FDD-Band13-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - FDD - Band 20 - B200") {
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") {
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'
}
}
}
@@ -553,11 +583,6 @@ pipeline {
}
}
}
stage ("Destroy all Virtual Machines") {
steps {
sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
post {
always {
@@ -566,13 +591,14 @@ pipeline {
sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
emailext attachmentsPattern: '*results*.html',
body: '''Hi,
Here are attached HTML report files for $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Regards,
OAI CI Team''',
replyTo: 'no-reply@openairinterface.org',
subject: '$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!',
to: env.gitlabUserEmail
to: gitCommitAuthorEmailAddr
if (fileExists('.git/CI_COMMIT_MSG')) {
sh "rm -f .git/CI_COMMIT_MSG"
@@ -607,3 +633,66 @@ OAI CI Team''',
}
}
}
// ---- Slave Job functions
def triggerSlaveJob (jobName, gitlabStatusName) {
if ("MERGE".equals(env.gitlabActionType)) {
gitlabCommitStatus(name: gitlabStatusName) {
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: true),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
]
}
} else {
gitlabCommitStatus(name: gitlabStatusName) {
build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
}
def triggerSlaveJobNoGitLab (jobName) {
if ("MERGE".equals(env.gitlabActionType)) {
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: true),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
]
} else {
build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
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

@@ -0,0 +1,430 @@
#!/bin/groovy
/*
* 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
*/
// 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
def pythonExecutor = params.pythonExecutor
// Location of the test XML file to be run
def testXMLFile = params.pythonTestXmlFile
def mainPythonAllXmlFiles = ""
def buildStageStatus = true
// Name of the test stage
def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Name of the phone resource
def oaiUEResource = params.oaiUEResource
// Terminate Status
def termENB = 0
def termOAIUE = 1
def termStatusArray = new Boolean[termOAIUE + 1]
termStatusArray[termENB] = false
termStatusArray[termOAIUE] = false
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
def eNB_Branch
def eNB_CommitID
def eNB_AllowMergeRequestProcess = false
def eNB_TargetBranch
pipeline {
agent {
label pythonExecutor
}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock(extra: [[resource: ciSmartPhoneResource]], resource: ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.smartphonesResource == null) {
allParametersPresent = false
}
if (params.oaiUEResource == null) {
allParametersPresent = false
}
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
if (params.UE_IPAddress == null) {
allParametersPresent = false
}
if (params.UE_SourceCodePath == null) {
allParametersPresent = false
}
if (params.UE_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest != null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TesteNB --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
stage ("Terminate") {
parallel {
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}"
}
}
post {
success {
script {
termStatusArray[termENB] = true
}
}
}
}
stage('Terminate OAI-UE') {
steps {
echo '\u2705 \u001B[32mTerminate OAI-UE\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
post {
success {
script {
termStatusArray[termOAIUE] = true
}
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Run)') {
steps {
withCredentials([
[$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}"
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"
}
script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
stage('Log Collection (OAI UE - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (OAI UE - Run)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/ue.log.zip ./ue.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ue.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Ping)') {
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)') {
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"
}
}
}
}
stage('Log Collection (SPGW)') {
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)') {
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)') {
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"
}
}
}
}
}
}
}
post {
always {
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
// Making sure that we really shutdown every thing before leaving
failure {
script {
if (!termStatusArray[termENB]) {
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}"
}
}
if (!termStatusArray[termOAIUE]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
}

View File

@@ -106,19 +106,6 @@ pipeline {
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
@@ -191,6 +178,13 @@ pipeline {
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
@@ -203,6 +197,21 @@ pipeline {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
@@ -211,6 +220,7 @@ pipeline {
sh "python3 main.py --mode=InitiateHtml --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
@@ -218,6 +228,7 @@ pipeline {
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}

View File

@@ -0,0 +1,271 @@
#!/bin/groovy
/*
* 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
*/
// 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
def pythonExecutor = params.pythonExecutor
// Location of the test XML file to be run
def testXMLFile = params.pythonTestXmlFile
def mainPythonAllXmlFiles = ""
def buildStageStatus = true
// Name of the test stage
def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Terminate Status
def termUE = 0
def termENB = 1
def termSPGW = 2
def termMME = 3
def termHSS = 4
def termStatusArray = new Boolean[termHSS + 1]
termStatusArray[termUE] = false
termStatusArray[termENB] = false
termStatusArray[termSPGW] = false
termStatusArray[termMME] = false
termStatusArray[termHSS] = false
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
def eNB_Branch
def eNB_CommitID
def eNB_AllowMergeRequestProcess = false
def eNB_TargetBranch
pipeline {
agent {
label pythonExecutor
}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.smartphonesResource == null) {
allParametersPresent = false
}
if (params.UE_IPAddress == null) {
allParametersPresent = false
}
if (params.UE_SourceCodePath == null) {
allParametersPresent = false
}
if (params.UE_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest != null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
/*
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
*/
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/ue_band20_build.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TestUE --UEIPAddress=${params.UE_IPAddress} --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (OAI UE - Build)') {
steps {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Build)\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (UE - Build)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI UE - Run)') {
steps {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Run)\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=LogCollectOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (UE - Run)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/ue.log.zip ./ue.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ue.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
}
}
}
post {
always {
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,33 @@
BEGIN{lineIdx=0;captureUEDesc=0}
{
if ($0 ~/UE0/) {
captureUEDesc = 1
}
if (captureUEDesc == 1) {
captureLine[lineIdx] = $0
lineIdx = lineIdx + 1
}
print $0
}
END {
for (ueIdx = 1; ueIdx < num_ues; ueIdx++) {
print ""
for (k = 0; k < lineIdx; k++) {
if (captureLine[k] ~/UE0/) {
mLine = captureLine[k]
gsub("UE0", "UE"ueIdx, mLine)
print mLine
} else {
if (captureLine[k] ~/MSIN=/) {
mLine = captureLine[k]
MSIN=sprintf("%08d", 1111+int(ueIdx))
gsub("00001111", MSIN, mLine)
print mLine
} else {
print captureLine[k]
}
}
}
}
}

View File

@@ -0,0 +1,27 @@
BEGIN{lineIdx=0}
{
captureLine[lineIdx] = $0
lineIdx = lineIdx + 1
print $0
}
END{
for (ueIdx = 1; ueIdx < num_ues; ueIdx++) {
for (k = 0; k < lineIdx; k++) {
if (captureLine[k] ~/UserName=/) {
mLine = captureLine[k]
MSIN=sprintf("%08d", 1111+int(ueIdx))
gsub("00001111", MSIN, mLine)
print mLine
} else {
if (captureLine[k] ~/SubscriptionIndex/) {
mLine = captureLine[k]
MSIN=sprintf("%d", 111+int(ueIdx))
gsub("111", MSIN, mLine)
print mLine
} else {
print captureLine[k]
}
}
}
}
}

View File

@@ -180,7 +180,7 @@ echo "Checking build status"
echo "############################################################"
LOG_PATTERN=.Rel14.txt
NB_PATTERN_FILES=4
NB_PATTERN_FILES=7
LOG_FILES=`ls $ARCHIVES_LOC/*.txt`
STATUS=0
@@ -204,12 +204,13 @@ then
STATUS=-1
fi
echo "COMMAND: build_oai -I -w USRP --eNB" > $ARCHIVES_LOC/build_final_status.log
if [ $STATUS -eq 0 ]
then
echo "BUILD_OK" > $ARCHIVES_LOC/build_final_status.log
echo "BUILD_OK" >> $ARCHIVES_LOC/build_final_status.log
echo "STATUS seems OK"
else
echo "BUILD_KO" > $ARCHIVES_LOC/build_final_status.log
echo "BUILD_KO" >> $ARCHIVES_LOC/build_final_status.log
echo "STATUS failed?"
fi
exit $STATUS

View File

@@ -25,7 +25,7 @@ function build_usage {
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- xenial image already synced"
echo " -- $VM_OSREL image already synced"
echo " Default:"
echo " -- eNB with USRP"
echo ""
@@ -33,31 +33,8 @@ function build_usage {
echo "------"
echo " oai-ci-vm-tool build [OPTIONS]"
echo ""
echo "Mandatory Options:"
echo "--------"
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
echo " --workspace #### OR -ws ####"
echo " Specify the workspace."
echo ""
echo "Options:"
echo "--------"
variant_usage
echo " Specify the variant to build."
echo ""
echo " --keep-vm-alive OR -k"
echo " Keep the VM alive after the build."
echo ""
echo " --daemon OR -D"
echo " Run as daemon"
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
command_options_usage
}
function build_on_vm {
@@ -95,7 +72,7 @@ function build_on_vm {
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
echo "############################################################"
acquire_vm_create_lock
uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
uvt-kvm create $VM_NAME release=$VM_OSREL --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
@@ -111,7 +88,7 @@ function build_on_vm {
fi
echo "############################################################"
echo "Copying GIT repo into VM ($VM_NAME)"
echo "Copying GIT repo into VM ($VM_NAME)"
echo "############################################################"
if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
@@ -213,6 +190,6 @@ function build_on_vm {
echo "sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp/cmake_targets -o /home/ubuntu/tmp/cmake_targets/log/install-build.txt ./my-vm-build.sh" >> $VM_CMDS
fi
fi
ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
ssh -T -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
rm -f $VM_CMDS
}

View File

@@ -95,7 +95,7 @@ fi
# Merge request scenario
MERGE_COMMMIT=`git log -n1 | grep commit | sed -e "s@commit @@"`
MERGE_COMMMIT=`git log -n1 --pretty=format:%H`
TARGET_INIT_COMMIT=`cat .git/refs/remotes/origin/$TARGET_BRANCH`
echo " ---- Checking the modified files by the merge request ----"

View File

@@ -111,7 +111,7 @@ fi
# Merge request scenario
MERGE_COMMMIT=`git log -n1 | grep commit | sed -e "s@commit @@"`
MERGE_COMMMIT=`git log -n1 --pretty=format:%H`
TARGET_INIT_COMMIT=`cat .git/refs/remotes/origin/$TARGET_BRANCH`
echo " ---- Checking the modified files by the merge request ----"

View File

@@ -0,0 +1,221 @@
Active_eNBs = ( "eNB-CU-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs = (
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-CU-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } )
nr_cellid = 12345678L
tr_s_preference = "f1"
local_s_if_name = "lo";
remote_s_address = "127.0.0.3";
local_s_address = "127.0.0.4";
local_s_portc = 501;
remote_s_portc = 500;
local_s_portd = 601;
remote_s_portd = 600;
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNodeB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 100;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -29;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnable = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/*
srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;
*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff= 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/*
rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = (
{
ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : {
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -0,0 +1,221 @@
Active_eNBs = ( "eNB-CU-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs = (
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-CU-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } )
nr_cellid = 12345678L
tr_s_preference = "f1"
local_s_if_name = "lo";
remote_s_address = "127.0.0.3";
local_s_address = "127.0.0.4";
local_s_portc = 501;
remote_s_portc = 500;
local_s_portd = 601;
remote_s_portd = 600;
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNodeB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 25;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -25;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnable = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/*
srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;
*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff= 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/*
rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = (
{
ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : {
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -0,0 +1,221 @@
Active_eNBs = ( "eNB-CU-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs = (
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-CU-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } )
nr_cellid = 12345678L
tr_s_preference = "f1"
local_s_if_name = "lo";
remote_s_address = "127.0.0.3";
local_s_address = "127.0.0.4";
local_s_portc = 501;
remote_s_portc = 500;
local_s_portd = 601;
remote_s_portd = 600;
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNodeB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnable = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/*
srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;
*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff= 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/*
rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = (
{
ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : {
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -0,0 +1,128 @@
Active_eNBs = ( "eNB-Eurecom-DU");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_CU_ID = 0xe00;
eNB_name = "eNB-Eurecom-DU";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } )
nr_cellid = 12345678L
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 115;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "f1";
local_n_if_name = "lo";
remote_n_address = "127.0.0.4";
local_n_address = "127.0.0.3";
local_n_portc = 500;
remote_n_portc = 501;
local_n_portd = 600;
remote_n_portd = 601;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes";
nb_tx = 1;
nb_rx = 1;
att_tx = 10;
att_rx = 10;
bands = [7];
max_pdschReferenceSignalPower = -29;
max_rxgain = 115;
eNB_instances = [0];
}
);
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
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";
}
);

View File

@@ -0,0 +1,128 @@
Active_eNBs = ( "eNB-Eurecom-DU");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_CU_ID = 0xe00;
eNB_name = "eNB-Eurecom-DU";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } )
nr_cellid = 12345678L
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 25;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "f1";
local_n_if_name = "lo";
remote_n_address = "127.0.0.4";
local_n_address = "127.0.0.3";
local_n_portc = 500;
remote_n_portc = 501;
local_n_portd = 600;
remote_n_portd = 601;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes";
nb_tx = 1;
nb_rx = 1;
att_tx = 10;
att_rx = 10;
bands = [7];
max_pdschReferenceSignalPower = -25;
max_rxgain = 125;
eNB_instances = [0];
}
);
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
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";
}
);

View File

@@ -0,0 +1,128 @@
Active_eNBs = ( "eNB-Eurecom-DU");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_CU_ID = 0xe00;
eNB_name = "eNB-Eurecom-DU";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } )
nr_cellid = 12345678L
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 120;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "f1";
local_n_if_name = "lo";
remote_n_address = "127.0.0.4";
local_n_address = "127.0.0.3";
local_n_portc = 500;
remote_n_portc = 501;
local_n_portd = 600;
remote_n_portd = 601;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes";
nb_tx = 1;
nb_rx = 1;
att_tx = 10;
att_rx = 10;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 120;
eNB_instances = [0];
}
);
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
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";
}
);

View File

@@ -13,9 +13,9 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2;} );
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2;} );
tr_s_preference = "local_mac"
@@ -48,23 +48,23 @@ eNBs =
prach_zero_correlation = 1;
prach_freq_offset = 1;
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -27;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -24;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
@@ -73,14 +73,14 @@ eNBs =
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = "n64"; #64
rach_preamblesGroupAConfig = "DISABLE";
rach_numberOfRA_Preambles = "n64"; #64
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
@@ -105,7 +105,7 @@ eNBs =
ue_TransmissionMode = "tm1";
# eMTC Parameters
emtc_parameters :
emtc_parameters :
{
eMTC_configured = 1;
#hyperSFN_r13 = 0;
@@ -115,7 +115,7 @@ eNBs =
#SIB1
schedulingInfoSIB1_BR_r13 = 4;
#system_info_value_tag_SI =
#system_info_value_tag_SI =
#(
# {
# systemInfoValueTagSi_r13 = 0;
@@ -124,7 +124,7 @@ eNBs =
cellSelectionInfoCE_r13 = "ENABLE";
q_RxLevMinCE_r13 = -70;
bandwidthReducedAccessRelatedInfo_r13 = "ENABLE"
bandwidthReducedAccessRelatedInfo_r13 = "ENABLE"
si_WindowLength_BR_r13 = "ms20"; #0
si_RepetitionPattern_r13 = "everyRF"; #0
@@ -136,7 +136,7 @@ eNBs =
}
);
fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13";
fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13";
fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF;
startSymbolBR_r13 = 2;
si_HoppingConfigCommon_r13 = "off"; #1; # Note: 1==OFF !
@@ -157,25 +157,25 @@ eNBs =
rach_numberOfRA_Preambles = 60; #14
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -110;
rach_preambleInitialReceivedTargetPower = -110;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 64;
rach_maxHARQ_Msg3Tx = 4;
# max size for this array is 4
rach_CE_LevelInfoList_r13 =
rach_CE_LevelInfoList_r13 =
(
{
firstPreamble_r13 = 60;
lastPreamble_r13 = 63;
ra_ResponseWindowSize_r13 = 20; #0
mac_ContentionResolutionTimer_r13 = 80; #0
rar_HoppingConfig_r13 = "off"; #1;
rar_HoppingConfig_r13 = 1; // Note 1 means off
}
);
# BCCH CONFIG
# BCCH CONFIG
bcch_modificationPeriodCoeff = 2;
#PCCH Config
@@ -189,8 +189,8 @@ eNBs =
prach_zero_correlation = 1;
prach_freq_offset = 1;
#PDSCH Config Common
pdsch_referenceSignalPower = -27
#PDSCH Config Common
pdsch_referenceSignalPower = -24
pdsch_p_b = 0;
@@ -208,27 +208,27 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pucch_n1_AN = 0;
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
pucch_deltaF_Format1 = "deltaF0";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format1 = "deltaF0";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
msg3_delta_Preamble = 6;
prach_ConfigCommon_v1310 = "ENABLE";
mpdcch_startSF_CSS_RA_r13 = "fdd-r13";
mpdcch_startSF_CSS_RA_r13_val = "v1"; #0
prach_HoppingOffset_r13 = 0;
pdsch_maxNumRepetitionCEmodeA_r13 = "r16"; #0
#pdsch_maxNumRepetitionCEmodeB_r13 = "r384"; # NULL - 2
@@ -245,7 +245,7 @@ eNBs =
);
# max size for this array is 4
prach_parameters_ce_r13 =
prach_parameters_ce_r13 =
(
{
prach_config_index_br = 3;
@@ -255,17 +255,17 @@ eNBs =
numRepetitionPerPreambleAttempt_r13 = 1; #0
mpdcch_NumRepetition_RA_r13 = 1; #0
prach_HoppingConfig_r13 = 0; #1
max_available_narrow_band = [3];
max_available_narrow_band = [3];
}
);
n1PUCCH_AN_InfoList_r13 =
n1PUCCH_AN_InfoList_r13 =
(
{
pucch_info_value = 0;
pucch_info_value = 33;
}
);
ue_TimersAndConstants_t300 = "ms1000";
ue_TimersAndConstants_t301 = "ms400";
@@ -283,21 +283,21 @@ eNBs =
}
pucch_NumRepetitionCE_Msg4_Level0_r13 = "n1"; #0
pucch_NumRepetitionCE_Msg4_Level0_r13 = "n1"; #0
#pucch_NumRepetitionCE_Msg4_Level1_r13 = "n2"; #1
#pucch_NumRepetitionCE_Msg4_Level2_r13 = "n16"; #2
#pucch_NumRepetitionCE_Msg4_Level3_r13 = "n32"; #3
sib2_freq_hoppingParameters_r13 :
sib2_freq_hoppingParameters_r13 :
{
#sib2_mpdcch_pdsch_hoppingNB_r13 = "nb2"; #0
#sib2_interval_DLHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
#sib2_interval_DLHoppingConfigCommonModeA_r13_val = "int1";
#sib2_interval_DLHoppingConfigCommonModeA_r13_val = "int1";
#sib2_interval_DLHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
#sib2_interval_DLHoppingConfigCommonModeB_r13_val = "int2";
#sib2_interval_DLHoppingConfigCommonModeB_r13_val = "int2";
sib2_interval_ULHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
sib2_interval_ULHoppingConfigCommonModeA_r13_val = "int4"; #2
sib2_interval_ULHoppingConfigCommonModeA_r13_val = "int4"; #2
# sib2_interval_ULHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
# sib2_interval_ULHoppingConfigCommonModeB_r13_val = "int2"; #0
@@ -305,11 +305,11 @@ eNBs =
}
rach_preamblesGroupAConfig = "DISABLE";
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
}
@@ -360,6 +360,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -392,36 +399,56 @@ eNBs =
);
MACRLCs = (
{
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
puSch10xSnr = 200;
puCch10xSnr = 200;
}
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
prach_dtx_threshold = 200;
}
);
RUs = (
{
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [13];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
max_pdschReferenceSignalPower = -24;
max_rxgain = 110;
eNB_instances = [0];
}
);
);
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";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
@@ -440,4 +467,3 @@ log_config :
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -37,7 +37,7 @@ eNBs =
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
rx_gain = 115;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -178,8 +185,8 @@ MACRLCs = (
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
@@ -208,7 +215,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -178,8 +185,8 @@ MACRLCs = (
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
@@ -199,7 +206,7 @@ RUs = (
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 115;
max_rxgain = 125;
eNB_instances = [0];
}
@@ -208,7 +215,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -37,7 +37,7 @@ eNBs =
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
rx_gain = 120;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -178,8 +185,8 @@ MACRLCs = (
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
@@ -199,7 +206,7 @@ RUs = (
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 115;
max_rxgain = 120;
eNB_instances = [0];
}
@@ -208,7 +215,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -0,0 +1,230 @@
Active_eNBs = ( "eNB_Eurecom_LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 25;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 2;
nb_antennas_tx = 2;
nb_antennas_rx = 2;
tx_gain = 90;
rx_gain = 125;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 110;
eNB_instances = [0];
}
);
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";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -178,6 +178,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";

View File

@@ -18,6 +18,9 @@ eNBs =
tr_s_preference = "local_mac"
// In seconds
rrc_inactivity_threshold = 30;
////////// Physical parameters:
component_carriers = (
@@ -178,6 +181,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -236,8 +246,8 @@ THREAD_STRUCT = (
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_INTERFACE_NAME = "eth0";
FLEXRAN_IPV4_ADDRESS = "CI_MME_IP_ADDR";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";

View File

@@ -94,6 +94,14 @@ eNBs =
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
drx_Config_present = "prSetup"; //"prSetup" "prRelease"
drx_onDurationTimer = "psf1"; // "psfX": X=1,2,3,4,5,6,8,10,20,30,40,50,60,80,100
drx_InactivityTimer = "psf1"; // "psfX": X=1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300,500,750,1280,1920,2560
drx_RetransmissionTimer = "psf1"; // "psfX": X=1,2,4,6,8,16,24,33
drx_longDrx_CycleStartOffset_present = "prSf128"; // "psfX": X=10,20,32,40,64,80,128,160,256,320,512,640,1024,1280,2048,2560
drx_longDrx_CycleStartOffset = 0; // X >= 0 && X < drx_longDrx_CycleStartOffset_present
drx_shortDrx_Cycle = "sf16"; // "sfX": X=2,5,8,10,16,20,32,40,64,80,128,160,256,320,512,640
drx_shortDrx_ShortCycleTimer = 3; // 1..16 integer. Total duration in short cycle = drx_shortDrx_Cycle*drx_shortDrx_ShortCycleTimer [subframe]
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
@@ -178,6 +186,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";

View File

@@ -181,6 +181,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -202,18 +209,18 @@ MACRLCs = (
phy_test_mode = 0;
puSch10xSnr = 200;
puCch10xSnr = 200;
}
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
}
);
RUs = (
{
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
@@ -224,12 +231,12 @@ RUs = (
max_rxgain = 115;
eNB_instances = [0];
}
);
);
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
@@ -262,4 +269,3 @@ log_config :
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -178,6 +178,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
@@ -200,18 +207,18 @@ MACRLCs = (
phy_test_mode = 0;
puSch10xSnr = 200;
puCch10xSnr = 200;
}
}
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
}
}
);
RUs = (
{
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
@@ -223,7 +230,7 @@ RUs = (
eNB_instances = [0];
}
);
);
THREAD_STRUCT = (
{
@@ -261,4 +268,3 @@ NETWORK_CONTROLLER :
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";

View File

@@ -144,6 +144,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -215,7 +222,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -144,6 +144,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -215,7 +222,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -144,6 +144,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -215,7 +222,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -7,7 +7,7 @@ eNBs =
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0xe00;
@@ -181,6 +181,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -202,18 +209,18 @@ MACRLCs = (
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
}
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
}
}
);
RUs = (
{
{
local_if_name = "lo";
remote_address = "127.0.0.2";
local_address = "127.0.0.1";
@@ -229,7 +236,7 @@ RUs = (
att_rx = 0;
eNB_instances = [0];
}
);
);
THREAD_STRUCT = (
{
@@ -267,4 +274,3 @@ NETWORK_CONTROLLER :
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -7,7 +7,7 @@ eNBs =
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0xe00;
@@ -181,6 +181,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -202,18 +209,18 @@ MACRLCs = (
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
}
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
}
}
);
RUs = (
{
{
local_if_name = "lo";
remote_address = "127.0.0.2";
local_address = "127.0.0.1";
@@ -229,7 +236,7 @@ RUs = (
att_rx = 0;
eNB_instances = [0];
}
);
);
THREAD_STRUCT = (
{
@@ -267,4 +274,3 @@ NETWORK_CONTROLLER :
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -7,7 +7,7 @@ eNBs =
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0xe00;
@@ -181,6 +181,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
@@ -202,18 +209,18 @@ MACRLCs = (
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
}
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
}
}
);
RUs = (
{
{
local_if_name = "lo";
remote_address = "127.0.0.2";
local_address = "127.0.0.1";
@@ -229,7 +236,7 @@ RUs = (
att_rx = 0;
eNB_instances = [0];
}
);
);
THREAD_STRUCT = (
{
@@ -267,4 +274,3 @@ NETWORK_CONTROLLER :
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -179,6 +179,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "ens3";
@@ -196,13 +203,13 @@ eNBs =
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo:";
remote_s_address = "127.0.0.1";
local_s_address = "127.0.0.2";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
local_s_if_name = "ens3";
remote_s_address = "CI_UE_IP_ADDR";
local_s_address = "CI_ENB_IP_ADDR";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
@@ -211,7 +218,7 @@ 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";
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}

View File

@@ -42,4 +42,3 @@ log_config = {
rrc_log_level ="error";
rrc_log_verbosity ="medium";
};

View File

@@ -20,7 +20,7 @@ RUs = (
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";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
@@ -42,4 +42,3 @@ log_config = {
rrc_log_level ="error";
rrc_log_verbosity ="medium";
};

View File

@@ -17,21 +17,21 @@ log_config = {
L1s = (
{
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "lo";
remote_n_address = "127.0.0.2";
local_n_address = "127.0.0.1";
local_n_portc = 50000;
remote_n_portc = 50001;
local_n_portd = 50010;
remote_n_portd = 50011;
local_n_if_name = "ens3";
remote_n_address = "CI_ENB_IP_ADDR";
local_n_address = "CI_UE_IP_ADDR";
local_n_portc = 50000;
remote_n_portc = 50001;
local_n_portd = 50010;
remote_n_portd = 50011;
}
);
RUs = (
{
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
@@ -40,5 +40,5 @@ RUs = (
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
}
);

View File

@@ -24,26 +24,26 @@
// section for "valid" memory leaks: the related functions are allocators and
// the caller is responsible of freeing the memory. cppcheck has a mechanism
// to check more accuretaly this, by defining callers responsible of freeing
// but tools like valgring might be more suitable
// but tools like valgring might be more suitable
//
//-----------------------------------------------------------------------------
// suppress error about keysP memory leak, free must be done by calling func
// suppress error about keysP memory leak, free must be done by calling func
memleak:common/utils/hashtable/obj_hashtable.c
//-----------------------------------------------------------------------------
// suppress error about keys memory leak, free must be done by calling func
// suppress error about keys memory leak, free must be done by calling func
memleak:openair2/UTIL/OMG/omg_hashtable.c
//-----------------------------------------------------------------------------
// suppress error about data memory leak. This is the buffer where
// suppress error about data memory leak. This is the buffer where
// _emm_as_encode function creates the encoded buffer
//
memleak:openair3/NAS/UE/EMM/SAP/emm_as.c
//-----------------------------------------------------------------------------
//*****************************************************************************
// section for files not used in oai exec's included in CI.
// section for files not used in oai exec's included in CI.
// Possibly candidates for removal otherwise should be documented and updated
// for project rules enforcement
// ----------------------------------------------------------------------------
// likely sources for test programs, maintained?
// likely sources for test programs, maintained?
invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/ltetest.c
memleak:openair1/PHY/CODING/TESTBENCH/ltetest.c
invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/pdcch_test.c
@@ -72,14 +72,14 @@ uninitvar:openair2/UTIL/OTG/otg_rx_socket.c
// iteration of the loop.
nullPointer:common/utils/T/local_tracer.c:243
//-----------------------------------------------------------------------------
// once again cppcheck is not to understand that fds is initialized in the
// once again cppcheck does not understand that fds is initialized in the
// first iteration of the loop
nullPointer:common/utils/T/tracer/multi.c:264
nullPointer:common/utils/T/tracer/multi.c:265
//
//*****************************************************************************
//
// True problems we don't know how to fix, Suppression is commented out,
//
// True problems we don't know how to fix, Suppression is commented out,
// as these kind of problem need either to be fixed or can be suppressed
// when fully uderstood
//-----------------------------------------------------------------------------
@@ -89,13 +89,13 @@ nullPointer:common/utils/T/tracer/multi.c:265
// memleak:nfapi/open-nFAPI/pnf/src/pnf_p7_interface.c
// memleak:nfapi/open-nFAPI/vnf/src/vnf_p7_interface.c
//-----------------------------------------------------------------------------
// may be security_data->kenb.value is released from calling functions. But even
// when, for test, freeing it before returning from emm_proc_security_mode_command
// may be security_data->kenb.value is released from calling functions. But even
// when, for test, freeing it before returning from emm_proc_security_mode_command
// which does the allocation, cppcheck complains. So something might be wrong...
// memleak:openair3/NAS/UE/EMM/SecurityModeControl.c
//-----------------------------------------------------------------------------
// when used, nobody but the original developer can guess if sn_data_cnf is set or not
// cppcheck found that in some cases it is not, code needs cleanup before fixing that...
// cppcheck found that in some cases it is not, code needs cleanup before fixing that...
// uninitvar:openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
//*****************************************************************************
// *INDENT-ON*

View File

@@ -25,7 +25,7 @@ function create_usage {
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- xenial image already synced"
echo " -- $VM_OSREL image already synced"
echo " Default:"
echo " -- eNB with USRP"
echo ""
@@ -90,7 +90,7 @@ function create_vm {
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
echo "############################################################"
acquire_vm_create_lock
uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
uvt-kvm create $VM_NAME release=$VM_OSREL --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure

View File

@@ -30,19 +30,7 @@ function destroy_usage {
echo "------"
echo " oai-ci-vm-tool destroy [OPTIONS]"
echo ""
echo "Mandatory Options:"
echo "--------"
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
echo "Options:"
echo "--------"
echo " --help OR -h"
echo " Print this help message."
echo ""
command_options_usage
}
function destroy_vm {

View File

@@ -103,6 +103,11 @@ esac
done
if [[ $TARGET_COMMIT_ID == "latest" ]]
then
TARGET_COMMIT_ID=`git log -n1 --pretty=format:%H origin/$TARGET_BRANCH`
fi
echo "Source Branch is : $SOURCE_BRANCH"
echo "Source Commit ID is : $SOURCE_COMMIT_ID"
echo "Target Branch is : $TARGET_BRANCH"

View File

@@ -0,0 +1,31 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Dev documentation</font></b>
</td>
</tr>
</table>
VM-based RF-Less Environment:
* [How to setup your test env](./vm_based_simulator_env.md)
* [How to deal with OAI source files](./vm_based_simulator_sources.md)
* [The main script](./vm_based_simulator_main_scripts.md)
* [How to create one or several VM instances](./vm_based_simulator_create.md)
* [How to build an OAI variant](./vm_based_simulator_build.md)
* [How the build is checked](./vm_based_simulator_check_build.md)
* [How to test an OAI variant](./vm_based_simulator_test.md)
* [How to destroy all VM instances](./vm_based_simulator_destroy.md)
Currently missing documentation:
* How to generate a build report
* How to generate a test report
---

View File

@@ -0,0 +1,262 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Test Environment: build an OAI variant</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Detailed Description](#2-detailed-description)
3. [Typical Usage](#3-typical-usage)
# 1. Introduction #
```bash
$ cd /tmp/CI-raphael
$ ls *.zip
localZip.zip
$ ./ci-scripts/oai-ci-vm-tool build --help
OAI CI VM script
Original Author: Raphael Defosseux
Requirements:
-- uvtool uvtool-libvirt apt-cacher
-- xenial image already synced
Default:
-- eNB with USRP
Usage:
------
oai-ci-vm-tool build [OPTIONS]
Mandatory Options:
--------
--job-name #### OR -jn ####
Specify the name of the Jenkins job.
--build-id #### OR -id ####
Specify the build ID of the Jenkins job.
--workspace #### OR -ws ####
Specify the workspace.
Options:
--------
# OpenAirInterface Build Variants
--variant enb-usrp OR -v1
--variant basic-sim OR -v2
--variant phy-sim OR -v3
--variant cppcheck OR -v4
--variant enb-ethernet OR -v7
--variant ue-ethernet OR -v8
# non-OSA Build Variants
--variant flexran-rtc OR -v10
# OpenAirInterface Test Variants
--variant l1-sim OR -v20
--variant rf-sim OR -v21
--variant l2-sim OR -v22
Specify the variant to build.
--keep-vm-alive OR -k
Keep the VM alive after the build.
--daemon OR -D
Run as daemon
--help OR -h
Print this help message.
```
# 2. Detailed Description #
Source file concerned: `ci-scripts/buildOnVM.sh`
## 2.1. build_on_vm function ##
* First check if the ZIP file is available and if the apt-cacher proxy configuration file is present. If not, it will stop.
* Check if the VM instance is alive. If not, create it.
* Once the VM is alive, retrieve the IP address with VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
* We copy the ZIP file to the VM : `scp localZip.zip ubuntu@$VM_IP_ADDR:/home/ubuntu`
* apt-cacher proxy file: `scp etc/apt/apt.conf.d/01proxy ubuntu@$VM_IP_ADDR:/home/ubuntu`
Then we open a SSH session on the VM : `ssh ubuntu@$VM_IP_ADDR`
* We copy the apt-cacher proxy file to its destination space: `sudo cp 01proxy /etc/apt/apt.conf.d/`
* We create an hush login file to eliminate the ssh opening session messages.
* We unzip the ZIP file into `/home/ubuntu/tmp/` folder
* and we work from there.
# 3. Typical Usage #
## 3.1. Build in the foreground, check the results and destroy the VM at the end ##
```bash
$ cd /tmp/CI-raphael
$ ls *.zip
localZip.zip
$ ./ci-scripts/oai-ci-vm-tool build --workspace /tmp/CI-raphael --job-name RAN-CI-develop --build-id 47 --variant enb-usrp
############################################################
OAI CI VM script
############################################################
VM_NAME = RAN-CI-develop-b47-enb-usrp
VM_CMD_FILE = RAN-CI-develop-b47-enb-usrp_cmds.txt
JENKINS_WKSP = /var/jenkins/workspace/RAN-CI-develop
ARCHIVES_LOC = /var/jenkins/workspace/RAN-CI-develop/archives/enb_usrp
BUILD_OPTIONS = --eNB -w USRP --mu
VM_MEMORY = 2048 MBytes
VM_CPU = 4
############################################################
Creating VM (RAN-CI-develop-b47-enb-usrp) on Ubuntu Cloud Image base
############################################################
Waiting for VM to be started
Warning: Permanently added '192.168.122.2' (ECDSA) to the list of known hosts.
RAN-CI-develop-b47-enb-usrp has for IP addr = 192.168.122.2
############################################################
Copying GIT repo into VM (RAN-CI-develop-b47-enb-usrp)
############################################################
Warning: Permanently added '192.168.122.2' (ECDSA) to the list of known hosts.
############################################################
Running install and build script on VM (RAN-CI-develop-b47-enb-usrp)
############################################################
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-145-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
New release '18.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
sudo apt-get --yes --quiet install zip subversion libboost-dev
unzip -qq -DD ../localZip.zip
cd /home/ubuntu/tmp
source oaienv
cd cmake_targets
./build_oai -I --eNB -w USRP --mu
# Here wait for a few minutes 8 to 12 minutes #
############################################################
Creating a tmp folder to store results and artifacts
############################################################
############################################################
Destroying VM
############################################################
# Host 192.168.122.2 found: line 19
/home/eurecom/.ssh/known_hosts updated.
Original contents retained as /home/eurecom/.ssh/known_hosts.old
############################################################
Checking build status
############################################################
STATUS seems OK
```
If you are adding the `-k` or `--keep-vm-alive` option, the VM instance will not be destroyed and you explore what happenned.
## 3.2. Build in the background ##
This is how it is done in the CI master job pipeline.
```bash
$ cd /tmp/CI-raphael
$ ls *.zip
localZip.zip
$ ./ci-scripts/oai-ci-vm-tool build --workspace /tmp/CI-raphael --job-name RAN-CI-develop --build-id 47 --variant phy-sim --daemon
12:44:24 ############################################################
12:44:24 OAI CI VM script
12:44:24 ############################################################
12:44:24 VM_NAME = RAN-CI-develop-b47-phy-sim
12:44:24 VM_CMD_FILE = RAN-CI-develop-b47-phy-sim_cmds.txt
12:44:24 JENKINS_WKSP = /var/jenkins/workspace/RAN-CI-develop
12:44:24 ARCHIVES_LOC = /var/jenkins/workspace/RAN-CI-develop/archives/phy_sim
12:44:24 BUILD_OPTIONS = --phy_simulators
12:44:24 VM_MEMORY = 2048 MBytes
12:44:24 VM_CPU = 4
12:44:24 ############################################################
12:44:24 Creating VM (RAN-CI-develop-b47-phy-sim) on Ubuntu Cloud Image base
12:44:24 ############################################################
12:44:27 Waiting for VM to be started
12:46:34 Warning: Permanently added '192.168.122.220' (ECDSA) to the list of known hosts.
12:46:34 RAN-CI-develop-b47-phy-sim has for IP addr = 192.168.122.220
12:46:34 ############################################################
12:46:34 Copying GIT repo into VM (RAN-CI-develop-b47-phy-sim)
12:46:34 ############################################################
12:46:34 Warning: Permanently added '192.168.122.220' (ECDSA) to the list of known hosts.
12:46:34 ############################################################
12:46:34 Running install and build script on VM (RAN-CI-develop-b47-phy-sim)
12:46:34 ############################################################
12:46:34 Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-145-generic x86_64)
12:46:34
12:46:34 * Documentation: https://help.ubuntu.com
12:46:34 * Management: https://landscape.canonical.com
12:46:34 * Support: https://ubuntu.com/advantage
12:46:34
12:46:34 Get cloud support with Ubuntu Advantage Cloud Guest:
12:46:34 http://www.ubuntu.com/business/services/cloud
12:46:34
12:46:34 0 packages can be updated.
12:46:34 0 updates are security updates.
12:46:34
12:46:34 New release '18.04.2 LTS' available.
12:46:34 Run 'do-release-upgrade' to upgrade to it.
12:46:34
12:46:34
12:46:34 sudo apt-get --yes --quiet install zip daemon subversion libboost-dev
12:46:46 unzip -qq -DD ../localZip.zip
12:46:48 source oaienv
12:46:48 sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp/cmake_targets -o /home/ubuntu/tmp/cmake_targets/log/install-build.txt ./my-vm-build.sh
12:46:48 STATUS seems OK
```
So here is 2.5 minutes, a VM was created, source files copied and the build process is started in the background.
```bash
$ cd /tmp/raphael
$ ./ci-scripts/oai-ci-vm-tool wait --workspace /var/jenkins/workspace/RAN-CI-develop --variant phy-sim --job-name RAN-CI-develop --build-id 47 --keep-vm-alive
12:49:14 ############################################################
12:49:14 OAI CI VM script
12:49:14 ############################################################
12:49:14 VM_NAME = RAN-CI-develop-b47-phy-sim
12:49:14 VM_CMD_FILE = RAN-CI-develop-b47-phy-sim_cmds.txt
12:49:14 JENKINS_WKSP = /var/jenkins/workspace/RAN-CI-develop
12:49:14 ARCHIVES_LOC = /var/jenkins/workspace/RAN-CI-develop/archives/phy_sim
12:49:14 BUILD_OPTIONS = --phy_simulators
12:49:15 Waiting for VM to be started
12:49:15 Warning: Permanently added '192.168.122.220' (ECDSA) to the list of known hosts.
12:49:16 RAN-CI-develop-b47-phy-sim has for IP addr = 192.168.122.220
12:49:16 ############################################################
12:49:16 Waiting build process to end on VM (RAN-CI-develop-b47-phy-sim)
12:49:16 ############################################################
12:49:16 ps -aux | grep build
12:54:23 ############################################################
12:54:23 Creating a tmp folder to store results and artifacts
12:54:23 ############################################################
12:54:23 ############################################################
12:54:23 Checking build status
12:54:23 ############################################################
12:54:23 STATUS seems OK
```
Here the `--keep-vm-alive` option is used to keep the VM alive and performs some testing.
---
Next step: [how the build is checked](./vm_based_simulator_check_build.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,44 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Test Environment: checking the build result</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Detailed Description](#2-detailed-description)
# 1. Introduction #
Function is called:
- when building in foreground
- when waiting for the background build process is finished
# 2. Detailed Description #
Source file concerned: `ci-scripts/waitBuildOnVM.sh`
## 2.1. check_on_vm_build function ##
* Retrieve the build log files from the VM instance `ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.txt`
* and copy them locally in the workspace at $ARCHIVES_LOC
* List all log files that match the pattern. Each should have
* the `Built target` pattern (the library/executable SHALL link)
* The number of patterned log files SHALL match $NB_PATTERN_FILES defined in `ci-scripts/oai-ci-vm-tool` script for the variant
---
Next step: [how to test a function](./vm_based_simulator_test.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,111 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Test Environment: create a VM instance</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Detailed Description](#2-detailed-description)
3. [Typical Usage](#3-typical-usage)
# 1. Introduction #
```bash
$ cd /tmp/CI-raphael
$ ./ci-scripts/oai-ci-vm-tool create --help
OAI CI VM script
Original Author: Raphael Defosseux
Requirements:
-- uvtool uvtool-libvirt apt-cacher
-- xenial image already synced
Default:
-- eNB with USRP
Usage:
------
oai-ci-vm-tool create [OPTIONS]
Mandatory Options:
--------
--job-name #### OR -jn ####
Specify the name of the Jenkins job.
--build-id #### OR -id ####
Specify the build ID of the Jenkins job.
# OpenAirInterface Build Variants
--variant enb-usrp OR -v1
--variant basic-sim OR -v2
--variant phy-sim OR -v3
--variant cppcheck OR -v4
--variant enb-ethernet OR -v7
--variant ue-ethernet OR -v8
# non-OSA Build Variants
--variant flexran-rtc OR -v10
# OpenAirInterface Test Variants
--variant l1-sim OR -v20
--variant rf-sim OR -v21
--variant l2-sim OR -v22
Specify the variant to build.
--help OR -h
Print this help message.
```
# 2. Detailed Description #
Source file concerned: `ci-scripts/createVM.sh`
## 2.1. create_vm function ##
This is the function that is being called from the main oai-vm-tool script.
The main purpose is to start a VM instance:
```bash
uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
```
Variables are set in the main script based on the options.
`--unsafe-caching` option is used because our VM instances are throw-away's.
`--template ci-scripts/template-host.xml` is used to duplicate the CPU properties to the VM instance. **VERY IMPORTANT to build OAI**
## 2.2. Lock / Unlock functions ##
There are `acquire_vm_create_lock` and `release_vm_create_lock` functions.
Creating Virtual Machines instances in parallel **creates a lot of stress** on the host server HW. If you launch creations in parallel (Jenkins pipeline could do it) or you are several people working on the same host server, this mechanism atomizes the creation process and wait until the previous VM creation is finished.
# 3. Typical Usage #
```bash
$ cd /tmp/CI-raphael
$ ./ci-scripts/oai-ci-vm-tool create --job-name raphael --build-id 1 --variant phy-sim
# or a more **unique approach**
$ ./ci-scripts/oai-ci-vm-tool create -jn toto -id 1 -v2
```
The Jenkins pipeline uses the master job name as `job-name` option and the job-build ID.
Try to be unique if you are several developers working on the same host server.
Finally, typically I never use the `create` command. I use directly the build command that checks if VM is created and if not, will create it. See next step.
---
Next step: [how to build an OAI variant](./vm_based_simulator_build.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,71 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Test Environment: Properly Destroy all VM instances</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Detailed Description](#2-detailed-description)
3. [Typical Usage](#3-typical-usage)
# 1. Introduction #
```bash
$ cd /tmp/CI-raphael
$ ./ci-scripts/oai-ci-vm-tool destroy --help
OAI CI VM script
Original Author: Raphael Defosseux
Requirements:
-- uvtool uvtool-libvirt apt-cacher
Usage:
------
oai-ci-vm-tool destroy [OPTIONS]
Mandatory Options:
--------
--job-name #### OR -jn ####
Specify the name of the Jenkins job.
--build-id #### OR -id ####
Specify the build ID of the Jenkins job.
Options:
--------
--help OR -h
Print this help message.
```
# 2. Detailed Description #
Source file concerned: `ci-scripts/destroyAllRunningVM.sh`
## 2.1. destroy_vm function ##
This is the function that is being called from the main oai-vm-tool script.
The main purpose is to destroy all VM instances whose name matches a pattern.
It also cleans up the `.ssh/known_hosts` file.
# 3. Typical Usage #
```bash
$ cd /tmp/CI-raphael
$ ./ci-scripts/oai-ci-vm-tool destroy --job-name raphael --build-id 1
```
---
You can go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,123 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Simulator Test Environment</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Prerequisites](#2-prerequisites)
1. [uvtool installation](#21-uvtool-installation)
2. [apt-cacher-server installation](#22-apt-cacher-server-installation)
# 1. Introduction #
This document explains how the master pipeline works and how any developer could contribute to add testing.
It is an extension to the wiki [page](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/ci/enb-master-job).
The purpose of this master pipeline is to:
* Validate that a Merge Request is mergeable
* Validate that a Merge Request is following coding guidelines
* Validate that a Merge Request is not breaking any typical build variant
* Validate that a Merge Request is not breaking any legacy simulator-based test
We will mainly focused on the 2 last items.
Last point, this documentation is valid for all CI-supported branches:
* `master`
* `develop`
* `develop-nr`
But the feature set may not be aligned. **The principles still apply.**
# 2. Prerequisites #
Some details are available on this wiki [section](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/ci/enb-ci-architecture#22-pipeline-executor).
Currently we have a host server (`bellatrix`) with the current parameters:
* 40 x Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
* 64 Gbytes RAM
* Ubuntu 16.04.3 LTS (xenial)
For you to replicate this environment, you need a strong server:
* At least 16 cores
* Ubuntu 16 (xenial) or higher (such as bionic, not tested)
Also we are using a Virtual Machine (VM for the rest of document) based strategy for the moment.
So you need to install 2 tools:
* uvt-kvm
* apt-cacher
We are planning to also add:
* A Red Hat Linux Entreprise 7.6 host environment
* A Container-based strategy (such as Docket and Kubernetes)
## 2.1. uvtool installation ##
```bash
$ sudo apt-get install uvtool
# if you don't have already, create an ssh key
$ ssh-keygen -b 2048
# retrieve an image
$ sudo uvt-simplestreams-libvirt sync arch=amd64 release=xenial
# we might soon switch to an Ubuntu 18.04 version
$ sudo uvt-simplestreams-libvirt sync arch=amd64 release=bionic
$ uvt-simplestreams-libvirt query
release=bionic arch=amd64 label=release (20190402)
release=xenial arch=amd64 label=release (20190406)
```
On our server, I don't update (sync) that often (every 2-4 months).
For more details:
* uvtool syntax is [here](http://manpages.ubuntu.com/manpages/trusty/man1/uvt-kvm.1.html)
* more readable tutorial is [here](https://help.ubuntu.com/lts/serverguide/cloud-images-and-uvtool.html)
## 2.2. apt-cacher-server installation ##
I recommend to follow to the letter this [tutorial](https://help.ubuntu.com/community/Apt-Cacher-Server).
The reason: we are creating/using/destroying a lot of VM instances and we are always installing the same packages.
This service allows to cache on the host and, doing so, **decreases the pressure on your internet bandwith usage**.
It also optimizes time at build stage.
```bash
$ sudo apt-get install apt-cacher apache2
$ sudo vi /etc/default/apt-cache
$ sudo service apache2 restart
# Server configuration
$ sudo vi /etc/apt-cacher/apt-cacher.conf
--> allowed_hosts = *
--> fix the installer_files_regexp
$ sudo vi /etc/apt/apt.conf.d/01proxy
--> add `Acquire::http::Proxy "http://<IP address or hostname of the apt-cacher server>:3142";`
$ sudo service apt-cacher restart
```
This last file (/etc/apt/apt.conf.d/01proxy) is very important since it is tested in any CI script.
---
We can now switch to the next step: [how to deal with oai sources](./vm_based_simulator_sources.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,196 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Test Environment: the Main Script</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Sub BASH scripts](#2-sub-bash-scripts)
3. [Main script features](#3-main-script-features)
# 1. Introduction #
The file name is `./ci-scripts/oai-ci-vm-tool` from the workspace root.
```bash
$ cd /tmp/CI-raphael
$ ./ci-scripts/oai-ci-vm-tool --help
OAI CI VM script
Original Author: Raphael Defosseux
Requirements:
-- uvtool uvtool-libvirt apt-cacher
-- xenial image already synced
Usage:
------
oai-ci-vm-tool (-h|--help) {create,destroy,build,wait,test,report-build,report-test} ...
```
This is a **BASH** script.
# 2. Sub BASH scripts #
The main script is including a bunch of sub BASH scripts.
* ci-scripts/createVM.sh
* ci-scripts/buildOnVM.sh
* ci-scripts/waitBuildOnVM.sh
* ci-scripts/destroyAllRunningVM.sh
* ci-scripts/runTestOnVM.sh
* ci-scripts/reportBuildLocally.sh
* ci-scripts/reportTestLocally.sh
**NOTE: ci-scripts/runTestOnVM.sh is getting big and will certainly be split to facilitate maintenance. Start functions will be also factorized.**
# 3. Main script features #
The main purpose of the main script is decipher the options and launch the requested function.
It is also **testing if uvtool and apt-cacher are installed.**
It finally provides parameters to the requested functions. Parameter definition is centralized there.
For example:
for VM instance creation:
* the instance name: VM_NAME
* the RAM and number of CPUs: VM_MEMORY, VM_CPU
for OAI variant build:
* build options: BUILD_OPTIONS
* build log file to parse: LOG_PATTERN
* the number of log files to parse: NB_PATTERN_FILES
You can get the list of variant specific variables specifying the variant argument when asking for help:
``` bash
./ci-scripts/oai-ci-vm-tool help variant
--variant flexran-rtc OR -v10 ( build and test non-OSA )
VM_NAME=ci-flexran-rtc ARCHIVES_LOC=flexran
VM_MEMORY=2048 VM_CPU=4
NB_PATTERN_FILES=1 BUILD_OPTIONS="cmake . && make -j2"
LOG_PATTERN=.Rel14.txt
--variant enb-usrp OR -v1 ( build and test )
VM_NAME=ci-enb-usrp ARCHIVES_LOC=enb_usrp
VM_MEMORY=2048 VM_CPU=4
NB_PATTERN_FILES=9 BUILD_OPTIONS="--eNB -w USRP --mu"
LOG_PATTERN=.Rel14.txt
--variant l1-sim OR -v20 ( test )
VM_NAME=ci-l1-sim ARCHIVES_LOC=l1_sim
VM_MEMORY=2048 VM_CPU=4
NB_PATTERN_FILES=9 BUILD_OPTIONS=""
LOG_PATTERN=.Rel14.txt
--variant rf-sim OR -v21 ( test )
VM_NAME=ci-rf-sim ARCHIVES_LOC=rf_sim
VM_MEMORY=2048 VM_CPU=4
NB_PATTERN_FILES=9 BUILD_OPTIONS=""
LOG_PATTERN=.Rel14.txt
--variant l2-sim OR -v22 ( test )
VM_NAME=ci-l2-sim ARCHIVES_LOC=l2_sim
VM_MEMORY=2048 VM_CPU=4
NB_PATTERN_FILES=9 BUILD_OPTIONS=""
LOG_PATTERN=.Rel14.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=.Rel14.txt
--variant phy-sim OR -v3 ( build and test )
VM_NAME=ci-phy-sim ARCHIVES_LOC=phy_sim
VM_MEMORY=2048 VM_CPU=4
NB_PATTERN_FILES=3 BUILD_OPTIONS="--phy_simulators"
LOG_PATTERN=.Rel14.txt
--variant cppcheck OR -v4 ( build and test )
VM_NAME=ci-cppcheck ARCHIVES_LOC=cppcheck
VM_MEMORY=4096 VM_CPU=4
NB_PATTERN_FILES=1 BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2 --suppressions-list=ci-scripts/cppcheck_suppressions.list -I common/utils -j4"
LOG_PATTERN=cppcheck.xml
--variant enb-ethernet OR -v7 ( build and test )
VM_NAME=ci-enb-ethernet ARCHIVES_LOC=enb_eth
VM_MEMORY=4096 VM_CPU=4
NB_PATTERN_FILES=8 BUILD_OPTIONS="--eNB"
LOG_PATTERN=.Rel14.txt
--variant ue-ethernet OR -v8 ( build and test )
VM_NAME=ci-ue-ethernet ARCHIVES_LOC=ue_eth
VM_MEMORY=4096 VM_CPU=4
NB_PATTERN_FILES=12 BUILD_OPTIONS="--UE"
LOG_PATTERN=.Rel14.txt
```
To define a new variant you just need to define a function which name conforms to `function variant__v<n>__<variant_name>` where n and variant_name will respectively define the short and long options for your variant. The function only needs to define the variant dependent variables. For many variables, default values are set in the `check_set_variant` function. When a variant doesn't define the BUILD_OPTIONS variable it cannot be used for the `build` `wait` and `create` commands.
The main scripts also allows the definition of non variant-dependant variable via the `--setvar_<variable name> <variable value>` options.
You can get the list of these variables by using `help setvar`:
```BASH
./ci-scripts/oai-ci-vm-tool help setvar
--setvar_<varname> <value> where varname is one of:
VM_OSREL : OS release to use in virtual machines
RUN_EXPERIMENTAL : Enforce execution of variants with EXPERIMENTAL variable set to "true"
```
To add a new non-variant dependant variable you need:
* Add an item to the `AUTHORIZED_VAR` array
* In the `setvar_usage`function, add your help string in the HELP_VAR["<your variable name>"] variable.
* Write the bash code for your variable.
Example of non variant dependent usage:
``` bash
./ci-scripts/oai-ci-vm-tool test -v21 -ws /usr/local/oai/enhance_CI_extEPC/openairinterface5g -id 1 -jn testci
Currently testci-b1-rf-sim Testing is not implemented / enabled
Comment out these lines in ./ci-scripts/oai-ci-vm-tool if you want to run it
or use option --setvar_RUN_EXPERIMENTAL=true to test it
./ci-scripts/oai-ci-vm-tool test -v21 -ws /usr/local/oai/enhance_CI_extEPC/openairinterface5g -id 1 -jn testci --setvar_RUN_EXPERIMENTAL true
Setting RUN_EXPERIMENTAL to true...
############################################################
OAI CI VM script
############################################################
ENB_VM_NAME = testci-b1-enb-ethernet
ENB_VM_CMD_FILE = testci-b1-enb-ethernet_cmds.txt
UE_VM_NAME = testci-b1-ue-ethernet
UE_VM_CMD_FILE = testci-b1-ue-ethernet_cmds.txt
JENKINS_WKSP = /usr/local/oai/enhance_CI_extEPC/openairinterface5g
ARCHIVES_LOC = /usr/local/oai/enhance_CI_extEPC/openairinterface5g/archives/rf_sim/test
############################################################
Waiting for ENB VM to be started
...........................
```
In the same way, you can set the variable `VM_OSREL` to run the test in virtual machines of the specified OS release:
``` bash
./ci-scripts/oai-ci-vm-tool test -v21 -ws /usr/local/oai/enhance_CI_extEPC/openairinterface5g -id 1 -jn testci --setvar_VM_OSREL bionic
```
---
Next step: [how to create one or several VM instances](./vm_based_simulator_create.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,85 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Simulator OAI source management</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
2. [Centralized Workspace](#2-centralized-workspace)
3. [Create the ZIP file](#3-create-the-zip-file)
# 1. Introduction #
The idea of this section is to optimize/uniform source management for several VM instances.
If we were cloning the same repository in each VM we are creating, we would put so much pressure on the central GitLab repository.
The solution:
* clone/fetch on a given clean workspace and tar/zip only the source files without any artifacts.
* we then copy the tar/zip file to each VM instance
* and within each VM instance, unzip
# 2. Centralized Workspace #
You can create a brand new workspace by cloning:
```bash
$ mkdir /tmp/CI-raphael
$ cd /tmp/CI-raphael
$ git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git .
$ git checkout develop
```
You can also use your current cloned workspace and any `develop`-based branch.
```bash
$ cd /home/raphael/openairinterface5g
$ git fetch
$ git checkout develop-improved-documentation
# CAUTION: the following command will remove any file that has not already been added to GIT
$ sudo git clean -x -d -ff
$ git status
On branch develop-improved-documentation
Your branch is up-to-date with 'origin/develop-improved-documentation'.
nothing to commit, working directory clean
```
You can also have modified files.
**The main point is to have NO ARTIFACTS from a previous build in your workspace.**
Last point, the workspace folder name is not necesseraly `openairinterface5g`. But all the following commands will be run for the root of the workspace.
For clarity, I will always use `/tmp/CI-raphael` as $WORKSPACE.
# 3. Create the ZIP file #
```bash
# go to root of workspace
$ cd /tmp/CI-raphael
$ zip -r -qq localZip.zip .
```
The **Jenkins Pipeline** performs automatically these operations.
In addition, in case of a merge request, it tries to merge with the target branch and might create a dummy local commit.
See [section](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/ci/enb-master-job#32-verify-guidelines-stage)
---
Next step: [the main scripts](./vm_based_simulator_main_scripts.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

View File

@@ -0,0 +1,260 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI CI Virtual-Machine-based Test Environment: Testing an OAI variant</font></b>
</td>
</tr>
</table>
## Table of Contents ##
1. [Introduction](#1-introduction)
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)
# 1. Introduction #
Currently 2 build variants can be directly tested:
* Physical Simulators
* Basic Simulator
In addition, 2 build variants are used:
* OAI eNB with ETHERNET transport
* OAI UE with ETHERNET transport
for the following scenarios:
* L1 simulator w/ a channel simulator (NOT IMPLEMENTED)
* RF simulator : (IMPLEMENTED but not working as of 2019.w15)
* L2 nFAPI simulator
Tests are run sequentially in the Jenkins pipeline because:
* We want to mutualize the VM creation for an EPC
* We have seen performance issues when running in parallel.
```bash
./ci-scripts/oai-ci-vm-tool test --help
OAI CI VM script
Original Author: Raphael Defosseux
Requirements:
-- uvtool uvtool-libvirt apt-cacher
-- xenial image already synced
Default:
-- eNB with USRP
Usage:
------
oai-ci-vm-tool test [OPTIONS]
Options:
--------
--job-name #### OR -jn ####
Specify the name of the Jenkins job.
--build-id #### OR -id ####
Specify the build ID of the Jenkins job.
--workspace #### OR -ws ####
Specify the workspace.
# OpenAirInterface Build Variants
--variant enb-usrp OR -v1
--variant basic-sim OR -v2
--variant phy-sim OR -v3
--variant cppcheck OR -v4
--variant enb-ethernet OR -v7
--variant ue-ethernet OR -v8
# non-OSA Build Variants
--variant flexran-rtc OR -v10
# OpenAirInterface Test Variants
--variant l1-sim OR -v20
--variant rf-sim OR -v21
--variant l2-sim OR -v22
Specify the variant to build.
--keep-vm-alive OR -k
Keep the VM alive after the build.
--help OR -h
Print this help message.
```
# 2. Detailed Description #
Source file concerned: `ci-scripts/run_test_on_vm.sh`
**TBD when file is re-structured.**
# 3. Typical Usage #
## 3.1. Testing the physical simulators ##
```bash
$ ./ci-scripts/oai-ci-vm-tool test --workspace /var/jenkins/workspace/RAN-CI-develop --variant phy-sim --job-name RAN-CI-develop --build-id 47
12:54:29 ############################################################
12:54:29 OAI CI VM script
12:54:29 ############################################################
12:54:29 VM_NAME = RAN-CI-develop-b47-phy-sim
12:54:29 VM_CMD_FILE = RAN-CI-develop-b47-phy-sim_cmds.txt
12:54:29 JENKINS_WKSP = /var/jenkins/workspace/RAN-CI-develop
12:54:29 ARCHIVES_LOC = /var/jenkins/workspace/RAN-CI-develop/archives/phy_sim/test
12:54:29 ############################################################
12:54:29 Waiting for VM to be started
12:54:29 ############################################################
12:54:29 Warning: Permanently added '192.168.122.220' (ECDSA) to the list of known hosts.
12:54:30 RAN-CI-develop-b47-phy-sim has for IP addr = 192.168.122.220
...
13:04:48 Test Results are written to /home/ubuntu/tmp/cmake_targets/autotests/log/results_autotests.xml
13:05:00 ############################################################
13:05:00 Creating a tmp folder to store results and artifacts
13:05:00 ############################################################
13:05:00 /var/jenkins/workspace/RAN-CI-develop/archives/phy_sim/test /var/jenkins/workspace/RAN-CI-develop
13:05:04 /var/jenkins/workspace/RAN-CI-develop
13:05:04 ############################################################
13:05:04 Destroying VM
13:05:04 ############################################################
13:05:06 # Host 192.168.122.220 found: line 21
13:05:06 /home/eurecom/.ssh/known_hosts updated.
13:05:06 Original contents retained as /home/eurecom/.ssh/known_hosts.old
13:05:06 ############################################################
13:05:06 Checking run status
13:05:06 ############################################################
13:05:06 NB_FOUND_FILES = 1
13:05:06 NB_RUNS = 20
13:05:06 NB_FAILURES = 0
13:05:06 STATUS seems OK
```
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 ##
```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
15:24:45 Currently RF-Simulator Testing is not implemented / enabled
15:24:45 Comment out these lines in ./ci-scripts/oai-ci-vm-tool if you want to run it
15:24:45 STATUS seems OK
```
## 3.4. 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
15:24:47 ############################################################
15:24:47 OAI CI VM script
15:24:47 ############################################################
15:24:47 ENB_VM_NAME = RAN-CI-develop-b48-enb-ethernet
15:24:47 ENB_VM_CMD_FILE = RAN-CI-develop-b48-enb-ethernet_cmds.txt
15:24:47 UE_VM_NAME = RAN-CI-develop-b48-ue-ethernet
15:24:47 UE_VM_CMD_FILE = RAN-CI-develop-b48-ue-ethernet_cmds.txt
15:24:47 JENKINS_WKSP = /var/jenkins/workspace/RAN-CI-develop
15:24:47 ARCHIVES_LOC = /var/jenkins/workspace/RAN-CI-develop/archives/l2_sim/test
15:24:47 ############################################################
15:24:47 Waiting for ENB VM to be started
15:24:47 ############################################################
15:24:47 Warning: Permanently added '192.168.122.110' (ECDSA) to the list of known hosts.
15:24:48 RAN-CI-develop-b48-enb-ethernet has for IP addr = 192.168.122.110
15:24:48 ############################################################
15:24:48 Waiting for UE VM to be started
15:24:48 ############################################################
15:24:49 Warning: Permanently added '192.168.122.90' (ECDSA) to the list of known hosts.
15:24:50 RAN-CI-develop-b48-ue-ethernet has for IP addr = 192.168.122.90
15:24:50 ############################################################
15:24:50 Test EPC on VM (RAN-CI-develop-b48-epc) will be using ltebox
15:24:50 ############################################################
15:24:50 EPC_VM_CMD_FILE = RAN-CI-develop-b48-epc_cmds.txt
15:24:50 Waiting for VM to be started
15:24:50 Warning: Permanently added '192.168.122.156' (ECDSA) to the list of known hosts.
15:24:51 RAN-CI-develop-b48-epc has for IP addr = 192.168.122.156
...
15:42:44 ############################################################
15:42:44 Destroying VMs
15:42:44 ############################################################
15:42:46 # Host 192.168.122.110 found: line 18
15:42:46 /home/eurecom/.ssh/known_hosts updated.
15:42:46 Original contents retained as /home/eurecom/.ssh/known_hosts.old
15:42:47 # Host 192.168.122.90 found: line 18
15:42:47 /home/eurecom/.ssh/known_hosts updated.
15:42:47 Original contents retained as /home/eurecom/.ssh/known_hosts.old
15:42:47 ############################################################
15:42:47 Checking run status
15:42:47 ############################################################
15:42:47 STATUS failed?
```
---
Final step: [how to properly destroy all VM instances](./vm_based_simulator_destroy.md)
You can also go back to the [CI dev main page](./ci_dev_home.md)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -28,56 +28,8 @@ function report_build_usage {
echo "------"
echo " oai-ci-vm-tool report-build [OPTIONS]"
echo ""
echo "Options:"
echo "--------"
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
echo "Job Options:"
echo "------------"
echo ""
echo " --git-url #### OR -gu ####"
echo " Specify the URL of the GIT Repository."
echo ""
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
echo " --workspace #### OR -ws ####"
echo " Specify the workspace."
echo ""
echo " --trigger merge-request OR -mr"
echo " --trigger push OR -pu"
echo " Specify trigger action of the Jenkins job. Either a merge-request event or a push event."
echo ""
echo "Merge-Request Options:"
echo "----------------------"
echo ""
echo " --src-branch #### OR -sb ####"
echo " Specify the source branch of the merge request."
echo ""
echo " --src-commit #### OR -sc ####"
echo " Specify the source commit ID (SHA-1) of the merge request."
echo ""
echo " --target-branch #### OR -tb ####"
echo " Specify the target branch of the merge request (usually develop)."
echo ""
echo " --target-commit #### OR -tc ####"
echo " Specify the target commit ID (SHA-1) of the merge request."
echo ""
echo "Push Options:"
echo "----------------------"
echo ""
echo " --branch #### OR -br ####"
echo " Specify the branch of the push event."
echo ""
echo " --commit #### OR -co ####"
echo " Specify the commit ID (SHA-1) of the push event."
echo ""
echo ""
command_options_usage
}
function trigger_usage {
@@ -143,13 +95,21 @@ function summary_table_header {
echo " <h3>$1</h3>" >> ./build_results.html
if [ -f $2/build_final_status.log ]
then
if [ `grep -c COMMAND $2/build_final_status.log` -eq 1 ]
then
COMMAND=`grep COMMAND $2/build_final_status.log | sed -e "s#COMMAND: ##"`
else
COMMAND="Unknown"
fi
if [ `grep -c BUILD_OK $2/build_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <span class=\"glyphicon glyphicon-arrow-right\"></span> " >> ./build_results.html
echo " <strong>BUILD was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <span class=\"glyphicon glyphicon-arrow-right\"></span> " >> ./build_results.html
echo " <strong>BUILD was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
fi
@@ -218,25 +178,89 @@ function sca_summary_table_header {
echo " <h3>$2</h3>" >> ./build_results.html
NB_ERRORS=`egrep -c "severity=\"error\"" $1`
NB_WARNINGS=`egrep -c "severity=\"warning\"" $1`
ADDED_ERRORS="0"
ADDED_WARNINGS="0"
FINAL_LOG=`echo $1 | sed -e "s#cppcheck\.xml#build_final_status.log#"`
if [ `grep -c COMMAND $FINAL_LOG` -eq 1 ]
then
COMMAND=`grep COMMAND $FINAL_LOG | sed -e "s#COMMAND: ##"`
else
COMMAND="Unknown"
fi
if [ $MR_TRIG -eq 1 ]
then
if [ -d ../../cppcheck_archives ]
then
if [ -d ../../cppcheck_archives/$JOB_NAME ]
then
ADDED_ERRORS=`diff $1 ../../cppcheck_archives/$JOB_NAME/cppcheck.xml | egrep --color=never "^<" | egrep -c "severity=\"error"`
ADDED_WARNINGS=`diff $1 ../../cppcheck_archives/$JOB_NAME/cppcheck.xml | egrep --color=never "^<" | egrep -c "severity=\"warning"`
fi
fi
local TOTAL_NUMBER=$[$ADDED_ERRORS+$ADDED_WARNINGS]
if [ -f $JENKINS_WKSP/oai_cppcheck_added_errors.txt ]; then rm -f $JENKINS_WKSP/oai_cppcheck_added_errors.txt; fi
echo "$TOTAL_NUMBER" > $JENKINS_WKSP/oai_cppcheck_added_errors.txt
fi
if [ $NB_ERRORS -eq 0 ] && [ $NB_WARNINGS -eq 0 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <br><br>" >> ./build_results.html
echo " <strong>CPPCHECK found NO error and NO warning <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
else
if [ $NB_ERRORS -eq 0 ]
then
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <br><br>" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]
then
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
fi
if [ $MR_TRIG -eq 1 ]
then
if [ $ADDED_WARNINGS -eq 0 ]
then
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
else
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
fi
fi
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <br><br>" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]
then
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
fi
if [ $MR_TRIG -eq 1 ]
then
if [ $ADDED_ERRORS -eq 0 ] && [ $ADDED_WARNINGS -eq 0 ]
then
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
else
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span>" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-alert\"></span> This Merge Request may have introduced up to $ADDED_ERRORS errors and $ADDED_WARNINGS warnings. <span class=\"glyphicon glyphicon-alert\"></span></strong>" >> ./build_results.html
fi
fi
echo " </div>" >> ./build_results.html
fi
fi
if [ $PU_TRIG -eq 1 ]
then
if [ -d ../../cppcheck_archives ]
then
if [ -d ../../cppcheck_archives/$JOB_NAME ]
then
cp $1 ../../cppcheck_archives/$JOB_NAME
fi
fi
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-cppcheck-details\">More details on CPPCHECK results</button>" >> ./build_results.html
echo " <div id=\"oai-cppcheck-details\" class=\"collapse\">" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <table border = \"1\">" >> ./build_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Error / Warning Type</th>" >> ./build_results.html
@@ -301,6 +325,43 @@ function sca_summary_table_footer {
echo " </table>" >> ./build_results.html
echo " <p>Full details in zipped artifact (cppcheck/cppcheck.xml) </p>" >> ./build_results.html
echo " <p style=\"margin-left: 30px\">Graphical Interface tool : <strong><code>cppcheck-gui -l cppcheck/cppcheck.xml</code></strong></p>" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]
then
if [ $ADDED_ERRORS -ne 0 ] || [ $ADDED_WARNINGS -ne 0 ]
then
echo " <table border = \"1\">" >> ./build_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Potential File(s) impacted by added errors/warnings</th>" >> ./build_results.html
echo " <th>Line Number</th>" >> ./build_results.html
echo " <th>Severity</th>" >> ./build_results.html
echo " <th>Message</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
SEVERITY="none"
POTENTIAL_FILES=`diff $1 ../../cppcheck_archives/$JOB_NAME/cppcheck.xml | egrep --color=never "^<" | egrep "location file|severity" | sed -e "s# #@#g"`
for POT_FILE in $POTENTIAL_FILES
do
if [ `echo $POT_FILE | grep -c location` -eq 1 ]
then
FILENAME=`echo $POT_FILE | sed -e "s#^.*file=\"##" -e "s#\"@line.*/>##"`
LINE=`echo $POT_FILE | sed -e "s#^.*line=\"##" -e "s#\"/>##"`
if [[ $SEVERITY != *"none" ]]
then
echo " <tr>" >> ./build_results.html
echo " <td>$FILENAME</td>" >> ./build_results.html
echo " <td>$LINE</td>" >> ./build_results.html
echo " <td>$SEVERITY</td>" >> ./build_results.html
echo " <td>$MESSAGE</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
fi
else
SEVERITY=`echo $POT_FILE | sed -e "s#^.*severity=\"##" -e "s#\"@msg=.*##"`
MESSAGE=`echo $POT_FILE | sed -e "s#^.*msg=\"##" -e "s#\"@verbose=.*##" -e "s#@# #g"`
fi
done
echo " </table>" >> ./build_results.html
fi
fi
echo " </div>" >> ./build_results.html
}
@@ -452,13 +513,16 @@ function report_build {
summary_table_row "LTE SoftModem - Release 14" ./archives/enb_usrp/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_row1.html
summary_table_row "Coding - Release 14" ./archives/enb_usrp/coding.Rel14.txt "Built target coding" ./enb_usrp_row2.html
summary_table_row "OAI USRP device if - Release 14" ./archives/enb_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_row4.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/enb_usrp/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_usrp_row4.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_row5.html
summary_table_footer
summary_table_header "OAI Build basic simulator option" ./archives/basic_sim
summary_table_row "Basic Simulator eNb - Release 14" ./archives/basic_sim/basic_simulator_enb.txt "Built target lte-softmodem" ./basic_sim_row1.html
summary_table_row "Basic Simulator UE - Release 14" ./archives/basic_sim/basic_simulator_ue.txt "Built target lte-uesoftmodem" ./basic_sim_row2.html
summary_table_row "LTE SoftModem - Release 14" ./archives/basic_sim/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./basic_sim_row1.html
summary_table_row "LTE UE SoftModem - Release 14" ./archives/basic_sim/lte-uesoftmodem.Rel14.txt "Built target lte-uesoftmodem" ./basic_sim_row2.htm
summary_table_row "Conf 2 UE data - Release 14" ./archives/basic_sim/conf2uedata.Rel14.txt "Built target conf2uedata" ./basic_sim_row3.html
summary_table_row "RB Tool - Release 14" ./archives/basic_sim/rb_tool.Rel14.txt "Built target rb_tool" ./basic_sim_row4.html
summary_table_row "NASMESH - Release 14" ./archives/basic_sim/nasmesh.Rel14.txt "Built target nasmesh" ./basic_sim_row5.html
summary_table_footer
summary_table_header "OAI Build Physical simulators option" ./archives/phy_sim
@@ -489,21 +553,25 @@ function report_build {
fi
summary_table_header "OAI Build eNB -- ETHERNET transport option" ./archives/enb_eth
summary_table_row "LTE SoftModem w/o S1 - Release 14" ./archives/enb_eth/lte-softmodem-nos1.Rel14.txt "Built target lte-softmodem" ./enb_eth_row1.html
summary_table_row "LTE SoftModem - Release 14" ./archives/enb_eth/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_eth_row1.html
summary_table_row "Coding - Release 14" ./archives/enb_eth/coding.Rel14.txt "Built target coding" ./enb_eth_row2.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/enb_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_eth_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_eth_row4.html
summary_table_row "RB Tools - Release 14" ./archives/enb_eth/rb_tool.Rel14.txt "Built target rb_tool" ./enb_eth_row5.html
summary_table_row "NAS Mesh - Release 14" ./archives/enb_eth/nasmesh.Rel14.txt "Built target nasmesh" ./enb_eth_row6.html
summary_table_row "RF Simulator - Release 14" ./archives/enb_eth/rfsimulator.Rel14.txt "Built target rfsimulator" ./enb_eth_row5.html
summary_table_row "TCP OAI Bridge - Release 14" ./archives/enb_eth/tcp_bridge_oai.Rel14.txt "Built target tcp_bridge_oai" ./enb_eth_row6.html
summary_table_footer
summary_table_header "OAI Build UE -- ETHERNET transport option" ./archives/ue_eth
summary_table_row "LTE UE SoftModem w/o S1 - Release 14" ./archives/ue_eth/lte-uesoftmodem-nos1.Rel14.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html
summary_table_row "LTE UE SoftModem - Release 14" ./archives/ue_eth/lte-uesoftmodem.Rel14.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html
summary_table_row "Coding - Release 14" ./archives/ue_eth/coding.Rel14.txt "Built target coding" ./ue_eth_row2.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/ue_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./ue_eth_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/ue_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./ue_eth_row4.html
summary_table_row "RB Tools - Release 14" ./archives/ue_eth/rb_tool.Rel14.txt "Built target rb_tool" ./ue_eth_row5.html
summary_table_row "NAS Mesh - Release 14" ./archives/ue_eth/nasmesh.Rel14.txt "Built target nasmesh" ./ue_eth_row6.html
summary_table_row "RF Simulator - Release 14" ./archives/ue_eth/rfsimulator.Rel14.txt "Built target rfsimulator" ./ue_eth_row5.html
summary_table_row "TCP OAI Bridge - Release 14" ./archives/ue_eth/tcp_bridge_oai.Rel14.txt "Built target tcp_bridge_oai" ./ue_eth_row6.html
summary_table_row "Conf 2 UE Data - Release 14" ./archives/ue_eth/conf2uedata.Rel14.txt "Built target conf2uedata" ./ue_eth_row7.html
summary_table_row "NVRAM - Release 14" ./archives/ue_eth/nvram.Rel14.txt "Built target nvram" ./ue_eth_row8.html
summary_table_row "UE IP - Release 14" ./archives/ue_eth/ue_ip.Rel14.txt "Built target ue_ip" ./ue_eth_row9.html
summary_table_row "USIM - Release 14" ./archives/ue_eth/usim.Rel14.txt "Built target usim" ./ue_eth_row9a.html
summary_table_footer
if [ -e ./archives/red_hat ]
@@ -514,7 +582,8 @@ function report_build {
summary_table_row "LTE SoftModem - Release 14" ./archives/red_hat/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html
summary_table_row "Coding - Release 14" ./archives/red_hat/coding.Rel14.txt "Built target coding" ./enb_usrp_rh_row2.html
summary_table_row "OAI USRP device if - Release 14" ./archives/red_hat/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/red_hat/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_rh_row4.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/red_hat/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_usrp_rh_row4.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/red_hat/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_rh_row5.html
summary_table_footer
fi
@@ -522,41 +591,61 @@ function report_build {
echo " <button data-toggle=\"collapse\" data-target=\"#oai-compilation-details\">Details for Compilation Errors and Warnings </button>" >> ./build_results.html
echo " <div id=\"oai-compilation-details\" class=\"collapse\">" >> ./build_results.html
for DETAILS_TABLE in `ls ./enb_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./basic_sim_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./phy_sim_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./gnb_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./nrue_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./enb_eth_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./ue_eth_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
if [ -e ./archives/red_hat ]
if [ -f ./enb_usrp_row1.html ] || [ -f ./enb_usrp_row2.html ] || [ -f ./enb_usrp_row3.html ] || [ -f ./enb_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./enb_usrp_rh_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
for DETAILS_TABLE in `ls ./enb_usrp_row*.html`
do
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 ./phy_sim_row1.html ] || [ -f ./phy_sim_row2.html ] || [ -f ./phy_sim_row3.html ]
then
for DETAILS_TABLE in `ls ./phy_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`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./nrue_usrp_row1.html ] || [ -f ./nrue_usrp_row2.html ] || [ -f ./nrue_usrp_row3.html ] || [ -f ./nrue_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./nrue_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./enb_eth_row1.html ] || [ -f ./enb_eth_row2.html ] || [ -f ./enb_eth_row3.html ] || [ -f ./enb_eth_row4.html ] || [ -f ./enb_eth_row5.html ] || [ -f ./enb_eth_row6.html ]
then
for DETAILS_TABLE in `ls ./enb_eth_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./ue_eth_row1.html ] || [ -f ./ue_eth_row2.html ] || [ -f ./ue_eth_row3.html ] || [ -f ./ue_eth_row4.html ] || [ -f ./ue_eth_row5.html ] || [ -f ./ue_eth_row6.html ]
then
for DETAILS_TABLE in `ls ./ue_eth_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./enb_usrp_rh_row1.html ] || [ -f ./enb_usrp_rh_row2.html ] || [ -f ./enb_usrp_rh_row3.html ] || [ -f ./enb_usrp_rh_row4.html ]
then
for DETAILS_TABLE in `ls ./enb_usrp_rh_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
rm -f ./*_row*.html

View File

@@ -28,56 +28,122 @@ function report_test_usage {
echo "------"
echo " oai-ci-vm-tool report-test [OPTIONS]"
echo ""
echo "Options:"
echo "--------"
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
echo "Job Options:"
echo "------------"
echo ""
echo " --git-url #### OR -gu ####"
echo " Specify the URL of the GIT Repository."
echo ""
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
echo " --workspace #### OR -ws ####"
echo " Specify the workspace."
echo ""
echo " --trigger merge-request OR -mr"
echo " --trigger push OR -pu"
echo " Specify trigger action of the Jenkins job. Either a merge-request event or a push event."
echo ""
echo "Merge-Request Options:"
echo "----------------------"
echo ""
echo " --src-branch #### OR -sb ####"
echo " Specify the source branch of the merge request."
echo ""
echo " --src-commit #### OR -sc ####"
echo " Specify the source commit ID (SHA-1) of the merge request."
echo ""
echo " --target-branch #### OR -tb ####"
echo " Specify the target branch of the merge request (usually develop)."
echo ""
echo " --target-commit #### OR -tc ####"
echo " Specify the target commit ID (SHA-1) of the merge request."
echo ""
echo "Push Options:"
echo "----------------------"
echo ""
echo " --branch #### OR -br ####"
echo " Specify the branch of the push event."
echo ""
echo " --commit #### OR -co ####"
echo " Specify the commit ID (SHA-1) of the push event."
echo ""
echo ""
command_options_usage
}
function analyzePingFiles {
for PING_CASE in $PING_LOGS
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
else
NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
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>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
echo "Packet Loss : $STATS" >> ./test_simulator_results.html
RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
done
}
function analyzeIperfFiles {
for IPERF_CASE in $IPERF_TESTS
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
if [[ $REQ_BITRATE =~ .*K.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
fi
if [[ $REQ_BITRATE =~ .*M.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
fi
if [[ $REQ_BITRATE =~ .*G.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
fi
FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
else
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
fi
if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
fi
if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
fi
PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
if [[ $PERF_INT -lt 70 ]]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
fi
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
fi
echo " <td>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
echo "Bitrate : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
echo "Jitter : $JITTER" >> ./test_simulator_results.html
echo "Packet Loss : $PACKETLOSS" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
}
function report_test {
@@ -215,6 +281,14 @@ function report_test {
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
@@ -279,124 +353,11 @@ function report_test {
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_CASE=$ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt
if [ -f $PING_CASE ]
then
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
else
NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
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>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
echo "Packet Loss : $STATS" >> ./test_simulator_results.html
RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt 2> /dev/null`
analyzePingFiles
if [ -f $ARCHIVES_LOC/${TMODE}_${BW}*iperf*dl*client*txt ]
then
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt`
else
echo "There are no iperf files"
IPERF_TESTS=""
fi
for IPERF_CASE in $IPERF_TESTS
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
if [[ $REQ_BITRATE =~ .*K.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
fi
if [[ $REQ_BITRATE =~ .*M.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
fi
if [[ $REQ_BITRATE =~ .*G.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
fi
FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
else
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
fi
if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
fi
if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
fi
PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
if [[ $PERF_INT -lt 90 ]]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
fi
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
fi
echo " <td>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
echo "Bitrate : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
echo "Jitter : $JITTER" >> ./test_simulator_results.html
echo "Packet Loss : $PACKETLOSS" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt 2> /dev/null`
analyzeIperfFiles
done
done
@@ -466,13 +427,27 @@ function report_test {
echo " <th>Statistics</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
EPC_CONFIGS=("wS1" "noS1")
TRANS_MODES=("fdd")
BW_CASES=(05)
for TMODE in ${TRANS_MODES[@]}
NB_USERS=(01 04)
for CN_CONFIG in ${EPC_CONFIGS[@]}
do
for TMODE in ${TRANS_MODES[@]}
do
for BW in ${BW_CASES[@]}
do
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_enb.log
for UES in ${NB_USERS[@]}
do
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
if [[ $CN_CONFIG =~ .*wS1.* ]]
then
echo " <td align = \"center\" colspan = 4 >Test with EPC (aka withS1): ${TMODE} -- ${BW}MHz -- ${UES} user(s)</td>" >> ./test_simulator_results.html
else
echo " <td align = \"center\" colspan = 4 >Test without EPC (aka noS1): ${TMODE} -- ${BW}MHz -- ${UES} user(s)</td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_enb.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
@@ -484,26 +459,26 @@ function report_test {
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 "Sending NFAPI_START_RESPONSE" $UE_LOG`
if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 3 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -gt 2 ] && [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
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 -eq 1 ]
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 3 ]
if [ $NB_UE_GOT_SYNC -gt 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 ]
if [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
then
echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
else
@@ -512,45 +487,17 @@ function report_test {
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_CASE=$ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_epc.txt
if [ -f $PING_CASE ]
then
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
else
NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
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>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
echo "Packet Loss : $STATS" >> ./test_simulator_results.html
RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_ping*.log 2> /dev/null`
analyzePingFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_iperf_dl*client*txt 2> /dev/null`
analyzeIperfFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_iperf_ul*client*txt 2> /dev/null`
analyzeIperfFiles
done
done
done
done
echo " </table>" >> ./test_simulator_results.html

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,7 @@ function wait_usage {
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- xenial image already synced"
echo " -- $VM_OSREL image already synced"
echo " Default:"
echo " -- eNB with USRP"
echo ""
@@ -33,28 +33,7 @@ function wait_usage {
echo "------"
echo " oai-ci-vm-tool wait [OPTIONS]"
echo ""
echo "Mandatory Options:"
echo "--------"
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
echo " --workspace #### OR -ws ####"
echo " Specify the workspace."
echo ""
variant_usage
echo " Specify the variant to build."
echo ""
echo "Options:"
echo "--------"
echo " --keep-vm-alive OR -k"
echo " Keep the VM alive after the build."
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
command_options_usage
}
function wait_on_vm_build {
@@ -98,7 +77,7 @@ function wait_on_vm_build {
echo "while [ \$(ps -aux | grep --color=never build_oai | grep -v grep | wc -l) -gt 0 ]; do sleep 3; done" >> $VM_CMDS
fi
ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
ssh -T -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
rm -f $VM_CMDS
}
@@ -124,11 +103,16 @@ function check_on_vm_build {
if [ $KEEP_VM_ALIVE -eq 0 ]
then
if [[ "$VM_NAME" == *"-enb-ethernet"* ]] || [[ "$VM_NAME" == *"-ue-ethernet"* ]]
then
echo "Hack to not destroy in current pipeline"
else
echo "############################################################"
echo "Destroying VM"
echo "############################################################"
uvt-kvm destroy $VM_NAME
ssh-keygen -R $VM_IP_ADDR
fi
fi
rm -f $VM_CMDS
@@ -185,10 +169,16 @@ function check_on_vm_build {
fi
fi
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
echo "COMMAND: cppcheck $BUILD_OPTIONS . 2> cppcheck.xml" > $ARCHIVES_LOC/build_final_status.log
else
echo "COMMAND: build_oai -I $BUILD_OPTIONS" > $ARCHIVES_LOC/build_final_status.log
fi
if [[ $STATUS -eq 0 ]]
then
echo "BUILD_OK" > $ARCHIVES_LOC/build_final_status.log
echo "BUILD_OK" >> $ARCHIVES_LOC/build_final_status.log
else
echo "BUILD_KO" > $ARCHIVES_LOC/build_final_status.log
echo "BUILD_KO" >> $ARCHIVES_LOC/build_final_status.log
fi
}

View File

@@ -0,0 +1,48 @@
<!--
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>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,47 @@
<!--
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>epc-start</htmlTabRef>
<htmlTabName>EPC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>
<desc>Initialize MME</desc>
</testCase>
<testCase id="070101">
<class>Initialize_SPGW</class>
<desc>Initialize SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,117 @@
<!--
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>test-05-tm1-nos1-tunnel</htmlTabRef>
<htmlTabName>Test-05MHz-TM1-noS1-tunnel</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201 090109
030101 000001 090101 000002 040501 040502 000001 040601 040602 040641 040642 000001 090109 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="000003">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
</testCase>
<testCase id="030101">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090101">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1</Initialize_OAI_UE_args>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)(from eNB to OAI UE)</desc>
<ping_args>-I oaitun_enb1 -c 20 10.0.1.2</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040502">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)(from OAI UE to eNB)</desc>
<ping_args>-I oaitun_ue1 -c 20 10.0.1.1</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.2 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040602">
<class>Iperf</class>
<desc>iperf (5MHz - DL/14Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.2 -u -b 14M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.1 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040642">
<class>Iperf</class>
<desc>iperf (5MHz - UL/8Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.1 -u -b 8M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,104 @@
<!--
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>test-05-tm1-tunnel</htmlTabRef>
<htmlTabName>Test-05MHz-TM1-tunnel</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201 090109
030102 000001 090102 000002 040503 000001 040603 040604 040643 040644 000001 090109 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030102">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090102">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1</Initialize_OAI_UE_args>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
<testCase id="040503">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040604">
<class>Iperf</class>
<desc>iperf (5MHz - DL/14Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 14M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040643">
<class>Iperf</class>
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040644">
<class>Iperf</class>
<desc>iperf (5MHz - UL/8Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 8M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,55 @@
<!--
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>build-tab</htmlTabRef>
<htmlTabName>Build</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="010101">
<class>Build_eNB</class>
<desc>Build eNB (USRP)</desc>
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
</testCase>
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>
<desc>Initialize MME</desc>
</testCase>
<testCase id="070101">
<class>Initialize_SPGW</class>
<desc>Initialize SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,47 @@
<!--
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>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,79 @@
<!--
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>test-10-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040102
030121 000001 040302 000001 040502 000001 040402 040202 000001 030201
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Waiting for a moment...</desc>
<idle_sleep_time_in_sec>15</idle_sleep_time_in_sec>
</testCase>
<testCase id="030121">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band13/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="040102">
<class>Initialize_CatM_module</class>
<desc>Initialize CAT-M Module</desc>
</testCase>
<testCase id="040202">
<class>Terminate_CatM_module</class>
<desc>Terminate CAT-M Module</desc>
</testCase>
<testCase id="040302">
<class>Attach_CatM_module</class>
<desc>Attach CAT-M Module</desc>
</testCase>
<testCase id="040402">
<class>Detach_CatM_module</class>
<desc>Detach CAT-M Module</desc>
</testCase>
<testCase id="040502">
<class>Ping_CatM_module</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -24,7 +24,7 @@
<htmlTabRef>build-tab</htmlTabRef>
<htmlTabName>Build</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
@@ -36,10 +36,10 @@
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
</testCase>
<testCase id="050101">
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>

View File

@@ -24,24 +24,24 @@
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -24,9 +24,10 @@
<htmlTabRef>test-05-tm1</htmlTabRef>
<htmlTabName>Test-05MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
030201
040101
030104 040301 040501 040602 040601 040603 040642 040641 040643 040401 040201 030201
030104 040301 040501 040602 040601 040603 040604 040605 040642 040641 040643 040644 040645 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
@@ -51,46 +52,61 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040602">
<testCase id="040602">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040603">
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040604">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040605">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040641">
<class>Iperf</class>
@@ -116,4 +132,19 @@
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040644">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040645">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,151 @@
<!--
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
030105 040301 040502 040606 040601 040603 040608 040605 040646 040641 040643 040648 040645 040401 040201 030201
-->
<testCaseList>
<htmlTabRef>test-05-tm2</htmlTabRef>
<htmlTabName>Test-05MHz-TM2</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030105 040301 040502 040606 040608 040646 040648 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030105">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm2.25PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040502">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040606">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040608">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040605">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040646">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040643">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040648">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040645">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -24,17 +24,18 @@
<htmlTabRef>test-10-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
030201
040101
030114 040301 040511 040612 040611 040613 040652 040651 040653 040401 040201 030201
030114 040301 040511 040612 040611 040613 040614 040615 040652 040651 040653 040654 040655 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030114">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/10MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/10MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
@@ -51,38 +52,38 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040611">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040612">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040612">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040613">
<class>Iperf</class>
@@ -92,6 +93,21 @@
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040614">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040615">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040651">
<class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
@@ -116,4 +132,19 @@
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040654">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040655">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -24,17 +24,18 @@
<htmlTabRef>test-20-tm1</htmlTabRef>
<htmlTabName>Test-20MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
030201
040101
030124 040301 040521 040622 040621 040623 040662 040661 040663 040401 040201 030201
030124 040301 040521 040622 040621 040623 040624 040625 040662 040661 040663 040664 040665 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030124">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/20MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/20MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
@@ -51,38 +52,38 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040621">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040622">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040622">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040623">
<class>Iperf</class>
@@ -92,6 +93,21 @@
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040624">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040625">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040661">
<class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
@@ -116,4 +132,19 @@
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040664">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040665">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -24,7 +24,7 @@
<htmlTabRef>tracer-test</htmlTabRef>
<htmlTabName>T-Tracer</htmlTabName>
<htmlTabIcon>duplicate</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
040101
030100 040300 040401 040201 030201
</TestCaseRequestedList>
@@ -51,15 +51,15 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040300">
<class>Attach_UE</class>
<desc>Attach single UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040300">
<class>Attach_UE</class>
<desc>Attach single UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
</testCaseList>

View File

@@ -36,10 +36,10 @@
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
</testCase>
<testCase id="050101">
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>

View File

@@ -25,17 +25,104 @@
<htmlTabName>Test-05MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
030102 000010 040301 040502 000011 040302 000001 000012 040303 000002 000013 040503 040401 040201 030201
050102
030102 000020 040301 040504 000021 040302 000001 000022 040303 000002 040504 000023 040401 040201 030201
050202
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Waiting for 35 seconds</desc>
<idle_sleep_time_in_sec>35</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Waiting for 10 seconds</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000010">
<class>CheckStatusUE</class>
<desc>Check UE(s) status before attachment</desc>
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000011">
<class>CheckStatusUE</class>
<desc>Check UE(s) status before data disabling</desc>
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000012">
<class>CheckStatusUE</class>
<desc>Check UE(s) status after data disabling</desc>
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000013">
<class>CheckStatusUE</class>
<desc>Check UE(s) status after data re-enabling</desc>
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000020">
<class>CheckStatusUE</class>
<desc>Check UE(s) status before attachment</desc>
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000021">
<class>CheckStatusUE</class>
<desc>Check UE(s) status before data disabling</desc>
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000022">
<class>CheckStatusUE</class>
<desc>Check UE(s) status after data disabling</desc>
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
</testCase>
<testCase id="000023">
<class>CheckStatusUE</class>
<desc>Check UE(s) status after data re-enabling</desc>
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
</testCase>
<testCase id="050102">
<class>Initialize_FlexranCtrl</class>
<desc>Starting Flexran Controller</desc>
</testCase>
<testCase id="050202">
<class>Terminate_FlexranCtrl</class>
<desc>Stopping Flexran Controller</desc>
</testCase>
<testCase id="030101">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030102">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030103">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
@@ -51,62 +138,100 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040302">
<class>DataDisable_UE</class>
<desc>Disabling Data Service on UE</desc>
</testCase>
<testCase id="040603">
<testCase id="040303">
<class>DataEnable_UE</class>
<desc>Enabling Data Service on UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040502">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040503">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040504">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040505">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040604">
<testCase id="040604">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040605">
<testCase id="040605">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040606">
<testCase id="040606">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040607">
<testCase id="040607">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040641">
<class>Iperf</class>
@@ -124,20 +249,20 @@
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040643">
<testCase id="040643">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040644">
<testCase id="040644">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
</testCaseList>

View File

@@ -25,6 +25,7 @@
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030111 040301 040511 040613 040614 040615 040616 040617 040651 040652 040653 040654 040401 040201 030201
</TestCaseRequestedList>
@@ -51,62 +52,62 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040613">
<testCase id="040613">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040614">
<testCase id="040614">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040615">
<testCase id="040615">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040616">
<testCase id="040616">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040617">
<testCase id="040617">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040651">
<class>Iperf</class>
@@ -124,20 +125,20 @@
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040653">
<testCase id="040653">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040654">
<testCase id="040654">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
</testCaseList>

View File

@@ -25,6 +25,7 @@
<htmlTabName>Test-20MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030121 040301 040521 040623 040624 040625 040662 040401 040201 030201
</TestCaseRequestedList>
@@ -51,62 +52,62 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040623">
<testCase id="040623">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040624">
<testCase id="040624">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040625">
<testCase id="040625">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040626">
<testCase id="040626">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040627">
<testCase id="040627">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
<testCase id="040661">
<class>Iperf</class>
@@ -124,20 +125,20 @@
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040663">
<testCase id="040663">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040664">
<testCase id="040664">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCase>
</testCaseList>

View File

@@ -51,15 +51,15 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040300">
<class>Attach_UE</class>
<desc>Attach single UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040300">
<class>Attach_UE</class>
<desc>Attach single UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,110 @@
<!--
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>test-f1-05</htmlTabRef>
<htmlTabName>Test-F1-CU/DU-05MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030142 030141 000002 040301 000002 040541 040601 040641 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030141">
<class>Initialize_eNB</class>
<desc>Initialize DU (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/du.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030142">
<class>Initialize_eNB</class>
<desc>Initialize CU (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/cu.band7.tm1.25PRB.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate CU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate DU</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040541">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,110 @@
<!--
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>test-f1-10</htmlTabRef>
<htmlTabName>Test-F1-CU/DU-10MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030152 030151 000002 040301 000002 040551 040611 040651 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030151">
<class>Initialize_eNB</class>
<desc>Initialize DU (FDD/Band7/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/du.band7.tm1.50PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030152">
<class>Initialize_eNB</class>
<desc>Initialize CU (FDD/Band7/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/cu.band7.tm1.50PRB.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate CU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate DU</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040551">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040611">
<class>Iperf</class>
<desc>iperf (10MHz - DL/32Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 32M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040651">
<class>Iperf</class>
<desc>iperf (10MHz - UL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,110 @@
<!--
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>test-f1-20</htmlTabRef>
<htmlTabName>Test-F1-CU/DU-20MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030162 030161 000002 040301 000002 040561 040621 040661 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030161">
<class>Initialize_eNB</class>
<desc>Initialize DU (FDD/Band7/20MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/du.band7.tm1.100PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030162">
<class>Initialize_eNB</class>
<desc>Initialize CU (FDD/Band7/20MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/cu.band7.tm1.100PRB.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate CU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate DU</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040561">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040621">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040661">
<class>Iperf</class>
<desc>iperf (20MHz - UL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -24,7 +24,7 @@
<htmlTabRef>build-tab</htmlTabRef>
<htmlTabName>Build</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
@@ -34,13 +34,13 @@
<testCase id="010101">
<class>Build_eNB</class>
<desc>Build eNB (USRP -- Ethernet Fronthaul)</desc>
<Build_eNB_args>-t ETHERNET -w USRP -c --eNB</Build_eNB_args>
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
</testCase>
<testCase id="050101">
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>

View File

@@ -24,25 +24,25 @@
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -24,7 +24,8 @@
<htmlTabRef>test-05</htmlTabRef>
<htmlTabName>Test-05MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
030201
040101
030104 030105 040301 040501 040602 040642 040401 040201 030201 030202
</TestCaseRequestedList>
@@ -34,7 +35,7 @@
<testCase id="030104">
<class>Initialize_eNB</class>
<desc>Initialize RRU (TDD/Band40)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --RUs.[0].max_rxgain 125</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
@@ -67,30 +68,30 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040602">
<testCase id="040602">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040642">
<class>Iperf</class>

View File

@@ -24,7 +24,8 @@
<htmlTabRef>test-10</htmlTabRef>
<htmlTabName>Test-10MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
030201
040101
030114 030115 040301 040511 040612 040652 040401 040201 030201 030202
</TestCaseRequestedList>
@@ -34,16 +35,16 @@
<testCase id="030114">
<class>Initialize_eNB</class>
<desc>Initialize RRU (TDD/Band40)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --RUs.[0].max_rxgain 120</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030115">
<class>Initialize_eNB</class>
<desc>Initialize RCC (TDD/Band40/10MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
<class>Initialize_eNB</class>
<desc>Initialize RCC (TDD/Band40/10MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
@@ -67,36 +68,36 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040612">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040612">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040652">
<class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>

View File

@@ -24,7 +24,8 @@
<htmlTabRef>test-20</htmlTabRef>
<htmlTabName>Test-20MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
<TestCaseRequestedList>
030201
040101
030124 030125 040301 040521 040622 040662 040401 040201 030201 030202
</TestCaseRequestedList>
@@ -37,7 +38,7 @@
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030125">
<class>Initialize_eNB</class>
<desc>Initialize RCC (TDD/Band40/20MHz/info)</desc>
@@ -67,30 +68,30 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040622">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040622">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040662">
<class>Iperf</class>

View File

@@ -34,13 +34,13 @@
<testCase id="010101">
<class>Build_eNB</class>
<desc>Build eNB (USRP -- Ethernet Fronthaul)</desc>
<Build_eNB_args>-t ETHERNET -w USRP -c --eNB</Build_eNB_args>
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
</testCase>
<testCase id="050101">
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>

View File

@@ -21,10 +21,11 @@
-->
<testCaseList>
<htmlTabRef>test-05</htmlTabRef>
<htmlTabName>Test-05MHz</htmlTabName>
<htmlTabRef>test-if4p5-05</htmlTabRef>
<htmlTabName>Test-IF4.5-05MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030101 030102 040301 040501 040604 040642 040401 040201 030201 030202
</TestCaseRequestedList>
@@ -34,7 +35,7 @@
<testCase id="030101">
<class>Initialize_eNB</class>
<desc>Initialize RRU (FDD/Band7)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf --RUs.[0].max_rxgain 125</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
@@ -67,30 +68,30 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040604">
<testCase id="040604">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040642">
<class>Iperf</class>

View File

@@ -21,10 +21,11 @@
-->
<testCaseList>
<htmlTabRef>test-10</htmlTabRef>
<htmlTabName>Test-10MHz</htmlTabName>
<htmlTabRef>test-if4p5-10</htmlTabRef>
<htmlTabName>Test-IF4.5-10MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030111 030112 040301 040511 040614 040652 040401 040201 030201 030202
</TestCaseRequestedList>
@@ -34,7 +35,7 @@
<testCase id="030111">
<class>Initialize_eNB</class>
<desc>Initialize RRU (FDD/Band7)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf --RUs.[0].max_rxgain 120</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
@@ -67,30 +68,30 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040614">
<testCase id="040614">
<class>Iperf</class>
<desc>iperf (10MHz - DL/32Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 32M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040652">
<class>Iperf</class>

View File

@@ -21,10 +21,11 @@
-->
<testCaseList>
<htmlTabRef>test-20</htmlTabRef>
<htmlTabName>Test-20MHz</htmlTabName>
<htmlTabRef>test-if4p5-20</htmlTabRef>
<htmlTabName>Test-IF4.5-20MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030121 030122 040301 040521 040624 040662 040401 040201 030201 030202
</TestCaseRequestedList>
@@ -67,30 +68,30 @@
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040624">
<testCase id="040624">
<class>Iperf</class>
<desc>iperf (20MHz - DL/50Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 50M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCase>
<testCase id="040662">
<class>Iperf</class>

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>build-tab</htmlTabRef>
<htmlTabName>Build</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
090101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="090101">
<class>Build_OAI_UE</class>
<desc>Build OAI UE</desc>
<Build_OAI_UE_args>-w USRP --UE</Build_OAI_UE_args>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,50 @@
<!--
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>test-10mhz-orange</htmlTabRef>
<htmlTabName>Test-10Mhz-Orange</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
090109
090110 000001 090109
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="090110">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE -- sniffing Orange frequency</desc>
<Initialize_OAI_UE_args>-C 816000000 -r 50 --ue-rxgain 135 --ue-scan-carrier --no-L2-connect --nokrnmod 1</Initialize_OAI_UE_args>
</testCase>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>30</idle_sleep_time_in_sec>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,50 @@
<!--
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>test-10mHz-sfr</htmlTabRef>
<htmlTabName>Test-10MHz-SFR</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
090109
090111 000001 090109
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="090111">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE -- sniffing SFR frequency</desc>
<Initialize_OAI_UE_args>-C 806000000 -r 50 --ue-rxgain 130 --ue-scan-carrier --no-L2-connect --nokrnmod 1</Initialize_OAI_UE_args>
</testCase>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>30</idle_sleep_time_in_sec>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
</testCaseList>

View File

@@ -21,7 +21,7 @@
# Author: laurent THOMAS, Lionel GAUTHIER
cmake_minimum_required (VERSION 2.8)
cmake_minimum_required (VERSION 3.0)
#############################################
# Base directories, compatible with legacy OAI building
@@ -169,13 +169,13 @@ endif()
set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} ${C_FLAGS_PROCESSOR} -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC ")
# add autotools definitions that were maybe used!
set(MKVER "'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'")
set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'"
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D${MKVER}"
)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -std=c++11 -D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'"
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -std=c++11 -D${MKVER}"
)
add_definitions("-DASN_DISABLE_OER_SUPPORT")
#########################
@@ -227,7 +227,6 @@ add_definitions("-DPACKAGE_VERSION=\"Branch: ${GIT_BRANCH} Abrev. Hash: ${GIT_CO
add_definitions("-DPACKAGE_BUGREPORT=\"openair4g-devel@lists.eurecom.fr\"")
# Debug related options
#########################################
add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug")
@@ -242,16 +241,12 @@ add_boolean_option(DEBUG_MAC_INTERFACE False "print MAC-RLC PDU exchange to stdo
add_boolean_option(TRACE_RLC_PAYLOAD False "print RLC PDU to stdout") # if true, make sure that global and PDCP log levels are trace
add_boolean_option(TEST_OMG False "???")
add_boolean_option(DEBUG_OMG False "???")
add_boolean_option(XFORMS False "This adds the possibility to see the signal oscilloscope")
add_boolean_option(PRINT_STATS False "This adds the possibility to see the status")
add_boolean_option(T_TRACER True "Activate the T tracer, a debugging/monitoring framework" )
add_boolean_option(UE_AUTOTEST_TRACE False "Activate UE autotest specific logs")
add_boolean_option(UE_DEBUG_TRACE False "Activate UE debug trace")
add_boolean_option(UE_TIMING_TRACE False "Activate UE timing trace")
add_boolean_option(DISABLE_LOG_X False "Deactivate all LOG_* macros")
add_boolean_option(USRP_REC_PLAY False "Enable USRP record playback mode")
add_boolean_option(UE_NAS_USE_TUN False "Enable UE NAS TUN device instead of ue_ip.ko")
add_boolean_option(BASIC_SIMULATOR False "Has to be True when building the basic simulator, False otherwise")
add_boolean_option(DEBUG_CONSOLE False "makes debugging easier, disables stdout/stderr buffering")
@@ -382,7 +377,7 @@ file(GLOB S1AP_source ${S1AP_C_DIR}/*.c)
add_custom_target (
s1ap_flag ALL
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${S1AP_C_DIR}" "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}" "S1AP_" -fno-include-deps
DEPENDS "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}"
DEPENDS "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}"
)
add_library(S1AP_LIB
@@ -469,15 +464,62 @@ add_library(X2AP_ENB
${X2AP_DIR}/x2ap_eNB_itti_messaging.c
${X2AP_DIR}/x2ap_eNB_management_procedures.c
${X2AP_DIR}/x2ap_eNB_generate_messages.c
${X2AP_DIR}/x2ap_ids.c
${X2AP_DIR}/x2ap_timers.c
)
add_dependencies(X2AP_ENB rrc_flag x2_flag)
# F1AP
##############
add_list1_option(F1AP_RELEASE R15 "F1AP ASN.1 grammar version" R15)
set(F1AP_DIR ${OPENAIR2_DIR}/F1AP)
if (${F1AP_RELEASE} STREQUAL "R15")
make_version(F1AP_VERSION 15 2 1)
set (ASN1RELDIR R15.2.1)
endif(${F1AP_RELEASE} STREQUAL "R15")
add_definitions(-DF1AP_VERSION=${F1AP_VERSION})
set(F1AP_ASN_DIR ${F1AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR})
set(F1AP_ASN_FILES
${F1AP_ASN_DIR}/F1AP-CommonDataTypes.asn
${F1AP_ASN_DIR}/F1AP-Constants.asn
${F1AP_ASN_DIR}/F1AP-PDU-Descriptions.asn
${F1AP_ASN_DIR}/F1AP-PDU-Contents.asn
${F1AP_ASN_DIR}/F1AP-IEs.asn
${F1AP_ASN_DIR}/F1AP-Containers.asn
)
set(F1AP_ASN_GENERATED_C_DIR ${asn1_generated_dir}/F1AP_${ASN1RELDIR})
message("calling ASN1C_PREFIX=F1AP_ asn1c -gen-PER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D ${F1AP_ASN_GENERATED_C_DIR} ${F1AP_ASN_FILES}")
execute_process(COMMAND mkdir -p ${F1AP_ASN_GENERATED_C_DIR}
COMMAND env "ASN1C_PREFIX=F1AP_" asn1c -gen-PER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D ${F1AP_ASN_GENERATED_C_DIR} ${F1AP_ASN_FILES}
RESULT_VARIABLE ret
OUTPUT_QUIET
ERROR_QUIET)
if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "asn1c: error")
endif (NOT ${ret} STREQUAL 0)
file(GLOB F1AP_ASN_GENERATED_C_FILES ${F1AP_ASN_GENERATED_C_DIR}/*.c)
add_library(F1AP_LIB
${F1AP_ASN_GENERATED_C_FILES}
)
include_directories ("${F1AP_ASN_GENERATED_C_DIR}")
include_directories ("${F1AP_DIR}")
file(GLOB F1AP_C_FILES ${F1AP_DIR}/*.c)
add_library(F1AP
${F1AP_C_FILES}
)
# Hardware dependant options
###################################
add_list1_option(NB_ANTENNAS_RX "2" "Number of antennas in reception" "1" "2" "4")
add_list1_option(NB_ANTENNAS_TX "4" "Number of antennas in transmission" "1" "2" "4")
add_list2_option(RF_BOARD "EXMIMO" "RF head type" "None" "EXMIMO" "OAI_USRP" "OAI_BLADERF" "CPRIGW" "OAI_LMSSDR")
add_list2_option(RF_BOARD "RF head type" "None" "OAI_USRP" "OAI_BLADERF" "CPRIGW" "OAI_LMSSDR" "OAI_SIMU")
add_list2_option(TRANSP_PRO "None" "Transport protocol type" "None" "ETHERNET")
#NOKIA config enhancement
@@ -501,15 +543,6 @@ set (SHLIB_LOADER_SOURCES
# include RF devices / transport protocols library modules
######################################################################
include_directories("${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/")
include_directories ("${OPENAIR_TARGETS}/ARCH/EXMIMO/DEFS/")
#set (option_HWEXMIMOLIB_lib "-l ")
set(HWLIB_EXMIMO_SOURCE
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
# ${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
)
add_library(oai_exmimodevif MODULE ${HWLIB_EXMIMO_SOURCE} )
include_directories("${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/")
set(HWLIB_USRP_SOURCE
${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -550,20 +583,6 @@ add_library(oai_irisdevif MODULE ${HWLIB_IRIS_SOURCE})
target_include_directories(oai_irisdevif PRIVATE /usr/local/lib/SoapySDR/modules0.7/)
target_link_libraries(oai_irisdevif SoapySDR)
include_directories("${OPENAIR_TARGETS}/ARCH/mobipass/")
set(TPLIB_MOBIPASS_SOURCE
${OPENAIR_TARGETS}/ARCH/mobipass/interface.c
${OPENAIR_TARGETS}/ARCH/mobipass/mobipass.c
${OPENAIR_TARGETS}/ARCH/mobipass/queues.c
)
add_library(oai_mobipass MODULE ${TPLIB_MOBIPASS_SOURCE} )
# Hide all functions/variables in the mobipass library.
# Use __attribute__((__visibility__("default")))
# in the source code to unhide a function/variable.
get_target_property(mobipas_cflags oai_mobipass COMPILE_FLAGS)
set_target_properties(oai_mobipass PROPERTIES COMPILE_FLAGS "${mobipass_cflags} -fvisibility=hidden")
# TCP bridge libraries
######################################################################
@@ -585,6 +604,8 @@ set(HWLIB_TCP_BRIDGE_OAI_SOURCE
add_library(tcp_bridge_oai MODULE ${HWLIB_TCP_BRIDGE_OAI_SOURCE} )
set_target_properties(tcp_bridge_oai PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
add_library(rfsimulator MODULE ${OPENAIR_TARGETS}/ARCH/rfsimulator/simulator.c)
##########################################################
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
@@ -595,7 +616,6 @@ Message("CPU_Affinity flag is ${CPU_AFFINITY}")
##############################################################
# ???!!! TO BE DOCUMENTED OPTIONS !!!???
##############################################################
add_boolean_option(ENABLE_SECURITY True "Enable LTE integrity and ciphering between RRC UE and eNB")
add_boolean_option(ENABLE_USE_MME True "eNB connected to MME (INTERFACE S1-C), not standalone eNB")
add_boolean_option(NO_RRM True "DO WE HAVE A RADIO RESSOURCE MANAGER: NO")
add_boolean_option(RRC_DEFAULT_RAB_IS_AM False "set the RLC mode to AM for the default bearer")
@@ -693,10 +713,10 @@ add_boolean_option(TRACE_RLC_UM_TX_STATUS False "TRACE for RLC UM, TO BE CHANGE
##########################
# PDCP LAYER OPTIONS
##########################
add_boolean_option(PDCP_USE_NETLINK False "For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO")
add_boolean_option(PDCP_USE_NETLINK_QUEUES False "When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues")
add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER False "For eNB, PDCP communicate with a IP driver")
add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U True "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)")
#add_boolean_option(PDCP_USE_NETLINK False "For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO")
#add_boolean_option(PDCP_USE_NETLINK_QUEUES False "When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues")
#add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER False "For eNB, PDCP communicate with a IP driver")
#add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U True "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)")
##########################
# RRC LAYER OPTIONS
@@ -743,6 +763,8 @@ include_directories("${NFAPI_DIR}/sim_common/inc")
include_directories("${NFAPI_DIR}/pnf_sim/inc")
include_directories("${OPENAIR1_DIR}")
include_directories("${OPENAIR2_DIR}")
include_directories("${OPENAIR3_DIR}/NAS/TOOLS")
include_directories("${OPENAIR2_DIR}/ENB_APP")
include_directories("${OPENAIR2_DIR}/LAYER2/RLC")
include_directories("${OPENAIR2_DIR}/LAYER2/RLC/AM_v9.3.0")
include_directories("${OPENAIR2_DIR}/LAYER2/RLC/UM_v9.3.0")
@@ -765,19 +787,19 @@ include_directories("${OPENAIR3_DIR}/SECU")
include_directories("${OPENAIR3_DIR}/SCTP")
include_directories("${OPENAIR3_DIR}/S1AP")
include_directories("${OPENAIR2_DIR}/X2AP")
include_directories("${OPENAIR2_DIR}/F1AP")
include_directories("${OPENAIR3_DIR}/UDP")
include_directories("${OPENAIR3_DIR}/GTPV1-U")
include_directories("${OPENAIR_DIR}/targets/COMMON")
include_directories("${OPENAIR_DIR}/targets/ARCH/COMMON")
include_directories("${OPENAIR_DIR}/targets/ARCH/EXMIMO/USERSPACE/LIB/")
include_directories("${OPENAIR_DIR}/targets/ARCH/EXMIMO/DEFS")
include_directories("${OPENAIR2_DIR}/ENB_APP")
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PHY")
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC")
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/RRC")
include_directories("${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PDCP")
include_directories("${OPENAIR2_DIR}/UTIL/OSA")
include_directories("${OPENAIR2_DIR}/UTIL/LFDS/liblfds6.1.1/liblfds611/inc")
include_directories("${OPENAIR2_DIR}/UTIL/LFDS/liblfds7.0.0/liblfds700/inc")
include_directories("${OPENAIR2_DIR}/LAYER2/PROTO_AGENT")
include_directories("${OPENAIR2_DIR}/UTIL/MEM")
include_directories("${OPENAIR2_DIR}/UTIL/LISTS")
include_directories("${OPENAIR2_DIR}/UTIL/FIFO")
@@ -819,7 +841,7 @@ set(FLPT_MSG_FILES
${FLPT_MSG_DIR}/control_delegation.proto
)
set(FLPT_C_DIR ${protobuf_generated_dir}/${FLPTDIR})
set(FLPT_C_DIR ${protobuf_generated_dir}/FLPT_${FLPTDIR})
#message("calling protoc_call=${protoc_call} FLPT_C_DIR=${FLPT_C_DIR} FLPT_MSG_FILES=${FLPT_MSG_FILES}")
execute_process(COMMAND ${protoc_call} ${FLPT_C_DIR} ${FLPT_MSG_DIR} ${FLPT_MSG_FILES})
file(GLOB FLPT_source ${FLPT_C_DIR}/*.c)
@@ -862,6 +884,7 @@ add_library(FLEXRAN_AGENT
${OPENAIR2_DIR}/ENB_APP/flexran_agent_ran_api.c
${OPENAIR2_DIR}/ENB_APP/flexran_agent_timer.c
${OPENAIR2_DIR}/ENB_APP/flexran_agent_common_internal.c
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PHY/flexran_agent_phy.c
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/PDCP/flexran_agent_pdcp.c
@@ -887,6 +910,63 @@ MARK_AS_ADVANCED(LIBYAML_INCLUDE_DIR LIBYAML_LIBRARIES)
#set(PROTOBUF_LIB "protobuf") #for Cpp
# set the version of protobuf messages, V3 not supported yet
add_list1_option(FSPT_VERSION V2 "FSPT MSG protobuf grammar version" V2 V3)
if (${FSPT_VERSION} STREQUAL "V2")
set (FSPTDIR V2)
elseif (${FSPT_VERSION} STREQUAL "V3")
set (FSPTDIR V3)
endif(${FSPT_VERSION} STREQUAL "V2")
set(FSPT_MSG_DIR ${OPENAIR_DIR}/targets/COMMON/MESSAGES/${FSPTDIR} )
set(FSPT_MSG_FILES
${FSPT_MSG_DIR}/flexsplit.proto
)
set(FSPT_C_DIR ${protobuf_generated_dir}/FSPT_${FSPTDIR})
message("calling protoc_call=${protoc_call} FSPT_C_DIR=${FSPT_C_DIR} FSPT_MSG_DIR=${FSPT_MSG_DIR} FSPT_MSG_FILES=${FSPT_MSG_FILES}")
execute_process(COMMAND ${protoc_call} ${FSPT_C_DIR} ${FSPT_MSG_DIR} ${FSPT_MSG_FILES})
file(GLOB FSPT_source ${FSPT_C_DIR}/*.c)
set(FSPT_OAI_generated
${FSPT_C_DIR}/flexsplit.pb-c.c
)
file(GLOB fspt_h ${FSPT_C_DIR}/*.h)
set(fspt_h ${fspt_h} )
add_library(FSPT_MSG
${FSPT_OAI_generated}
${FSPT_source}
)
set(FSPT_MSG_LIB FSPT_MSG)
message("fspt c dir is : ${FSPT_C_DIR}")
include_directories (${FSPT_C_DIR})
# add_library(ASYNC_IF
# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/socket_link.c
# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/link_manager.c
# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/message_queue.c
# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/ringbuffer_queue.c
# )
# set(ASYNC_IF_LIB ASYNC_IF)
# include_directories(${OPENAIR2_DIR}/UTIL/ASYNC_IF)
add_library(PROTO_AGENT
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_handler.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_common.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_net_comm.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_async.c
)
set(PROTO_AGENT_LIB PROTO_AGENT)
include_directories(${OPENAIR2_DIR}/LAYER2/PROTO_AGENT)
set(PROTOBUF_LIB "protobuf-c")
#set(PROTOBUF_LIB "protobuf") #for Cpp
add_library(HASHTABLE
${OPENAIR_DIR}/common/utils/hashtable/hashtable.c
@@ -909,7 +989,7 @@ set(UTIL_SRC
${OPENAIR_DIR}/common/utils/LOG/log.c
# ${OPENAIR2_DIR}/UTIL/LOG/vcd_signal_dumper.c
${OPENAIR2_DIR}/UTIL/MATH/oml.c
${OPENAIR2_DIR}/UTIL/MEM/mem_block.c
#${OPENAIR2_DIR}/UTIL/MEM/mem_block.c
# ${OPENAIR2_DIR}/UTIL/OCG/OCG.c
# ${OPENAIR2_DIR}/UTIL/OCG/OCG_create_dir.c
# ${OPENAIR2_DIR}/UTIL/OCG/OCG_detect_file.c
@@ -993,8 +1073,6 @@ set(SCHED_SRC_UE
${OPENAIR1_DIR}/SCHED_UE/pucch_pc.c
${OPENAIR1_DIR}/SCHED_UE/pusch_pc.c
${OPENAIR1_DIR}/SCHED_UE/srs_pc.c
${OPENAIR1_DIR}/SCHED/fapi_l1.c
${OPENAIR1_DIR}/SCHED/dummy_functions_ue.c
)
add_library(SCHED_UE_LIB ${SCHED_SRC_UE})
add_dependencies(SCHED_UE_LIB rrc_flag)
@@ -1048,18 +1126,8 @@ set(NFAPI_USER_SRC
${NFAPI_USER_DIR}/nfapi_pnf.c
${NFAPI_USER_DIR}/nfapi_vnf.c
)
add_library(NFAPI_USER_LIB ${NFAPI_USER_SRC})
add_dependencies(NFAPI_USER_LIB rrc_flag)
set(NFAPI_USER_UE_SRC
${NFAPI_USER_DIR}/nfapi.c
${NFAPI_USER_DIR}/nfapi_pnf.c
)
add_library(NFAPI_USER_UE_LIB ${NFAPI_USER_UE_SRC})
add_dependencies(NFAPI_USER_UE_LIB rrc_flag)
include_directories(${NFAPI_USER_DIR})
# Layer 1
@@ -1080,17 +1148,11 @@ add_library(coding MODULE ${PHY_TURBOSRC} )
set(PHY_SRC_COMMON
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dci_tools_common.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/lte_mcs.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/group_hopping.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pbch.c #Source files that had to be added after merge with sidelink
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_demodulation.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_modulation.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dci.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_coding.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pcfich.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/srs_modulation.c
# ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/slss.c
# ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/sldch.c
# ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/slsch.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/get_pmi.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/group_hopping.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/phich_common.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pcfich_common.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pmch_common.c
@@ -1099,12 +1161,9 @@ set(PHY_SRC_COMMON
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pucch_common.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_scrambling.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/lte_gold_generic.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/srs_modulation.c
${OPENAIR1_DIR}/PHY/MODULATION/ofdm_mod.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_sync_time.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c #Source files that had to be added after merge with sidelink
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/freq_equalization.c
${OPENAIR1_DIR}/PHY/LTE_REFSIG/lte_dl_cell_spec.c
${OPENAIR1_DIR}/PHY/LTE_REFSIG/lte_dl_uespec.c
${OPENAIR1_DIR}/PHY/LTE_REFSIG/lte_gold.c
@@ -1152,13 +1211,13 @@ set(PHY_SRC
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pcfich.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pucch.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pmch.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_demodulation.c
# ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_demodulation.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_decoding.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/rar_tools.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/uci_tools.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/freq_equalization.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_adjust_sync_eNB.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
# ${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/freq_equalization.c
# ${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_adjust_sync_eNB.c
# ${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
${OPENAIR1_DIR}/PHY/INIT/lte_init.c
)
@@ -1166,6 +1225,11 @@ set(PHY_SRC
set(PHY_SRC_RU
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if4_tools.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if5_tools.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/drs_modulation.c
${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_demodulation.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_adjust_sync_eNB.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/freq_equalization.c
${OPENAIR1_DIR}/PHY/MODULATION/slot_fep_ul.c
${OPENAIR1_DIR}/PHY/MODULATION/ul_7_5_kHz.c
${OPENAIR1_DIR}/PHY/MODULATION/gen_75KHz.cpp
@@ -1193,9 +1257,6 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/prach_ue.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/pmch_ue.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/pch_ue.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/slpss.c #Transfer sidelink source files to LTE_TRANSPORT_UE
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/slsss.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/slbch.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/slss.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/sldch.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/slsch.c
@@ -1204,7 +1265,6 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/ulsch_coding.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/rar_tools_ue.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/initial_sync.c
${OPENAIR1_DIR}/PHY/LTE_UE_TRANSPORT/initial_syncSL.c
${OPENAIR1_DIR}/PHY/MODULATION/slot_fep.c
${OPENAIR1_DIR}/PHY/MODULATION/slot_fep_mbsfn.c
${OPENAIR1_DIR}/PHY/MODULATION/ul_7_5_kHz_ue.c
@@ -1218,7 +1278,6 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_ue_measurements.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/adjust_gain.c
${OPENAIR1_DIR}/PHY/INIT/lte_init_ue.c
${OPENAIR1_DIR}/PHY/TOOLS/file_output.c
)
if (${SMBV})
@@ -1310,7 +1369,7 @@ set(L2_SRC
${RLC_DIR}/rlc.c
${RLC_DIR}/rlc_rrc.c
${RLC_DIR}/rlc_mpls.c
${RRC_DIR}/rrc_UE.c
# ${RRC_DIR}/rrc_UE.c
${RRC_DIR}/rrc_eNB.c
${RRC_DIR}/rrc_eNB_S1AP.c
${RRC_DIR}/rrc_eNB_UE_context.c
@@ -1387,8 +1446,6 @@ set (MAC_SRC
set (MAC_SRC_UE
${PHY_INTERFACE_DIR}/phy_stub_UE.c
${PHY_INTERFACE_DIR}/IF_Module.c
${PHY_INTERFACE_DIR}/dummy_functions.c
${MAC_DIR}/main_ue.c
${MAC_DIR}/ue_procedures.c
${MAC_DIR}/ra_procedures.c
@@ -1404,7 +1461,7 @@ set (ENB_APP_SRC
${OPENAIR2_DIR}/ENB_APP/enb_config_eMTC.c
${OPENAIR2_DIR}/ENB_APP/RRC_config_tools.c
)
add_library(L2
${L2_SRC}
${MAC_SRC}
@@ -1520,8 +1577,6 @@ set(libnas_esm_msg_OBJS
${NAS_SRC}COMMON/ESM/MSG/PdnConnectivityRequest.c
${NAS_SRC}COMMON/ESM/MSG/PdnDisconnectReject.c
${NAS_SRC}COMMON/ESM/MSG/PdnDisconnectRequest.c
${NAS_SRC}COMMON/ESM/MSG/RemoteUEReport.c
${NAS_SRC}COMMON/ESM/MSG/RemoteUEReportResponse.c
)
set(libnas_ies_OBJS
@@ -1603,9 +1658,6 @@ set(libnas_ies_OBJS
${NAS_SRC}COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c
${NAS_SRC}COMMON/IES/UeSecurityCapability.c
${NAS_SRC}COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c
${NAS_SRC}COMMON/IES/RemoteUserID.c
${NAS_SRC}COMMON/IES/RemoteUEContext.c
${NAS_SRC}COMMON/IES/PKMFAddress.c
)
set (libnas_utils_OBJS
@@ -1684,7 +1736,6 @@ if(NAS_UE)
${NAS_SRC}UE/ESM/EsmStatusHdl.c
${NAS_SRC}UE/ESM/PdnConnectivity.c
${NAS_SRC}UE/ESM/PdnDisconnect.c
${NAS_SRC}UE/ESM/RemoteUeReport.c
)
set(libnas_ue_esm_sap_OBJS
${NAS_SRC}UE/ESM/SAP/esm_recv.c
@@ -1791,13 +1842,10 @@ add_library(SIMU_ETH
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
#${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c
#${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/emu_transport.c
)
add_library(OPENAIR0_LIB
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
)
include_directories("${NFAPI_DIR}/nfapi/public_inc")
include_directories("${NFAPI_DIR}/common/public_inc")
include_directories("${NFAPI_DIR}/pnf/public_inc")
@@ -1805,6 +1853,7 @@ include_directories("${NFAPI_DIR}/nfapi/inc")
include_directories("${NFAPI_DIR}/sim_common/inc")
include_directories("${NFAPI_DIR}/pnf_sim/inc")
# System packages that are required
# We use either the cmake buildin, in ubuntu are in: /usr/share/cmake*/Modules/
# or cmake provide a generic interface to pkg-config that widely used
@@ -1869,26 +1918,6 @@ endif()
add_definitions("-DNETTLE_VERSION_MAJOR=${NETTLE_VERSION_MAJOR}")
add_definitions("-DNETTLE_VERSION_MINOR=${NETTLE_VERSION_MINOR}")
#pkg_search_module(NFAPI nfapi)
#if(NOT ${NFAPI_FOUND})
#message( FATAL_ERROR "PACKAGE nfapi not found: some targets will fail. Run build_oai -I again!")
#else()
#include_directories(${NFAPI_INCLUDE_DIRS})
#message( "PACKAGE nfapi!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
#message( "${NFAPI_INCLUDE_DIR}")
#message( "${NFAPI_COMMON_INCLUDE_DIR}")
#message( "${NFAPI_VNF_INCLUDE_DIR}")
#message( "${NFAPI_PNF_INCLUDE_DIR}")
#message( "XXX")
#message( "${NFAPI_LIBRARY}")
#message( "${NFAPI_COMMON_LIBRARY}")
#message( "${NFAPI_PNF_LIBRARY}")
#message( "XXX")
#message( "${NFAPI_LIBRARIES}")
#message( "XXX")
#endif()
pkg_search_module(XPM xpm)
if(NOT ${XPM_FOUND})
message("PACKAGE xpm not found: some targets will fail")
@@ -1934,16 +1963,28 @@ endif()
list(APPEND ATLAS_LIBRARIES lapack lapacke)
if (${XFORMS})
include_directories ("/usr/include/X11")
set(XFORMS_SOURCE
${OPENAIR1_DIR}/PHY/TOOLS/lte_phy_scope.c
)
set(XFORMS_SOURCE_SOFTMODEM
${OPENAIR_TARGETS}/RT/USER/stats.c
)
set(XFORMS_LIBRARIES "forms")
endif (${XFORMS})
set(XFORMS_SOURCE
${OPENAIR1_DIR}/PHY/TOOLS/lte_phy_scope.c
)
set(XFORMS_ENB_SOURCE
${OPENAIR1_DIR}/PHY/TOOLS/lte_enb_scope.c
)
set(XFORMS_UE_SOURCE
${OPENAIR1_DIR}/PHY/TOOLS/lte_ue_scope.c
)
set(XFORMS_SOURCE_SOFTMODEM
${OPENAIR_TARGETS}/RT/USER/stats.c
)
set(XFORMS_LIBRARIES "forms")
set (XFORMSINTERFACE_SOURCE
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
)
add_library(enbscope MODULE ${XFORMS_SOURCE} ${XFORMS_SOURCE_SOFTMODEM} ${XFORMS_ENB_SOURCE})
add_library(uescope MODULE ${XFORMS_SOURCE} ${XFORMS_SOURCE_SOFTMODEM} ${XFORMS_UE_SOURCE})
target_link_libraries(enbscope ${XFORMS_LIBRARIES})
target_link_libraries(uescope ${XFORMS_LIBRARIES})
set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
@@ -1958,12 +1999,6 @@ if (${T_TRACER})
set (T_LIB "rt")
endif (${T_TRACER})
#if (${NFAPI_DIR})
#set (NFAPI_PNF_LIB "nfapi_pnf")
#set (NFAPI_LIB "nfapi")
#set (NFAPI_COMMON_LIB "nfapi_common")
#endif (${NFAPI_DIR})
#
#Some files in the T directory are generated.
#This rule and the following deal with it.
add_custom_command (
@@ -2002,47 +2037,7 @@ add_executable(lte-softmodem
${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
${OPENAIR_TARGETS}/RT/USER/lte-enb.c
${OPENAIR_TARGETS}/RT/USER/lte-ru.c
${OPENAIR_TARGETS}/RT/USER/lte-softmodem.c
${OPENAIR_TARGETS}/RT/USER/lte-softmodem-common.c
${OPENAIR2_DIR}/ENB_APP/NB_IoT_interface.c
${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c
${OPENAIR_TARGETS}/COMMON/create_tasks.c
${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
${GTPU_need_ITTI}
${XFORMS_SOURCE}
${XFORMS_SOURCE_SOFTMODEM}
${T_SOURCE}
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
)
add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag)
target_link_libraries (lte-softmodem
-Wl,--start-group
RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB PHY_COMMON PHY PHY_RU SIMU_ETH LFDS L2
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl)
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-softmodem ${T_LIB})
# lte-softmodem-nos1 is both eNB and UE implementation
###################################################
add_executable(lte-softmodem-nos1
${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
${OPENAIR_TARGETS}/RT/USER/lte-enb.c
${OPENAIR_TARGETS}/RT/USER/lte-ru.c
${OPENAIR_TARGETS}/RT/USER/ru_control.c
${OPENAIR_TARGETS}/RT/USER/lte-softmodem.c
${OPENAIR_TARGETS}/RT/USER/lte-softmodem-common.c
${OPENAIR2_DIR}/ENB_APP/NB_IoT_interface.c
@@ -2054,26 +2049,56 @@ add_executable(lte-softmodem-nos1
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
${XFORMS_SOURCE}
${XFORMS_SOURCE_SOFTMODEM}
${GTPU_need_ITTI}
${XFORMSINTERFACE_SOURCE}
${T_SOURCE}
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
)
add_dependencies(lte-softmodem-nos1 rrc_flag s1ap_flag x2_flag)
target_link_libraries (lte-softmodem-nos1
add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag)
target_link_libraries (lte-softmodem
-Wl,--start-group
RRC_LIB SECU_CN SECU_OSA UTIL HASHTABLE SCHED_LIB SCHED_RU_LIB PHY_COMMON PHY PHY_RU LFDS L2 ${RAL_LIB} ${ITTI_LIB}
${MIH_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7
RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP X2AP_LIB X2AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB PHY_COMMON PHY PHY_RU LFDS L2
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB} LFDS7
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl )
-Wl,--end-group z dl)
target_link_libraries (lte-softmodem-nos1 ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
target_link_libraries (lte-softmodem-nos1 ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-softmodem-nos1 ${T_LIB})
add_executable(cu_test
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/cu_test.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_handler.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_common.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_net_comm.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_async.c
${T_SOURCE}
)
target_link_libraries(cu_test
${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FSPT_MSG_LIB} ${PROTOBUF_LIB}
${PROTO_AGENT_LIB} pthread UTIL ${T_LIB} dl ${ITTI_LIB}
)
add_executable(du_test
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/du_test.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_handler.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_common.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_net_comm.c
${OPENAIR2_DIR}/LAYER2/PROTO_AGENT/proto_agent_async.c
${T_SOURCE}
)
target_link_libraries(du_test
${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FSPT_MSG_LIB} ${PROTOBUF_LIB}
${PROTO_AGENT_LIB} pthread UTIL ${T_LIB} dl ${ITTI_LIB}
)
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-softmodem ${T_LIB})
# lte-uesoftmodem is UE implementation
#######################################
@@ -2084,45 +2109,7 @@ add_executable(lte-uesoftmodem
${OPENAIR_TARGETS}/RT/USER/lte-uesoftmodem.c
${OPENAIR_TARGETS}/RT/USER/lte-softmodem-common.c
${OPENAIR_TARGETS}/RT/USER/lte-ru.c
${OPENAIR_TARGETS}/RT/USER/rfsim.c
${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c
${OPENAIR_TARGETS}/COMMON/create_tasks_ue.c
${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
#${OPENAIR_TARGETS}/SIMU/USER/channel_sim.c
${XFORMS_SOURCE}
${XFORMS_SOURCE_SOFTMODEM}
${T_SOURCE}
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
)
add_dependencies(lte-uesoftmodem rrc_flag s1ap_flag x2_flag)
target_link_libraries (lte-uesoftmodem
-Wl,--start-group
RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE SIMU SIMU_ETH
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES}
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_UE_LIB
-Wl,--end-group z dl)
target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-uesoftmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LAPACK_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (lte-uesoftmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-uesoftmodem ${T_LIB})
# lte-uesoftmodem-nos1 is UE implementation
###################################################
add_executable(lte-uesoftmodem-nos1
${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
${OPENAIR_TARGETS}/RT/USER/lte-ue.c
${OPENAIR_TARGETS}/RT/USER/lte-uesoftmodem.c
${OPENAIR_TARGETS}/RT/USER/lte-softmodem-common.c
${OPENAIR_TARGETS}/RT/USER/lte-ru.c
${OPENAIR_TARGETS}/RT/USER/ru_control.c
${OPENAIR_TARGETS}/RT/USER/rfsim.c
${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c
${OPENAIR_TARGETS}/COMMON/create_tasks_ue.c
@@ -2132,28 +2119,27 @@ add_executable(lte-uesoftmodem-nos1
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
${OPENAIR_DIR}/common/utils/utils.c
${OPENAIR_DIR}/common/utils/system.c
${XFORMS_SOURCE}
${XFORMS_SOURCE_SOFTMODEM}
${XFORMSINTERFACE_SOURCE}
${T_SOURCE}
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
)
add_dependencies(lte-uesoftmodem-nos1 rrc_flag s1ap_flag x2_flag)
target_link_libraries (lte-uesoftmodem-nos1
add_dependencies(lte-uesoftmodem rrc_flag s1ap_flag x2_flag)
target_link_libraries (lte-uesoftmodem
-Wl,--start-group
RRC_LIB SECU_CN SECU_OSA UTIL HASHTABLE SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE ${MSC_LIB} SIMU ${RAL_LIB} ${ITTI_LIB}
${MIH_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES}
RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB F1AP F1AP_LIB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE SIMU
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES}
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl )
target_link_libraries (lte-uesoftmodem-nos1 ${LIBXML2_LIBRARIES})
target_link_libraries (lte-uesoftmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (lte-uesoftmodem-nos1 ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-uesoftmodem-nos1 ${T_LIB})
-Wl,--end-group z dl)
target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-uesoftmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES})
target_link_libraries (lte-uesoftmodem ${LIB_LMS_LIBRARIES})
target_link_libraries (lte-uesoftmodem ${T_LIB})
# USIM process
@@ -2183,6 +2169,7 @@ target_link_libraries (lte-uesoftmodem-nos1 ${T_LIB})
# Addexecutables for tests
####################################
# Unitary tests for each piece of L1: example, mbmssim is MBMS L1 simulator
#####################################
@@ -2194,24 +2181,23 @@ add_executable(dlsim_tm4
)
target_link_libraries (dlsim_tm4
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB PHY LFDS ${ITTI_LIB} -Wl,--end-group
pthread m rt ${CONFIG_LIBRARIES} ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB}
pthread m rt ${CONFIG_LIBRARIES} ${ATLAS_LIBRARIES} ${T_LIB}
)
#foreach(myExe dlsim dlsim_tm7 ulsim slschsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
foreach(myExe dlsim ulsim slschsim pucchsim prachsim)
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
add_executable(${myExe}
${OPENAIR1_DIR}/SIMULATION/LTE_PHY/${myExe}.c
${OPENAIR1_DIR}/SIMULATION/LTE_PHY/dummy_functions.c
#${OPENAIR_TARGETS}/SIMU/USER/channel_sim.c
${XFORMS_SOURCE}
${T_SOURCE}
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
${NFAPI_USER_DIR}/nfapi.c
)
target_link_libraries (${myExe}
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY PHY_UE PHY_RU LFDS SIMU SIMU_ETH ${ITTI_LIB} LFDS7 -Wl,--end-group
pthread m rt ${CONFIG_LIBRARIES} ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY PHY_UE PHY_RU LFDS ${ITTI_LIB} LFDS7 -Wl,--end-group
pthread m rt ${CONFIG_LIBRARIES} ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl
)
endforeach(myExe)
@@ -2224,7 +2210,7 @@ add_executable(test_epc_generate_scenario
${OPENAIR3_DIR}/S1AP/s1ap_eNB_defs.h
)
target_link_libraries (test_epc_generate_scenario
-Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${ITTI_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
-Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB F1AP_LIB F1AP GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${ITTI_LIB} ${MSC_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
)
add_executable(test_epc_play_scenario
@@ -2243,7 +2229,7 @@ add_executable(test_epc_play_scenario
)
target_include_directories(test_epc_play_scenario PUBLIC /usr/local/share/asn1c)
target_link_libraries (test_epc_play_scenario
-Wl,--start-group RRC_LIB S1AP_LIB X2AP_LIB X2AP_ENB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY_COMMON PHY PHY_UE LFDS ${ITTI_LIB} ${MSC_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
-Wl,--start-group RRC_LIB S1AP_LIB X2AP_LIB X2AP_ENB F1AP_LIB F1AP GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY_COMMON PHY PHY_UE LFDS ${ITTI_LIB} ${MSC_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
)
@@ -2275,17 +2261,17 @@ endforeach(myExe)
if (${T_TRACER})
foreach(i
#all "add_executable" definitions (except tests, rb_tool, updatefw)
lte-softmodem lte-softmodem-nos1 lte-uesoftmodem lte-uesoftmodem-nos1
lte-softmodem lte-uesoftmodem
dlsim_tm4 dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim
pdcchsim pucchsim prachsim syncsim ulsim
pdcchsim pucchsim prachsim syncsim ulsim cu_test du_test
#all "add_library" definitions
ITTI RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB
ITTI RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB F1AP_LIB F1AP
oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif
oai_eth_transpro
FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE MSC UTIL OMG_SUMO SECU_OSA
SECU_CN SCHED_LIB PHY L2 default_sched remote_sched RAL CN_UTILS
GTPV1U SCTP_CLIENT UDP LIB_NAS_UE LFDS LFDS7 SIMU OPENAIR0_LIB PHY_MEX
coding)
SECU_CN SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY L2 default_sched
remote_sched RAL CN_UTILS GTPV1U SCTP_CLIENT UDP LIB_NAS_UE LFDS
LFDS7 SIMU OPENAIR0_LIB PHY_MEX coding)
if (TARGET ${i})
add_dependencies(${i} generate_T)
endif()
@@ -2366,14 +2352,6 @@ if(OAI_NW_DRIVER_USE_NETLINK)
endif()
make_driver(oai_nw_drv ${OPENAIR2_DIR}/NETWORK_DRIVER/LTE ${oai_nw_drv_src})
# Exmimo board drivers
#########################
list(APPEND openair_rf_src module_main.c irq.c fileops.c exmimo_fw.c)
make_driver(openair_rf ${OPENAIR_TARGETS}/ARCH/EXMIMO/DRIVER/eurecom ${openair_rf_src})
add_executable(updatefw
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
)
# ue_ip: purpose ???
###############
@@ -2384,22 +2362,6 @@ endif()
make_driver(ue_ip ${OPENAIR2_DIR}/NETWORK_DRIVER/UE_IP ${ue_ip_src})
# OCTAVE tools
###############
set(OCT_INCL -I${OPENAIR_TARGETS}/ARCH/EXMIMO/DEFS -I${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB -I${OPENAIR_TARGETS}/ARCH/COMMON)
set(OCT_LIBS -L${CMAKE_CURRENT_BINARY_DIR} -lm -lOPENAIR0_LIB)
set(OCT_FLAGS -DEXMIMO)
set(OCT_DIR ${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/OCTAVE)
set(OCT_FILES
oarf_config_exmimo.oct
oarf_config_exmimo.oct
oarf_get_frame.oct
oarf_stop.oct
oarf_send_frame.oct
oarf_get_num_detected_cards.oct
oarf_stop_without_reset.oct
)
foreach(file IN ITEMS ${OCT_FILES})
string(REGEX REPLACE "oct *$" "cc" src ${file})
add_custom_command(

View File

@@ -436,7 +436,6 @@ set(esm_SRC
${OPENAIR_NAS_DIR}/UE/ESM/EsmStatusHdl.c
${OPENAIR_NAS_DIR}/UE/ESM/PdnConnectivity.c
${OPENAIR_NAS_DIR}/UE/ESM/PdnDisconnect.c
${OPENAIR_NAS_DIR}/UE/ESM/RemoteUeReport.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c
@@ -470,7 +469,6 @@ set(esm_SRC
set(esm_HDR
${OPENAIR_TARGETS}/COMMON/openairinterface5g_limits.h
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.h
${OPENAIR_NAS_DIR}/UE/ESM/PdnConnectivity.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h

View File

@@ -990,11 +990,11 @@
<pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec>
<pre_exec_args></pre_exec_args>
<main_exec> $OPENAIR_DIR/targets/bin/ulsim.Rel14</main_exec>
<main_exec_args> -BnbRBs=25 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=25 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=50 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=50 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=100 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
<main_exec_args> -BnbRBs=25 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=25 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=50 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=50 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=100 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70
-BnbRBs=100 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 </main_exec_args>
<tags>ulsim.test1 ulsim.test2 ulsim.test3 ulsim.test4 ulsim.test5 ulsim.test6</tags>
<search_expr_true>"passed"</search_expr_true>

View File

@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth6";

View File

@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth6";

View File

@@ -141,6 +141,13 @@ eNBs =
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth6";

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