Compare commits

...

2394 Commits

Author SHA1 Message Date
Raymond Knopp
adc5e5cb42 reverted to regular memcpy. This change was only valid for earlier gcc version (e.g. centos/rhel7) 2020-09-13 09:48:33 +02:00
Raphael Defosseux
3a7ac9821e Merge branch 'integration_2020_wk37' into 'develop'
Develop integration 2020 week 37

The following Merge Requests have been included:

* MR [878] : CI framework update for 5G NSA FR1 setup
* MR [885] : PTRS-based UL phase compensation
2020-09-11 16:49:52 +02:00
hardy
ebd7f50992 Merge remote-tracking branch 'origin/rh_ci_fr1' into integration_2020_wk37 2020-09-10 15:30:27 +02:00
hardy
53922c13cf Merge remote-tracking branch 'origin/ptrs_ul_phase_compensation' into integration_2020_wk37 2020-09-10 15:23:53 +02:00
hardy
e1927aa46b Merge branch 'rh_ci_fr1' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_fr1 2020-09-10 14:16:23 +02:00
hardy
6039cda5a9 remove oc files as they were developed in an other branch 2020-09-10 14:15:15 +02:00
Remi Hardy
0d9fc95063 Update TESTING_GNB_W_COTS_UE.md 2020-09-10 10:36:08 +02:00
Remi Hardy
894fd8c40c Merge branch 'rh_ci_fr1' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_fr1 2020-09-09 17:59:51 +02:00
Remi Hardy
2ab1b9697d fixed cls_cots_ue.py packages ; fixed terminate_ue_flag copy-paste error 2020-09-09 17:58:16 +02:00
Thomas Schlichter
8f58d1ec7f Fix nr_ulsim to transmit actual random data instead of uninitialized PDU 2020-09-09 16:50:32 +02:00
Raphael Defosseux
128887b9bc DOC: replace obsolete links w/ correct ones
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-09 16:18:14 +02:00
hardy
4ec420271f fixed how to retrieve the cots ue file location 2020-09-09 15:14:18 +02:00
Parminder Singh
2281436b66 Fix - Issue with uninitialized structure in ULSIM
- Changed malloc to calloc to set all values to zero to remove the
  valgrind issue with uninitialized structure values in RC.gNB structure
2020-09-09 11:11:24 +02:00
hardy
1c77b36ae9 reverted eNB auto terminate fix (not working) 2020-09-09 10:26:58 +02:00
Remi Hardy
ef04e7e90d replaced if if ... by if elif ... in GetPAramtersFromXML function 2020-09-08 17:24:18 +02:00
Remi Hardy
de6a4b81ae fixed eNB auto termination ; cleaned cots_ue_airplane action (no longer needed) 2020-09-08 16:58:06 +02:00
Remi Hardy
2541e8cf27 adding a more challenging ping in the FR1 testcase 2020-09-08 13:22:31 +02:00
Remi Hardy
a3a05075f3 adding a more challenging ping in the FR1 testcase 2020-09-08 13:20:52 +02:00
Thomas Schlichter
73f5851690 Merge remote-tracking branch 'develop'
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/SIMULATION/NR_PHY/ulsim.c
2020-09-08 12:01:37 +02:00
Raphael Defosseux
bdc1fa4edf Merge branch 'develop_integration_2020_w36' into 'develop'
Develop integration 2020 week 36

The following Merge Requests have been included:

* MR [877] : update conf2uedata
* MR [879] : Nr ul scheduling
* MR [880] : Cleanup usage of txdata array in NR UE threads
* MR [882] : Fixes for handling NR UE DCI decoding errors
* MR [884] : benetel: driver for Benetel's 4G and 5G RRUs
* MR [886] : NR UE fix get_Qm_dl and nr_get_code_rate_dl
* MR [887] : Usrp fix adc shift and pps sync
2020-09-08 10:38:29 +02:00
Remi Hardy
c4428f67ae Merge branch 'rh_ci_fr1' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_fr1 2020-09-08 10:13:49 +02:00
Remi Hardy
20ee6ca67c fixing logging and html rendering 2020-09-08 10:10:27 +02:00
Raymond Knopp
d38af248db fixing a stupid mistake introduced in da3dd6b8 2020-09-07 16:21:13 +02:00
Remi Hardy
a19ce58978 Update TESTBenches.md 2020-09-07 11:49:38 +02:00
Remi Hardy
cd73b71037 Update TESTBenches.md 2020-09-07 11:47:30 +02:00
Remi Hardy
a511d9043a Update TESTBenches.md 2020-09-07 11:47:06 +02:00
hardy
bc8543c55c updating testbenches doc resources 2020-09-07 11:47:10 +02:00
Raphael Defosseux
e5bbc0f1e4 BUILD: fix compilation warning and circular dependency protection on header files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-07 10:54:49 +02:00
Raphael Defosseux
0b4716d739 Merge remote-tracking branch 'origin/NR_UL_scheduling' into develop_integration_2020_w36 2020-09-07 10:33:24 +02:00
Raymond Knopp
1a8e531436 PUCCH2 3-11 bits with > 2 PRB. Will work for even number of PRBs up to 16 2020-09-05 15:12:31 +02:00
Sakthivel Velumani
21f5956f72 fixed dlsch_errors stats 2020-09-04 17:36:34 +02:00
Raphael Defosseux
88b3d0af5e CI: adding new rx gain for NR-UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-04 16:20:38 +02:00
Thomas Schlichter
6868a3db0d Fix merge conflict in openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
I had to remove the Msg2 transmission in phytest mode, which was present in branch 'benetel_integration'.
This caused following assertion:

Assertion (Foffset <= Ncb) failed!
In nr_rate_matching_ldpc() /home/sli/sudas-demonstrator/openair1/PHY/CODING/nr_rate_matching.c:411
Foffset 6492 > Ncb 924
2020-09-04 16:14:28 +02:00
Remi Hardy
7c92b90444 Update TESTING_GNB_W_COTS_UE.md 2020-09-04 15:28:42 +02:00
Thomas Schlichter
ac5f5d7899 add missing init_symbol_rotation() to nr-uesoftmodem.c 2020-09-04 14:15:58 +02:00
Thomas Schlichter
966cc20766 fix compile warning in rfsimulator 2020-09-04 14:05:26 +02:00
Thomas Schlichter
6f1d37d1d7 enable OFDM symbol rotation in PUSCH transmission 2020-09-04 14:03:58 +02:00
Remi Hardy
63394891ee Update TESTING_GNB_W_COTS_UE.md 2020-09-04 13:43:29 +02:00
Raphael Defosseux
9675f34854 CPPCHECK: few fixes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-04 12:37:15 +02:00
Raphael Defosseux
f7ad3f1e4d Merge remote-tracking branch 'origin/NR_UL_scheduling' into develop_integration_2020_w36 2020-09-04 12:07:46 +02:00
Raphael Defosseux
8b77c68f28 fix nr_dlsim build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-04 11:59:24 +02:00
Sakthivel Velumani
7820a57bf8 fixed ul harq assertion 2020-09-04 11:59:23 +02:00
Raphael Defosseux
4c779ba466 Merge remote-tracking branch 'origin/NR_UL_scheduling' into develop_integration_2020_w36 2020-09-04 11:48:45 +02:00
Raphael Defosseux
e3301fa62d Merge remote-tracking branch 'origin/usrp_fix_adc_shift_and_pps_sync' into develop_integration_2020_w36 2020-09-04 11:45:52 +02:00
Florian Kaltenberger
111cf1e3d9 changing rx gain to max in all n310 config files 2020-09-04 11:31:20 +02:00
Thomas Schlichter
db77516652 fix some compile warnings for nr_dlsim and nr_ulsim 2020-09-04 11:16:21 +02:00
Thomas Schlichter
3faeff23c1 fixing compile errors and some warnings 2020-09-04 09:47:17 +02:00
Remi Hardy
e3264917ce small fixes 2020-09-04 09:28:29 +02:00
Raymond Knopp
7394e4dc9c changes to DLSCH/ULSCH statistics in PHY 2020-09-03 22:20:44 +02:00
Raymond Knopp
42f96710f2 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling
Conflicts:
	openair2/NR_PHY_INTERFACE/NR_IF_Module.c
2020-09-03 20:59:58 +02:00
Raymond Knopp
66b4c74f36 added MAC statistics (Transport and logical channel interfaces) 2020-09-03 18:58:30 +02:00
Raphael Defosseux
0e96ad6a57 CI: updating also ci conf file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-03 16:51:54 +02:00
Raphael Defosseux
59ab6f3628 Merge remote-tracking branch 'origin/usrp_fix_adc_shift_and_pps_sync' into develop_integration_2020_w36 2020-09-03 16:50:21 +02:00
Raphael Defosseux
746fb82839 Merge remote-tracking branch 'origin/NR_UE_get_Qm_dl_fix' into develop_integration_2020_w36 2020-09-03 16:49:58 +02:00
Raphael Defosseux
2dcf50a5bc Merge remote-tracking branch 'origin/benetel_integration' into develop_integration_2020_w36 2020-09-03 16:47:39 +02:00
Raphael Defosseux
869f0e989c Merge remote-tracking branch 'origin/NR_UE_DCI_decode_fix' into develop_integration_2020_w36 2020-09-03 16:45:56 +02:00
Raphael Defosseux
a05f7e1448 Merge remote-tracking branch 'origin/nr_ue_txdata_cleanup' into develop_integration_2020_w36 2020-09-03 16:41:25 +02:00
Raphael Defosseux
ec1a7cadff Merge remote-tracking branch 'origin/NR_UL_scheduling' into develop_integration_2020_w36 2020-09-03 16:35:03 +02:00
Raphael Defosseux
3970424b29 Merge remote-tracking branch 'origin/docs/fix-small-error' into develop_integration_2020_w36 2020-09-03 16:34:42 +02:00
Florian Kaltenberger
a44a32af28 Merge remote-tracking branch 'origin/develop' into benetel_integration 2020-09-03 15:28:52 +02:00
Florian Kaltenberger
8ba3ba91ef updating conf file for CI 2020-09-03 15:27:56 +02:00
Florian Kaltenberger
2c7968cc04 changing rx gain to max in all n310 config files 2020-09-03 13:59:53 +02:00
Florian Kaltenberger
5d5aea13b9 adding config file for n310 2020-09-03 13:50:07 +02:00
Florian Kaltenberger
627da47786 fixing adc inpput shift and gain table for N310. adding pps sync. 2020-09-03 13:49:41 +02:00
Sakthivel Velumani
1ffa59c9f2 moved dl & ul harq handlers to MAC 2020-09-03 13:33:43 +02:00
Remi Hardy
cb650a1a6e v0.2 integrating the new cots control procedure into the existing framework 2020-09-03 11:54:18 +02:00
Sakthivel Velumani
9026652468 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-09-03 11:03:03 +02:00
Sakthivel Velumani
0c1c2edd65 small fix 2020-09-03 11:02:41 +02:00
Thomas Schlichter
15a376fab2 Harden nr_get_Qm() and nr_get_code_rate_dl() functions
Check the provided MCS index according to the specified table.
Some tables go up to MCS index 27, others up to MCS index 28.
If the MCS index exceeds the allowed limit, assume max. MCS.
2020-09-03 09:10:51 +02:00
Raymond Knopp
37dcdeb338 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-09-02 22:11:44 +02:00
Raymond Knopp
142249d84b added ulsch statistics 2020-09-02 22:11:04 +02:00
Remi Hardy
430496d59f v0.1 (temporary) running fr1 2020-09-02 17:52:18 +02:00
Francesco Mani
1025fd850c trying to fix some cppcheck errors 2020-09-02 16:44:40 +02:00
Raphael Defosseux
5a9ed93032 CPPCHECK: does not understand the different lengths of arrays
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-02 16:38:06 +02:00
Raphael Defosseux
1c457bf1fa BUILD: missing dependency on T_TRACER for L2_LTE_NR sub-lib
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-02 16:13:22 +02:00
Raymond Knopp
73c7bee040 added basic analytics for PDSCH measurements 2020-09-02 16:12:16 +02:00
Parminder Singh
b6792b3487 Fixed Warning issue due to wrong data type in ULSIM 2020-09-02 10:59:28 +02:00
Parminder Singh
88a14fc4cc Set the previous PTRS estimates to 0 for each slot
- The memory shall be reset for each slot to avoid interpolation error.
2020-09-02 10:10:10 +02:00
Parminder Singh
6ce38ac960 Fix Phase noise addition in ULSIM
- moved the noise function gNB variable
2020-09-02 09:53:45 +02:00
Parminder Singh
f7ed592ef5 Fixed available_bits calculation for PTRS in -n option in ulsim 2020-09-02 09:51:04 +02:00
Remi Hardy
237fdf5bd0 xml files update 2020-09-01 18:50:54 +02:00
Thomas Schlichter
0cff460e0e Fix alignment of mod_ptrs array in nr_ulsch_ue.c 2020-09-01 17:45:04 +02:00
Thomas Schlichter
600dd0e913 Add nr_ulsim testcases for UL DMRS and PTRS configurations 2020-09-01 17:39:21 +02:00
Remi Hardy
574c5944de file cleaning 2020-09-01 16:53:40 +02:00
Remi Hardy
78c7fb9f9b bug fixing + completing fr1 automation 2020-09-01 16:52:41 +02:00
Remi Hardy
d50e523d0e reworking check of xml_class_list location 2020-09-01 13:29:36 +02:00
Parminder Singh
92fc259592 Merge remote-tracking branch 'origin/develop' into fhg_shp_phase_noise_est 2020-09-01 12:55:50 +02:00
Parminder Singh
8cf32ed2ad Modify DMRS configuration with command line in ULSIM
- To modify DMRS use -U flag followed by 3 integers
- Example: ./nr_ulsim -U 2 1 0
- 1st Value is the list of arguments     -> e.g. 2
- 2nd Value is for TYPE{0=A,1=B}         -> e.g. 1
- 3rd Value is for ADD_POS{0,1,2,3}      -> e.g. 0
2020-09-01 12:22:12 +02:00
Sakthivel Velumani
0a3941fd17 dl harq handle update 2020-09-01 12:07:06 +02:00
Sakthivel Velumani
9e7ae9ce5f ul harq numbering fix 2020-09-01 11:35:08 +02:00
Remi Hardy
c3e2df6639 adding new xml files for fr1 setup 2020-09-01 10:24:40 +02:00
Parminder Singh
14096886e8 Enable PTRS with command line in ULSIM
- To enable PTRS use -T flag followed by 3 integers
- Example: ./nr_ulsim -T 2 0 2
- 1st Value is the list of arguments -> e.g. 2
- 2nd Value is for L_PTRS{0,1,2}     -> e.g. 0
- 3rd Value is for K_PTRS{2,4}       -> e.g. 2
2020-08-31 17:51:56 +02:00
hardy
c86fac47b9 fixing typo to make it work 2020-08-31 15:36:24 +02:00
hardy
88f9d88a44 Merge branch 'rh_ci_fr1' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_fr1 2020-08-31 15:26:46 +02:00
hardy
b67d4bd183 fixing typo in searching path ci-scripts 2020-08-31 15:24:45 +02:00
Raymond Knopp
d443d9e915 added multi-antenna support for gNB RX (tested in ulsim) 2020-08-31 13:43:16 +02:00
Remi Hardy
9f772f36fd checking issues 2020-08-31 11:44:09 +02:00
Raymond Knopp
dbdae54c6d removed AssertFatal in nr_ue_mac_procedures.c for nr_dlsim HARQ tests. For some unknown reason there are occasion 0 SDUs sent up to MAC which causes failure. 2020-08-29 21:51:10 +02:00
Shweta Shrivastava
f8b130a8ee Fix for build warnings 2020-08-28 16:15:13 -05:00
Raymond Knopp
cbeccf9868 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-28 17:35:18 +02:00
Raymond Knopp
99774b2afb bugfix in nr_dlsch_decoding.c 2020-08-28 17:34:47 +02:00
Francesco Mani
4e8fa97d7d getting rid of frame_rx and slot_rx in gnb scheduler 2020-08-28 15:42:14 +02:00
Parminder Singh
ec0aea2374 Removed separate LLR calculation for PTRS
- New Data Structure to store PTRS RE's is removed
- LLR's are calculated at the end symbol for whole slot
2020-08-28 12:14:13 +02:00
Francesco Mani
96f78feec7 moving init_symbol_rotation in uesoftmodem 2020-08-27 14:52:58 +02:00
Parminder Singh
b288eafd1e Common Phase error estimation and compensation in uplink.
FEATURE STATEMENT:
- Introduce linear phase error noise model in Uplink at UE
- Perform common phase error (CPE) estimation and compensation at gNB

SOLUTION:
- A linear phase shift model is introduced in simulation.
- PTRS symbols are used to perform estimation of CPE from DMRS compensated signal
- The estimated values are interpolated in time domain and signal is compensated for the CPE.
- PTRS processing is done in Frequency Domain for each symbol in a slot and
  LLR's are calculated for each symbol accordingly.

IMPLEMENTATION:
* sim.h/channle_sim.c
- Linear Phase Noise Generation model definition.
* nr_ul_channel_estimation.c/nr_ul_estimation.h
- CPE estimation from PTRS and DMRS compensated signal.
* nr_dmrs_rx.c/nr_refsig.h
- Regenerate PTRS symbols at gNB.
* nr_ulsch_demodulation.c
- Removed old PTRS processing code and move to a common PTRS processing function
* defs_gNB.h/init.c
- New PTRS variables definition and initialization
* nr_ulsch_ue.c
- Corrected PTRS parameter to get new PTRS symbols for each OFDM symbol

TESTING
* ulsim.c
- Added Phase noise, Enable PTRS signal and verified the output.

VERIFICATION
- The LLR are rotated back with estimated CPE and no error is observed in scrambling/decoding
2020-08-27 11:55:06 +02:00
Francesco Mani
4cc5bf586e fix for pucchsim with sr 2020-08-27 10:35:05 +02:00
Raymond Knopp
260a9e58a0 nr_pbchsim modifications for carrier phase rotation procedure 2020-08-27 05:49:46 +02:00
Shweta Shrivastava
3a999254c9 Fixes for handling NR UE DCI decoding errors 2020-08-26 15:01:00 -05:00
Raphael Defosseux
e31349256f hotfix for eNB-OCP build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-26 17:24:45 +02:00
Cedric Roux
d7bdf4937a nr: use RLC AM instead of RLC UM 2020-08-26 17:15:43 +02:00
Cedric Roux
01da43a00d nr rlc: remove hardcoded values 2020-08-26 16:54:03 +02:00
Thomas Schlichter
070ee365e3 Fixup dlsch harq if() conditions in nr_dlsch_demodulation.c 2020-08-26 16:46:48 +02:00
Thomas Schlichter
a8fc7ebd38 Merge remote-tracking branch 'develop' into nr_ue_txdata_cleanup 2020-08-26 16:45:48 +02:00
Francesco Mani
28b280a657 Merge remote-tracking branch 'origin/develop' into NR_UL_scheduling 2020-08-26 13:49:30 +02:00
Raphael Defosseux
ab025ab026 Merge branch 'develop_integration_2020_w34' into 'develop'
Develop integration 2020 week 34

The following merge requests have been included:

* MR [859] : Fixed the bug not sending MSG3
* MR [860] : FeMBMS eNB / UE End-to-End chain
* MR [866] : Improved modulation speed
* MR [872] : Improvement on CUDA GPU ldpc latency
2020-08-26 12:00:24 +02:00
Remi Hardy
eb78f3b9ea Merge branch 'rh_ci_fr1' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_fr1 2020-08-26 11:27:19 +02:00
Francesco Mani
6042df1ab5 to make lte-uesoftmodem compile 2020-08-26 07:06:28 +02:00
Francesco Mani
d219341905 to make simulators compile 2020-08-25 19:02:13 +02:00
Raymond Knopp
12a75c60e2 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-25 15:03:06 +02:00
Raymond Knopp
632803289c fixed initialization of rotation for symbol 0 2020-08-25 15:02:41 +02:00
Francesco Mani
1b06523c86 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-25 14:44:24 +02:00
Francesco Mani
0130518529 rssi dBFS based on 16 bits 2020-08-25 14:44:08 +02:00
hardy
e2b19083e5 fixing the xml action list yaml file location search 2020-08-25 10:55:43 +02:00
Raymond Knopp
b58ea80990 debug trace 2020-08-25 10:47:48 +02:00
Raymond Knopp
0bb99458c3 bugfix for TX slot processing 2020-08-25 10:06:02 +02:00
Raymond Knopp
2124343889 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-25 01:50:43 +02:00
Raymond Knopp
cc0ff7422e implementation of missing symbol-based rotation for NR modulation/demodulation (Section 5.3 38.211). Tested with unitary simulators (ulsim/dlsim).
To be tested with gNB testbench and rfsimlator
2020-08-25 01:48:55 +02:00
Thomas Schlichter
cec42dc330 Some more UE timing fixes
- Check for timing_advance update _after_ RX (and TX) processing
- Update writeBlockSize when timing_advance value changes (for USRP)
- ignore timestamp when pre-reading the first OFDM symbol of a frame (for rfsimulator)
- do not busy wait for a finished RX-TX thread, use blocking wait instead
2020-08-24 20:01:56 +02:00
Francesco Mani
664ac4facc bugfix on last commit 2020-08-24 17:59:30 +02:00
Francesco Mani
c127a5a2f8 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-24 16:10:16 +02:00
Francesco Mani
c1b775394f tpc update for pusch only if there is signal 2020-08-24 16:10:13 +02:00
matzakos
0e02dcf620 Modify LCID value for RLC DRB preconfiguration in noS1 mode 2020-08-24 15:01:18 +02:00
Raphael Defosseux
f0fb73f673 CI: less verbose when running MBMS on UE side
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-24 14:19:51 +02:00
Raphael Defosseux
9b58b2c872 CI: uniqueness in references
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-24 14:19:14 +02:00
Raymond Knopp
50dda0e4fe Remove redundant log 2020-08-24 13:02:19 +02:00
Raymond Knopp
e471d8b898 Merge remote-tracking branch 'origin/NR_RRC_PDCP' into NR_UL_scheduling 2020-08-24 11:19:42 +02:00
Julio Renner
e3e84ca282 update conf2uedata 2020-08-24 02:21:03 +02:00
Thomas Schlichter
4049eb4f53 clean TX buffer on UE side after transmitting it via USRP 2020-08-22 11:08:47 +02:00
Thomas Schlichter
f51611b108 remove unused variable "pdsch_vars_flp" and type "LTE_UE_PDSCH_FLP" 2020-08-22 10:21:39 +02:00
Thomas Schlichter
32b9f74067 remove "pdsch_vars_flp", "pdsch_vars_SI", "pdsch_vars_ra", "pdsch_vars_p" and "pdsch_vars_MCH", use per thread "pdsch_vars" instead 2020-08-22 10:21:39 +02:00
Thomas Schlichter
f8cb47d447 fix uePcchLLR() in nr_phy_scope.c to plot the PDCCH LLRs 2020-08-22 10:21:39 +02:00
Thomas Schlichter
b0903e2079 change timing advance to only affect the TX timestamp, not the position in the "txdata" buffer 2020-08-22 10:21:36 +02:00
Thomas Schlichter
1ca238dc19 remove unused function ulsch_common_procedures() from phy_procedures_nr_ue.c 2020-08-22 10:19:15 +02:00
Thomas Schlichter
1f57bd9bd2 Transmit data to USRP after finishing the producing thread 2020-08-22 10:18:30 +02:00
Francesco Mani
2f65453508 improved threshold for pucch0 detection 2020-08-21 18:28:44 +02:00
hardy
b5e17fb2d1 preparation for oc enb 2020-08-21 17:38:48 +02:00
Raphael Defosseux
f36a1b42cb Merge remote-tracking branch 'origin/NCTU_OpinConnect_LDPC' into develop_integration_2020_w34 2020-08-21 16:13:47 +02:00
Raphael Defosseux
a8ea336cfd Merge remote-tracking branch 'origin/improve_nr_modulation' into develop_integration_2020_w34 2020-08-21 16:13:27 +02:00
Raphael Defosseux
34a2945abf Merge remote-tracking branch 'origin/fembms-enb-ue' into develop_integration_2020_w34 2020-08-21 16:13:08 +02:00
hardy
8b3eb61f1c fixing typos + more in-code comments 2020-08-21 16:04:32 +02:00
Francesco Mani
09344667c3 fix for unresolved conflict 2020-08-21 15:08:26 +02:00
Cedric Roux
da3dd6b8b0 benetel: driver for Benetel's 4G and 5G RRUs
This commit contains work done by Eurecom and by Benetel.
2020-08-21 10:24:35 +02:00
Sakthivel Velumani
579f9f969b included check for mod_order 2020-08-20 16:59:02 +02:00
hardy
2724f9c198 updated control sequence of cots ue for CI bench 2020-08-20 15:26:23 +02:00
Francesco Mani
0be0b4e0e3 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-20 12:38:14 +02:00
Francesco Mani
fd003dd786 Merge remote-tracking branch 'origin/develop' into NR_UL_scheduling 2020-08-20 12:37:21 +02:00
Raymond Knopp
2dffbb75e7 fixing a bug in the prach sequency initialization 2020-08-20 12:28:11 +02:00
Francesco Mani
35c298d708 remove unnecessary declarations 2020-08-20 11:26:10 +02:00
Florian Kaltenberger
54f7019e19 Merge branch 'develop' into 'dongzhanyi-zte-develop'
# Conflicts:
#   openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
2020-08-20 10:24:24 +02:00
Raphael Defosseux
7f28f8d10d Merge branch 'develop_integration_2020_w33' into 'develop'
Develop integration: 2020 week 33

The following Merge Requests are included:

* MR [849] : Implement Message2 (RAR) reception for NR-UE
* MR [870] : Fix softmodem restart
* MR [871] : Fix support for MIMO in rf-simulator
* MR [873] : BUILD: fix for new API on load_softscope
2020-08-20 07:47:55 +02:00
Francesco Mani
9245f22d43 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-19 17:23:49 +02:00
hardy
cc1e2c59cf adding resources and page for testbenches doc 2020-08-19 17:05:30 +02:00
matzakos
e5d317a4d2 Change DURATION_RX_TO_TX to 6 slots instead of 4 at nrUE
- Ensure that tx slot processing is done by the time trx_write_func() gets called
2020-08-19 16:56:04 +02:00
Sakthivel Velumani
8a10323d2a more mem alignment for dmrs 2020-08-19 15:52:16 +02:00
Sakthivel Velumani
44ac0ec190 fixing a log message 2020-08-19 15:39:21 +02:00
Sakthivel Velumani
403956d6c2 avoiding race condition for PDSCH tx 2020-08-19 14:52:16 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
d4603636d3 fix compile problem in non-CUDA environment 2020-08-19 20:37:29 +08:00
hardy
28e37684f4 adding runtime stats to console and HTML when Terminate_UE 2020-08-19 14:27:15 +02:00
Francesco Mani
4d0d54a98d power target from config file functional 2020-08-19 14:25:03 +02:00
matzakos
53f0ab6405 Merge remote-tracking branch 'origin/develop' into dongzhanyi-zte-develop 2020-08-19 11:10:09 +02:00
Sakthivel Velumani
e4755f9c31 init mod tables fo ue 2020-08-19 10:27:59 +02:00
Raymond Knopp
f8c510e061 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-19 10:03:21 +02:00
Raymond Knopp
68fd55b21e added PDCCH lists to L1 processing to remove race condition between FAPI and L1 threads 2020-08-19 10:01:29 +02:00
hardy
eddf218d8d updating python to read ue commands dictionary 2020-08-18 22:18:31 +02:00
Francesco Mani
8999b51c1f bugifix 2020-08-18 17:36:52 +02:00
Sakthivel Velumani
f42291a4f7 Merge branch 'develop' into improve_nr_modulation 2020-08-18 17:20:46 +02:00
Francesco Mani
3952ad7729 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-18 15:47:52 +02:00
Francesco Mani
edf903f776 pucch power control and handling of missed reception using confidence level 2020-08-18 15:47:48 +02:00
Sakthivel Velumani
923070e6c1 mem alignment for dmrs symbs 2020-08-18 15:16:23 +02:00
Raymond Knopp
21b25fcefb Remove some heavy PRACH logs 2020-08-18 15:14:32 +02:00
Raymond Knopp
3e767faeeb fixed channel model initialization in rfsimulator for added parameter (to be added to bridge structure still) 2020-08-18 08:38:15 +02:00
Raymond Knopp
e68cfaf70e added AVX2 optimization for 64QAM LLR computation in NR ULSCH 2020-08-18 07:45:07 +02:00
Sakthivel Velumani
dc2d948bad memory bugfix and other minor fixes 2020-08-17 13:55:13 +02:00
Francesco Mani
ffae55f62c n0 measurement in pucchsim 2020-08-17 12:30:36 +02:00
Raymond Knopp
37c1219e79 AVX2 optimization of 16QAM NR ULSCH LLR 2020-08-16 23:07:04 +02:00
Raymond Knopp
fc21364fa0 optimization of ldpc deinterleaving and llr computation 2020-08-16 15:04:27 +02:00
Raymond Knopp
80cc29acd9 optimization of RE extraction for NR ULSCH. Addition of faster memcpy to utils 2020-08-16 12:10:42 +02:00
Raymond Knopp
b16b2f7d99 optimization of NR ULSCH unscrambling 2020-08-15 09:42:05 +02:00
Sakthivel Velumani
92595bb2af further fixes 2020-08-14 18:03:04 +02:00
Sakthivel Velumani
12feffcc1c bugfix 2020-08-14 17:29:51 +02:00
Sakthivel Velumani
9c01cc66ea diabling avx2 for qpsk 2020-08-14 16:31:37 +02:00
Sakthivel Velumani
8aa88999fc fixes 2020-08-14 11:43:54 +02:00
Parminder Singh
f4631f2186 Bug-fix in Up-link with respect to PUSCH RE calculation when PTRS is enabled.
Problem STATEMENT:
- When enabling PTRS flag in ulsim, there are multiple scrambling and decoding errors
  are observed even with high SNR values
  SNR 60dB   errors_scrambling 5546/13800
  Channel BLER 1.000000e+00, Channel BER 4.018841e-01

ANALYSIS:
- While extracting PTRS RE's, the PUSCH RE count was not updated accordingly for PTRS symbols.
- This results in 0 value LLR's on same positions which cause offset issue in later processing.

IMPLEMENTATION:
* nr_ulsch_demodulation.c
- In case of PTRS symbol, respective total number of PTRS RE's are subtracted from available
  PUSCH RE's in each PUSCH Symbol processing.

TESTING
* ulsim.c
- PTRS are enabled for testing and are not enabled by default by this commit.
- Available bit count is adjusted if PTRS is enabled.

VERIFICATION
- Total Scrambling errors after gNb processing shall be only 250 bits (in K=2)
  which were replaced with PTRS at UE side while transmission.
  SNR 60.000000 errors_scrambling 250/13800
  Channel BLER 0.000000e+00, Channel BER 1.811594e-02
- After adjusting available bits in ulsim.c for error calculation
  SNR 60.000000: n_errors errors_scrambling 0/13550
  Channel BLER 0.000000e+00, Channel BER 0.000000e+00

EXTRA
- Removed white-spaces from all above mentioned files
- Added Global/vim tags to .gitignore file
2020-08-14 10:20:36 +02:00
Raymond Knopp
9b138dec72 LLR scaling adjustment (log2_maxh computation) for NR ULSCH receiver. 2020-08-14 08:12:18 +02:00
Raphael Defosseux
140c70373e Merge remote-tracking branch 'origin/hotfix-ocp-executable' into develop_integration_2020_w33 2020-08-13 22:08:07 +02:00
Raphael Defosseux
3c3c94efa5 Merge remote-tracking branch 'origin/fix_rfsim_mimo' into develop_integration_2020_w33 2020-08-13 22:07:37 +02:00
Raphael Defosseux
4c6c4954e2 Merge remote-tracking branch 'origin/fix-softmodem-restart' into develop_integration_2020_w33 2020-08-13 22:07:02 +02:00
Raphael Defosseux
4ff959fe34 Merge remote-tracking branch 'origin/nrue_msg2_reception' into develop_integration_2020_w33 2020-08-13 22:06:25 +02:00
Thomas Schlichter
819ee74123 move up assertions in config_ue.c to satisfy cppcheck 2020-08-13 17:42:13 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
bc1c69fead fix compile issue 2020-08-13 16:32:09 +08:00
Raymond Knopp
49a14c4f9f fixes for TDL channel models in nr_ulsim 2020-08-13 09:43:50 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
1fa6e0c6a1 Merge remote-tracking branch 'origin/develop' into NCTU_OpinConnect_LDPC 2020-08-13 14:22:55 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
10d52466a8 Fix CUDA diff with develop 2020-08-13 14:15:54 +08:00
Raymond Knopp
ae4f3320c7 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-12 16:23:54 +02:00
Raymond Knopp
13d1be0782 added TDL channel models and use them in nr_ulsim 2020-08-12 16:23:14 +02:00
Raphael Defosseux
4e67434570 BUILD: fix for new API on load_softscope
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-12 14:55:59 +02:00
matzakos
e0e0ed0cf9 Merge remote-tracking branch 'origin/NR_UL_scheduling' into NR_RRC_PDCP 2020-08-12 14:27:05 +02:00
Sakthivel Velumani
42ba1047ac changed pusch debug trace 2020-08-12 14:03:44 +02:00
Thomas Schlichter
18b9edff09 Merge remote-tracking branch 'develop' into fix_rfsim_mimo
Conflicts:
	targets/ARCH/rfsimulator/simulator.c
2020-08-12 09:44:39 +02:00
Raphael Defosseux
05f052cc04 Merge branch 'develop_integration_2020_w31' into 'develop'
See merge request oai/openairinterface5g!869

Develop Integration Branch : 2020 week 31

The following Merge Requests have been included:

* MR [861] : Fixes for buffer overrun when L1 information is cleared upon UE removal in
* MR [863] : Small fixes
* MR [864] : Fixed the bug no supporting CellId more than 256
* MR [865] : Fix to have the sony 5g connect in NSA mode
* MR [867] : CI improvements for OCP-enb testing and NSA FR1 testing
* MR [868] : Add chansimuparams
2020-08-11 17:45:58 +02:00
Francesco Mani
b2e54e091c fixing an issue in n0 measurements 2020-08-11 13:57:02 +02:00
Raphael Defosseux
f445bdd324 CI: fixed typo in the list of allowed methods
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-11 11:29:05 +02:00
Thomas Schlichter
9bcec8a628 hotfix UE configuration for DCI format 1_1
Set n_dmrs_cdm_groups = 1 for now.
Should be fixed accordingly to TS 38.214 section 5.1.6.2
using tables 7.3.1.2.2-1, 7.3.1.2.2-2, 7.3.1.2.2-3, 7.3.1.2.2-4 of TS 38.212
2020-08-10 20:11:05 +02:00
Thomas Schlichter
a75d6088ea fix dlschsim by correctly setting dmrsConfigType 2020-08-10 20:05:40 +02:00
Sakthi
76f7840961 bug fixes 2020-08-10 19:22:53 +02:00
Sakthi
5e7ce26c10 more additions 2020-08-10 19:14:14 +02:00
Raphael Defosseux
470ecad248 Merge remote-tracking branch 'origin/add_chansimuparams' into develop_integration_2020_w31 2020-08-10 16:56:23 +02:00
Raphael Defosseux
e83acab6ca Merge remote-tracking branch 'origin/rh_ci_next' into develop_integration_2020_w31 2020-08-10 16:54:26 +02:00
Raphael Defosseux
e1ba785a94 Merge remote-tracking branch 'origin/fix-for-sony-5g-phone' into develop_integration_2020_w31 2020-08-10 16:54:14 +02:00
Raphael Defosseux
81f8af65a2 Merge remote-tracking branch 'origin/dongzhanyi-zte-develop1' into develop_integration_2020_w31 2020-08-10 16:53:58 +02:00
Raphael Defosseux
03a2d3e1ff Merge remote-tracking branch 'origin/bug-rfsim-and-warnings' into develop_integration_2020_w31 2020-08-10 16:53:37 +02:00
Raphael Defosseux
1aa7d4b9d5 Merge remote-tracking branch 'origin/hotfix-ue-release' into develop_integration_2020_w31 2020-08-10 16:53:12 +02:00
Sakthivel Velumani
e2afb8662e new table generator 2020-08-10 15:21:59 +02:00
Sakthivel Velumani
82df0e51b9 updated tables and 64qam mod 2020-08-10 15:19:53 +02:00
Francesco Mani
7989afbb78 bugfix in measurements 2020-08-07 17:05:58 +02:00
Cedric Roux
c95e5deb42 add back ssb_perRACH_Occasion, sony phone complains 2020-08-07 10:33:26 +02:00
Francesco Mani
7d46e43334 using the right structures for n0 measurements 2020-08-07 09:19:37 +02:00
Francesco Mani
e7ca1619b8 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-06 18:03:37 +02:00
Francesco Mani
d8d2739c2b bugfixes 2020-08-06 17:46:16 +02:00
Sakthivel Velumani
566570899c Handle case where all harq are busy 2020-08-06 15:49:44 +02:00
Sakthivel Velumani
107167d100 Fixed a bug in PDCCH sched 2020-08-06 15:40:45 +02:00
matzakos
cbb321d7a2 Merge branch 'NR_RRC_PDCP' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PDCP 2020-08-06 14:42:01 +02:00
matzakos
5ab8e0079b Merge remote-tracking branch 'origin/NR_UL_scheduling' into NR_RRC_PDCP 2020-08-06 14:27:54 +02:00
Cedric Roux
cccb56e571 nr rlc: bug fixes, cleanup
- bad values in asn1_utils.c (copy/paste from 4g)
- remove hardcoded values (t_reassembly, sn_field_length)
- some cleanup
2020-08-06 11:46:39 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
96023eeb93 Fix CUDA latency 2020-08-06 16:13:18 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
61bdea7584 fix build_oai and CUDA latency 2020-08-06 15:40:57 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
b64b6e85c4 fix build_oai and CUDA latency 2020-08-06 15:39:15 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
0e5d4fe268 fix CUDA latency 2020-08-06 15:32:30 +08:00
Thomas Schlichter
9dadad8298 fix enabling of PTRS
to set a flag in a bitmap, use "bitmap |= flag", to clear a flag in a bitmap use "bitmap &= ~flag".
2020-08-06 09:10:20 +02:00
Thomas Schlichter
3514caddc2 minor warning fixes 2020-08-06 09:06:37 +02:00
Khodr Saaifan
16ab5979e2 Extend rfsim to enable muti transmit antennas for gNB+solve beamforming ssb_index 0 when nb_tx>1 2020-08-05 19:15:00 +02:00
matzakos
431ed8bd73 Add GTPU tunnel data request at PDCP to deliver Uplink traffic over S1-U 2020-08-05 18:42:47 +02:00
Raphael Defosseux
cf23c58681 CI: fix typo for RAN HTML reporting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-05 18:04:16 +02:00
Thomas Schlichter
00d9af7a15 Merge remote-tracking branch 'eurecom/develop' into fhg-ra2
Conflicts:
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
2020-08-05 17:16:42 +02:00
Francesco Mani
ee2bd11e6e to remove some logs 2020-08-05 16:35:09 +02:00
matzakos
e6f20804b9 Remove dependency from noS1 mode to forward received UL traffic from MAC to RLC 2020-08-05 15:45:39 +02:00
Francesco Mani
ff7ac327cd first version of pusch power control 2020-08-05 12:30:25 +02:00
Francesco Mani
61a2842da8 Merge remote-tracking branch 'origin/ul_harq' into NR_UL_scheduling 2020-08-05 12:22:33 +02:00
Robert Schmidt
e761819e28 Fix in other functions 2020-08-05 10:10:50 +02:00
Robert Schmidt
a4a7de5ffe Make restart work again: do not free/copy ru frame_parms 2020-08-05 08:57:05 +02:00
matzakos
1326f6daf7 NR_RRC_PDCP: Bring back Downlink data scheduling in every opportunity
-Schedule IP traffic when it is available and random data when there is no IP traffic
2020-08-04 14:59:05 +02:00
Sakthivel Velumani
f8675c258d Fixed linking errors 2020-08-03 14:11:52 +02:00
Raphael Defosseux
a385ad5244 Putting back SIGINT detection for lte-softmodem and initial skeleton to retrieve runtime stats from eNB/gNB
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-03 14:03:20 +02:00
Raphael Defosseux
7daa4a2a10 CI: update on FR1 scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-03 14:02:12 +02:00
matzakos
d013302c42 Merge remote-tracking branch 'origin/NR_UL_scheduling' into NR_RRC_PDCP
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
2020-08-03 12:36:19 +02:00
Sakthivel Velumani
18a3747e82 added the changed octave script 2020-08-03 11:46:33 +02:00
Sakthivel Velumani
fbd4df014c Further improvements
additional 50% speed improvement with SIMD vectors
2020-08-03 11:22:34 +02:00
Raphael Defosseux
613d603278 CI: few fixes and improvements
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-08-03 11:15:06 +02:00
laurent
571d094715 Merge branch 'rh_ci_next' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_next 2020-08-03 09:20:49 +02:00
laurent
381fa7234a remove need to set /data/opencells-ran/../oaiCloneFapi before calling cmake 2020-08-03 09:20:25 +02:00
Raphael Defosseux
0e06277360 CI: enabling 3/4 sampling rate when running gNB on B210
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-31 16:14:34 +02:00
Remi Hardy
de64484fe5 Update TESTING_GNB_W_COTS_UE.md 2020-07-31 16:11:13 +02:00
laurent
2b5c6a1e40 Merge branch 'rh_ci_next' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_next 2020-07-31 16:04:47 +02:00
laurent
b829d3c9f7 add exit trace and fix a gcc warning 2020-07-31 16:04:24 +02:00
Remi Hardy
def42f92d8 Update TESTING_GNB_W_COTS_UE.md 2020-07-31 15:07:26 +02:00
Raphael Defosseux
a12266b94f DOC: point now to CI-used conf files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-31 14:43:05 +02:00
Raphael Defosseux
3ec2a46fd3 CI: fix clock management in FR1 conf files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-31 14:40:52 +02:00
Sakthivel Velumani
414cc0ee83 fixed bug 2020-07-31 12:48:44 +02:00
Sakthivel Velumani
ea8ad2d6ca handle harq if pusch not detected 2020-07-31 12:35:57 +02:00
Raphael Defosseux
a6cd5b2d34 CI: no more usage of 'daemon' for launch soft-modem executables
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-31 11:54:29 +02:00
Raphael Defosseux
f00ddc7972 CI: add OCP pipeline trigger to master pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-31 10:20:38 +02:00
Raphael Defosseux
765ba2eba3 CI: last typo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-31 09:51:01 +02:00
Francesco Mani
c810300e48 tpc = 1 for pusch 2020-07-30 17:54:44 +02:00
Francesco Mani
27cdb8116d debug message for pusch not received 2020-07-30 17:53:35 +02:00
Sakthivel Velumani
82be36533b Included special case for 64qam 2020-07-30 17:31:28 +02:00
Raphael Defosseux
e55f2aea0c CI: adding support for FR1 run of both eNB and gNB
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-30 16:21:51 +02:00
Raphael Defosseux
5e62d39c9d CI: fix the air_interface support on RAN and OAI-UE sides -- separate member now.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-30 14:06:31 +02:00
Raphael Defosseux
2612f2639d CI: fix a few remaining getters
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-30 10:38:36 +02:00
frtabu
d4bd2cdc63 implement modifying channel model algo while running, complete function freeing a model 2020-07-29 20:27:04 +02:00
Sakthivel Velumani
db90088c5b Fixed bug in ul harq handler 2020-07-29 17:08:20 +02:00
Sakthivel Velumani
420aaf371e Added print messages for debugging 2020-07-29 17:01:04 +02:00
Francesco Mani
8bebabc151 initialization of hrq_id 2020-07-29 16:04:30 +02:00
Raphael Defosseux
7dc726f8f5 Merge remote-tracking branch 'origin/develop' into rh_ci_next 2020-07-29 16:01:40 +02:00
Francesco Mani
1043320676 Merge remote-tracking branch 'origin/NR_UL_scheduling' into ul_harq 2020-07-29 15:32:08 +02:00
Cedric Roux
503b46cd53 fix to have the sony 5g connect in NSA mode
c_SRS was 61, which does not fit for 106 PRBs as it seems. Value 0 works.
Maybe not the right thing to do though (see 38.211 6.4.1.4.3,
table 6.4.1.4.3-1).

Also it seems necessary to pass desired LTE/NR bands when requesting
LTE UE capabilities. Today this is hardcoded, to be done better at
some point. We should get the bands from the eNB configuration and
the eNB/gNB X2 exchanges.
2020-07-29 14:55:40 +02:00
Francesco Mani
1dab506b78 minor changes 2020-07-29 14:50:07 +02:00
Sakthivel Velumani
7bcf468e1b Added the changed octave script 2020-07-29 13:11:31 +02:00
Sakthivel Velumani
5fa775580c Removed unwanted loop and if
Reordered mod_table to support new changes in the function
2020-07-29 13:01:09 +02:00
Cedric Roux
9c2696e5e2 fix to have the sony 5g connect in NSA mode
c_SRS was 61, which does not fit for 106 PRBs as it seems. Value 0 works.
Maybe not the right thing to do though (see 38.211 6.4.1.4.3,
table 6.4.1.4.3-1).

Also it seems necessary to pass desired LTE/NR bands when requesting
LTE UE capabilities. Today this is hardcoded, to be done better at
some point. We should get the bands from the eNB configuration and
the eNB/gNB X2 exchanges.
2020-07-29 11:11:04 +02:00
Javier Morgade
a8e2a8d4b0 Merge remote-tracking branch 'origin/develop' into fembms-enb-ue 2020-07-29 10:54:38 +02:00
Raphael Defosseux
f7dc17ec20 Merge branch 'integration_2020_wk30' into 'develop'
Integration branch 2020 week 30  

- MR 854 : NR_DCI_01  
- MR 857 : improve_ue_stability  
- MR 839 : mac-flexran-improvements
2020-07-29 09:20:42 +02:00
frtabu
f5d1dbb731 add telnet command to rfsimulator 2020-07-29 01:34:52 +02:00
frtabu
f61f9520db implement queued commands in telnet server 2020-07-28 20:08:48 +02:00
Raphael Defosseux
71c66ec583 CI: fix HTML tab name
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-28 17:08:09 +02:00
Remi Hardy
ca21ad8b36 cleaned-removed commented-out legacy code 2020-07-28 17:02:28 +02:00
Francesco Mani
86250f682a bugfix in ul estimation and other minor changes 2020-07-28 16:35:12 +02:00
Raphael Defosseux
5c2df00101 CI: fix terminate
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-28 16:28:36 +02:00
Raphael Defosseux
b8edd71244 CI: adding retries on OCP test
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-28 16:03:28 +02:00
Raphael Defosseux
5dd3e3353d CI: using ninja for OCP build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-28 15:25:00 +02:00
Raphael Defosseux
31a0d28ad9 CI: fix a few typos
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-28 15:22:46 +02:00
Remi Hardy
d3b415d6ed commented out printing of object attributes (debug) 2020-07-28 14:22:46 +02:00
Remi Hardy
8c9501b6a6 fixing args_parse function arguments list 2020-07-28 14:17:27 +02:00
Sakthivel Velumani
012db77f15 One more fix to pucch tx 2020-07-28 12:04:30 +02:00
Remi Hardy
eceb1ed21f fixed air_interface variable for ocp-enb option 2020-07-28 10:40:15 +02:00
dong.zhanyi
828bab2fd6 fixed the bug no supporting CellId more than 256 2020-07-28 07:34:05 +08:00
frtabu
7eb2ab66c5 add telnet commands to show and modify channel simulation parameters 2020-07-28 01:33:16 +02:00
dong.zhanyi
5c0a149946 fixed the bug no supporting the CellId more than 256 2020-07-28 07:00:56 +08:00
Sakthivel Velumani
c868c345e3 Fixed dl ack tx in pucch 0 2020-07-28 00:30:44 +02:00
Laurent
427b223136 small fiwes 2020-07-27 16:08:31 +02:00
Javier Morgade
a061c8acc5 fembms: CI/CD fallback to original MBMS settings
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-27 14:17:58 +02:00
hardy
d81f8b9120 fixed CONST. missing in front of constant, leading to execution error 2020-07-27 14:08:21 +02:00
hardy
292addf8d6 Merge remote-tracking branch 'origin/NR_DCI_01' into integration_2020_wk30 2020-07-27 13:47:22 +02:00
hardy
0b58e7a6f5 Merge remote-tracking branch 'origin/mac-flexran-improvements' into integration_2020_wk30 2020-07-27 13:47:00 +02:00
hardy
45ef34737c Merge remote-tracking branch 'origin/NR_DCI_01' into integration_2020_wk30 2020-07-27 11:49:46 +02:00
hardy
607ebabbfe Merge remote-tracking branch 'origin/improve_ue_stability' into integration_2020_wk30 2020-07-27 11:48:15 +02:00
Javier Morgade
73dd471594 fembms: CI/CD using MBMS config to lauch FeMBMS test
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-27 10:34:43 +02:00
Francesco Mani
3648ac46ce fix in ulsch ch estimation debug message 2020-07-27 09:29:43 +02:00
Javier Morgade
e10b0646e4 fembms: CI/CD fallback USRP tests
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-26 08:41:42 +02:00
Javier Morgade
0c31b449ca fembms: CI/CD fixing USRP Test
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-25 15:48:05 +02:00
Javier Morgade
1d4bd3358a fembms: CI/CD fixing USRP Test
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-25 11:42:23 +02:00
cig
90dc9e9555 Set RA succeeded and UE mode to PUSCH after correct decoding of Msg2 2020-07-25 11:38:29 +02:00
cig
457c1b725a Small fixes @ UE 2020-07-25 11:38:22 +02:00
Javier Morgade
7f9dbdd3f4 fembms: CI/CD Test
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-25 08:06:04 +02:00
Sakthivel Velumani
5fd040d645 Added HARQ stats to ulsim 2020-07-25 00:36:53 +02:00
hardy
017e4339bb brought cde line arg parsing out of main.py, into a separated module 2020-07-24 18:03:22 +02:00
Javier Morgade
8e9a989aa5 fembms: FIX filename typo
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-24 17:48:51 +02:00
Javier Morgade
c681e800ba fembms: CI/CD Adding USRP coverage tests for FeMBMS
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-24 14:45:28 +02:00
Sakthivel Velumani
0db13a3801 Added UL harq handling
Also fixed bugs in ulsim and dlsim harq tests
2020-07-24 14:00:55 +02:00
Francesco Mani
d94f4cdae0 fixing again pusch ok when no data 2020-07-24 11:03:31 +02:00
Javier Morgade
6e54a81fa5 Merge branch 'fembms-enb-ue' of https://gitlab.eurecom.fr/oai/openairinterface5g into fembms-enb-ue 2020-07-24 09:46:52 +02:00
Javier Morgade
27b9fa6935 fembms: CI/DC adding missing commit
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-24 09:46:02 +02:00
Javier Morgade
63ed400e28 fembms: CI/CD Adding FeMBMS RFSIM coverage test
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-24 09:44:13 +02:00
Raymond Knopp
d8bbfdbdda bugfix in eNB_scheduler.c. Code still to be moved to L1. 2020-07-23 22:24:55 +02:00
Francesco Mani
1f74524d0d fix for prepare dci 0_1 2020-07-23 11:48:25 +02:00
Francesco Mani
483b601c54 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-07-23 10:10:51 +02:00
Francesco Mani
05e6ebe24b fix for prepare dci 0_1 2020-07-23 10:10:19 +02:00
cig
bc243cee47 Bugfix in DMRS configuration at UE side:
- DM-RS type {1,2} was wrongly assigned to {1,2} instead of {0,1}
- Num DM-RS CDM groups without data is now taken into account in mthread
  decoding function
- number of DM-RS CDM groups without data for format 1_0 according to 5.1.6.2
  3GPP TS 38.214 version 15.9.0 Release 15:
-- the UE shall assume the number of DM-RS CDM groups without data is:
-- 1 (CDM group 0) for the case of PDSCH with allocation duration of 2 symb
-- 2 (CDM group {0,1}) for all other cases.
2020-07-22 23:52:16 +02:00
cig
ea86120c4b Restructured UE DCI configuration function:
- moved RRC structs checks and mac configuration to config_ue.c
- new implementation of DCI configuration according to 3GPP TS 38.331
  version 15.9.0 Release 15 and 3GPP TS 38.213 version 15.9.0 Release 15
2020-07-22 23:52:08 +02:00
Sakthivel Velumani
5f80474114 Merge branch 'ul_harq' into NR_UL_scheduling 2020-07-22 18:21:54 +02:00
Sakthivel Velumani
2cd3c0b7bb harq put in ulsim 2020-07-22 18:08:27 +02:00
Raymond Knopp
3d8e5e11ef fixes for buffer overrun when L1 information is cleared upon UE removal in RRC. This is a temporary fix to solve a stability issue for Benetel pending more significant changes along the same lines in several places. 2020-07-22 17:56:51 +02:00
Remi Hardy
220445f157 wip : fr1 set up automation / fixing issues from recent changes 2020-07-22 17:53:28 +02:00
Dr.-Ing. Javier Morgade
5a68767d6a Update enb.band17.tm1.mbms.25PRB.usrpb210.conf 2020-07-22 16:57:51 +02:00
Francesco Mani
390c648a81 bugfix in time domain assigment 2020-07-22 15:15:50 +02:00
Francesco Mani
39b22f17b3 calloc for dci_pdu 2020-07-22 15:11:17 +02:00
Francesco Mani
5331189c8b bugfixes 2020-07-22 15:07:04 +02:00
Francesco Mani
ac6aae9dde fix in allocation of segments 2020-07-22 14:53:16 +02:00
Francesco Mani
c949170a28 calloc for dci_pdu in ul 2020-07-22 14:01:47 +02:00
Javier Morgade
df58e251d8 fembms: -FIX phy_simulators compiling error
- adding missing dummy functions

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-22 10:35:22 +02:00
Francesco Mani
9bd139246b bugfix in time domain assigment 2020-07-22 09:13:04 +02:00
Javier Morgade
543457f377 fembms: removing debug log
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-22 08:09:51 +02:00
Javier Morgade
dc857e8d76 Merge remote-tracking branch 'origin/develop' into fembms-enb-ue 2020-07-22 07:42:44 +02:00
Javier Morgade
8f8b16a84e embms: Experimental MBMS Couting support added / 3GPP TS 36.44 (*)
(*) The MBMS Counting function allows the MCE to request the eNB(s) to count and
	  report per MBSFN area for one or more MBMS services the number of connected UEs
	  receiving the MBMS Service or interested in receiving it.

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-22 07:40:32 +02:00
Javier Morgade
9e789c84be fembms: - added suppor for FeMBMS RRC sublayer / l2 interface
- added primitives to build asn1 messages for FeMBMS eNB

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-22 07:34:09 +02:00
dong.zhanyi
7233e99143 Fixed the bug that can not send MSG3 2020-07-22 06:59:01 +08:00
hardy
4b48e457ba WIP : yaml config files for multiple eNB or gNB nodes 2020-07-21 23:55:20 +02:00
Javier Morgade
6db9fca1b7 fembms: code cleanup
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 21:07:42 +02:00
Javier Morgade
3aaa152e4e fembms: new FeMBMS/eMBMS MCH eNB/UE scheduler implemented
- MBMS scheduler re-worked to enable dedicated MBMS serving cells
	- added support for multiple eMBMS MCH sessions
	- added support for multiple FeMBMS MCH sessions

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 18:16:46 +02:00
Javier Morgade
9b37dcecdb fembms: handle MBMS in new RLC
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 18:14:44 +02:00
Javier Morgade
e3cf9bcf1f fembms: handle L2 eNB/UE config
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 18:11:51 +02:00
Javier Morgade
1f034ab404 fembms: prototype overload (legacy code for F1AP)
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 18:10:25 +02:00
Javier Morgade
f1d51cc0be fembms: handle L2 eNB config in softmodem
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 18:08:41 +02:00
Remi Hardy
3d365b0d8e WIP fr1 set up 2020-07-21 17:04:23 +02:00
Francesco Mani
e76593f73f bugfixes 2020-07-21 16:25:19 +02:00
Javier Morgade
220ba2ebc8 fembms: new mbmssim target (TOCHECK)
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 15:20:10 +02:00
Javier Morgade
0bef84d0a5 fembms: - FeMBMS 36.213 eNB procedures v14.2
- FeMBMS 36.213 UE procedures v14.2
	- Implementation of OFDM encoding for FeMBMS/eNB v14.2

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 15:16:49 +02:00
Javier Morgade
5eb6dac7db fembms: routines for decoding the UE FeMBMS/PMCH physical/multicast/transport channel 3GPP TS 36.211 version 14.2.0
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 15:09:38 +02:00
Javier Morgade
8eac27b83b fembms: Added support for FeMBMS UE Channel Estimation Procedures for 10 and 20 MHz BWs @ FeMBMS 1.25KHz Carrier Spacing
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 15:07:05 +02:00
Remi Hardy
2d1b7f78ad Merge branch 'oai_integration_week29' into 'develop'
Oai integration week29

See merge request oai/openairinterface5g!858
2020-07-21 11:38:00 +02:00
Francesco Mani
ce846e6f7f fix in fapi function in dci for ul 2020-07-21 10:38:39 +02:00
hardy
d244ea4b99 slight reformatiing of main.py ; introducing yaml for xml class definition 2020-07-20 22:45:24 +02:00
Francesco Mani
60b82248a1 first version of reworking scheduling function, including UL scheduling 2020-07-20 18:07:54 +02:00
Remi Hardy
dfe6278ee1 fixing issues for CI integration 2020-07-20 18:06:02 +02:00
hardy
87dccea43f integrating cots ue control into CI 2020-07-20 16:44:51 +02:00
Francesco Mani
0f0ede038d removing a printf in pusch scheduling 2020-07-20 16:25:04 +02:00
Remi Hardy
331c74af2a fixing execution issues following recent changes 2020-07-20 14:21:11 +02:00
Javier Morgade
58bd55b9b3 fembms:
-Increase buffer size in PHY_ofdm_mod to accomodate FeMBMS sizes
	-New FFT sizes added (IDFT_12288, IDFT_24576) to enable support for FeMBMS 10MHz and 20MHz channels BWs

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 11:02:18 +02:00
Javier Morgade
459eff02d1 fembms: Top-level routines for generating DL mbsfn reference signals for FeMBMS (eNB)
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 10:58:57 +02:00
Javier Morgade
3fca8304a4 fembms: FeMBMS top-level routines for generating and decoding the PBCH/BCH physical/transport channel
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 10:54:01 +02:00
Javier Morgade
3d11b3d65d fembms: FeMBMS (eNB) Top-level routines for generating the PDSCH physical channel from 36-211 V14.1
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 10:51:51 +02:00
Javier Morgade
4923ba301a fembms: Addapting top-level routines for implementing Turbo-coded (DLSCH) transport channels from 36-212 with FeMBMS support
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 10:49:58 +02:00
Javier Morgade
da5ae9c8d1 fembms: L1 prototypes for FeMBMS eNB procedures
Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 10:48:26 +02:00
Javier Morgade
c5799e1cca fembms: missing protype added 2020-07-20 10:42:47 +02:00
Javier Morgade
eb0dacc443 fembms: L1 prototypes and params added 2020-07-20 10:41:56 +02:00
Javier Morgade
43dc75f92f fembms: reference config files re-arranged 2020-07-20 10:39:12 +02:00
Robert Schmidt
6eb00a0895 Enable multi-module support in pdcp_fifo_flush_sdus() 2020-07-20 09:33:35 +02:00
Robert Schmidt
33b860f1b4 FlexRAN: use lock-free ringbuffers for slice conf
Use LFDS 7.0.0 Ringbuffer implementation to handle
* Slice Configuration
* UE slice association
which is then uploaded through MAC scheduling thread
2020-07-20 09:13:19 +02:00
Robert Schmidt
07313fd96d FlexRAN Bugfix: Free Ringbuffer on exit 2020-07-20 09:13:19 +02:00
Robert Schmidt
4901daf759 FlexRAN: New protobuf slice structure + Static Slice handling 2020-07-20 09:13:19 +02:00
Robert Schmidt
872cfc03fe Implement Static Slicing 2020-07-20 09:13:19 +02:00
Robert Schmidt
9956b96049 Use fptr for preproc and align UL PP definition 2020-07-20 09:13:19 +02:00
Robert Schmidt
2b4e529068 Simplify add_ue_list(), remove_ue_list(); add init_ue_list() 2020-07-20 09:13:19 +02:00
Robert Schmidt
a74f4c1238 Delete old protobuf slice types flex_slice_{dl,ul} 2020-07-20 09:13:19 +02:00
Robert Schmidt
714a2df097 Remove any slice-related information from OAI 2020-07-20 09:13:19 +02:00
Robert Schmidt
da09d63acd Default pre-processor: efficiently build UE list 2020-07-20 09:13:19 +02:00
Robert Schmidt
6fcc4f5970 Format to dynamically handle UL SCHED 2020-07-20 09:13:19 +02:00
Robert Schmidt
af89a6b780 Configurable Default Scheduler DL Algo 2020-07-20 09:13:19 +02:00
Robert Schmidt
fe7236d9c4 Add Maximum Throughput scheduler, wbCqi
Selects the UE with the highest CQI. If two UEs have the same CQI,
choses the one with highest number of bytes in RLC queue. Allocates as
many RBGs as possible, and potentially continues with the next UE.
2020-07-20 09:13:19 +02:00
Robert Schmidt
2de57fbc36 Add Proportional Fair scheduler, wbCqi
Selects UE with highest coefficient. Allocates until there are no more
RBGs to allocate, or UE has no more data. In the latter case, continues
with the next UE (second-highest coefficient).
2020-07-20 09:13:19 +02:00
Robert Schmidt
18a6961fcd Format to dynamically handle default DL SCHED algo 2020-07-20 09:13:19 +02:00
Robert Schmidt
8c7d94133f Bugfix RR DL: a retx UE might not be allocated again 2020-07-20 09:13:19 +02:00
Robert Schmidt
864fa84ba8 Default SCHED RR algo: optimize algo and defer RB calc.
- Loop only to next UE instead of jumping multiple

- mark used RBGs in rbg_mask

- Only calculate number of RBs based on CQI when UE is selected, instead
of calculating for all UEs which might be unnecessary.

- When looping the list of UEs for RB allocation, remove UEs that have
no data anymore instead of skipping them.
2020-07-20 09:13:19 +02:00
Robert Schmidt
82194319cf Bugfix DLSCH: only warn when retx with less RB
The preprocessor pre-allocates a CCE. Thus, when arriving at the check
for the number of RBs for retransmission, it is too late to skip the UE.
Therefore, only print a warning.

The default schedulers allocate a correct amount of RBs for
retransmissions, therefore it is ok.
2020-07-20 09:13:19 +02:00
Robert Schmidt
d0baab6ed3 DLSCH: limit LC bytes according to preprocessor 2020-07-20 09:13:19 +02:00
Robert Schmidt
a96c3761cc Log TBS in every window 2020-07-20 09:13:19 +02:00
Robert Schmidt
19c2856bbe UE: Set correct selected PLMN Identity 2020-07-20 09:13:19 +02:00
Robert Schmidt
332dec605a UE: Print all SIB1 decoded PLMNs 2020-07-20 09:13:19 +02:00
Robert Schmidt
a1f77198f7 FlexRAN: Manage PLMNs 2020-07-20 09:13:18 +02:00
Robert Schmidt
e4eea33de6 FlexRAN: Enable MME adding/removing 2020-07-20 09:13:18 +02:00
Robert Schmidt
d47c539dda S1AP: Only register MME if we do not know it yet 2020-07-20 09:13:18 +02:00
Robert Schmidt
64f0b7e0e5 Do not check for register_enb_pending
The test seemingly ensures that this code block is hit only once.
However, if we enable later activation of MMEs, it will be hit a second
(and third, ...) time. The only thing in guards against, though, is an
INIT message to the L1L2 thread, when register_enb_pending == 0, which
should only be sent once.  Therefore, functionality won't be changed if
register_enb_pending becomes negative, and the assert can be removed.
2020-07-20 09:13:18 +02:00
Robert Schmidt
40fdd53adc Correctly decode IMSI also when not integrity protected 2020-07-20 09:13:18 +02:00
Robert Schmidt
bbca88ad78 Bugfix FlexRAN: if a UE is in RRC but not S1AP, treat as no bug 2020-07-20 09:13:18 +02:00
hardy
dc9211ae20 removed all Getters and Setters from EPC, HTML classes (as all attributes are public) 2020-07-19 17:56:00 +02:00
hardy
d0805bd8ab Merge remote-tracking branch 'origin/bugfix-minor-remove-wrong-log' into oai_integration_week29 2020-07-17 16:00:20 +02:00
frtabu
8b4498cd11 nr scope as a dynamically loaded shared lib 2020-07-17 15:59:38 +02:00
Remi Hardy
d273ae84f3 added a class function to check adb returned values from a list 2020-07-17 15:28:34 +02:00
cig
fe724b555d Cleanup RA procedure 2020-07-16 18:03:22 +02:00
cig
68391d7243 Bugfix in RA window computation 2020-07-16 17:55:52 +02:00
Sakthivel Velumani
e325d007a6 Merge branch 'develop' into improve_ue_stability 2020-07-15 15:00:02 +02:00
Cedric Roux
0b8d5a8fd2 Merge remote-tracking branch 'origin/develop' into NR_RRC_PDCP
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
2020-07-15 12:06:41 +02:00
hardy
2e5d0db742 removed getter/setter from RAM class 2020-07-13 16:45:32 +02:00
Remi Hardy
91480dccce support for ocp enb build and test (unit test ok) 2020-07-13 15:17:54 +02:00
Thomas Schlichter
c8a23e2d74 Merge remote-tracking branch 'develop' 2020-07-13 11:45:47 +02:00
Thomas Schlichter
e736b9410a Apply rx_offset in rfsimulator, too 2020-07-13 11:39:32 +02:00
Francesco Mani
079456d07a Merge remote-tracking branch 'origin/develop' into NR_DCI_01 2020-07-10 16:57:35 +02:00
Raphael Defosseux
2bf5758418 Merge branch 'develop_integration_2020_w27' into 'develop'
Develop integration 2020 weeks 27/28

The following Merge Requests have been included:

* MR 842 : NR RRC HARQ hacks
* MR 843 : hack for RLC AM ACK reporting
* MR 844 : gcc warnings
* MR 846 : nr-rlc: small bugfix
* MR 848 : NR VCD
* MR 852 : bugfix: uplink ACK/NACK reporting through T was gone
* Documentation update
* Some CI improvements
2020-07-10 16:49:26 +02:00
Cedric Roux
96b5380b02 minor: remove a LOG_E that should not be here anymore
When running the softmodem, we get the error:

    fill_ulsch UE_id 0 nb_rb = 0

The code has changed some time ago and this log was left but is not
meaningful anymore.
2020-07-10 12:44:59 +02:00
Thomas Schlichter
91149a7bf5 Merge remote-tracking branch 'NR_ue_dlsch_dmrs_cdm' 2020-07-10 11:55:17 +02:00
Francesco Mani
5caf5a4d1c dlsch ue n_dmrs_cdm_groups 2020-07-10 11:46:52 +02:00
Raphael Defosseux
c38e542f89 Merge remote-tracking branch 'origin/bugfix-T-uplink-ack-nack' into develop_integration_2020_w27 2020-07-10 09:35:17 +02:00
Raphael Defosseux
d7ffd70bbd Merge remote-tracking branch 'origin/nr_vcd' into develop_integration_2020_w27 2020-07-10 09:34:16 +02:00
Remi Hardy
42ab797a2d Merge branch 'rh_ci_next' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_ci_next 2020-07-10 09:31:00 +02:00
Raphael Defosseux
91104cb648 Merge remote-tracking branch 'origin/nr-rlc-bugfix-2020-w28' into develop_integration_2020_w27 2020-07-10 09:30:14 +02:00
Raphael Defosseux
4ddebabe7f Merge remote-tracking branch 'origin/gcc-warnings-20200702' into develop_integration_2020_w27 2020-07-10 09:29:47 +02:00
Raphael Defosseux
da4f395a04 Merge remote-tracking branch 'origin/NR_RRC_harq_hacks' into develop_integration_2020_w27 2020-07-10 09:29:18 +02:00
Francesco Mani
e9f370ed02 Merge remote-tracking branch 'origin/NR_RRC_harq_hacks' into NR_DCI_01 2020-07-10 09:16:28 +02:00
Francesco Mani
5651b9073c pusch config in mac gnb from rrc 2020-07-10 09:16:11 +02:00
Francesco Mani
d66aea3fe6 bugfixes in dci size 2020-07-09 17:57:39 +02:00
Sakthivel Velumani
b0b03700ca bugfix in pucch tx 2020-07-09 16:16:44 +02:00
Cedric Roux
d32b45dd1a bugfix: uplink ACK/NACK reporting through T was gone
Let's get it back!
2020-07-09 15:50:14 +02:00
Raphael Defosseux
f157d41e2f BUILD: missing dependency for NR_GTPV1U lib
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-09 15:40:11 +02:00
hardy
8d75cb61bc to support OCP eNB build and test 2020-07-09 14:37:18 +02:00
Raphael Defosseux
f6999282f2 DOC: update on the 5G Rf simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-09 13:36:47 +02:00
Raphael Defosseux
7921071518 CI: fix when retrieving the DL Carrier Frequency in UE Run log
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-09 12:32:21 +02:00
Francesco Mani
0f9519925d fill dci pdu 2020-07-09 11:58:15 +02:00
Thomas Schlichter
c5357e6a59 Merge remote-tracking branch 'NR_RRC_harq_hacks' 2020-07-09 11:43:16 +02:00
Sakthivel Velumani
b22b71536a Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-07-09 11:37:29 +02:00
Sakthivel Velumani
94905c0f43 fixing warnings 2020-07-09 11:37:03 +02:00
Francesco Mani
d474f4a1b8 fix some warnings 2020-07-09 10:55:41 +02:00
Cedric Roux
1fa7a61b2b nr: fix compilation warning 2020-07-09 10:50:17 +02:00
Thomas Schlichter
aea3bc2d42 Merge remote-tracking branch 'NR_RRC_harq_hacks'
Conflicts:
	openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
2020-07-09 10:27:27 +02:00
Florian Kaltenberger
e0231398ca update from Walter Maguire 2020-07-08 21:02:33 +02:00
Francesco Mani
5fc3a991c9 dci size for 0_1 and some other modifications 2020-07-08 18:44:34 +02:00
Raymond Knopp
614af99745 Remove hardcoding of DRB id to be added for NSA 2020-07-07 18:36:58 +02:00
Rakesh
24bdbde2a1 bugfix 2020-07-07 16:53:13 +02:00
Rakesh
e6713b7467 Merge remote-tracking branch 'origin/develop' into nr_vcd 2020-07-07 15:29:30 +02:00
Raymond Knopp
cc7c66feea Introduce new UE context status state at the eNB for the NSA procedure
- UE context status enters RRC_NR_NSA_RECONFIGURED state, after the eNB receives an RRCConnectionReconfigurationComplete message including the
scg_ConfigResponseNR_r15 container.
- Use this state to avoid triggering sGNB Addition Request multiple times
2020-07-07 15:22:01 +02:00
Raymond Knopp
027853ba8e Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-07-06 16:26:38 +02:00
Raymond Knopp
9a662fbcb3 fixed ulsim performance issues 2020-07-06 15:36:20 +02:00
Francesco Mani
64e9629b8c patch for pucch in ulsim 2020-07-06 14:37:31 +02:00
Cedric Roux
62df572aed nr-rlc: small bugfix 2020-07-06 11:24:55 +02:00
Raymond Knopp
4761cbdc3d Modifications wrt the NR LCIDs used for DTCH 2020-07-06 10:48:41 +02:00
Francesco Mani
1fee40a590 fix in pucchsim 2020-07-06 10:38:36 +02:00
Raymond Knopp
bea3385f28 changes for ulsim to get functionality back. simulation behaviour for PUSCH is not good (BLER waterfall is way too steep even if SNR threshold is ok). Note develop does more or less the same thing but SNR threshold is lower. 2020-07-06 01:53:46 +02:00
Raymond Knopp
afb95b106f Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-07-04 12:59:40 +02:00
Raymond Knopp
2ca4137c1c forgot one line in autotest xml file 2020-07-04 12:59:08 +02:00
Raymond Knopp
3f38b447c6 prachsim functional for format A2 and 0. added format 0 test to CI autotests 2020-07-04 12:58:18 +02:00
matzakos
895cf14973 Merge NR_RRC_harq_hacks branch into NR_RRC_PDCP 2020-07-03 17:10:40 +02:00
Raphael Defosseux
f5b81b4eb0 CI: fix html tab name
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-03 15:06:31 +02:00
laurent
cabff5b73b fix itti issue in memory management 2020-07-03 14:57:27 +02:00
Francesco Mani
12354bb6c6 bugfixes in dlschsim 2020-07-03 13:57:46 +02:00
Sakthivel Velumani
d11cbab95b Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-07-03 13:45:00 +02:00
Sakthivel Velumani
a7dae03d73 set txdataF to 0 at beginning of slots 2020-07-03 13:43:43 +02:00
Sakthivel Velumani
f13398e17b fixed pucch config in ue 2020-07-03 13:42:10 +02:00
Francesco Mani
67a8f8dab4 minor fixes 2020-07-03 11:10:56 +02:00
Raphael Defosseux
a1e293a164 Merge remote-tracking branch 'origin/ci-rd-july-improvements' into develop_integration_2020_w27 2020-07-03 10:37:34 +02:00
Raphael Defosseux
c5d1228143 Merge remote-tracking branch 'origin/rh_doc_update_3' into develop_integration_2020_w27 2020-07-03 10:36:58 +02:00
laurent
9205b4d004 fix gaussain noise seed in rfsimulator 2020-07-02 22:29:44 +02:00
Raphael Defosseux
b0d65fd6cb CI: adding test on caracal with TX Write Thread enabled
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-07-02 17:06:43 +02:00
laurent
4b58b9d38a gcc warnings 2020-07-02 16:32:07 +02:00
cig
52e49fd8ec Fixed some warnings + cleanup
- replaced nr_slot_t with int as it was barely used in the code (also is defined after an lte struct)
- removed use of phy_frame_config_nr from the UE (another file was created in SCHED_NR_UE, still the
  gNB file is used in some tests file at UE side)
2020-07-02 12:44:48 +02:00
cig
e054b5e247 RA Msg2 reception according to 8.2 of TS 38.213
- Msg2 scheduler used for testing purposes was removed
- Now the UE tries to DCI 1_0 scrambled with RA_RNTI in the RA window
- If no RAPID is found within the RA window, instructs PHY to TX PRACH
2020-07-02 12:44:48 +02:00
cig
6737d27346 PUSCH data filling from PHY to MAC:
- IP data were fetched and passed to MAC directly at the PHY layer
- random data was generated whenever there's no upcoming data.
- Therefore these functionalities are now moved to MAC and FAPI interfaces
- are used instead.
2020-07-02 12:44:38 +02:00
cig
8e271ce945 Fixes for reception of Msg2:
- ceiling computation num of segments (cod/dec)
- fixes demodulation
- initialisation CW for PDSCH RA
- memcpy dl_ch_estimates to pdsch_vars_ra (hotfix)
- correct N_RB for DCI 1_0 and RNTI_RA
2020-07-02 12:32:33 +02:00
cig
79a655d47e Use MCS 9 for Msg2 to avoid issues with the LDPC decoder
- LDPC decoder does not support lower MCS, therefore MCS 9 has been selected
  for the Msg2 configuration.
- This is done only in do-ra mode, in order to prevent any fallout on the
  current the configuration used for the operation with the commercial UE
2020-07-02 12:30:57 +02:00
Francesco Mani
7176bb4607 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-07-02 11:01:34 +02:00
Florian Kaltenberger
f73ecda995 nr_prachsim -F now reads full subframe 2020-07-02 10:49:18 +02:00
matzakos
e7d2b8eeb1 Resolve remaining conflicts after merge of develop into NR_RRC_harq_hacks 2020-07-02 10:17:47 +02:00
Francesco Mani
cd61f38eca Merge remote-tracking branch 'origin/develop' into NR_RRC_harq_hacks 2020-07-02 10:16:57 +02:00
Francesco Mani
20635bb00a Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-07-02 10:02:17 +02:00
Cedric Roux
71f75a3d88 hack for RLC AM ACK reporting
hack: in schedule_ue_spec, 3 bytes are "reserved" (this should be
done better). An RLC AM entity may ask for only 2 bytes for
ACKing and get a TBS of 32 bits and due to these 3 reserved bytes we may
end up with only 1 byte left for RLC, which is not enough. This hack
prevents the problem. To be done better at some point. If the function
schedule_ue_spec is (has been) reworked, this hack can be removed.
Dig for "TBS - ta_len - header_length_total - sdu_length_total - 3"
in schedule_ue_spec.

This should be done better at some point.
2020-07-02 09:13:45 +02:00
Florian Kaltenberger
fa5213dfed removing some of the s1ap and x2ap xer prints 2020-07-01 14:43:44 +02:00
Francesco Mani
548e8f8797 fix ulsim compilation 2020-07-01 10:16:48 +02:00
Robert Schmidt
dcd43c1526 FlexRAN: use lock-free ringbuffers for slice conf
Use LFDS 7.0.0 Ringbuffer implementation to handle
* Slice Configuration
* UE slice association
which is then uploaded through MAC scheduling thread
2020-07-01 10:10:48 +02:00
Robert Schmidt
05c10662da FlexRAN Bugfix: Free Ringbuffer on exit 2020-07-01 10:10:48 +02:00
Robert Schmidt
d926a9a9c8 FlexRAN: New protobuf slice structure + Static Slice handling 2020-07-01 10:10:48 +02:00
Robert Schmidt
d2fe5af67a Implement Static Slicing 2020-07-01 10:10:48 +02:00
Robert Schmidt
115c1f38f6 Use fptr for preproc and align UL PP definition 2020-07-01 10:10:48 +02:00
Robert Schmidt
a21e9aa6ef Simplify add_ue_list(), remove_ue_list(); add init_ue_list() 2020-07-01 10:10:48 +02:00
Robert Schmidt
8c76d6ab57 Delete old protobuf slice types flex_slice_{dl,ul} 2020-07-01 10:10:48 +02:00
Robert Schmidt
198822aa17 Remove any slice-related information from OAI 2020-07-01 10:10:48 +02:00
Robert Schmidt
9f26028ded Default pre-processor: efficiently build UE list 2020-07-01 10:10:48 +02:00
Robert Schmidt
41de51b187 Format to dynamically handle UL SCHED 2020-07-01 10:10:48 +02:00
Robert Schmidt
5d1d2bcd1c Configurable Default Scheduler DL Algo 2020-07-01 10:10:48 +02:00
Robert Schmidt
36cd697b62 Add Maximum Throughput scheduler, wbCqi
Selects the UE with the highest CQI. If two UEs have the same CQI,
choses the one with highest number of bytes in RLC queue. Allocates as
many RBGs as possible, and potentially continues with the next UE.
2020-07-01 10:10:48 +02:00
Robert Schmidt
a0b331415f Add Proportional Fair scheduler, wbCqi
Selects UE with highest coefficient. Allocates until there are no more
RBGs to allocate, or UE has no more data. In the latter case, continues
with the next UE (second-highest coefficient).
2020-07-01 10:10:48 +02:00
Robert Schmidt
dc5357ca13 Format to dynamically handle default DL SCHED algo 2020-07-01 10:10:48 +02:00
Robert Schmidt
31ad66e146 Bugfix RR DL: a retx UE might not be allocated again 2020-07-01 10:10:48 +02:00
Robert Schmidt
1401d21081 Default SCHED RR algo: optimize algo and defer RB calc.
- Loop only to next UE instead of jumping multiple

- mark used RBGs in rbg_mask

- Only calculate number of RBs based on CQI when UE is selected, instead
of calculating for all UEs which might be unnecessary.

- When looping the list of UEs for RB allocation, remove UEs that have
no data anymore instead of skipping them.
2020-07-01 10:10:48 +02:00
Robert Schmidt
b06dadbdb0 Bugfix DLSCH: only warn when retx with less RB
The preprocessor pre-allocates a CCE. Thus, when arriving at the check
for the number of RBs for retransmission, it is too late to skip the UE.
Therefore, only print a warning.

The default schedulers allocate a correct amount of RBs for
retransmissions, therefore it is ok.
2020-07-01 10:10:48 +02:00
Robert Schmidt
71647eb4ef DLSCH: limit LC bytes according to preprocessor 2020-07-01 10:10:48 +02:00
Robert Schmidt
476d58a8de Log TBS in every window 2020-07-01 10:10:48 +02:00
Robert Schmidt
9d5a46dcfa UE: Set correct selected PLMN Identity 2020-07-01 10:10:48 +02:00
Robert Schmidt
d2cc43b4e7 UE: Print all SIB1 decoded PLMNs 2020-07-01 10:10:48 +02:00
Robert Schmidt
f895a28645 FlexRAN: Manage PLMNs 2020-07-01 10:10:48 +02:00
Robert Schmidt
df3f7e1ecf FlexRAN: Enable MME adding/removing 2020-07-01 10:10:48 +02:00
Robert Schmidt
1363a53dd0 S1AP: Only register MME if we do not know it yet 2020-07-01 10:10:48 +02:00
Robert Schmidt
b01d63ba4e Do not check for register_enb_pending
The test seemingly ensures that this code block is hit only once.
However, if we enable later activation of MMEs, it will be hit a second
(and third, ...) time. The only thing in guards against, though, is an
INIT message to the L1L2 thread, when register_enb_pending == 0, which
should only be sent once.  Therefore, functionality won't be changed if
register_enb_pending becomes negative, and the assert can be removed.
2020-07-01 10:10:48 +02:00
Robert Schmidt
9072101a1a Correctly decode IMSI also when not integrity protected 2020-07-01 10:10:48 +02:00
Robert Schmidt
c5fdcd85cc Bugfix FlexRAN: if a UE is in RRC but not S1AP, treat as no bug 2020-07-01 10:10:48 +02:00
Raphael Defosseux
12e5fe3399 Merge branch 'develop_integration_2020_w26' into 'develop'
Develop integration 2020 week 26

See merge request oai/openairinterface5g!841
2020-07-01 07:34:38 +02:00
Raphael Defosseux
6edff47db2 CI: fix cppcheck error
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-30 21:45:53 +02:00
Francesco Mani
406ae17d11 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-30 18:05:04 +02:00
Francesco Mani
a40f119a80 revert to dl only in slot 1 before merge 2020-06-30 18:04:32 +02:00
Raymond Knopp
c301b62d8a Add printing contents of NR scgFailureInformation message at rrc eNB 2020-06-30 16:58:38 +02:00
Raymond Knopp
7ddfa636f8 Add detection of NR scgFailureInformation message at rrc eNB 2020-06-30 16:58:18 +02:00
Sakthivel Velumani
b5cce24e83 fixed rv in phy-test mode 2020-06-30 15:07:43 +02:00
Remi Hardy
56f8827bde Update TESTING_GNB_W_COTS_UE.md 2020-06-30 14:42:22 +02:00
Raphael Defosseux
0516a452c1 BUILD: explicitely stop build when compilation/linking issues
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-30 12:37:00 +02:00
Raphael Defosseux
dde8ba2d51 Merge remote-tracking branch 'origin/trx_thread_param' into develop_integration_2020_w26 2020-06-30 09:57:51 +02:00
Francesco Mani
f4ccaf0dc0 Merge remote-tracking branch 'origin/develop' into NR_RRC_harq_hacks 2020-06-29 19:27:33 +02:00
WANG Tsu-Han
099169831e adding parameter in nr uesoftmodem for usrp trx thread 2020-06-29 16:23:10 +02:00
Remi Hardy
e7ab8f83c6 Update TESTING_GNB_W_COTS_UE.md 2020-06-29 13:57:23 +02:00
hardy
fa66f18c75 uploading conf and log example files 2020-06-29 13:53:41 +02:00
Remi Hardy
e5ab435173 Update TESTING_GNB_W_COTS_UE.md 2020-06-29 12:21:55 +02:00
Thomas Schlichter
a5a1d7b918 Improve stability by replacing AssertFatal() with LOG_E() in nr_rx_pdsch() 2020-06-29 12:13:27 +02:00
Raphael Defosseux
8d2f7a5491 Merge remote-tracking branch 'origin/NR_MAC_CE_GlobalEdge' into develop_integration_2020_w26 2020-06-29 12:09:52 +02:00
Raphael Defosseux
42057bccde Merge remote-tracking branch 'origin/NR_RRC_X2AP_RemoveHardcodings_GlobalEdge' into develop_integration_2020_w26 2020-06-29 12:09:33 +02:00
Thomas Schlichter
b90e57549c ignore inconsistent DCI instead of exiting 2020-06-29 12:04:34 +02:00
Francesco Mani
d8b7637981 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-29 10:37:18 +02:00
WANG Tsu-Han
5884838ad5 Merge branch 'develop' into trx_thread_param 2020-06-29 10:30:55 +02:00
WANG Tsu-Han
3f461d680d adding parameter in uesoftmodem for uhd trx thread 2020-06-29 10:29:40 +02:00
Sakthivel Velumani
150ef017f2 fixed rv for phy-test mode 2020-06-29 10:17:52 +02:00
Raphael Defosseux
5a8fe59c68 Merge remote-tracking branch 'origin/nfapi-bugfix' into develop_integration_2020_w26 2020-06-26 17:19:25 +02:00
Raphael Defosseux
0af8f618cd Merge remote-tracking branch 'origin/enable_ta_for_phytest' into develop_integration_2020_w26 2020-06-26 17:03:32 +02:00
Raphael Defosseux
233f51957c CI: add phy-sim runs to eNB logCollector. this is temporary
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-26 17:01:59 +02:00
Raphael Defosseux
e1888940b6 CI: retry on typical unstable scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-26 16:59:05 +02:00
Raphael Defosseux
27080aa607 DOC: remove obsolete pipeline reference
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-26 16:55:47 +02:00
Raphael Defosseux
bc6f6a6067 CI: no workspace clean when running phy-sim
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-26 16:54:56 +02:00
Raphael Defosseux
de0f46466c Merge remote-tracking branch 'origin/ci_update' into develop_integration_2020_w26 2020-06-26 16:54:21 +02:00
Remi Hardy
0d914eecae Update CONTRIBUTING.md 2020-06-26 11:43:04 +02:00
Remi Hardy
c3ccb6cc1d Update TESTING_GNB_W_COTS_UE.md 2020-06-26 11:32:43 +02:00
Remi Hardy
f9a2829b44 Update TESTING_GNB_W_COTS_UE.md 2020-06-26 11:17:36 +02:00
hardy
c84e8a2b3a Merge branch 'rh_doc_update_3' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_doc_update_3 2020-06-26 10:07:08 +02:00
hardy
9ef54616fe upload signaling scheme 2020-06-26 10:05:45 +02:00
Remi Hardy
02dadedb47 Update TESTING_GNB_W_COTS_UE.md 2020-06-26 10:03:28 +02:00
hardy
e42cf3db9c Merge branch 'rh_doc_update_3' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_doc_update_3 2020-06-26 09:07:23 +02:00
hardy
0bb67fffd1 setup visio sheme update 2020-06-26 09:06:24 +02:00
Raymond Knopp
7c116c7981 small bugfix in pullarray8 in nfapi.c 2020-06-26 04:23:24 +02:00
matzakos
0553332b26 Bring back default RB configuration as it is required for phytest mode 2020-06-25 18:47:10 +02:00
Remi Hardy
55828cbbab Update TESTING_GNB_W_COTS_UE.md 2020-06-25 12:16:48 +02:00
hardy
8048f6b838 update 2020-06-25 12:15:54 +02:00
Remi Hardy
ff111e0797 Update TESTING_GNB_W_COTS_UE.md 2020-06-25 12:13:51 +02:00
hardy
ca91b8da3c qMerge branch 'rh_doc_update_3' of https://gitlab.eurecom.fr/oai/openairinterface5g into rh_doc_update_3 2020-06-25 10:03:34 +02:00
hardy
f79f6351d8 uploading fr1 setup lab photo 2020-06-25 09:58:08 +02:00
Remi Hardy
03d9bca101 Update TESTING_GNB_W_COTS_UE.md 2020-06-24 16:45:08 +02:00
Thomas Schlichter
72aa2963ea Merge branch 'develop' into enable_ta_for_phytest
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
2020-06-24 12:16:03 +02:00
Remi Hardy
ebbff46cde update 3 after review 2020-06-24 11:58:41 +02:00
laurent
aad868d8fa 5G scope cleaning round 2 2020-06-24 09:48:35 +02:00
Remi Hardy
03ff1ef304 update 2 after review 2020-06-23 22:29:23 +02:00
matzakos
c06e734eb5 Merge remote-tracking branch 'origin/develop' into NR_RRC_X2AP_RemoveHardcodings_GlobalEdge 2020-06-23 17:15:43 +02:00
Remi Hardy
16d9e27d5d Update TESTING_GNB_W_COTS_UE.md 2020-06-23 10:43:53 +02:00
Remi Hardy
b33993f542 Update TESTING_GNB_W_COTS_UE.md 2020-06-23 10:42:43 +02:00
hardy
ec7d26d30d scheme fix 2020-06-23 09:51:54 +02:00
Raphael Defosseux
e68e72cd74 Merge branch 'develop_integration_2020_w25' into 'develop'
Develop integration 2020 week 25

The following Merge Requests have been included:

* MR 799 : NR RRC PRACH procedures
* MR 831 : NR PUCCH2 polar implementation
* MR 832 : coarse scope cleanup
* MR 835 : fix NR UE transport on PBCH
* MR 836 : NR fix phytest packet corruption DLSCH
2020-06-23 09:47:59 +02:00
Raphael Defosseux
5503073f9b Merge remote-tracking branch 'origin/NR_RRC_PRACH_procedures' into develop_integration_2020_w25 2020-06-23 09:43:14 +02:00
Remi Hardy
9833c0a123 Delete oppo.jpg 2020-06-22 23:38:47 +02:00
Remi Hardy
3a8d361b7c Update TESTING_GNB_W_COTS_UE.md 2020-06-22 23:35:20 +02:00
hardy
779b7537cc uploading fr1 setup scheme 2020-06-22 23:34:34 +02:00
Remi Hardy
dbbe79ad85 Update TESTING_GNB_W_COTS_UE.md 2020-06-22 21:35:38 +02:00
Florian Kaltenberger
b31861bac3 Update RUNMODEM.md 2020-06-22 17:08:32 +02:00
Florian Kaltenberger
8517f1314a Update RUNMODEM.md 2020-06-22 17:07:59 +02:00
Remi Hardy
497c611080 update 1 after review 2020-06-22 16:59:15 +02:00
Remi Hardy
2e3e862c6a Update TESTING_GNB_W_COTS_UE.md 2020-06-22 15:49:21 +02:00
hardy
6cb01bd58d folder for .md resources 2020-06-22 15:21:03 +02:00
hardy
bc9ee1071c creation, empty file 2020-06-22 15:20:50 +02:00
hardy
6d65930fd0 initial push to make branch visible 2020-06-22 15:20:38 +02:00
Raphael Defosseux
75b271a809 CI: adding more error messages to HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-22 11:56:55 +02:00
Raphael Defosseux
ce06872722 Merge remote-tracking branch 'origin/nr_fix_phytest_packet_corruption_dlsch' into develop_integration_2020_w25 2020-06-22 11:54:54 +02:00
Raphael Defosseux
96034a3dca Merge remote-tracking branch 'origin/nr_ue_fix_pbch' into develop_integration_2020_w25 2020-06-22 11:54:46 +02:00
Raphael Defosseux
41fcabc69b Merge remote-tracking branch 'origin/rework-5G-scope' into develop_integration_2020_w25 2020-06-22 11:54:41 +02:00
matzakos
860742a134 Fix DLSCH PDU corruption issue for phytest mode (random traffic generation)
- Payload was filled with zeros instead of random bytes
2020-06-19 18:19:34 +02:00
Francesco Mani
94fa9c5f1f fix in function to check data in dmrs symbol 2020-06-19 18:16:53 +02:00
Francesco Mani
0ce23beef8 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-19 17:36:40 +02:00
Sakthivel Velumani
2e9cd58d48 nb_re_dmrs fixed in one more place
this fixed dlsch crc fails
2020-06-19 17:18:15 +02:00
Florian Kaltenberger
8a3feeb5f6 fix from Walter Maguire 2020-06-19 16:11:19 +02:00
Francesco Mani
e189e06a16 Yet another bugfix in nr_ulsch_ue.c 2020-06-19 15:25:28 +02:00
Florian Kaltenberger
9411438dd0 small fix 2020-06-19 15:00:00 +02:00
Francesco Mani
0354a7399b bugfix nr_ulsch_ue.c 2020-06-19 14:32:26 +02:00
matzakos
7e33d11c3d Change NR PDCP SN field to 18 instead of 12 bits length
-Required because the 12 bits SN is not accepted from the phone
2020-06-19 14:19:12 +02:00
Raphael Defosseux
a9dbcf6b93 added in-code comments and changed attr to private 2020-06-19 14:18:13 +02:00
Raymond Knopp
c3e871257b Add printing contents of NR scgFailureInformation message at rrc eNB 2020-06-19 14:00:34 +02:00
hardy
dcadc24ad6 complete and working version supporting phy-simulators 2020-06-19 13:38:17 +02:00
matzakos
9c4bb6bf4b Fix DLSCH PDU corruption issue for phytest mode (random traffic generation)
- Payload was filled with zeros instead of random bytes
2020-06-19 13:01:50 +02:00
Raphael Defosseux
1ff1f3dda9 fix a bunch of compilation warnings 2020-06-19 11:41:36 +02:00
Raphael Defosseux
efb7bd8417 CPPCHECK: fixes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-19 11:41:03 +02:00
Thomas Schlichter
f47dcb199a enable TA update in phy-test mode 2020-06-19 11:28:29 +02:00
Thomas Schlichter
2029cb93c9 update configuration file gnb.band78.tm1.106PRB.usrpx300.conf based on gnb.band78.tm1.106PRB.usrpn300.conf 2020-06-19 11:27:07 +02:00
WANG Tsu-Han
3217b51256 simulation fix 2020-06-18 16:55:02 +02:00
laurent
2eb799c3b6 fix pdcp race condition 2020-06-18 15:52:54 +02:00
k.ramya
0cbe7e40db fixed merge conflicts 2020-06-18 18:32:43 +05:30
Rangaswami
8642d3e779 Corrected indentation and removed GES macro 2020-06-18 18:27:47 +05:30
vr.devendra
06fa1f8e0f GlobalEdge: CSI and TCI related MAC CE intial commit 2020-06-18 18:26:06 +05:30
Rangaswami
e08878ed1c Corrected indentation and removed GES macro 2020-06-18 18:01:13 +05:30
Francesco Mani
2b1f3891de Merge remote-tracking branch 'origin/develop' into NR_RRC_harq_hacks 2020-06-18 14:25:00 +02:00
vr.devendra
8533610e2a GlobalEdge: CSI and TCI related MAC CE intial commit 2020-06-18 17:51:44 +05:30
Francesco Mani
c5f82f6d9f Merge remote-tracking branch 'origin/NR_RRC_PRACH_procedures' into NR_RRC_harq_hacks 2020-06-18 12:31:07 +02:00
Francesco Mani
338c0dbd63 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-18 12:30:01 +02:00
Francesco Mani
795b6e02c4 fix for pusch num_dmrs_cdm_grps_no_data 2020-06-18 12:29:36 +02:00
Raphael Defosseux
4747f287d1 Merge remote-tracking branch 'origin/nr_pucch2_polar' into develop_integration_2020_w25 2020-06-18 11:35:12 +02:00
Raphael Defosseux
cc16b290b9 Merge remote-tracking branch 'origin/rework-5G-scope' into develop_integration_2020_w25 2020-06-18 11:33:12 +02:00
Raphael Defosseux
3f897adfb6 Merge remote-tracking branch 'origin/NR_RRC_PRACH_procedures' into develop_integration_2020_w25 2020-06-18 11:30:24 +02:00
Raphael Defosseux
5df0326946 Merge branch 'develop_integration_2020_w24' into 'develop'
Develop integration 2020 week 24

The following Merge Requests are included:

* MR 822 : GPU implementation in `ldpctest` unitary test (NCTU)
* A few CI python fixes and to enable back parallel build on RRU
* Documentation update on the supported feature list
2020-06-17 21:17:50 +02:00
Raphael Defosseux
3bce9a7b85 CI: increase gNB VM RAM size; display memory usage during modems runs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-17 14:19:40 +02:00
Raphael Defosseux
c540dd6120 Merge remote-tracking branch 'origin/rh_doc_update' into develop_integration_2020_w24 2020-06-17 10:14:03 +02:00
Raphael Defosseux
ebb225dc6e CI: adding ping operations in HTML report for 5G RF Sim Test
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-17 10:13:30 +02:00
matzakos
65b5a48ed1 Minor logs modifications at gNB ulsch scheduler 2020-06-16 17:41:34 +02:00
matzakos
456e6c9207 Change return type of nr_generate_ulsch_pdu() to avoid overflow on the offset variable 2020-06-16 17:40:03 +02:00
Sakthivel Velumani
eb7e15dd69 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-16 17:05:41 +02:00
Sakthivel Velumani
2bee4f4974 partial fix for pdsch dmrs issue
decoding performance degraded. still some issue to be solved.
2020-06-16 17:03:47 +02:00
Raphael Defosseux
f4274b2b2c Merge remote-tracking branch 'origin/NCTU_GPU_ldpctest' into develop_integration_2020_w24 2020-06-16 13:03:08 +02:00
WANG Tsu-Han
c68c6153ed code clean up 2020-06-16 11:02:15 +02:00
Francesco Mani
619f82cbb7 external clock in config files and padding lcid 2020-06-16 10:32:12 +02:00
Francesco Mani
fd1388b61e power values in testing gnb file 2020-06-16 10:18:36 +02:00
Florian Kaltenberger
377cfc6f0c fixing an issue with libconfig 2020-06-16 09:11:19 +02:00
Raymond Knopp
a0f8e5ac25 removed LOG functions from nr_polar_init, they make polartest segfault. polartest to be fixed ... 2020-06-15 21:20:03 +02:00
WANG Tsu-Han
98353b37d1 code cleanup 2020-06-15 17:14:11 +02:00
WANG Tsu-Han
37bb310a36 redefine conflict resolve 2020-06-15 16:51:04 +02:00
Thomas Schlichter
45ed1e8066 revert the number of DRB from 4 back to 5 2020-06-15 14:44:32 +02:00
laurent
1f95ec0888 coarse scope cleanup 2020-06-15 14:14:38 +02:00
Raphael Defosseux
527c3bcdd5 FORMAT: fix circular-depencendy-protection check on include files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-15 14:02:18 +02:00
Raymond Knopp
09efbc0272 Merge remote-tracking branch 'origin/develop' into nr_pucch2_polar
Conflicts:
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
2020-06-15 11:30:07 +02:00
matzakos
9a177fd368 Bring back mapping check between drb_id and channel_id 2020-06-15 10:42:04 +02:00
Sakthivel Velumani
9add099c2b Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-15 10:23:21 +02:00
Raymond Knopp
417bc7e567 added tests to CI for PUCCH2 with polar code 2020-06-14 23:35:01 +02:00
Raymond Knopp
0e3d87b44c format 2 up to 64 bits tested for 8 and 16 PRBs PUCCH format 2020-06-14 23:10:12 +02:00
Rigiel Antony
a44d5fdcb9 fixed mergee conflicts 2020-06-14 16:57:07 +05:30
Rangaswami
7964fed747 Corrected indentation and removed GES macro 2020-06-14 16:40:37 +05:30
vr.devendra
f9b49d1a24 GlobalEdge: CSI and TCI related MAC CE intial commit 2020-06-14 16:37:28 +05:30
Raymond Knopp
a2f448aa1c Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-13 11:49:36 +02:00
Raymond Knopp
14a0b772f3 fix for 36864 size dfts (missing initialization) 2020-06-13 11:48:50 +02:00
Raymond Knopp
2381bd91d2 Add detection of NR scgFailureInformation message at rrc eNB 2020-06-12 19:30:17 +02:00
Francesco Mani
2b976aa711 Merge branch 'NR_RRC_PRACH_procedures' into NR_RRC_harq_hacks 2020-06-12 19:14:25 +02:00
WANG Tsu-Han
860d406974 debug print remove 2020-06-12 15:58:56 +02:00
WANG Tsu-Han
89bb495799 fixes for emulate-rf in lte-softmodem 2020-06-12 15:18:43 +02:00
matzakos
45daaedbda Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-06-12 14:46:20 +02:00
matzakos
928c189ef0 Modify starting LCID for DTCH to start from 4 instead of 3 for both UL and DL
- Make required adaptations in RLC and default DRB configuration
2020-06-12 14:44:52 +02:00
WANG Tsu-Han
702192148e fixes for PARALLEL_RU_L1_TRX_SPLIT from Laurent 2020-06-12 14:42:51 +02:00
matzakos
1552be348c Fix ULSCH slot scheduling inconsistency between nrUE and gNB 2020-06-12 14:33:08 +02:00
Sakthivel Velumani
186dde7073 changes to dlsim 2020-06-12 14:07:15 +02:00
Raphael Defosseux
128aa79773 CI: no need for daemon install/usage in EPC VM
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-12 13:52:26 +02:00
Raphael Defosseux
938aa0f645 FORMAT: fix circular-depencendy-protection check on include files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-12 13:51:50 +02:00
Florian Kaltenberger
b9f9d69bfd doc update 2020-06-12 11:31:00 +02:00
Remi Hardy
981d35a778 restructuring the 5G part
update of the 5G feature set (gNB and UE)
ref : Florian K ppt
2020-06-12 11:28:17 +02:00
Remi Hardy
e40835f96d Update:
eNB RRC version
eNB X2AP section
2020-06-12 11:28:17 +02:00
hardy
9be3e9f451 4G scheduler update 2020-06-12 11:28:17 +02:00
Florian Kaltenberger
f46e3d4c76 fixing an issue with libconfig 2020-06-12 11:13:18 +02:00
Sakthivel Velumani
28da25f420 more dummy functions for physims 2020-06-12 10:50:06 +02:00
Florian Kaltenberger
21a775817d Update RUNMODEM.md 2020-06-12 10:41:35 +02:00
Francesco Mani
cec29bb240 bugfix nr_initial_sync.c 2020-06-12 09:57:23 +02:00
Francesco Mani
5f87b73451 small fixes 2020-06-12 08:43:17 +02:00
WANG Tsu-Han
68366cb686 adding executional option for usrp trx thread and adding null device function for device other than usrp 2020-06-11 18:03:05 +02:00
Raphael Defosseux
edca3646c0 CI: fix typo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-11 16:33:11 +02:00
Remi Hardy
24598a64d0 restructuring the 5G part
update of the 5G feature set (gNB and UE)
ref : Florian K ppt
2020-06-11 16:29:06 +02:00
Raphael Defosseux
90c8dfd76b Merge remote-tracking branch 'origin/ci_june_improvements' into develop_integration_2020_w24 2020-06-11 16:25:53 +02:00
Raphael Defosseux
d685023344 Merge remote-tracking branch 'origin/NCTU_GPU_ldpctest' into develop_integration_2020_w24 2020-06-11 16:25:41 +02:00
Raphael Defosseux
4893729e58 CI: re-enabling multi-RRU build w/ ninja build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-11 16:22:54 +02:00
Raphael Defosseux
efee127a99 CI: added error output if in MBMS-case, the UE does not show MBMS messages
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-11 16:20:36 +02:00
Remi Hardy
8b0d4e15d7 Update:
eNB RRC version
eNB X2AP section
2020-06-11 14:43:34 +02:00
hardy
2c8e2a30f9 4G scheduler update 2020-06-11 14:24:12 +02:00
Raymond Knopp
613d1e8cf0 intermediate commit 2020-06-11 14:24:03 +02:00
WANG Tsu-Han
cdc60bd9ae fixes for compilation error in CUDA machine 2020-06-11 11:53:26 +02:00
Sakthivel Velumani
a4fb2e21c9 linking error fix in pbchsim 2020-06-11 09:53:10 +02:00
Sakthivel Velumani
3e47e26cd1 bugfix in dl harq ue 2020-06-10 17:12:36 +02:00
Anes Rose Rigiel Antony
3ac51d2115 Removed the compilation error 2020-06-10 19:47:32 +05:30
Francesco Mani
ae00c77c5c Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-09 20:33:21 +02:00
Francesco Mani
bedb295dfd Merge branch 'develop' into NR_RRC_harq_hacks 2020-06-09 20:32:35 +02:00
Ahmed Hussein
dae91c60b8 Fixing ulsim and rf simulator
- no_data_in_dmrs was being used at gNB side, and not handled at UE side
- nr_schedule_response wasn't being called in ulsim
2020-06-09 15:49:53 +02:00
Sakthivel Velumani
132b48ea36 Fixed bugs in pucch UE
UE now sends ack/nack in format0
2020-06-09 15:44:09 +02:00
Rigiel
e4335ef412 After rebasing the NR RRC PRACH procedure 2020-06-09 18:58:53 +05:45
s.rampalli
b4651f2449 modified the rrc_add_nsa_user api 2020-06-09 18:50:04 +05:45
s.rampalli
9cbe078ed0 indentations fixed 2020-06-09 18:50:04 +05:45
s.rampalli
defea03ab9 Required changes/modifications are done at both eNB and gNB side 2020-06-09 18:50:04 +05:45
Raymond Knopp
c7a8c6f60a Merge branch 'NR_RRC_PDCP' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PDCP 2020-06-09 15:03:16 +02:00
s.rampalli
2f48b92501 compilation done need to verify with GES endc setup 2020-06-09 17:47:08 +05:45
s.rampalli
63bc9a9ba3 coding done need to verify testing part 2020-06-09 17:47:08 +05:45
s.rampalli
9747773f16 changed the encoded buffer size to 4096 2020-06-09 17:47:08 +05:45
s.rampalli
38a39ec0be fixed rrc x2ap runtime issues 2020-06-09 17:47:08 +05:45
s.rampalli
e7c20bc081 mistake 2020-06-09 17:47:08 +05:45
s.rampalli
a07cfa3dd3 rrc changes 2020-06-09 17:47:08 +05:45
s.rampalli
69455512c8 fixed rrc issues 2020-06-09 17:47:08 +05:45
s.rampalli
eac285d405 rrc runtime errors fixed 2020-06-09 17:47:08 +05:45
s.rampalli
b8e43ff2da fixed encoding failed issue 2020-06-09 17:47:08 +05:45
s.rampalli
d988eb82fc Removed temporary values in x2ap and rrc 2020-06-09 17:47:08 +05:45
cig
f4d47b1ea7 Checking in dl_indication if scheduling is needed or any DL PDU was received:
- scheduling is needed only when whe it doesn´t fall in dci_ind or rx_ind cases
- cleaned up some old commented out code
2020-06-09 13:53:27 +02:00
Thomas Schlichter
36f5e80ea3 cleaning up the UE MAC/PHY interface 2020-06-09 13:53:27 +02:00
Thomas Schlichter
614083f03f Merge branch 'develop' into NR_RRC_PRACH_procedures
Conflicts:
	cmake_targets/CMakeLists.txt
	openair2/GNB_APP/gnb_app.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/RRC/NR/rrc_gNB_nsa.c
2020-06-09 13:03:28 +02:00
Thomas Schlichter
96dc4a888d fix broken merge from develop in ulsim 2020-06-09 12:38:54 +02:00
Raymond Knopp
6a9d606255 Temporarily consider single LCID for DL traffic scheduling 2020-06-08 19:09:03 +02:00
Francesco Mani
2e8092540f moving function to prepare pucch scheduling inside dlsch_phytest 2020-06-08 16:31:30 +02:00
Raphael Defosseux
90b102687f Merge branch 'develop_integration_2020_w23' into 'develop'
Develop Integration 2020 week 23

The following merge requests have been included:

* MR 823 : NR-UE Init sync bugfix
* MR 824 : code cleanup
2020-06-08 15:17:34 +02:00
Raymond Knopp
072836d7b9 NR-IP traffic: Make fapi dl pdu configuration be triggered only when there is data from the upper layers to be scheduled
- To be used for NSA and noS1 modes
2020-06-08 14:38:54 +02:00
Raymond Knopp
ad1e47f7f4 Merge branch NR_RRC_harq_hacks into NR_RRC_PDCP 2020-06-08 14:30:38 +02:00
Raphael Defosseux
d0ca8f12e8 CI: handling of new compilation warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-08 11:04:27 +02:00
Raphael Defosseux
5cb573fcab Merge remote-tracking branch 'origin/cleanup-20200604' into develop_integration_2020_w23 2020-06-08 10:34:21 +02:00
Florian Kaltenberger
0124e5378c adding possibility to read rx signal from file 2020-06-06 22:55:13 +02:00
laurent
1ff806d519 fix shared lib dependency error 2020-06-05 18:26:47 +02:00
Sakthivel Velumani
06ee95f40e UE sync fix 2020-06-05 17:35:46 +02:00
Sakthivel Velumani
91fd14bf99 UE harq bugfixes 2020-06-05 17:35:25 +02:00
Thomas Schlichter
84dfeff40a fix broken merge from develop in phy_procedures_gNB_common_RX() 2020-06-05 10:09:57 +02:00
Raphael Defosseux
89acc09420 CI: fix the RAW files usage by NR-UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-04 14:32:41 +02:00
laurent
d1e8c23529 cleanup 2020-06-04 10:48:29 +02:00
Rangaswami
884cbc7c8c Corrected indentation and removed GES macro 2020-06-04 11:04:43 +05:30
Thomas Schlichter
1a91c25d07 Merge branch 'init_sync_bugfix' into NR_RRC_PRACH_procedures
Conflicts:
	executables/nr-ue.c
2020-06-03 21:50:01 +02:00
Thomas Schlichter
225a500b3e Merge branch 'develop' into NR_RRC_PRACH_procedures
Conflicts:
	executables/nr-ue.c
	openair1/PHY/NR_REFSIG/dmrs_nr.c
	openair1/PHY/NR_TRANSPORT/nr_prach.c
	openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
	openair1/PHY/NR_TRANSPORT/nr_transport_proto_common.h
	openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
	openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
	openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
	openair1/SIMULATION/NR_PHY/prachsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/LAYER2/NR_MAC_COMMON/nr_mac_extern.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
2020-06-03 19:50:54 +02:00
Raymond Knopp
376baa3247 fixes for machine without CUDA 2020-06-03 17:02:03 +02:00
Francesco Mani
7948d26f8c Revert "scheduling dl in both half frames"
This reverts commit cf5bc231ec.
2020-06-03 15:45:00 +02:00
Francesco Mani
62b154e8d6 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-06-03 15:42:31 +02:00
Raphael Defosseux
a2ffa29f3b Making CUDA additions conditional on CUDA installation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-06-03 15:32:51 +02:00
Sakthivel Velumani
5bfbb00d2c bugfix for UE init sync 2020-06-03 14:49:26 +02:00
Florian Kaltenberger
f6b83fd925 adding frequency offset to prachsim 2020-06-03 11:52:20 +02:00
WANG Tsu-Han
79899c8a6f adding CUDA in LDPC test 2020-06-03 09:55:33 +02:00
Francesco Mani
c359a05351 Revert "separation of dl and ul clear fapi information"
This reverts commit 17a1a554b7.
2020-06-02 18:31:09 +02:00
Francesco Mani
17a1a554b7 separation of dl and ul clear fapi information 2020-06-02 16:14:49 +02:00
Raymond Knopp
e6d03868cb Merge remote-tracking branch 'origin/NR_RRC_harq_hacks' into NR_RRC_PDCP 2020-06-02 10:17:26 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
579cfad82d git add for merge 2020-06-01 19:51:25 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
03d354efce merge to develop 2020-06-01 19:27:44 +08:00
Raymond Knopp
65cf9da7d2 Merge branch NR_RRC_harq_hacks into NR_RRC_PDCP 2020-05-29 16:57:34 +02:00
Francesco Mani
cf5bc231ec scheduling dl in both half frames 2020-05-29 16:44:26 +02:00
Raphael Defosseux
362da7c920 Merge branch 'develop_integration_2020_w22' into 'develop'
Develop Integration Branch : 2020 week 22

The following Merge Requests are been included:

* MR 796 : Nr rrc configuration trx thread
* MR 807 : Use SCF FAPI for DMRS and PTRS also on UE side
* MR 817 : Fixing errored/missing circular dependency protection
* MR 819 : cleanup branch and initial ninja build support
* MR 820 : CI: Add OAI-CN-In-Docker support
2020-05-29 15:50:58 +02:00
Raphael Defosseux
8cdba4ff2d CI: fix a few cppcheck errors
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-29 11:59:40 +02:00
Raphael Defosseux
534525eada CI: fix typo in inria pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-29 11:58:28 +02:00
s.rampalli
19a44bd092 modified the rrc_add_nsa_user api 2020-05-29 12:57:29 +05:30
Francesco Mani
4e12c39471 static bitmap to schedule dl slots (also to test phone) 2020-05-28 17:56:42 +02:00
Raphael Defosseux
77492a09ce Merge remote-tracking branch 'origin/cleanup-may-2020' into develop_integration_2020_w22 2020-05-28 14:27:45 +02:00
Raphael Defosseux
f63920dc7c CI: taking care of the case if R2LAB is not available
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-28 14:27:06 +02:00
Raphael Defosseux
6a0e50c8a8 CI: trying on inria setup w/o threading specific option
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-28 14:26:54 +02:00
Raphael Defosseux
29b2922758 CI: increase timeout for building OAI UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-28 14:23:09 +02:00
laurent
19690332af fix one T dependency 2020-05-28 13:41:04 +02:00
Raphael Defosseux
4ce8275ffb Merge remote-tracking branch 'origin/add_oai_cn_docker_support_to_ci' into develop_integration_2020_w22 2020-05-28 12:59:08 +02:00
Raphael Defosseux
768b4e0f24 Merge remote-tracking branch 'origin/cleanup-may-2020' into develop_integration_2020_w22 2020-05-28 12:58:42 +02:00
Raphael Defosseux
a0ab138a5e Merge remote-tracking branch 'origin/fix-circular-dependency-protection' into develop_integration_2020_w22 2020-05-28 12:56:05 +02:00
Raphael Defosseux
e5eca66ad5 Merge remote-tracking branch 'origin/fapi_for_dmrs_and_ptrs' into develop_integration_2020_w22 2020-05-28 12:55:48 +02:00
laurent
9b06211056 remove test ninja 2020-05-27 17:58:01 +02:00
laurent
c02b12f15b test ninja 2020-05-27 17:19:11 +02:00
WANG Tsu-Han
82bbde7dbb fix for rf simulation 2020-05-27 10:48:26 +02:00
Raymond Knopp
dad2d8bce7 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks
Conflicts:
	openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
2020-05-26 16:39:50 +02:00
WANG Tsu-Han
a5cffd8240 device funtion call initalization fix 2020-05-26 16:21:20 +02:00
Raymond Knopp
0a45909bd1 minor changes 2020-05-26 15:37:10 +02:00
Raymond Knopp
c042f7c26a fixed issue related to scheduing of PRACH for long sequence (only gets done in last slot of subframe now, not both) and start point of DFT in RU processing for long-sequence. Removes fatal segfault. 2020-05-26 11:40:54 +02:00
Raphael Defosseux
9097867cd8 CI: check the NR-UE cell-synchronization during launch not and just in post-mortem diagnosis
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-26 10:53:58 +02:00
Raphael Defosseux
9142c684df CI: adding support for docker-based OAI-CN-CUPS deployment
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>

Conflicts:
	ci-scripts/epc.py
2020-05-26 10:53:38 +02:00
Sakthivel Velumani
d37f077082 handling failed ack/nack reception 2020-05-26 00:22:48 +02:00
Raymond Knopp
539ff7bf85 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-26 00:05:40 +02:00
Raymond Knopp
fe5cd3d28d fixed bug for long PRACH sequence configuration, flipped HARQ bits for 2-bit PUCCH0 UCI report 2020-05-26 00:04:49 +02:00
Raymond Knopp
69b4211aba Change default NR DRB configuration to RLC UM 2020-05-25 21:13:19 +02:00
Raymond Knopp
72f1b2cb09 Remove hack restriction for single time DL scheduling 2020-05-25 20:55:12 +02:00
Raymond Knopp
fd5f7bec0d Merge branch NR_PDCP_noS1 back to NR_RRC_PDCP 2020-05-25 20:13:22 +02:00
matzakos
47713f2a08 NR RB configuration: Remove dependencies from LTE structures
-Remaining LTE dependency in RLC add_srb function (not used for NSA setup)
-Rename function for DRB static preconfiguration used in noS1 mode
2020-05-25 15:46:00 +02:00
Raymond Knopp
d0e6e847e1 assertion removal 2020-05-25 14:36:37 +02:00
vr.devendra
02be147d17 GlobalEdge: CSI and TCI related MAC CE intial commit 2020-05-22 20:15:12 +05:30
Francesco Mani
6fa5a6cf89 bugfix 2020-05-22 15:35:31 +02:00
Francesco Mani
03b38ca871 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-22 15:02:03 +02:00
Francesco Mani
17e52131d3 scheduling continuous dl transmission in first half frame 2020-05-22 15:00:37 +02:00
Sakthivel Velumani
94b88cf2cf bug fixes 2020-05-22 13:16:30 +02:00
Sakthivel Velumani
453e257d8d Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-22 12:47:03 +02:00
Sakthivel Velumani
eb5a7a9ab1 added harq handling in gnb mac 2020-05-22 12:41:28 +02:00
Raymond Knopp
8f8894d764 suppressed some LOG_M that were killing real-time. 2020-05-21 23:02:08 +02:00
Thomas Schlichter
ce105df4e7 Merge branch 'develop' into NR_RRC_PRACH_procedures
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_transport.h
	openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
	openair1/PHY/NR_TRANSPORT/nr_transport_proto_common.h
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SIMULATION/NR_PHY/prachsim.c
	openair2/GNB_APP/RRC_nr_paramsvalues.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2020-05-20 19:26:16 +02:00
Francesco Mani
2f4f90ba24 bugfix 2020-05-20 15:49:43 +02:00
laurent
bdee45878a cleanup branch 2020-05-20 15:44:20 +02:00
Francesco Mani
3284e42e51 Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-20 15:06:03 +02:00
Francesco Mani
b0ff2cef54 rearranged function to prepare pucch scheduling 2020-05-20 15:05:33 +02:00
cig
928dd902e3 Code cleanup 2020-05-20 12:41:06 +02:00
cig
783470905d Bugfix: missing deactivation dlsch after processing is done:
- the issue popped up with the new rx/tx implementation  at the UE
- this was causing false processing of DLSCH PDU and reception of false
  TA commands
2020-05-20 12:41:05 +02:00
s.rampalli
04e903a39b indentations fixed 2020-05-20 15:47:03 +05:30
s.rampalli
729890a133 Required changes/modifications are done at both eNB and gNB side 2020-05-20 15:26:37 +05:30
WANG Tsu-Han
a85a39048d Merge branch 'develop' into NR_RRCConfiguration_trx_thread 2020-05-20 09:50:05 +02:00
Raymond Knopp
6fb195867b Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-19 23:59:31 +02:00
Raymond Knopp
dd8cb98443 added support in gNB and UE for long PRACH sequences. Tested format 0 with unitary simulation only. 2020-05-19 23:58:28 +02:00
Francesco Mani
49991e100b bugfix for 2 acknacks in pucch0 2020-05-19 19:09:29 +02:00
matzakos
58bc9e5395 Fix ULSCH slot scheduling mismatch between gNB and OAI UE 2020-05-19 15:27:08 +02:00
matzakos
0c287d9f51 Adaptation at DLSCH scheduling function to support EPC mode 2020-05-19 15:23:12 +02:00
matzakos
c2e65b0639 Correct pseudo-subheader byte of random ULSCH PDU (phytest) to an appropriate value 2020-05-19 15:08:02 +02:00
matzakos
9e8e9c8ff0 noS1: Introduce NR DRB preconfiguration and PDCP RLC configuration triggering 2020-05-19 14:57:38 +02:00
Francesco Mani
03ce05571a Merge branch 'NR_RRC_harq_b' into NR_RRC_harq_hacks 2020-05-18 19:00:58 +02:00
Sakthivel Velumani
5a5f503997 Merge branch 'develop' into NR_RRC_harq_b 2020-05-18 12:57:51 +02:00
Sakthivel Velumani
54ca9ea5ab fixed pucch procedures to use rrc struct in UE 2020-05-18 12:57:24 +02:00
matzakos
6d71096637 Change pseudo-subheader byte of random ULSCH PDU (phytest) to an appropriate value
- Apply a value which cannot be interpreted as any valid LCID at the MAC layer of the receiver gNB (as per 38.321 Table 6.2.1-2),
to avoid forwarding the random PDU to the upper layers in noS1 mode.
2020-05-17 13:03:24 +02:00
Raymond Knopp
4e50e36ede intermediate commit, pucch2 RX with polar still not complete 2020-05-17 10:43:15 +02:00
Francesco Mani
b5b78125c9 test scheduling of pucch reception 2020-05-15 18:47:06 +02:00
Francesco Mani
d268c320ca Merge branch 'develop' into NR_RRC_harq_hacks 2020-05-15 16:26:33 +02:00
Raphael Defosseux
11783e755a Fixing errored/missing circular dependency protection
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-15 15:39:11 +02:00
Francesco Mani
0add4fdb55 bugfix in pucch timing indicator selection 2020-05-15 09:14:30 +02:00
Thomas Schlichter
7fc9ab7720 use NR_UE_sched_ctrl_t instead of UE_sched_ctrl_t in gNB_scheduler 2020-05-14 18:38:08 +02:00
Thomas Schlichter
95833dde60 Merge branch 'develop' 2020-05-14 18:36:59 +02:00
Ahmed Hussein
566de5670b Bug fixes regarding ping issues 2020-05-14 16:18:53 +02:00
s.rampalli
2792f8ce4a compilation done need to verify with GES endc setup 2020-05-14 15:36:45 +05:30
s.rampalli
62bb979b49 coding done need to verify testing part 2020-05-14 12:22:44 +05:30
Raymond Knopp
f043c63a34 added 2 UCI tests to CI for polartest 2020-05-14 00:45:58 +02:00
Raymond Knopp
100f75ba45 polar coding for UCI (PUCCH) integrated into polartest for lengths 12...64 2020-05-14 00:41:15 +02:00
Francesco Mani
1c7ee3caba using num_dmrs_cdm_grps_no_data for PUSCH in PHY 2020-05-13 18:05:15 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
a102405896 LDPC cuda support BG1 all length 2020-05-13 22:31:30 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
02dc4ba8ce configured LDPC on CPU and GPU 2020-05-13 22:27:36 +08:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
da62b92f6e Merge remote-tracking branch 'origin/develop' into NCTU_OpinConnect_LDPC 2020-05-13 22:24:40 +08:00
Francesco Mani
6f0e4fe149 using numDmrsCdmGrpsNoData for PDSCH in PHY 2020-05-13 16:22:05 +02:00
NCTU OpinConnect Terng-Yin Hsu/WEI-YING,LIN
5c7e4c21db LDPC implementation on Quadro p5000 by NCTU OpinCommect 2020-05-13 22:21:49 +08:00
matzakos
97d1f98f67 Merge remote-tracking branch 'origin/NR_RRC_harq_hacks' into NR_RRC_PDCP 2020-05-13 13:56:18 +02:00
cig
268a35419e Hotfix scrambling rnti
- this is needed because in the current implementation of the gNB
  the scrambling rnti is 0 for the RA and dci rnti otherwise
2020-05-12 17:38:47 +02:00
cig
4522cd4eb9 Changes to RA procedures:
- monitoring RA window
- taking RA_offset into account
- workaround to generate PRACH only when the RAR has not been received yet (RA is idle)
2020-05-12 17:33:28 +02:00
cig
66395ff7b7 Set RA offset at UE to compensate for 2 frames offset introduced by gNB 2020-05-12 17:28:35 +02:00
cig
8394ee82f5 More dynamic DCI configuration 2020-05-12 17:28:11 +02:00
cig
08b6211956 Scheduling of Msg2 2020-05-12 17:23:50 +02:00
cig
12b585a190 Fixes to RA procedure 2020-05-12 17:19:10 +02:00
cig
58dbf7d4b9 New design UE scheduler 2020-05-12 17:19:00 +02:00
Raymond Knopp
704e167b86 Merge branch 'NR_RRC_PDCP' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PDCP 2020-05-12 15:31:12 +02:00
Raymond Knopp
06d4ef6177 Modification of an input parameter type for nr_rrc_rlc_config_asn1_req 2020-05-12 14:58:44 +02:00
Francesco Mani
ad246f961b reset rnti and harq_mask in dlsch structure 2020-05-12 14:14:41 +02:00
Raphael Defosseux
e376241a82 Merge branch 'develop_integration_2020_w19' into 'develop'
Develop Integration Branch -- 2020 week 19

The following Merge Requests were included:

* MR [810] : NR PUCCH
* MR [812] : fix 20 compilation warnings
* MR [815] : rlc v2 -- coverity scan fixes
* MR [816] : hotfix: fix compilation of UE with --musim

Also add fixes for CI
2020-05-11 21:10:34 +02:00
Raphael Defosseux
f9403e9a2e Merge remote-tracking branch 'origin/hotfix-ue-musim-compilation' into develop_integration_2020_w19 2020-05-11 11:22:48 +02:00
Raphael Defosseux
ab7ec85342 Merge remote-tracking branch 'origin/rlc_v2_coverity_fixes' into develop_integration_2020_w19 2020-05-11 11:22:34 +02:00
cig
96b5755753 Cleanup NR UE DCI configuration 2020-05-11 11:09:36 +02:00
cig
785ffa4def Minor fixes 2020-05-11 11:09:36 +02:00
cig
4dc0e7f235 Enabled UE to process RX and TX in every DL or UL (or mixed) slot respectivey
- the commit fixes also the selection of the thread_id in TX procedures
- DCI configuration is currently limited to slot 1 and 7
2020-05-11 11:09:36 +02:00
cig
e3ba90b055 Fixes for polar and scrambling RNTI at UE
- including temporary hotfix for the polar rnti
2020-05-11 11:09:36 +02:00
Francesco Mani
cdead06962 fix for scrambling rnti and dci format 2020-05-11 11:09:36 +02:00
Cedric Roux
301ea42482 hotfix: fix compilation of UE with --musim
The following was failing:
./build_oai --UE --musim

Not sure this fix is correct, but it seems consistent with
the rest of platform_constants.h.
2020-05-09 10:12:38 +02:00
Francesco Mani
88e5203dfa bugfix in dci1_1 size 2020-05-08 17:19:31 +02:00
Francesco Mani
185477dc9f fix for ULSCH ok when PRBs are empty 2020-05-08 15:29:28 +02:00
Francesco Mani
927d97fa3f Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-08 15:27:10 +02:00
Raymond Knopp
160fef9a2d fix after merge 2020-05-08 10:25:06 +02:00
Raymond Knopp
afa7ef9afe Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-08 10:17:18 +02:00
Raymond Knopp
70dff719e2 pusch dmrs rx fix, added comp file dump to ulsim 2020-05-08 10:16:30 +02:00
Cedric Roux
21a2a8c6e1 rlc v2: some fixes for 'bugs' found by coverity scan
Minor fixes, doesn't change anything. Not sure these are 'bugs' either,
but let's be polite with coverity scan...

One thing was not changed.
Coverity scan says:
*** CID 357991:  Memory - illegal accesses  (USE_AFTER_FREE)
/home/carabe/raphael/openairinterface5g/openair2/LAYER2/rlc_v2/rlc_entity_am.c: 507 in tx_list_remove_sn()
501         } else {
502           prev = cur;
503           cur = cur->next;
504         }
505       }
506
>>>     CID 357991:  Memory - illegal accesses  (USE_AFTER_FREE)
>>>     Using freed pointer "head.next".
507       return head.next;
508     }
509
510     void cleanup_sdu_list(rlc_entity_am_t *entity)
511     {
512       rlc_sdu_t head;

But as far as I understand, there is no problem. We don't access
head.next at all if it has been freed. Or is there some aliasing
going on there (pointer aliasing)? I doubt it. False positive?
2020-05-07 18:05:05 +02:00
Raphael Defosseux
bca9ecfd3c add missing circular dependency protection
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-07 16:38:00 +02:00
Raphael Defosseux
2a8dacc009 CI: better code guideline analysis
-- check if C file has a GNU GPL license
-- check if C file has s suspect license
-- check if C header is having correct circular dependency protection (with Laurent Thomas's help)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-07 16:35:28 +02:00
Raphael Defosseux
454139ac63 CI: fix a few typos in python framework
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-07 16:34:53 +02:00
Ahmed Hussein
6a32e60a4f Fixed bug regarding TBS calculation and G calculation
- The number of nb_dmrs_re at gNB side was set to 6, but here it is assumed
    that there will be no data allocation in OFDM symbols that carry DMRS
  - nb_dmrs_re that is being given as an input to the TBS calculation,
    should be multiplied by the number of DMRS symbols in order to get the total
    number of DMRS REs per RB
  - In the calculation of G, only the number of DMRS per RB in 1 OFDM symbol should
    be given as an input, because inside the function of the G calculation, this
    number is being multiplied by the number of OFDM symbols that carry DMRS
2020-05-07 14:41:19 +02:00
Ahmed Hussein
589801f620 Fixed bug related to N_TA_offset not being applied at UE
- By default this value is equal to 0 at gNB in case of ulsim, but
    has a value in case of RF simulator
  - The N_TA_offset was calculated but not used at UE side
2020-05-07 14:39:28 +02:00
Thomas Schlichter
25c4cea36f remove now unnecessary frame_gap completely 2020-05-07 10:02:11 +02:00
Thomas Schlichter
aa7e10c405 also use the high 6 bits from MIB when calculating decoded_frame_rx after the initial synchronization 2020-05-07 10:02:11 +02:00
Thomas Schlichter
fa18a88fdb fix updating UE->frame_gap and calculation if proc->frame_rx > dcireq.dl_config_req.sfn 2020-05-07 10:02:11 +02:00
Francesco Mani
d4929cc21e bugfix in dmrs offset for pusch 2020-05-07 09:52:48 +02:00
Francesco Mani
014e045ba6 bugfix in dmrs offset for pusch 2020-05-07 09:44:07 +02:00
s.rampalli
cf844cef14 changed the encoded buffer size to 4096 2020-05-06 22:31:08 +05:30
Ahmed Hussein
1ffa9eed64 Bug fix regarding the uplink dmrs symbol position bitmask 2020-05-06 16:15:30 +02:00
Sakthivel Velumani
87ecb91885 updated cmakelist 2020-05-06 13:45:14 +02:00
Raphael Defosseux
ae5a1e4131 CI: fix unresolved merge conflicts
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-06 12:08:53 +02:00
Raphael Defosseux
29f984a60a CI: fix missing class member for EPC
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-06 12:08:53 +02:00
Raphael Defosseux
0113a9b978 Merge remote-tracking branch 'origin/nr_pucch2' into develop_integration_2020_w19 2020-05-06 12:08:41 +02:00
Raymond Knopp
bd1c4dd00b Add default NR RLC UM bearer configuration 2020-05-05 20:30:19 +02:00
s.rampalli
37dcfb1a9d fixed rrc x2ap runtime issues 2020-05-05 21:36:07 +05:30
Sakthivel Velumani
7746421192 Merge branch 'develop' into NR_RRC_harq_b 2020-05-05 16:32:37 +02:00
s.rampalli
cfd402a03a mistake 2020-05-05 19:53:13 +05:30
s.rampalli
509fb16705 rrc changes 2020-05-05 17:22:17 +05:30
s.rampalli
c52c9b7ba4 fixed rrc issues 2020-05-05 14:03:05 +05:30
s.rampalli
85cfa10961 rrc runtime errors fixed 2020-05-05 13:55:49 +05:30
s.rampalli
bdc7943b8f fixed encoding failed issue 2020-05-05 09:09:27 +05:30
Raymond Knopp
632ef048c8 Introduce triggering of PDCP and RLC configuration for the list of added DRBs
-Upon reception of SgNB Addition Request from the eNB, the gNB configures pdcp and rlc entities for the list of DRBs provided from the eNB
2020-05-04 18:12:20 +02:00
Raymond Knopp
017a6ef141 Introduce NR RRC->RLC configuration
-Create nr_rrc_rlc_config_asn1_req function
-Update RLC DRB addition functions with NR structures instead of LTE
2020-05-04 17:58:36 +02:00
Raymond Knopp
eb51e39f39 Introduce NR RRC->PDCP configuration
-Create nr_rrc_pdcp_config_asn1_req function
-Update PDCP DRB addition functions with NR structures instead of LTE
2020-05-04 17:48:18 +02:00
Sakthivel Velumani
64808859b9 updated CI test list with harq test 2020-05-04 15:42:15 +02:00
Raymond Knopp
042aac3d4f reverted handling of transform_precoding variable in NR FAPI. Added correct handling of this in ulsim.c 2020-05-04 09:49:18 +02:00
Sakthivel Velumani
7655123997 included throughput print 2020-05-04 09:29:36 +02:00
Raymond Knopp
2f9bf0d84c added file reading for ulsim 2020-05-04 08:19:48 +02:00
laurent
da54778c4a fix warnings 2020-05-03 18:27:07 +02:00
Thomas Schlichter
79471f2f6d Merge branch 'develop' into NR_RRC_PRACH_procedures
Conflicts:
	executables/nr-ue.c
	openair1/PHY/NR_TRANSPORT/nr_dci_tools.c
	openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
	openair1/PHY/defs_RU.h
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/RRC/NR/rrc_gNB_nsa.c
	openair2/X2AP/x2ap_eNB_handler.c
2020-04-30 18:54:37 +02:00
Raymond Knopp
84b1df4b87 Merge remote-tracking branch 'origin/develop' into nr_pucch2 2020-04-30 16:12:18 +02:00
Raymond Knopp
4210c41179 removal of a massive number of warnings 2020-04-30 15:48:37 +02:00
Raphael Defosseux
cd82d94cb2 Merge branch 'develop_integration_2020_w17' into 'develop'
Develop Integration Branch -- 2020 week 17

See merge request oai/openairinterface5g!809
2020-04-30 14:37:31 +02:00
Raphael Defosseux
9f09885dbf Merge remote-tracking branch 'origin/split73' into develop_integration_2020_w17 2020-04-30 10:37:22 +02:00
Raymond Knopp
7caf3d9cd9 Merge remote-tracking branch 'origin/develop' into nr_pucch2
Conflicts:
	cmake_targets/autotests/test_case_list.xml
	executables/nr-gnb.c
	openair1/PHY/INIT/nr_init.c
	openair1/PHY/TOOLS/tools_defs.h
	openair1/PHY/defs_gNB.h
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
2020-04-30 09:48:13 +02:00
Raymond Knopp
cd3f5ad001 added parameters to generate_pucch2 in ue pucch procedures 2020-04-30 09:18:54 +02:00
Raphael Defosseux
7ad752232d Merge remote-tracking branch 'origin/new_rlc_2020' into develop_integration_2020_w17 2020-04-29 18:50:32 +02:00
Cedric Roux
e5ea8a5a03 rlc v2: fix cmake file 2020-04-29 16:15:59 +02:00
Francesco Mani
86bc794518 bugfix in dmrs reception for pusch 2020-04-29 14:00:32 +02:00
Ahmed Hussein
fcf6439040 Fixed bug related to N_TA_offset not being applied at UE
- By default this value is equal to 0 at gNB in case of ulsim, but
    has a value in case of RF simulator
  - The N_TA_offset was calculated but not used at UE side
2020-04-29 12:08:22 +02:00
laurent
9ac5f6015d update license text 2020-04-29 11:31:00 +02:00
Raphael Defosseux
8007758efe Merge remote-tracking branch 'origin/split73' into develop_integration_2020_w17 2020-04-29 10:31:14 +02:00
Raphael Defosseux
c47daed70c LIC: wrong license banner on proto-agent files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-29 10:30:09 +02:00
Sakthivel Velumani
4eb78faaa1 added harq stats in dlsim 2020-04-28 21:59:34 +02:00
Ahmed Hussein
eeef6da2aa Fixed bug regarding TBS calculation and G calculation
- The number of nb_dmrs_re at gNB side was set to 6, but here it is assumed
    that there will be no data allocation in OFDM symbols that carry DMRS
  - nb_dmrs_re that is being given as an input to the TBS calculation,
    should be multiplied by the number of DMRS symbols in order to get the total
    number of DMRS REs per RB
  - In the calculation of G, only the number of DMRS per RB in 1 OFDM symbol should
    be given as an input, because inside the function of the G calculation, this
    number is being multiplied by the number of OFDM symbols that carry DMRS
2020-04-28 18:05:14 +02:00
laurent
9480293cda include dir 2020-04-28 16:33:50 +02:00
laurent
744fe92859 set back rrc as a separate thread, lead to create back race conditions 2020-04-28 15:39:50 +02:00
laurent
60845819a2 Merge branch 'develop' of gitlab.eurecom.fr:oai/openairinterface5g into split73 2020-04-28 14:32:38 +02:00
laurent
b1da29427c justone log line 2020-04-28 14:32:31 +02:00
Francesco Mani
5cbb380efb almost empty function to handle uci indication 2020-04-28 14:08:19 +02:00
Raymond Knopp
dc5149e854 Merge remote-tracking branch 'origin/NR_RRC_harq_hacks' into NR_RRC_PDCP 2020-04-27 19:28:39 +02:00
Raymond Knopp
2723d095b6 Merge remote-tracking branch 'origin/NR_RRC_harq_hacks' into NR_RRC_PDCP 2020-04-27 19:26:53 +02:00
Francesco Mani
46a7b6c742 bugfix in dci size for RA 2020-04-24 18:59:59 +02:00
cig
bfe580bd41 UE RA procedures changes to preamble selection:
- get preamble from rach_ConfigDedicated in contention free mode
- do preamble selection only in prach slot
2020-04-24 13:31:52 +02:00
Francesco Mani
111ea68f63 fix for scrambling rnti and dci format 2020-04-24 11:42:50 +02:00
Sakthivel Velumani
fd50f1b5bd fixed round update in UE 2020-04-24 01:44:47 +02:00
Raymond Knopp
7689b9394a added missing file 2020-04-23 22:49:33 +02:00
Raymond Knopp
d7d196c280 CI tests for nr_pucchsim : added PUCCH format 2 tests 2020-04-23 22:27:28 +02:00
Sakthivel Velumani
93e745b8ec updated dlsim to test harq 2020-04-23 19:45:00 +02:00
Sakthivel Velumani
6b307e8123 bugfix in ratematching for higher rv 2020-04-23 19:44:04 +02:00
Raphael Defosseux
f6383343fc Merge remote-tracking branch 'origin/new_rlc_2020' into develop_integration_2020_w17 2020-04-23 18:19:00 +02:00
Raphael Defosseux
ddf9471002 DOC: license for all LFDS versions updated
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-23 16:40:52 +02:00
Raphael Defosseux
e957d9cb49 DOC: put correct license
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-23 16:37:11 +02:00
Javier Morgade
591b45d29f Configure right lcid range at MBMS config file
Now is aligned with RMSIMULATOR config file (this should solve CI issues with monolithic tests)
2020-04-23 11:45:07 +02:00
Raphael Defosseux
ab5e767c0d Merge remote-tracking branch 'origin/doc-nfapi-l2-update' into develop_integration_2020_w17 2020-04-23 11:44:08 +02:00
Raphael Defosseux
381f44843d DOC: fix some formatting issues
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-23 11:43:40 +02:00
Raphael Defosseux
4da101fd7f Merge remote-tracking branch 'origin/split73' into develop_integration_2020_w17 2020-04-23 11:31:51 +02:00
Raphael Defosseux
fde5af0ecc Merge remote-tracking branch 'origin/ue_nfapi_mch' into develop_integration_2020_w17 2020-04-23 11:31:46 +02:00
Raphael Defosseux
0d1edf6c47 CI: add missing import
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-23 11:30:48 +02:00
Raphael Defosseux
6258755d14 Merge remote-tracking branch 'origin/develop_integration_2020_w15' into develop_integration_2020_w17 2020-04-23 11:29:33 +02:00
cig
5eacaddd0e Code cleanup 2020-04-23 09:55:04 +02:00
cig
32af60bcf5 UE RA procedures changes to preamble selection:
- get preamble from rach_ConfigDedicated in contention free mode
- do preamble selection only in prach slot
2020-04-23 09:55:04 +02:00
cig
f276494317 Completed dlsch demodulation for RA PDSCH 2020-04-23 09:55:04 +02:00
cig
c56854afe4 Set proper polar rnti and scrambling rnti for the phy-test and do-ra running modes:
- in phy-test both rnti are set to same rnti
- in do-ra the scrambling rnti is set to 0 while the polar rnti is the RA_rnti (computed as per
  TS 38.321)
2020-04-23 09:55:04 +02:00
cig
acfad36f1a Code cleanup:
- restructured nr_pdcch_unscrambling function
- minor cleanups
- formatting
2020-04-23 09:55:04 +02:00
cig
220685e320 UE RAR DCI reception
- NR UE scheduled response for RA PDSCH case
- UE processing of RAR DCI
- some cleanup and formatting
2020-04-23 09:54:34 +02:00
Francesco Mani
b6ba07af14 fix in dlsim 2020-04-23 09:43:25 +02:00
Raymond Knopp
6d8aa8d6b9 added 3-bit payload for pucch0 to nr_pucchsim, fixed SNR scaling for pucch2 2020-04-23 01:17:11 +02:00
Raymond Knopp
35b04083b1 Merge remote-tracking branch 'origin/nr_pucch' into nr_pucch2 2020-04-22 20:43:21 +02:00
cig
0546bcea94 Doing phy procedures RX in slot 7 for RAR DCI 2020-04-22 17:57:24 +02:00
Raphael Defosseux
a0cf407742 CI: final fixes on help functions
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-22 17:26:34 +02:00
Raphael Defosseux
009609f1f3 DOC: update L2 nFAPI simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-22 16:46:42 +02:00
Raphael Defosseux
1e6e780a71 CI: final fixes for noS1 ping operations and LTE-M
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-22 12:04:51 +02:00
Francesco Mani
a66f6907de bufix in calling phy pucch function 2020-04-22 11:11:22 +02:00
Francesco Mani
80571bb81e fapi functions for pucch 2020-04-22 09:54:56 +02:00
Raymond Knopp
93ba34b027 testing for pucch format 2, 3-11 bits. Configuration works for 2 PRBs, 1 symbol only. Assertion in gNB RX otherwise. 2020-04-21 23:44:06 +02:00
Raphael Defosseux
6eb5d8c9c7 CI: fix a few more things
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 22:25:16 +02:00
Raphael Defosseux
39a5ddf551 CI: cleanup
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 20:15:57 +02:00
Raphael Defosseux
9758abf9b9 CI: cleanup
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 16:47:44 +02:00
Raphael Defosseux
ea376b1eb2 CI: fix eNB log analysis
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 16:36:43 +02:00
Raphael Defosseux
e120cabda0 CI: fix HTML footer generation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 16:03:13 +02:00
matzakos
6b79403767 NR pdcp: Rebase initial implementation
Initially targeting ENDC setup with commercial UE
- Missing nr_rrc_pdcp and nr_rrc_rlc configuration wrt the established DRB
- Remaining to test with user plane data traffic (Downlink and Uplink)
2020-04-21 15:20:22 +02:00
Raphael Defosseux
8e8e9d67f8 CI: fix html generation in EPC functions
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 14:51:32 +02:00
Raphael Defosseux
92ce0e8df4 CI: fix merge request case
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-21 14:34:21 +02:00
Francesco Mani
48325d58e5 some logs for phytest scheduling DL with phone 2020-04-21 09:58:53 +02:00
Cedric Roux
456e90e25d rlc v2: bugfixes for mbms 2020-04-20 16:28:20 +02:00
Francesco Mani
3c5b6368f1 bugfix for numdldci for RA 2020-04-20 13:19:10 +02:00
s.rampalli
939a28ba07 Removed temporary values in x2ap and rrc 2020-04-20 11:27:56 +05:30
Cedric Roux
baa9cd0140 rlc v2: mbms support 2020-04-19 13:44:15 +02:00
Francesco Mani
4b0ddb81d5 scheduling one pdcch+pdsch after RA procedure 2020-04-18 10:52:49 +02:00
Francesco Mani
ddf4ca87d2 [gNB] taking into account preamble set at RRC and finalization of RA procedures 2020-04-17 19:07:47 +02:00
Javier Morgade
72cba28436 Add UE MCH NFAPI 2020-04-17 18:50:55 +02:00
Thomas Schlichter
0cc5a12e77 Merge branch 'develop' 2020-04-17 16:01:51 +02:00
Thomas Schlichter
42413bc565 disable PUSCH PTRS even in ulsim
PTRS leads to code shortening, and the current LDPC implementation has issues with that for higher code rate.
Because of this, we have to disable PTRS by default, as we test MCS 28 in CI.
2020-04-17 15:59:05 +02:00
laurent
3c4cafa1cd fix L2 sim issue (bad manual merge) 2020-04-17 12:58:46 +02:00
Francesco Mani
b51beff901 Merge branch 'NR_gNB_SCF_Indication' into NR_RRC_harq_hacks 2020-04-17 11:13:27 +02:00
Cedric Roux
3089dc0d45 rlc v2: update to latest develop
All previous commits for rlc v2 are proably
not functional or even compiling.
2020-04-17 10:41:21 +02:00
Cedric Roux
123745118c rlc v2: hotfix: remove some AssertFatal
Not sure if the problem is in the MAC layer or in the RLC v2 layer.
Maybe the buffer status reporting in RLC v2 is not good. Let's remove
two AssertFatal in the MAC for the time being.
2020-04-17 10:40:05 +02:00
Cedric Roux
4b6f5cea52 rlc v2: have the L2 simulator functional
Not very clean, but will do the job for the time being.
2020-04-17 10:40:05 +02:00
Cedric Roux
fbd69663b1 rlc v2: fix for CU/DU split
Limitation: this fix only works if there is only one eNB,
because we force module_id = 0 in the function deliver_sdu where
(as the code is today) we have no way to know which module_id is
concerned. More generally, the rlc v2 does not work with more than
1 eNB.
2020-04-17 10:40:05 +02:00
Cedric Roux
8ca42918d6 hotfix: remove an AssertFatal
The UE code to compute BSR is too complex, has to be reworked/simplified.
This commit just removes the assert, does not solve anything.
2020-04-17 10:40:05 +02:00
Cedric Roux
9b9654a8e8 rlc v2: initial UE support 2020-04-17 10:40:05 +02:00
Cedric Roux
eebf2cb938 rlc v2: improve buffer status reporting
The old method was wrong.
The new method is better, but not accurate, especially when the
TX buffer contains SDU of size > 2047 bytes.

Plus it's probably too slow.

To be refined at some point.
2020-04-17 10:40:05 +02:00
Cedric Roux
d860ca510e rlc v2: bugfix 2020-04-17 10:40:04 +02:00
Cedric Roux
fd61774f26 rlc v2: fix: remove #define RRC_DEFAULT_RAB_IS_AM 1 in rrc_eNB.c 2020-04-17 10:40:04 +02:00
Cedric Roux
6698759a60 rlc v2: fix crash deliver_sdu: ERROR: pdcp_data_ind failed
simply ignore the error

maybe not the best solution
2020-04-17 10:40:04 +02:00
Cedric Roux
90e05a2702 rlc v2: fix cppcheck error (disable it) 2020-04-17 10:40:04 +02:00
Cedric Roux
3310f5c6b0 alternative RLC implementation
This commit introduces an alternative RLC implementation
based on 36.322 version 8. AM and UM done, TM not done.

See openair2/LAYER2/rlc_v2/TODO for missing parts.
2020-04-17 10:40:04 +02:00
Thomas Schlichter
2a0bfde4a0 use "PUSCH_PDU_BITMAP_PUSCH_PTRS" when setting, clearing or checking pdu_bit_map 2020-04-17 10:20:09 +02:00
Ahmed Hussein
68ba04abf8 Adding an extra condition for L_ptrs
- if L_ptrs is >= number of pusch symbols, then no ptrs will be scheduled
2020-04-16 21:48:27 +02:00
Ahmed Hussein
728a903369 Making "is_ptrs_symbol" as a static inline function 2020-04-16 19:30:52 +02:00
Ahmed Hussein
9b52bf29ca Separating "is_ptrs_subcarrier" from "is_ptrs_symbol" 2020-04-16 19:21:35 +02:00
Francesco Mani
9deb0ed08c Merge branch 'develop' into NR_RRC_PRACH_procedures 2020-04-16 18:58:53 +02:00
Raphael Defosseux
c918f1d86c Merge branch 'NR_fix_Downlink_IP' into 'develop'
NR fix downlink IP

See merge request oai/openairinterface5g!806
2020-04-16 18:45:08 +02:00
Ahmed Hussein
f8c0de63cd Using "ptrs_re_offset" at UE side instead of using the function "get_kRE_ref" (TEMP implementation) 2020-04-16 18:02:59 +02:00
Ahmed Hussein
eae301e5d8 Fix regarding PTRS frequeny domain allocation 2020-04-16 16:49:44 +02:00
Ahmed Hussein
6adc40bbd1 Removed "ptrs_configured" and using "pusch_pdu->pdu_bit_map" instead at UE side 2020-04-16 15:58:50 +02:00
Francesco Mani
c4e284a3e1 fix in CCEs function 2020-04-16 15:54:27 +02:00
Ahmed Hussein
870845fc9d Minor fixes and modifications for get_K_ptrs 2020-04-16 14:50:11 +02:00
Ahmed Hussein
b0611cf49d Modifying get_L_ptrs and minor fixes 2020-04-16 14:34:40 +02:00
Ahmed Hussein
15629f126c Moving get_L_ptrs and get_K_ptrs from PHY to MAC 2020-04-16 13:49:52 +02:00
Francesco Mani
2ae14a66d8 adding conf file to test with phone 2020-04-16 12:54:00 +02:00
Francesco Mani
fd237596cf uncommenting in cce function 2020-04-16 12:08:16 +02:00
laurent
71cbb7e894 dirty workaround if4p5 bug 2020-04-16 10:40:33 +02:00
Ahmed Hussein
b8f77a9c60 Fixed PTRS frequency domain allocation
- The bug occurs when the PUSCH allocation contains the central RB of the whole UL BW
2020-04-15 19:14:14 +02:00
Ahmed Hussein
e9dd51a746 Minor clean-ups regarding PTRS 2020-04-15 18:48:03 +02:00
Cedric Roux
7f196b11f6 5g nsa: hacks for eurecom testing 2020-04-15 17:06:59 +02:00
cig
6f87d474b7 Fixed wrong printing in nr_process_timing_advance 2020-04-15 16:59:09 +02:00
Ahmed Hussein
c878bbcc78 Fixing ptrs time domain allocation in set_ptrs_symb_idx 2020-04-15 16:11:56 +02:00
Raphael Defosseux
e9b8c72b7c CI: adding ping operations to 5G-RF sim; try loop on failures
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-15 15:55:47 +02:00
matzakos
e1b968db8b Small Fix for NR Downlink IP traffic issue after last updates in develop branch 2020-04-15 10:17:12 +02:00
laurent
8a58359a1b rereremerge 2020-04-14 19:51:00 +02:00
laurent
b3c06eae1c reremerge 2020-04-14 18:06:25 +02:00
laurent
dfafa90037 big merge with develop 2020-04-14 18:02:45 +02:00
Sakthivel Velumani
ccb7d693f4 Merge branch 'NR_RRC_harq' of remote into NR_RRC_harq 2020-04-14 15:03:52 +02:00
cig
ec422f7050 Introduced a delay after a completed sync before starting msg1 generation:
- this was necessary because as soon as the gNB starts, it tries detecting
  the prach preambles and it mesaures the background noise. However, there is
  a delay of several dozens of frames before it considers the preables as
  detected.
- the solution at the UE consists in avoiding sending preamble as soon as the
  UE syncs by introducing an offset, this keeps the power measurements low at
  gNB side as long as the preamble detection counter is under threshold
2020-04-14 14:28:01 +02:00
cig
19530c5ab9 Cleanup nr transport header file 2020-04-14 14:28:01 +02:00
cig
8dd88bcb0e Deleted duplicated transport common proto header file 2020-04-14 14:28:01 +02:00
cig
c0029473dc Fixed some warnings 2020-04-14 14:28:01 +02:00
cig
3e70405b58 Cleanup transport_proto header 2020-04-14 14:28:00 +02:00
Francesco Mani
3dc9ad0567 Merge branch 'develop' into NR_RRC_PRACH_procedures 2020-04-14 14:17:34 +02:00
laurent
58e973409a small compilation details 2020-04-14 11:25:59 +02:00
Ahmed Hussein
672937b4d7 Using SCF structs for DMRS at UE side instead of dmrs_UplinkConfig 2020-04-14 08:38:13 +02:00
Sakthivel Velumani
745d8a3876 setting dmrs type for 1_1 dci 2020-04-14 01:30:35 +02:00
Raphael Defosseux
1bf529be68 Merge remote-tracking branch 'origin/develop' into split73 2020-04-13 22:14:44 +02:00
Raphael Defosseux
238c83f400 Merge remote-tracking branch 'origin/feature-4g-sched' into develop 2020-04-13 22:08:41 +02:00
Raphael Defosseux
69869810a1 Merge branch 'develop_integration_2020_w15_bis' into 'develop'
See merge request oai/openairinterface5g!804

Develop Integration Branch : 2020 week 15

The following Merge Requests have been included :

* MR 789 : fix sync source configuration for eNB and B200-mini
* MR 795 : dft/fft in shared lib
* MR 795 : NR gNB SCF indication
* MR 798 : Improvements on the "default" LTE-4G scheduler
2020-04-13 22:00:47 +02:00
laurent
861caa735d merge develop 2020-04-13 18:04:18 +02:00
Francesco Mani
478a3f73e2 bugfix for coreset id 2020-04-13 15:29:40 +02:00
Francesco Mani
ecb81ef995 Merge branch 'NR_RRC_PRACH_procedures' into NR_RRC_harq 2020-04-13 15:15:48 +02:00
Francesco Mani
042e4e5c77 reworking of nr_configure_pdcch 2020-04-13 09:18:48 +02:00
Sakthivel Velumani
181e59db96 fixing bugs in 1_1 dci 2020-04-10 17:54:23 +02:00
Florian Kaltenberger
6ae7548291 updating doc/RUNMODEM.md 2020-04-10 14:21:03 +02:00
Florian Kaltenberger
e197824e20 updating targets/ARCH/rfsimulator/README.md 2020-04-10 14:16:15 +02:00
Raymond Knopp
b6ce8ed962 ENDC S1-U gNB support: Separate some GTP functions between eNB and gNB. Downlink traffic from SGW arrives properly at gNB now after path switch 2020-04-10 12:15:52 +02:00
Raphael Defosseux
10b484279c Merge remote-tracking branch 'origin/feature-4g-sched' into develop_integration_2020_w15_bis 2020-04-10 12:11:58 +02:00
Raphael Defosseux
d367260214 Merge remote-tracking branch 'origin/NR_gNB_SCF_Indication' into develop_integration_2020_w15_bis 2020-04-10 12:11:31 +02:00
Raphael Defosseux
149454ed4c Merge remote-tracking branch 'origin/extend_sharedlibusage2' into develop_integration_2020_w15_bis 2020-04-10 12:11:07 +02:00
Raphael Defosseux
b00ef27355 Merge remote-tracking branch 'origin/NR_RRCConfiguration_sync_source' into develop_integration_2020_w15_bis 2020-04-10 12:10:44 +02:00
Francesco Mani
221e152653 one file left behind 2020-04-10 10:43:44 +02:00
Francesco Mani
ffc0dc377e Merge branch 'NR_RRC_harq' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq 2020-04-10 10:02:38 +02:00
Francesco Mani
6237ba3735 Merge branch 'nr_pucch' into NR_RRC_harq 2020-04-10 10:02:21 +02:00
Robert Schmidt
0e4ff0ecb4 L2 sim: space RA in time 2020-04-10 00:09:36 +02:00
Robert Schmidt
23fb00a248 Fix: telnet use right variable names 2020-04-10 00:09:36 +02:00
Robert Schmidt
a56be93e80 Reduce CPU load in PHY stub UE (L2 sim)
Instead of looping over UEs and all DL config Req/HI DCI0, loop first
over all DL config Req/HI DCI0, and for each, match UE.  Lowers CPU
traffic for high traffic situations.
2020-04-10 00:09:36 +02:00
Robert Schmidt
4df3157a7a L2: do not overwrite FAPI message, correct check 2020-04-10 00:09:36 +02:00
Robert Schmidt
0bef57e2d4 L2 sim: fix PDU_index test 2020-04-10 00:09:36 +02:00
Robert Schmidt
382b815fa4 Remove AssertFatal from UCI handlers 2020-04-10 00:09:36 +02:00
Robert Schmidt
8f450f0e51 DL PP: consider the last RBG might be smaller 2020-04-10 00:09:36 +02:00
Raymond Knopp
b568d5b01a removed faulty entries in ci unitary simulators and SNR starting point for nr_ulsim tests 2020-04-09 22:25:02 +02:00
Sakthivel Velumani
1c3c5c772f allocating memory to UL_INFO pdus 2020-04-09 19:22:26 +02:00
Francesco Mani
9296949906 fix for dlschsim for no data in dmrs symbol 2020-04-09 17:25:24 +02:00
Raymond Knopp
786be88101 fixed unitary simulation issue for nr_ulsim and removed broken pucch1 tests 2020-04-09 15:52:19 +02:00
Raphael Defosseux
46b386f0db Merge branch 'develop_inria_ci_deployment_gp' into develop_integration_2020_w15 2020-04-09 12:16:22 +02:00
Raphael Defosseux
64fcb6daa1 Merge branch 'develop_inria_ci_deployment_gp' of gitlab.eurecom.fr:oai/openairinterface5g into develop_inria_ci_deployment_gp 2020-04-09 12:11:20 +02:00
Gabriele Perrone
8a1118abac operations: 1) creation of develop_integration_2020_w15 (=develop) 2) merge of develop_inria_ci_deployment_gp 3) main.py conflicts resolution and now: commit of new main.py, epc.py, ran.py etc. 2020-04-09 11:03:49 +02:00
Sakthivel Velumani
9e8e7de10a using same dci_pdu_rel15 for UE also 2020-04-08 22:24:08 +02:00
Sakthivel Velumani
e0acce65c4 dci 1_1 bit decoding 2020-04-08 22:22:52 +02:00
Francesco Mani
def0450b4a Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-04-08 17:57:45 +02:00
Francesco Mani
b9d80576aa patch for no data in dmrs symbol for pusch tx 2020-04-08 17:32:19 +02:00
Raymond Knopp
c8ac5d56bf compilation of NR executables with MAC 2020-04-08 12:47:34 +02:00
matzakos
732081dd22 ENDC testing: Remove some remaining modifications used only for testing 2020-04-08 11:17:44 +02:00
Francesco Mani
2de42fcf0c increasing snr in ulsim mcs9 2020-04-08 09:02:32 +02:00
Francesco Mani
17e3f2857c possible fix for ghost dlsim in ci? 2020-04-08 09:02:19 +02:00
Raymond Knopp
1c16705355 pucch receiver for format 0 reworked without floating point and no generation of sequences for each decoding attempt, SR detection integrated 2020-04-08 00:03:44 +02:00
Thomas Schlichter
c128e82291 use nfapi_nr_ue_pusch_pdu_t instead of fapi_nr_ul_config_pusch_pdu for pusch_config_pdu 2020-04-07 21:18:28 +02:00
Gabriele Perrone
d15d86cf0c Update README.md 2020-04-07 19:20:30 +02:00
Sakthivel Velumani
6f3934acc0 moved dci_pdu_rel15_t to mac_common 2020-04-07 18:09:07 +02:00
Sakthivel Velumani
3053f37dec added NR_CellGroupConfig to mac in UE 2020-04-07 18:08:22 +02:00
Francesco Mani
ac2d1d79d7 minor fixes 2020-04-07 17:38:31 +02:00
Francesco Mani
20f5e27e50 filling dci pdu 2020-04-07 17:24:55 +02:00
Gabriele Perrone
be9d4e1b55 after full run of enb_usrp210_band7_test_05mhz_tm1.xml commit the latest changes; then I will create an integration branch to run CI 2020-04-07 16:10:58 +02:00
Ahmed Hussein
b9148d636f Migrating members from NR_UL_UE_HARQ_t to the new added NFAPI structs 2020-04-07 15:02:04 +02:00
Thomas Schlichter
690176821d make mac_sdus an array instead of a pointer 2020-04-07 13:31:14 +02:00
Raphael Defosseux
8bef0d1d61 CI: adding some try/catches and more debug to see what is going on --> failure to load images since 2 weeks
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-07 12:24:08 +02:00
Raymond Knopp
ea951f0db9 Merge remote-tracking branch 'origin/develop' into nr_pucch 2020-04-07 12:17:06 +02:00
Raymond Knopp
dcf7678fef Merge remote-tracking branch 'origin/develop' into nr_pucch
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2020-04-07 12:11:48 +02:00
WANG Tsu-Han
f0116d6bba fixes for return value for not using usrp write thread 2020-04-07 11:55:27 +02:00
cig
1e63219bbf Fixed bugs in UE RA procedures:
- number or RA preambles unitialised
- power ramp counter not incrementing
- segmentation fault due to wrong pointer initialisation
2020-04-07 11:07:41 +02:00
matzakos
c8f2b4e035 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-04-06 19:07:12 +02:00
matzakos
3b6b6d0671 Fix ULSCH traffic generation at UE side. Still not received at gNB 2020-04-06 19:06:58 +02:00
Raphael Defosseux
9a13669552 CI: adding a few checks before loading images in R2LAB
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-06 16:33:40 +02:00
Francesco Mani
b29d270708 Merge branch 'NR_RRC_harq_newdcipdu' into NR_RRC_harq 2020-04-06 15:30:10 +02:00
Gabriele Perrone
564db9c398 debugging 2020-04-06 15:20:02 +02:00
Gabriele Perrone
eff978af5d debugging 2020-04-06 14:54:13 +02:00
Robert Schmidt
1372e02206 Check for CCE allocation in UL PP 2020-04-06 13:56:59 +02:00
Robert Schmidt
36ebfe04f6 Use CCE_try_allocate_ulsch() in ULSCH 2020-04-06 13:56:59 +02:00
Robert Schmidt
c76af0a142 Check for CCE allocation in DL PP 2020-04-06 13:56:56 +02:00
Robert Schmidt
ed6e5ce832 Use CCE_try_allocate_dlsch() 2020-04-06 13:56:31 +02:00
Robert Schmidt
6b3b0b0b8b Final CCE allocation check: print message on fail 2020-04-06 13:56:31 +02:00
Robert Schmidt
88d156478f CCE_allocation_infeasible(): log only debug 2020-04-06 13:56:31 +02:00
Robert Schmidt
5443c7a792 fill_nfapi_dlsch_config() takes index for filling 2020-04-06 13:56:31 +02:00
Robert Schmidt
0f46f17c1c UL PP can change retx freq allocation 2020-04-06 13:56:31 +02:00
Robert Schmidt
24fb5e9c80 add adaptive HARQ UL 2020-04-06 13:56:31 +02:00
Robert Schmidt
9256a9e813 Clean up schedule_ulsch_rnti() 2020-04-06 13:56:31 +02:00
Robert Schmidt
c9a921504c TEST: TPC + TA cleaned up in DLSCH 2020-04-06 13:56:31 +02:00
Robert Schmidt
fd2e5fee96 Clean up schedule_dlsch() 2020-04-06 13:56:31 +02:00
Robert Schmidt
2f32448707 Correctly handle 2ms Sched. Reqs 2020-04-06 13:56:31 +02:00
Robert Schmidt
a3bbbd0630 Lock PRACH region through vrb_map_UL 2020-04-06 13:56:31 +02:00
Robert Schmidt
abc65b1d86 Reimplement UL PP 2020-04-06 13:56:31 +02:00
Robert Schmidt
8bf7a13ffa Remove first_rb from ULSCH scheduler 2020-04-06 13:56:31 +02:00
Robert Schmidt
8a84e2d92e Rewrite assign_max_mcs_min_rb() more concisely 2020-04-06 13:56:31 +02:00
Robert Schmidt
10bd164ad4 UL PP: Remove UE sorting and slicing 2020-04-06 13:56:31 +02:00
Robert Schmidt
9b4725ad0b Shortened UL-PP, remove CC and slicing 2020-04-06 13:56:31 +02:00
Robert Schmidt
4250f8eaec ULSCH: remove CC loop, remove variables or limit scope 2020-04-06 13:56:31 +02:00
Robert Schmidt
1670b4521e Reimplement the DLSCH preprocessor
This refactors the preprocessor. The new preprocessor implements the
same scheduling strategy (Modified Round-Robin: give resources according
to round-robin, then group) but should be fairer by changing every time
the RR start UE (i.e., 1st TTI UE 0 starts, 2nd TTI UE 1, etc) when the
UE number is not a divisor/multiple of the RBG size (and the last RBG is
often smaller). This also removes all unneeded code of the preprocessor
such as allocate(), positioning(), etc.
2020-04-06 13:56:27 +02:00
Robert Schmidt
eb0af3a5e0 Simplify DLSCH code
* do not check rlc_ind()
* Simplify retransmission part and remove nb_rb_available var
* Simplify new transmission code
* Simplify fill_DLSCH_dci(), avoid unnecessary copies
* fix: first check No. RBs, then check CCE alloc
2020-04-06 13:43:52 +02:00
Robert Schmidt
eeaa5a99d0 RLC: _req() accepts max TB size, _ind() not
Previously, the various rlc_*_ind() functions had a parameter to enable
the MAC to specify the max TB size that a subsequent call to the
corresponding rlc_*_req() (!) function would return. This patch removes
this parameter from the rlc_*_ind() functions and makes the parameter
working that is already in the rlc_*_req() functions.
2020-04-06 13:43:52 +02:00
Robert Schmidt
5c153ca0d2 Move release and RA control to own function, call once for every UE 2020-04-06 13:43:52 +02:00
Robert Schmidt
97a1bd105c store_dlsch_buffer() works per CC, checks only active LCs
store_dlsch_buffer() puts the RLC buffer status results in the
UE_TEMPLATE, which is per-CC. Since the DLSCH scheduler works per-CC,
too, we pass the right CC. However, this is not strictly necessary, as
we could do this once before every CC, and it might be updated.
2020-04-06 13:43:52 +02:00
Robert Schmidt
2e9f391a0a Store active LCs in MAC, remove unneeded headers 2020-04-06 13:43:52 +02:00
Thomas Schlichter
40bd00aa4b Add nr_prachsim to CI 2020-04-06 12:47:37 +02:00
Gabriele Perrone
2ea0070d4d further cleanup 2020-04-06 12:04:07 +02:00
Francesco Mani
bfaa037e83 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-04-06 11:05:27 +02:00
Francesco Mani
614c4ab6bd adding do_ra flag into new statement 2020-04-06 10:53:48 +02:00
Ahmed Hussein
d3cbf14694 Using ul_dmrs_symb_pos at UE side instead of assuming that DMRS is only present at 1st symbol of PUSCH 2020-04-06 10:37:17 +02:00
Francesco Mani
c9d1fe85fe Merge branch 'NR_RRC_PRACH_procedures_todevelop' into NR_RRC_PRACH_procedures 2020-04-06 09:21:01 +02:00
matzakos
374610dbe2 ENDC path switch procedures: Small correction 2020-04-06 09:20:25 +02:00
Gabriele Perrone
9eab72b2bf aligning remote repository with local on starsky 2020-04-06 09:18:42 +02:00
Ahmed Hussein
76f937d8f2 Removing nb_re_dmrs and length_dmrs from NR_UE_ULSCH_t 2020-04-06 09:12:33 +02:00
Ahmed Hussein
1104cf0414 Removing DMRS parameters from "nr_ulsch_encoding" 2020-04-06 08:51:35 +02:00
matzakos
cd843860a8 Fix RFSIMULATOR issues (gNB side) after merge of NR_test_S1U_RRC_PRACH_procedures into NR_RRC_PRACH_procedures 2020-04-04 11:56:06 +02:00
Francesco Mani
8892d00693 flag do_ra alternative to phy_test to perform RA procedures 2020-04-04 10:32:07 +02:00
Sakthivel Velumani
7846132e1c updated dci_pdu_rel15_t
moved nr_dci_size out of scheduler_phytest
2020-04-03 19:12:06 +02:00
Gabriele Perrone
b36d40d4a5 Update README.md 2020-04-03 18:38:42 +02:00
Francesco Mani
f72259de8e reactivating phytest schedulers 2020-04-03 16:58:08 +02:00
Francesco Mani
f73dd0742e Revert "ENDC path switch S1-U: Bugfixes at eNB side. Problem at S1AP E-RAB-Modification-Indication message encoding to be resolved"
This reverts commit f895c4d929.
2020-04-03 14:19:28 +02:00
Francesco Mani
448cae257d Revert "ENDC path switch S1-U: Bugfixes at gNB side"
This reverts commit 1462f0e659.
2020-04-03 13:41:23 +02:00
Francesco Mani
b651cae0ee increasing snr in ulsim mcs9 2020-04-03 09:15:10 +02:00
Francesco Mani
98a9af4f47 possible fix for ghost dlsim in ci? 2020-04-02 19:38:41 +02:00
Francesco Mani
fbf74bc395 setting type 1 dl freq resource allocation in rrc 2020-04-02 18:48:02 +02:00
Raymond Knopp
f9fc712a9b Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-04-02 17:44:08 +02:00
cig
6e404180f7 Fixed compilation warnings 2020-04-02 17:24:33 +02:00
cig
0366be797f Prach_start adjustment for both HW and simulation 2020-04-02 16:09:15 +02:00
cig
cf47f059eb Restored preamble index configuration in PRACH UE 2020-04-02 16:09:15 +02:00
cig
8c68f37450 Prachsim compilation and NR PRACH UE fixes 2020-04-02 16:09:07 +02:00
Raphael Defosseux
657a42fec3 CI: during VM builds, we often have connection issues. Adding retry options to wget
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-04-02 14:33:37 +02:00
WANG Tsu-Han
76eec2d1ee Merge branch 'develop' into NR_RRCConfiguration_trx_thread 2020-04-02 13:03:25 +02:00
WANG Tsu-Han
a6e1b2a9f8 Merge branch 'develop' into NR_RRCConfiguration_trx_thread
Conflicts:
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2020-04-02 13:02:31 +02:00
frtabu
0518ced81f dft/idft in shared lib 2020-04-02 12:11:21 +02:00
Ahmed Hussein
9a857e4486 Adopting the dynamic implementation of DMRS at the gNB side
- Using the implemented DMRS functionalities at the MAC layer at the gNB side
  - Removing is_dmrs_symbol function
  - Temporary implemetation at the UE side considering DMRS symbol is at the 1st PUSCH symbol,
    until the nFAPI structs for DMRS is adopted at the UE side
2020-04-02 10:05:54 +02:00
adk
5f194af906 optimization and fixing PUSCH PTRS generation 2020-04-02 10:05:54 +02:00
adk
5e7d52d279 fix indentation 2020-04-02 10:05:54 +02:00
Sakthivel Velumani
684dec16c1 Merge branch 'NR_RRC_harq' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq 2020-04-02 03:00:12 +02:00
Sakthivel Velumani
bf819df6e3 changed dci_pdu_rel15 struct to hold bitwidth for each dci field 2020-04-02 02:54:29 +02:00
Sakthivel Velumani
b4d273d63b added remaining fields in 1_1 DCI pdu fill 2020-04-01 21:30:34 +02:00
Gabriele Perrone
236b17ce81 cleanup of main*.py names and push of minor changes on main.py and html.py 2020-04-01 18:27:34 +02:00
Francesco Mani
cff21926e8 Merge branch 'nr_pucch' into NR_RRC_harq 2020-04-01 17:22:44 +02:00
Raymond Knopp
72d76c7585 dft-based pucch0 receiver 2020-04-01 16:52:56 +02:00
Gabriele Perrone
36bf56d410 Update README.md 2020-04-01 14:59:09 +02:00
Gabriele Perrone
1cb14c3d9c Update README.md 2020-04-01 13:26:26 +02:00
Robert Schmidt
5420e74032 Efficient RB estimation through binary search 2020-04-01 11:13:58 +02:00
Robert Schmidt
8ffe5b4920 Rename UE_list_t to UE_info_t, UE_list_t separate struct
UE_list_t is now used as a separate list. It can be e.g. used in the
scheduler to mark groups of users. The original UE_list_t is renamed to
UE_info_t to reflect that it is a container for information about UEs.
2020-04-01 10:47:02 +02:00
Robert Schmidt
7c92456338 Remove DL Slicing-related variables 2020-04-01 10:38:47 +02:00
Robert Schmidt
fd6618dc1c Simplify preprocessor, retain functionality
* Simplify store_dlsch_buffer()
* Simplify assign_rbs_required()
* Simplify dlsch_scheduler_pre_processor_partitioning()
* Simplify dlsch_scheduler_pre_processor_accounting() and dlsch_scheduler_pre_processor_accounting_allocate()
* Simplify allocation printing

The original functions used in the fairRR scheduler have been moved to
eNB_scheduler_fairRR
2020-04-01 08:49:26 +02:00
Robert Schmidt
4462e2d710 Remove unused/broken code in preprocessor
* Remove MIMO_mode_indicator: it is simply not used ATM
* Remove min_rb_unit as parameter: function auto-detects
* Remove commented code
* Remove slice sharing/multiplexing: it is broken
* Remove UE sorting, add UE with add_new_ue() in MAC
  - UE sorting is useless overhead on every iteration, instead it should
    be governed by a scheduling algorithm (e.g., RR or PF)
  - The MAC keeps a UE list and automatically adds a UE
  - UE_list empty, set head to -1
* Remove slice_positioning: the slicing functionality is broken
* Remove unused/untested code
2020-04-01 08:49:26 +02:00
Robert Schmidt
8d3fa4dc22 Simplify dlsch_scheduler_pre_processor_reset()
The original reset() function used in fairRR has been moved to
eNB_scheduler_fairRR.c
2020-04-01 08:49:26 +02:00
Robert Schmidt
ff766786a8 Remove mbsfn_flag from schedule_ue_spec(), simplify pre_processor interface 2020-04-01 08:49:26 +02:00
Robert Schmidt
8e72b1364a Remove sf0 DC limitation 2020-04-01 08:49:26 +02:00
Robert Schmidt
cd480271af Remove everything related to TM5 in pre_processor 2020-04-01 08:49:26 +02:00
Robert Schmidt
99301f438f Call schedule_ue_spec() once for each CC 2020-04-01 08:49:26 +02:00
Robert Schmidt
81fb7628c5 get_min_rb_unit(): all channel bandwidths 2020-04-01 08:49:26 +02:00
Robert Schmidt
ffc4f464f5 Remove useless mac_proto.h include
When a header is changed, all including files need to be recompiled,
too. Thus, including a header needlessly all over the place drives
compile times up without any reason.
2020-04-01 08:49:26 +02:00
Robert Schmidt
1efd2b428b Remove useless MAC/defs.h file 2020-04-01 08:49:26 +02:00
Robert Schmidt
5e0d6253b8 Fix: search UE in ULSCH when handling UCI 2020-04-01 08:49:26 +02:00
Sakthivel Velumani
bb3883bff0 1_1 DCI encoding - added checks from RRC IEs 2020-04-01 01:26:02 +02:00
Sakthivel Velumani
f404f29e2f added some fields in 1_1 DCI bit encoder 2020-03-31 15:27:41 +02:00
Raymond Knopp
e9ff6bad2e Merge with branch NR_RRC_PRACH_procedures 2020-03-31 15:25:42 +02:00
Francesco Mani
1ada5382c8 ulsch rx measurements in dlsim 2020-03-31 12:31:06 +02:00
frtabu
4649034b26 create dft shared lib 2020-03-31 12:10:48 +02:00
frtabu
296494ea4c create dft shared lib 2020-03-30 18:23:32 +02:00
Gabriele Perrone
f7c1a954b1 Merge branch 'develop_inria_ci_deployment_gp' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop_inria_ci_deployment_gp 2020-03-30 17:56:57 +02:00
Gabriele Perrone
ddfaa9af5e editorial on html.py 2020-03-30 17:47:08 +02:00
Gabriele Perrone
34694363e2 clean up the HSS termination procedure using the screen command 2020-03-30 17:34:23 +02:00
Raymond Knopp
2378b73b1e ENDC path switch procedures: E-RAB Modification Confirm message successfully received at the eNB from the MME now 2020-03-30 14:38:42 +02:00
cig
7f00dbc53c Const prachfmt in nr_mac_common 2020-03-30 12:03:31 +02:00
Francesco Mani
6f001d3e5b adapting handle rach function 2020-03-30 11:38:07 +02:00
Francesco Mani
0ca708d55b making ulsim compile 2020-03-28 10:53:44 +01:00
Francesco Mani
88aad7cbf2 num_cb in indication taken from pusch pdu 2020-03-28 10:05:25 +01:00
Francesco Mani
aad29b208a first version of gNB indication structures from SCF 2020-03-27 18:27:49 +01:00
cig
2b3446ed15 Hardcoded PRACH tx_amp to AMP 2020-03-27 17:09:50 +01:00
cig
cca28a0abd Moved PRACH PDU struct to NR_UE_PRACH in PHY_VARS_NR_UE:
- now the FAPI interface copies the struct directly to NR_UE_PRACH
- NR_PRACH_CONFIG_COMMON and NR_PRACH_CONFIG_INFO have been removed from FP
2020-03-27 17:09:50 +01:00
cig
6d413e2c57 Bugfix returning null pointer to prach resources 2020-03-27 17:09:50 +01:00
cig
3bb1407e54 NR PRACH generation fixes for correct reception of msg1 2020-03-27 17:09:43 +01:00
cig
6982e6f443 Code cleanup and formatting 2020-03-26 18:54:58 +01:00
cig
2c6e49c0da Enabled timing offset compensation in RFSIM 2020-03-26 18:54:58 +01:00
cig
453d574433 Temporary set condition on slot 19 to enter PHY PRACH procedures 2020-03-26 18:54:57 +01:00
cig
ae5f30ec8d Set flag to generate PRACH only on PRACH slot 2020-03-26 18:54:57 +01:00
cig
3bb82a02ee UE: N_TA_offset configuration depending on SCS and N_RB_DL 2020-03-26 18:54:57 +01:00
cig
04a9c72de3 Bugfix in selection of dual format A3/B3 2020-03-26 18:54:57 +01:00
cig
01b3038d77 Check on dlsch0_harq to avoid segmentation fault 2020-03-26 18:54:57 +01:00
cig
63d6b59f9d Enabled check on UE mode to start either ULSCH and PRACH procedures:
- ULSCH is temporary disabled
2020-03-26 18:54:50 +01:00
cig
d6f597cefe Commented out code for contention resolution at UE side 2020-03-26 18:27:13 +01:00
cig
eb7f3193aa Enabled compute_nr_prach_seq to be used at both gNB and UE side:
- now the function gets more input arguments but can be used from both UE and gNB
- this change was needed because the prach fapi of UE differs from the gNB one
2020-03-26 18:27:13 +01:00
cig
4e38ea2367 Set UE mode to NOT_SYNCHED by default 2020-03-26 18:27:13 +01:00
cig
ae9303bd52 Implemented dft/idft 36864 2020-03-26 18:27:13 +01:00
cig
924d361ded Enabled NR UE PRACH scheduler 2020-03-26 18:27:13 +01:00
Raymond Knopp
fa3f461783 ENDC path switch procedures: Remove some IEs from E-RAB Modification Indication message which finally appear to be not mandatory 2020-03-26 18:20:05 +01:00
Francesco Mani
076e7c8e53 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-03-26 12:50:46 +01:00
Francesco Mani
666adcc37e Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-03-26 12:50:17 +01:00
Francesco Mani
4c30e6d3a5 new file for prach dummy functions to avoid compilation failures on physim 2020-03-26 12:29:20 +01:00
Thomas Schlichter
ce923e59ed fix critical "assignment from incompatible pointer type" warnings 2020-03-26 09:55:22 +01:00
Francesco Mani
e451ff54ef fixing compilation errors and one file left behind 2020-03-26 09:34:07 +01:00
Francesco Mani
d320fa13b3 Merge branch 'develop' into NR_RRC_PRACH_procedures 2020-03-25 18:45:00 +01:00
Raymond Knopp
48a61ab598 ENDC path switch procedures: Small modification at generation of E-RAB Modification Indication message 2020-03-25 16:03:43 +01:00
Raphael Defosseux
b630a983ec Merge branch 'NR_RRCConfiguration' into 'develop'
Nr rrc configuration

See merge request oai/openairinterface5g!738
2020-03-25 09:43:34 +01:00
laurent
6bbf9011ba compilation ok 2020-03-24 19:16:13 +01:00
laurent
82e71acee6 merge develop 2020-03-24 18:58:53 +01:00
Robert Schmidt
8a47fa484c Handle residual MAC PDU < 0 gracefully 2020-03-24 17:54:08 +01:00
Robert Schmidt
daefb67c82 Fix: correct check for dummy-traffic 2020-03-24 17:54:08 +01:00
Robert Schmidt
69c16efe07 Fix: check that UE RRC config files are found 2020-03-24 17:54:08 +01:00
Robert Schmidt
2c21e8229c Fix: correctly set context before calling pdcp_run() 2020-03-24 17:54:08 +01:00
Francesco Mani
817afd999b fixing reference point for k in pusch dmrs 2020-03-24 16:00:52 +01:00
Robert Schmidt
8a589f5b08 Fix: rx_indication length is in bytes 2020-03-24 15:54:45 +01:00
Robert Schmidt
df0bc30e28 Make function static inline, not inline
inline alone does only define a function without a corresponding
declaration. static solves this problem
2020-03-24 15:41:54 +01:00
WANG Tsu-Han
669cc161f0 adding second_addr in config file 2020-03-24 11:22:17 +01:00
Florian Kaltenberger
c6d8d934c1 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into NR_RRCConfiguration_sync_source 2020-03-23 22:07:05 +01:00
Cedric Roux
d6ce3a5a31 fix compilation of ldpc libraries - T must be processed before 2020-03-23 17:47:43 +01:00
Florian Kaltenberger
897ca561f5 adding time_source command line parameter and removing duplications of clock_source
ignoring command line paramters clock_source and time_source in lte-softmodem and harmonizing it with nr-softmodem
time_source and clock_source handled separately in usrp_lib.cpp
2020-03-23 17:45:48 +01:00
Florian Kaltenberger
e21d6efaf5 CI: adding --phy-test command line option to gNB real-time test 2020-03-23 16:33:35 +01:00
Sakthivel Velumani
d90f8da364 avoiding code duplication 2020-03-21 18:43:50 +01:00
Raymond Knopp
39ab08b6b3 Merge branch 'NR_test_S1U_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_test_S1U_RRC_PRACH_procedures 2020-03-20 22:55:22 +01:00
Raymond Knopp
1462f0e659 ENDC path switch S1-U: Bugfixes at gNB side 2020-03-20 22:55:17 +01:00
Raymond Knopp
f895c4d929 ENDC path switch S1-U: Bugfixes at eNB side. Problem at S1AP E-RAB-Modification-Indication message encoding to be resolved 2020-03-20 22:48:09 +01:00
Sakthivel Velumani
c71edc21db Fixed the assertion in ulsch pdu header
rfsim works
2020-03-20 17:08:30 +01:00
Francesco Mani
f508f310cc fix in rbs extract for dmrs 2020-03-20 14:24:40 +01:00
OAI Jenkins
e9c6872bb9 minor modifications during a lease on inria fit14 to keep on debugging main, html, ran.py etc. 2020-03-20 14:09:51 +01:00
Sakthivel Velumani
1c2f9bb618 Fixed some bug in pusch dmrs
an assertion fails in gnb (need to be fixed)
2020-03-20 13:59:40 +01:00
Francesco Mani
447c470626 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-03-20 11:16:59 +01:00
Francesco Mani
b904161f87 removing is_dmrs_symbol function from pusch in gNB 2020-03-20 11:15:43 +01:00
Cedric Roux
ad1a102f08 fix for CU/DU split 2020-03-20 11:13:51 +01:00
Francesco Mani
6d058d306a SCF FAPI structures for PUSCH at gNB 2020-03-19 18:07:12 +01:00
Francesco Mani
57c993ce26 fix for some warnings 2020-03-18 10:03:41 +01:00
Sakthivel Velumani
07a48f87e4 loading LDPC libs for UE 2020-03-17 19:06:22 +01:00
Francesco Mani
5ef2af1cce minor changes 2020-03-17 16:27:08 +01:00
Gabriele Perrone
6aa64bd286 to switch to develop 2020-03-17 08:24:13 +01:00
matzakos
cbba3da30b ENDC path switch S1-U: Remove warnings 2020-03-16 21:20:00 +01:00
Cedric Roux
9bbb12f7ae nr-gnb: configure contention-free random access for the UE 2020-03-16 09:37:40 +01:00
Raymond Knopp
1ddd729044 bring back recent changes in ldpc encoder after merge with dynamic library implementation 2020-03-16 09:32:50 +01:00
Raymond Knopp
e9fad18540 temporary changes for nr_ulsim. To be removed when new branch with SCF NR FAPI for PUSCH is merged in. 2020-03-16 01:26:12 +01:00
Raymond Knopp
93b4211d02 merge conflict removal 2020-03-15 19:16:30 +01:00
Raymond Knopp
7491e23dbd Merge remote-tracking branch 'origin/develop' into NR_RRCConfiguration 2020-03-15 18:13:11 +01:00
Raymond Knopp
6dff674302 testing after merge with develo 2020-03-15 18:03:42 +01:00
matzakos
cb0b736993 ENDC path switch S1-U: Modifications to avoid linking errors for lte-softmodem 2020-03-15 16:23:18 +01:00
Gabriele Perrone
82e97fce59 Merge branch 'develop_integration_w11' into 'develop'
Develop integration 2020 week 11

See merge request oai/openairinterface5g!787
2020-03-15 12:10:33 +01:00
Raymond Knopp
fc54cbf4d2 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-03-14 13:50:37 +01:00
Raymond Knopp
9cf9ea7c99 remainder of merge 2020-03-14 13:50:07 +01:00
Raymond Knopp
914e17b57b Merge remote-tracking branch 'origin/develop' into NR_RRCConfiguration
Conflicts:
	executables/nr-softmodem.c
	executables/nr-ue.c
	executables/softmodem-common.c
	openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/LAYER2/NR_MAC_UE/mac_proto.h
	openair2/NR_PHY_INTERFACE/NR_IF_Module.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/nr_rrc_config.c
	openair2/RRC/NR/nr_rrc_defs.h
	openair2/RRC/NR/nr_rrc_proto.h
	openair2/RRC/NR/rrc_gNB.c
2020-03-14 12:45:02 +01:00
Francesco Mani
abddce1dc7 bugfix in computation of B 2020-03-13 18:23:27 +01:00
matzakos
7408ddb2c3 ENDC path switch S1-U: Adding GTP-U tunnel related functionality at gNB 2020-03-13 12:55:49 +01:00
magounak
7b9be8744d bug fix ue dlsch thread 2020-03-13 10:46:40 +01:00
Hongzhi Wang
d4a81bcc0f update dlsch multi thread 2020-03-13 10:41:50 +01:00
Francesco Mani
ab39b74ca1 bugfix in pusch dmrs reception 2020-03-13 10:19:24 +01:00
matzakos
c56075928a ENDC path switch S1-U: Bugfixes 2020-03-12 19:56:15 +01:00
Gabriele Perrone
73ac675869 Merge remote-tracking branch 'origin/extend_sharedlibusage' into develop_integration_w11 2020-03-12 18:32:39 +01:00
Gabriele Perrone
a653034fbc Merge remote-tracking branch 'origin/generate_push_ptrs' into develop_integration_w11 2020-03-12 18:31:23 +01:00
Gabriele Perrone
4e5234853f Merge branch 'dreibh/device-load-fix-develop-branch' into 'develop'
Fix for Issue #494: check and handle return value of openair0_device_load()  (develop branch)

See merge request oai/openairinterface5g!780
2020-03-12 15:22:50 +01:00
Gabriele Perrone
a1b9bebf72 Merge branch 'fix-l2-sim' into 'develop'
Fix l2 sim

See merge request oai/openairinterface5g!781
2020-03-12 15:20:56 +01:00
Cedric Roux
143fd5ea5a bugfix 2020-03-12 14:50:02 +01:00
Cedric Roux
86dc600cd9 bugfix 2020-03-12 14:33:47 +01:00
Francesco Mani
18c8a4a4e6 taking into account n_ta_offset in slot fep ul 2020-03-12 14:09:41 +01:00
frtabu
4ce46e7488 Add LDPC shared lib doc 2020-03-11 18:18:19 +01:00
frtabu
3b3d232214 move ldpc coder/decoder into a shared lib dymically loaded. Also fix a record player bug 2020-03-11 17:41:38 +01:00
frtabu
8928cfe57d move ldpc coder/decoder into a shared lib dymically loaded. Also fix a record player bug 2020-03-11 17:32:13 +01:00
matzakos
b7524052e8 Merge branch 'NR_test_S1U_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_test_S1U_RRC_PRACH_procedures 2020-03-11 16:08:19 +01:00
matzakos
0564357e33 ENDC path switch S1-U: Minor correction 2020-03-11 16:07:02 +01:00
adk
c15fb8c7a4 PUSCH DMRS mapping type B start symbol fix 2020-03-11 14:45:14 +01:00
NCTU CS ISIP
689426e8c1 LDPC implement on Quadro p5000 2020-03-11 20:02:20 +08:00
Raymond Knopp
de34a2ff28 Update gNB configuration file used for ENDC 2020-03-11 12:02:55 +01:00
matzakos
07a2a095d3 ENDC path switch S1-U: Integrated S1AP E-RAB-Modification indication message at eNB, interfacing with RRC and X2AP to get proper configuration of E-RABs to be modified and GTP-U configuration at gNB 2020-03-11 10:37:48 +01:00
Robert Schmidt
0de3c73475 Place MBMS tun fd into single int 2020-03-10 17:38:24 +01:00
Sakthivel Velumani
c6182d3ee2 updated frame_idx in UE 2020-03-10 12:26:00 +01:00
Raymond Knopp
e7c5bc55c4 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures
Conflicts:
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
2020-03-10 08:24:45 +01:00
Raymond Knopp
47e0d056be Merge branch 'NR_RRCConfiguration' into NR_RRC_PRACH_procedures
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_dci.c
	openair1/PHY/NR_TRANSPORT/nr_prach.c
	openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
	openair1/PHY/defs_nr_common.h
	openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
	openair1/SIMULATION/NR_PHY/prachsim.c
	openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2020-03-09 21:14:32 +01:00
Francesco Mani
2ada0eddc5 fix for no data in dmrs in ulsch procedures 2020-03-09 17:35:30 +01:00
Francesco Mani
f9ca54e9a1 crc and tbs fixes in ulsch 2020-03-09 12:05:45 +01:00
Francesco Mani
631d345df8 fix indentation and removing an if in scheduler 2020-03-09 10:03:54 +01:00
Raphael Defosseux
3f803ae7f9 CI: adding back more testing (ping and iperf) to L2 simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-03-08 20:34:20 +01:00
Robert Schmidt
84482489e4 Reformat phy_stub_UE.c with clang-format 2020-03-08 20:34:20 +01:00
Robert Schmidt
fa7ace4b1d Reimplement dl_config_req_UE_MAC() more concisely 2020-03-08 18:34:00 +01:00
Robert Schmidt
34e7952944 CI: Multi. UEs handled by 1 thread (no races) in l2sim 2020-03-08 18:33:34 +01:00
Robert Schmidt
719667895c Prevent memory leak in L2 sim due to NFAPI 2020-03-08 18:33:34 +01:00
Robert Schmidt
6ec6c8b261 Request CQI in all NFAPI modes (i.e., also for L2 sim) 2020-03-08 18:33:34 +01:00
Robert Schmidt
6866be7175 Trigger ULSCH CQI ind only when instructed 2020-03-08 18:33:34 +01:00
Robert Schmidt
943f907ae1 Send correct ULSCH CQI indication message in L2 sim 2020-03-08 18:33:34 +01:00
Raymond Knopp
2b944d175a commit before merge 2020-03-07 15:24:51 +01:00
Francesco Mani
98714f3138 using SCF fapi structure for PUSCH and initialization of pusch dmrs sequences at nr_init 2020-03-06 18:05:12 +01:00
Raymond Knopp
fcb211b014 Fixing FO compensation in UE
Actually there was a bug in FO compensation which I overlooked in last commit.
2020-03-06 17:15:28 +01:00
Sakthivel Velumani
c85d0878c1 Reverting the changes made in fo calculation
While fixing bug in PSS index calculation in 334519d16a, I made changes in FO calculation as well. This is not nedeed and caused the FO to misbehave. Hence, reverting it.
2020-03-06 13:40:03 +01:00
NCTU CS ISIP
1f6dbb20fe LDPC implementation on GPU
Signed-off-by: NCTU CS ISIP <tyhsu@cs.nctu.edu.tw>
2020-03-06 19:12:31 +08:00
NCTU CS ISIP
fb30fc6aa5 GPU branch
Signed-off-by: NCTU CS ISIP <tyhsu@cs.nctu.edu.tw>
2020-03-06 18:36:33 +08:00
NCTU CS ISIP
0f011679c0 NCTU_CS_ISIP
Signed-off-by: NCTU CS ISIP <tyhsu@cs.nctu.edu.tw>
2020-03-06 17:42:52 +08:00
WANG Tsu-Han
5cdfcc4cb5 bugfix after merge 2020-03-05 19:24:40 +01:00
WANG Tsu-Han
e08b5c1c38 Merge branch 'trx_write_thread' into NR_RRCConfiguration_trx_thread
Conflicts:
	executables/nr-ru.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2020-03-05 18:31:21 +01:00
WANG Tsu-Han
cc4a0c742e adding debug message 2020-03-05 17:38:47 +01:00
Robert Schmidt
b34a0e2f54 Increase (fixed) PHR for UE phy stub mode (L2 sim) 2020-03-05 16:06:02 +01:00
Robert Schmidt
8af8836c4b Call oai_nfapi_cqi_indication() to send cqi_indications 2020-03-05 16:04:44 +01:00
Robert Schmidt
15a2767562 Don't call fill_ulsch_cqi_indication_UE_MAC()
This functions fills the ULSCH CQI indication message incorrectly. Also,
it should only be triggered when the eNB requests CSI. We disable it
here and a subsequent commit enables it again.
2020-03-05 16:04:44 +01:00
Robert Schmidt
c321f9b5a3 Make UE mem alloc for UL_INFO only once in PHY stub mode 2020-03-05 16:04:44 +01:00
Robert Schmidt
5f851d45b3 Fill UE RX Indication Rel9 to prevent error message 2020-03-05 16:04:44 +01:00
Francesco Mani
e33dea5f38 fix prb mapping according to bwps 2020-03-05 12:19:15 +01:00
Cedric Roux
0ecc3149ba bugfix: ul grant is 27 bits, does not fit into uint16_t 2020-03-05 11:16:46 +01:00
Thomas Schlichter
8fbdfa39ec disable PUSCH PTRS for now
As adding PTRS leads to shortening of the coded data, redudandency is removed and the performance decreases on a pure AWGN channel.
So PTRS should only be enabled if phase noise is present.
2020-03-05 10:27:35 +01:00
Sakthivel Velumani
f2bc346ab7 Fixed bad array length for thread ID 2020-03-05 10:14:46 +01:00
Francesco Mani
f62d94c76f correct scheduling of msg3 reception 2020-03-05 09:59:59 +01:00
Francesco Mani
94b7d132c5 fix for tpc command 2020-03-04 17:56:37 +01:00
Francesco Mani
444442d3e3 mac scheduling of msg3 at gnb 2020-03-04 16:58:49 +01:00
Gabriele Perrone
9afdaf0244 pushing for debugging 2020-03-04 15:13:07 +01:00
adk
00ff5e8a5c PUSCH PTRS extraction and fixing nr_ulsim 2020-03-04 14:45:05 +01:00
adk
505d06e945 PUSCH PTRS generation 2020-03-04 14:45:05 +01:00
adk
e72e1d87f2 added PUSCH PTRS structs (UE + gNB) and parameters initialization 2020-03-04 14:37:05 +01:00
Robert Schmidt
05577be422 Reduce logging verbosity and levels 2020-03-04 13:38:04 +01:00
Robert Schmidt
a51dc94e8b Set correct UE ID in Kenb Refresh Req
NAS triggered the Kenb Refresh Req always for (hardcoded) UE 0. This
fixes this by setting the correct UE ID.

An effect of this was that the Kenb would always be set for UE 0,
regardless for which UE it was actually intended. This led for integrity
check failures for every UE with ID > 0.
2020-03-04 13:38:04 +01:00
laurent
756ac05e4d merge develop,fix basic sim and warnings 2020-03-04 13:32:03 +01:00
Sakthivel Velumani
fbe0695b21 some rfsim fixes 2020-03-04 12:41:56 +01:00
Sakthivel Velumani
df8e9ddbb3 update to the fix for initial sync 2020-03-04 11:21:14 +01:00
Raphael Defosseux
6c8938d584 Merge branch 'develop_integration_w08' into 'develop'
Develop integration 2020 week 08

The following Merge Requests have been included :

* MR771: Nr IP uplink traffic in noS1 mode
* MR772: Tools 5 gadapt
* MR773: Using "--allow-unauthenticated" with apt-get disables package verification,...
* MR776: Docupdate( MR 772)
2020-03-04 07:13:47 +01:00
Francesco Mani
cbbfbca5fb another fix in RE computation for no data in dmrs symbol in phy 2020-03-03 15:22:03 +01:00
Francesco Mani
595e9c6f74 RE computation for no data in dmrs symbol in phy fixed 2020-03-03 14:28:45 +01:00
Thomas Dreibholz
34c118c03e Error should create a log entry, not use printf(). 2020-03-03 11:33:10 +01:00
Thomas Dreibholz
04789ff9f5 Made error message more informative. 2020-03-03 11:33:10 +01:00
Thomas Dreibholz
a07a830a0f Check result of openair0_device_load() and exit when loading the device fails. 2020-03-03 11:33:10 +01:00
laurent
44167f0119 Fix phy simulators 2020-03-02 19:15:44 +01:00
Sakthivel Velumani
52fa969730 fixing wrong writeBlockSize in UE 2020-03-02 18:29:52 +01:00
Sakthivel Velumani
66555e18c7 setting sf_ahead depending on slots duration 2020-03-02 18:29:05 +01:00
laurent
7ad4efb37a fix warnings, reduce formating differences with develop branch 2020-03-02 17:39:44 +01:00
laurent
53db39b8a0 split 7.3 ready for merge 2020-03-02 15:41:21 +01:00
Francesco Mani
e21900bb0a no data in dmrs symbol (hardcoded) 2020-03-02 15:31:30 +01:00
Raphael Defosseux
795f25bb17 CI: new new method to run simulated HSS
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-03-02 14:38:26 +01:00
Sakthivel Velumani
bc1e62dd7e Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-28 18:23:27 +01:00
Sakthivel Velumani
b4f46144fe Fixed bugs in frame sync for UE
UE is a bit more stable now
2020-02-28 18:23:15 +01:00
Francesco Mani
19a1affc68 some change in pdsch configuration for msg2 2020-02-28 17:49:00 +01:00
Raphael Defosseux
bf3621c5a8 CI: needs to append CI workspace path to UE RRC conf files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-28 11:53:25 +01:00
Gabriele Perrone
acced8faf1 Merge branch 'develop_integration_w08' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop_integration_w08 2020-02-28 10:30:07 +01:00
Gabriele Perrone
99c113e402 Merge remote-tracking branch 'origin/docupdate_tools' into develop_integration_w08 2020-02-28 10:11:08 +01:00
Gabriele Perrone
abf4d82586 Merge remote-tracking branch 'origin/dreibh/apt-auth-fix' into develop_integration_w08 2020-02-28 10:09:50 +01:00
Florian Kaltenberger
5c041cc153 removing deprecated nr-uesoftmodem command line parameters from CI test 2020-02-27 18:06:10 +01:00
Sakthivel Velumani
172cd2b981 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-27 17:32:47 +01:00
Raymond Knopp
e417fdfe20 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-27 17:10:21 +01:00
Raymond Knopp
f54175c9a0 fix for test_case_list.xml file w.r.t. nr_dlsim tests. Still a few tests failing, but .xml syntax errors are fixed 2020-02-27 17:09:24 +01:00
Raphael Defosseux
4bfcef6e16 CI: fixing the infinite loop w/ UE crashes before "got sync" message
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-27 16:46:41 +01:00
Sakthivel Velumani
a8301b9aac More fixes for FR2 2020-02-27 15:50:53 +01:00
cig
22d43925e0 Changes to the logic in nr_ue_dl_indication and nr_ue_prach_scheduler 2020-02-27 15:23:40 +01:00
cig
0d6e8ea0fb Interface MAC-PHY for RA: passing FAPI PRACH PDU params to PHY 2020-02-27 15:23:40 +01:00
cig
8ed99c28cf Fixes UE RA procedures:
- using NR RACH config common from scc
- fixed return type RA preamble target power functions
- retrieving PRACH format from PRACH resources
2020-02-27 15:23:40 +01:00
cig
b5bb01d4a6 Cleanup and formatting nr_ue_scheduled_response 2020-02-27 15:23:39 +01:00
cig
3c16ad5643 NR UE PRACH scheduler to fill up UL config request with PRACH PDU
- takes in input configuration index and TS 38.211 PRACH tables (6.3.3.2.x)
- using FAPI NR UL config request struct, derived from SCF standard for gNB
2020-02-27 15:23:39 +01:00
cig
f1e6a34f76 Add common mac functions declarations to nr_mac_common.h 2020-02-27 15:23:39 +01:00
Francesco Mani
80d286b637 removing 6db power boost of pdcch dmrs 2020-02-27 10:19:34 +01:00
Sakthivel Velumani
f59f8032f5 Removed DEFAULT_DLF from UE 2020-02-26 15:43:47 +01:00
WANG Tsu-Han
bd672c5f0f renaming of variable 2020-02-26 14:47:24 +01:00
Francesco Mani
5a9329d1d9 bugfix in filling dci for rar 2020-02-26 14:10:57 +01:00
Sakthivel Velumani
334519d16a Fixed several bugs in UE initial sync procedures
Now UE gets sync all time in rfsimulator. Yet to be tested with hardware.
2020-02-26 12:52:40 +01:00
WANG Tsu-Han
d30a28c368 adding check for overflow, removing prints and parameter setting fix 2020-02-25 16:49:39 +01:00
Francois TABURET
dd7e48ca69 Fixes typo discovered when reviewing from gitlab 2020-02-25 16:06:37 +01:00
WANG Tsu-Han
c2b3867f8a fix for not using pointer to stash 2020-02-25 15:16:18 +01:00
WANG Tsu-Han
61a24472db assertion removal and debuging message adding 2020-02-25 14:07:01 +01:00
frtabu
2c35740122 telnet server and iq record player documentation update 2020-02-25 11:31:40 +01:00
Francesco Mani
63cf2ffa9a fixing the fix 2020-02-24 17:51:33 +01:00
Francesco Mani
d113daeb3a scrambling rnti fix in nr_dci 2020-02-24 17:46:19 +01:00
Raphael Defosseux
e454e59f61 CI: fixing the report on 5G NR RF simulation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-24 15:21:37 +01:00
Raymond Knopp
e2ee13e9ce modifications for DCI size of format 1_0 for RAR and filling of FAPI for RAR according to special RAR-related configuration 2020-02-24 11:25:07 +01:00
Raymond Knopp
eb9d37f6a3 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-22 15:06:28 +01:00
Raymond Knopp
b232be94ed dlsim/ulsim updated to generate configuration without need for external pre-generated file. 2020-02-22 15:01:55 +01:00
laurent
3d15918c14 merge again with develop, compiles only 2020-02-22 14:19:18 +01:00
Francesco Mani
edeb9ea77c Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-02-21 16:40:37 +01:00
Francesco Mani
6ff42815eb scheduling of msg2 and filling of fapi structures 2020-02-21 16:40:15 +01:00
WANG Tsu-Han
d83c935e42 add trx write thread 2020-02-21 16:19:43 +01:00
Cedric Roux
85176d7203 remove compilation warnings 2020-02-21 11:09:28 +01:00
Cedric Roux
f829970085 improve NR UE capabilities request
Seems like the UEs in the CI don't like when asked to report NR UE
capabilities. So let's first ask for eutra capabilities and then
dig into them to check for en-dc support and only then ask for
NR capabilities. We chose to ask for NR capabilities after receiving
RRCConnectionReconfigurationComplete. That may not be the best thing
to do.

Today, we do nothing with those capabilities. We could completely skip
asking them to the UE, but since the code is there and since it may be
useful in the future, let's do it. Hopefully, it should not hurt too much.
2020-02-20 15:18:50 +01:00
Cedric Roux
eb18a90b7f bugfix: correct X_u computation for both 839 and 139 cases 2020-02-19 14:37:07 +01:00
Cedric Roux
669ba2fafe minor typo fix 2020-02-19 14:29:42 +01:00
Sakthivel Velumani
a3f9a72092 pbchsim works for FR2 2020-02-19 14:07:22 +01:00
Gabriele Perrone
5ef412ec8a Merge remote-tracking branch 'origin/tools_5Gadapt' into develop_integration_w08 2020-02-19 13:24:31 +01:00
Florian Kaltenberger
d59d2fe2bd CI: adding rrc_config_path to nr-uesofrmodem run on caracal 2020-02-19 11:59:46 +01:00
Sakthivel Velumani
6ea69740ba added 50KHz FR2 sample rate in UE 2020-02-19 10:00:36 +01:00
Raymond Knopp
3520166644 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-02-19 08:35:52 +01:00
Raymond Knopp
dd2cefa457 added longer prefix in PRACH symbol zero period for 15/30 kHz SCS. Both gNB and UE processing is modified. prachsim is functional again with new FAPI interfaces. 2020-02-19 08:34:03 +01:00
Raymond Knopp
27266ddc9a adding config file for band n261 2020-02-18 16:55:44 +01:00
cig
398a5e9063 Bugfix in RAR MAC PDU: set correct fields order for little endian machine 2020-02-18 16:13:56 +01:00
cig
6cd7e61163 UL grant tx and rx in RAR PDU. TS 38.213 ch 8.2, TS 38.321 ch 6.2.3 2020-02-18 15:17:50 +01:00
Francesco Mani
7bd76fda53 prach config common in UE 2020-02-18 14:57:14 +01:00
Florian Kaltenberger
a3d1a70925 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-18 14:28:01 +01:00
Florian Kaltenberger
99cd73cd0d previously comitted reconfig.raw was wrong (not sure why).
fixing test_case_list.xml
2020-02-18 14:26:40 +01:00
Sakthivel Velumani
04cd9ee3d3 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-18 12:24:43 +01:00
Sakthivel Velumani
04b64f84a1 set ue dl carrier from cmdline 2020-02-18 12:21:44 +01:00
Francesco Mani
e2178b3339 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-18 11:00:20 +01:00
Francesco Mani
37bbfc0945 fixes for polartest and ulschsim 2020-02-18 11:00:02 +01:00
Cedric Roux
ac28136a78 fix: use dftlen instead of N_ZC 2020-02-18 10:26:51 +01:00
Florian Kaltenberger
ad99f473f4 CI: fix 5G NR rfsimulator synch check 2020-02-18 09:40:31 +01:00
Florian Kaltenberger
1b1bbd2849 config files update for rfsimulator CI 2020-02-18 09:25:56 +01:00
Florian Kaltenberger
c691f9b601 a few fixes for FR2.
fixing beam to boresight for testing
2020-02-18 09:23:23 +01:00
Raymond Knopp
46c2c11952 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-02-17 18:10:40 +01:00
Raymond Knopp
5fa07571ec N_ZC -> dftlen in nr_prach.c:nr_rx_prach_ru() 2020-02-17 18:09:47 +01:00
Cedric Roux
c46615dc8d fix: add cast to int32_t before mul for prach_ifft_tmp 2020-02-17 17:47:10 +01:00
Raymond Knopp
87a019a114 bug fixing in nr_rx_prach_ru 2020-02-17 16:09:41 +01:00
Francesco Mani
1ff025a4a1 fix for pbchsim that works also for -I 2020-02-17 15:20:50 +01:00
Francesco Mani
8dac1f134d fix for pbchsim 2020-02-17 14:31:11 +01:00
Raymond Knopp
fe20c53ee1 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-02-17 14:20:49 +01:00
Raymond Knopp
844da79531 added handling for N_TA_OFFSET computation and changed some use of FAPI configuration in RU (used ru->config instead of ru->gNB_list[0]->config) 2020-02-17 14:19:42 +01:00
Cedric Roux
b12ca2eba1 fix prach2 value 2020-02-17 12:43:11 +01:00
Cedric Roux
bb3bee9f23 fix dftlen computation 2020-02-17 12:22:19 +01:00
Cedric Roux
fd81b1ec89 fix 2020-02-17 12:02:28 +01:00
Sakthivel Velumani
f3f3dff1be fixed physim compile errors 2020-02-17 11:33:03 +01:00
Francesco Mani
3c4ac034a5 small fixes 2020-02-17 09:24:25 +01:00
Raymond Knopp
456d1f9df9 added scheduling of PRACH RX procedures in gNB and RU entities. Initialization of prach sequences added to nr_init.c 2020-02-16 22:48:53 +01:00
Francesco Mani
a248c44d31 computation nb of root sequences in mac (plus some clean up in prach_common.c 2020-02-14 18:57:04 +01:00
Florian Kaltenberger
47d4d0b7ec Merge remote-tracking branch 'origin/develop' into NR_RRCConfiguration 2020-02-14 17:08:23 +01:00
Florian Kaltenberger
0f46f7ee9c Merge branch 'NR_RRCConfiguration_merge_develop' into NR_RRCConfiguration 2020-02-14 17:07:58 +01:00
frtabu
e0fd2de76d replacing phy_test local variable from nr_dlsim.c and nr_ulsim.c with get_softmodem_params()->phy_test 2020-02-14 16:50:09 +01:00
Raphael Defosseux
0d6fabb9b6 CI: fixed the iperf analysis in 5G-RF-SIM now that we have UL
also added the UL test for 5G-RF-SIM

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-14 15:46:40 +01:00
Sakthivel Velumani
b7b29aed18 Merge branch 'NR_RRCConfiguration' into NR_RRC_CP_bugfix 2020-02-14 11:52:29 +01:00
Sakthivel Velumani
cc9d513649 fixed txslot issue in realtime 2020-02-14 11:51:19 +01:00
Raymond Knopp
5eeb25e290 integration of remaining FAPI PRACH interfaces in L1 along with list handling for PRACH RX requests 2020-02-14 09:58:36 +01:00
Raymond Knopp
7c9372d761 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
2020-02-14 05:49:06 +01:00
Raymond Knopp
e8834e9620 added FAPI interfaces int gNB prach receiver functions (rx_nr_prach,rx_nr_prach_ru) and in indication to MAC. 2020-02-14 05:44:12 +01:00
Francesco Mani
0a2e033253 max ack bits in mac_proto.h 2020-02-13 17:18:20 +01:00
frtabu
b3334dbc2e A fix proposal for phy simulators compilation Pb. 2020-02-13 15:53:54 +01:00
Gabriele Perrone
ee7300f102 experiment of export of enb classes from main.py to enb.py 2020-02-13 15:11:48 +01:00
Francesco Mani
f8523b6c87 Merge branch 'NR_RRC_PRACH_procedures' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_PRACH_procedures 2020-02-13 14:24:33 +01:00
Francesco Mani
a7ab50e874 scheduling PRACH and filling fapi PRACH PDU 2020-02-13 13:50:44 +01:00
matzakos
9f1350805c nr-ip-ul-nos1: Resolve some dependency issues to make the phy simulators compile 2020-02-13 13:25:23 +01:00
Thomas Dreibholz
1e38ef5fde Using "--allow-unauthenticated" with apt-get disables package verification, allowing to install untrusted/modified packages into the development system. Fixed calls to apt-get to make sure that packages are verified. 2020-02-13 11:33:46 +01:00
Francesco Mani
eda3a76e13 fix in function to read prach tables 2020-02-13 09:12:02 +01:00
frtabu
ff4829284b --amend 2020-02-12 20:29:51 +01:00
frtabu
e091f94ae7 fix T_IDs.h build problem 2020-02-12 19:29:53 +01:00
frtabu
6014ca42ac ENABLE_ITTI macro removal, modified telnet server to support all executables, modified record player to finalize switch to run-time option and allow usage with any device 2020-02-12 19:05:44 +01:00
Francesco Mani
f7611d12a2 prach tables in mac_common and function to read them 2020-02-12 18:06:30 +01:00
matzakos
295923d540 nr-ip-ul-nos1: Logs cleanup and some code rearrangement 2020-02-12 17:58:06 +01:00
cig
fdaf4ff92c Fixed warnings gNB compilation 2020-02-12 17:32:08 +01:00
cig
3341846d4c Handled uninitialised return value in get_tx_amp_prach 2020-02-12 17:32:08 +01:00
matzakos
4e51e1ea10 nr-ip-ul-nos1: Merge with develop 2020-02-12 16:45:22 +01:00
Cedric Roux
9a91fe96c3 update configuration file for gnb band 78 106 PRBs 2020-02-12 10:12:58 +01:00
Francesco
f086c07cfe Merge remote-tracking branch 'origin/NR_RRCConfiguration' into NR_RRC_CP_bugfix 2020-02-12 09:58:59 +01:00
Francesco Mani
57a612c52d update of pucch scheduler 2020-02-12 09:34:07 +01:00
matzakos
9e6b6ef965 nr-ip-ul-nos1: Remove warnings 2020-02-11 18:45:35 +01:00
Raphael Defosseux
f8037ab61e DOC: added link to feature list in README
align folder structure in README w/ 5G-NR new folders

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-11 16:59:43 +01:00
cig
498ce5fede Fixed wanrnings nrUE compilation 2020-02-11 16:41:59 +01:00
Sakthivel Velumani
ef0aad0de7 fixed bug from provious commits 2020-02-11 16:37:31 +01:00
cig
794348e0b9 Removed unnecessary return in gnb phytest scheduler (was followed by assert on same condition) 2020-02-11 14:50:22 +01:00
cig
9c79e7e353 Fixed compilation after rebase 2020-02-11 14:45:44 +01:00
Thomas Dreibholz
0b4726751e Added missing file targets/DOCS/openair_header.tex. 2020-02-11 11:52:05 +01:00
Raphael Defosseux
3a10c5ca65 DOC: adding contributor and separate readme/changelog
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-11 11:51:40 +01:00
Sakthivel Velumani
9a7daded2e Updated ofdm fep in gNB 2020-02-11 10:56:15 +01:00
Raymond Knopp
9c75cda863 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-10 23:18:58 +01:00
Raymond Knopp
064b7f23aa generation of CCEIndex > 0 in gNodeB and modification of unscrambling procedure for PDCCH in UE RX. 2020-02-10 23:17:27 +01:00
cig
7e25d85f5c Cleanup code, comments 2020-02-10 20:02:16 +01:00
cig
98480e7102 RA, Updated nr_ue_get_rach:
- using LTE function mac_rrc_nr_data_req_ue in noS1 mode
- cleanup code, comments
- fixes RA procedure
- Processing UL MAC PDU according to TS 38.321 ch 6.1:
- introduced function for gNB side UL PDU processing
- fixed bug in nr_ue_process_mac_pdu
2020-02-10 20:02:16 +01:00
cig
6c61fef362 Added RA_SUCCEEDED to RA_state_t 2020-02-10 20:01:39 +01:00
cig
99256c24ce MAC CE contention resolution reception 2020-02-10 20:01:39 +01:00
cig
bbc0d1deeb Adapted get_nr_PL to be used in RA MAC procedures 2020-02-10 20:01:39 +01:00
cig
9653b954d3 Contention resolution TS 38.321 ch 5.1.5 2020-02-10 20:01:39 +01:00
cig
6149d825e2 Msg3 transmitted, flush Msg3 buffer when RA is not active 2020-02-10 20:01:39 +01:00
cig
a70fa82ad8 Removed phy vars members from ue mac inst struct 2020-02-10 20:01:39 +01:00
cig
156defcd0b Fixes RAR generation, reception 2020-02-10 20:01:39 +01:00
cig
986b5fb247 Integrated nfapi_nr_dl_dci_pdu_t in DL DCI 2020-02-10 20:01:39 +01:00
cig
ffa5911dc1 RA fixes 2020-02-10 20:01:39 +01:00
cig
903a1ec6a8 Cleanup code, removed gNB headers in UE files 2020-02-10 20:01:39 +01:00
cig
36195ec31a RA fixes and additions:
- RA resource selection and transmission
- MAC header structs for RA
- RA procedure msg1 fixes
- code cleanup
2020-02-10 20:01:39 +01:00
cig
e01dd43b7b Cleanup comments, removed UE files from gNB MAC library 2020-02-10 19:59:36 +01:00
cig
083234133a Hardcoded prach config common parameters 2020-02-10 19:59:36 +01:00
Guido Casati
e0e8bbcfdb RACH MAC procedure (RA initiation and Preamble selection)
- Updated PRACH procedures and general code formatting
- gNB msg1 handling and RAR generation
- general bug fixing
- formatting
- missing headers
- RAR handling.
2020-02-10 19:59:36 +01:00
Bo Zhao
5aec9ab505 Solve the uninitialized conditional jump and invalid read/write errors from the valgrind log 2020-02-10 19:56:39 +01:00
Bo Zhao
7ea608720f Extend the length of the channel processing to 32 bits 2020-02-10 19:56:39 +01:00
Bo Zhao
ac12245252 Bugfix: 1. fix the initial memory allocation; 2. correct the generation of the prach signal according to specs 2020-02-10 19:53:29 +01:00
Bo Zhao
f2eb214156 1. assertion relax for preamble format 3; 2. memset bugfix for RB=106; 3. repetition bugfix for format A3 and B3 2020-02-10 19:53:29 +01:00
Bo Zhao
2cd49c3e24 Bug fix: remove the hardcoded tx preamble index 2020-02-10 19:53:29 +01:00
Bo Zhao
0ae6685dbb Bug fix: use NR prach table init function 2020-02-10 19:53:29 +01:00
Bo Zhao
42c698fd93 Bug fix: preamble energy and delay used in the peak detection should be scalar instead of array 2020-02-10 19:50:23 +01:00
Bo Zhao
21bb011b7a Conversion from the peak detection to the TA value, considering the numerology, N_RB and the sampling rate 2020-02-10 19:50:23 +01:00
Bo Zhao
1996bdaa34 Fix for DFT of different preamble formats according to specifications 2020-02-10 19:50:23 +01:00
Francesco Mani
795ed9a814 fix in pucch configuration 2020-02-10 16:39:50 +01:00
Sakthivel Velumani
5c0a817f23 FR1 works fine in rfsimulator
Initial sync not happening fot FR2
2020-02-10 15:45:00 +01:00
Sakthivel Velumani
e1647ac620 fixed the issue with wrong PDSCH slots 2020-02-10 15:34:11 +01:00
Raphael Defosseux
f1a8620515 CI: fixes in python framework
-- fromdos was to be called from python executor and not from ADB server
 -- doing a power-cycle on CAT-M module at start of test

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-10 13:29:32 +01:00
Raymond Knopp
69721198af nr MAC uplink: aDD identification of MAC uplink PDU CEs at gNB (receiver) side 2020-02-10 12:54:00 +01:00
Francesco Mani
3e5682d8bb including uci indication 2020-02-10 10:11:45 +01:00
Florian Kaltenberger
87d4443c0b adding support for beamforming (control of GPIO) for FR2 2020-02-10 09:23:24 +01:00
frtabu
2520a92211 modify telnet serveur build to support all exec's 2020-02-10 09:00:38 +01:00
Florian Kaltenberger
a01e93be0c Merge remote-tracking branch 'origin/develop' into NR_RRCConfiguration 2020-02-09 21:38:04 +01:00
matzakos
626daecfa5 nr-ip-UL-nos1: Fix packet corruption issue appearing with larger packet sizes based on iperf testing for the uplink 2020-02-07 19:51:19 +01:00
Sakthivel Velumani
be09a9b0ba applying laurent's patch for rfsim. Missed in the RRC_FR2 branch
2 issues at this point:
1.rfsim for FR1 works sometimes. other times 100 consec PBCH errors.(this commit)
2.PDCCH and PDSCH are not transmitted in correct slots. problem might be with sf_ahead.
2020-02-07 18:22:32 +01:00
Raphael Defosseux
f761479e40 Develop integration 2020 week 06
See merge request oai/openairinterface5g!769

The following Merge Requests have been included :

* MR 767: fix compilation error for Lime driver
* MR 768: Softmodem cleanup
2020-02-07 17:14:26 +01:00
Florian Kaltenberger
12b38431dc PUSCH start symbol should be 0 2020-02-07 16:58:31 +01:00
Francesco Mani
7134468cde adapting FR2 absolutefrequencySSB to new code 2020-02-07 15:46:32 +01:00
Francesco Mani
5f3b997789 added assertion for absolutefrequencySSB 2020-02-07 14:42:26 +01:00
Sakthivel Velumani
7f4b6a2986 updated slot fep for numerology 0
fixed a bug in UE
2020-02-07 12:41:45 +01:00
Florian Kaltenberger
b6a063a77b fixing a typo 2020-02-07 10:55:18 +01:00
matzakos
93ac6bd426 nr-ip-UL-nos1: Substitute LTE macros in new NR functions and data structures + logs cleanup 2020-02-06 18:21:12 +01:00
Gabriele Perrone
f543244e7f Merge remote-tracking branch 'origin/softmodem_cleanup' into limedrv-sftmdmclean
Merge softmodem_cleanup (MR768) and  fix-limeSDR-compile (MR767) into a third branch before creating a new MR (limedrv-sftmdmclean to develop)
2020-02-06 18:10:25 +01:00
Florian Kaltenberger
86670eccb4 forcing rnti to 4660 in nr_dlsim, as otherwise CCE allocation does not work (to be fixed) 2020-02-06 15:49:33 +01:00
Florian Kaltenberger
239c30d92a updating gNB config file for CI 2020-02-06 15:49:33 +01:00
Francesco Mani
c5f05b3a21 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-06 14:59:15 +01:00
Florian Kaltenberger
debe10c296 fixing a bad merge, removing a log, resetting MAX_LDPC_ITERATIONS=5 2020-02-06 14:57:16 +01:00
Francesco Mani
d22c0f720d fix for ssb bitmap endian (to be checked with FSW) 2020-02-06 14:33:38 +01:00
laurent
943802f2a1 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into merged4g5g 2020-02-06 11:02:07 +01:00
laurent
255d32389c real time ok in monolithic cases, phy test tools fixed 2020-02-06 11:01:54 +01:00
Florian Kaltenberger
e4d8dd1e66 ulsim working again. added error count and adapted test_case_list 2020-02-05 22:57:24 +01:00
matzakos
bb7a788809 nr-ip-UL-nos1: Integrate NR MAC PDU structures for the Uplink. Currently supporting only data SDUs, Control Elements to be added. 2020-02-05 18:47:02 +01:00
Sakthivel Velumani
4d33b341c2 updated phy simulators 2020-02-05 18:13:11 +01:00
Francesco Mani
5320469402 scheduling of PUCCH on MAC, passing PUCCH FAPI down to PHY (to be finished), filling DCI structures according to PUCCH (to be finished) 2020-02-05 18:05:18 +01:00
Florian Kaltenberger
16d8248c8b removing logs 2020-02-05 15:09:32 +01:00
Florian Kaltenberger
fcecbff7d4 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-02-05 15:03:22 +01:00
Florian Kaltenberger
1905611d25 making ulsim run again, nr_dlsim should run again in CI 2020-02-05 15:02:05 +01:00
Sakthivel Velumani
30750781f1 Merge branch 'NR_RRCConfiguration' into NR_RRC_CP_bugfix 2020-02-05 12:38:56 +01:00
Sakthivel Velumani
da71b97908 updated to slot_fep 2020-02-05 11:51:55 +01:00
Francesco Mani
607f561efa changes for no coreset0 k_ssb (ssb_SubcarrierOffset from config file not working) 2020-02-05 10:28:35 +01:00
Sakthivel Velumani
d8ee1189d6 More updates
gNB and UE runs without crashing; PBCH not decoding though
2020-02-04 18:17:43 +01:00
frtabu
64e4826c81 add softmodem-common.c and common error handler 2020-02-04 17:39:36 +01:00
Florian Kaltenberger
8f14c0fe17 Merge remote-tracking branch 'origin/develop' into NR_RRCConfiguration
Conflicts:
	executables/nr-gnb.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
2020-02-04 15:38:33 +01:00
Francesco Mani
b1d259663e configuration of pucch0 rx from fapi structure 2020-02-04 15:36:47 +01:00
Florian Kaltenberger
2027942710 Merge remote-tracking branch 'origin/NR_RRC_TA' into NR_RRCConfiguration 2020-02-04 15:33:57 +01:00
Sakthivel Velumani
460a75dbdf Merge branch 'NR_RRCConfiguration' into NR_RRC_CP_bugfix 2020-02-04 14:33:56 +01:00
Raphael Defosseux
cae94677f8 CI: adding a EPC lockable resource to pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-04 14:17:32 +01:00
matzakos
9367bad1a4 Disable X2AP at gNB 217 PRBs config file to prevent segfault when there is no X2 link 2020-02-04 13:38:07 +01:00
matzakos
fa09fbcf12 Small fix to be able to parse ue capabilities and add NSA user when running in phytest mode 2020-02-04 13:21:02 +01:00
Francesco Mani
59fc607c4e mac function to configure fapi for pucch updated (not yet called) 2020-02-04 12:33:54 +01:00
Sakthivel Velumani
9ea4ebdc5f more updates on samples_per_slot 2020-02-04 11:09:19 +01:00
cig
980407a1df Fixed conflicts after merge 2020-02-03 17:13:05 +01:00
laurent
10b046f5b8 merge continue: take develop latest commits, fix compilation for test tools 2020-02-03 15:25:50 +01:00
laurent
cd20e9083a fix compilation error for Lime driver 2020-02-03 13:48:17 +01:00
Francesco Mani
1b8e18e05b absoluteFrequencySSB is the center of SSB (correction of 10 RB in ref to point A needed) 2020-02-03 12:30:45 +01:00
Francesco Mani
c36636be95 function to configure scf fapi for pucch (not yet called) 2020-02-03 11:53:05 +01:00
cig
7344d87567 Merge branch 'fhg-ta' into fhg-ra 2020-02-03 10:45:29 +01:00
frtabu
101a55e332 commit before rebasing onto develop 2020-02-03 10:37:46 +01:00
laurent
4abaa55949 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into merged4g5g 2020-02-01 18:06:18 +01:00
Sakthivel Velumani
bc38ec6b29 Updated samples per slot as per specs.
gNB runs fine. UE yet to be tested.
2020-01-31 18:16:17 +01:00
Sakthivel Velumani
0bb1bcc0bb Updated CP length as per spec for FR2 2020-01-31 18:15:32 +01:00
Francesco Mani
06e700a048 bitmap for scheduling dlsch and ulsch in UE list 2020-01-31 16:32:49 +01:00
Francesco Mani
cef2ed8dda bugfix in nr_dlsch_encoding 2020-01-31 09:07:56 +01:00
Raphael Defosseux
aa8f04e3b1 Merge branch 'develop_integration_2020_w05' into 'develop'
Develop Integration Branch : 2020 week 05

The following Merge Requests have been included :

* MR[702] : Add PUSCH-based TA updates (5G-NR)
* MR[764] : fix segv in drs_modulation.c (4G-LTE-UE)
* CI Python Framework improvement (X2 OpenAirCn Handover)
* Some Compilation warnings fixed
2020-01-30 20:27:59 +01:00
laurent
8d9d80ee37 very big merge with merged develop, basic test done 2020-01-30 17:10:36 +01:00
Raphael Defosseux
5e9b64c0d3 Proper patch on the waitret for warning compilation 2020-01-30 17:08:26 +01:00
Francesco Mani
84bed899cb bitmap for scheduling dlsch and ulsch in phytest and a bugfix in dlsch coding 2020-01-30 16:49:13 +01:00
Raphael Defosseux
f8a8f054b9 Merge remote-tracking branch 'origin/develop_inria_ci_deployment' into develop_integration_2020_w05 2020-01-30 15:14:28 +01:00
Raphael Defosseux
9331d38d85 CI: fixing a few compilation warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-30 15:10:35 +01:00
Raphael Defosseux
71ff9f8bb7 Merge remote-tracking branch 'origin/ue-segv-drs_modulation.c' into develop_integration_2020_w05 2020-01-30 11:51:23 +01:00
Florian Kaltenberger
5006aa0291 harmonizing TDD configuration for 106 with the one for 217 PRB 2020-01-29 22:06:28 +01:00
Florian Kaltenberger
538e08d0a5 Revert "adding support for beam selection in usrp_lib"
This reverts commit 615f365b37.
2020-01-29 22:05:54 +01:00
laurent
0f77c961b5 fix segv in drs_modulation.c 2020-01-29 18:56:20 +01:00
Thomas Schlichter
cfced70bda Merge remote-tracking branch 'develop' 2020-01-29 13:15:42 +01:00
Francesco Mani
51f5a5b30c scs parameters from BW not from RB 2020-01-29 12:25:37 +01:00
cig
e21b00adab Bugfix - missing call to mac_rlc_data_ind in the noS1 mode:
- now the UE is passing again data to the upper layers in noS1 mode
- minor cleanups
2020-01-28 17:47:15 +01:00
Francesco Mani
cdde88302c completing previous fix 2020-01-28 16:38:02 +01:00
Francesco Mani
0e550ff2f5 fix for pucch0 resource allocation 2020-01-28 16:13:46 +01:00
Cedric Roux
9e1c94835c fix for lte UE compilation 2020-01-28 14:39:50 +01:00
Francesco Mani
b2765ac23a some changes in pucchsim 2020-01-28 13:41:59 +01:00
Cedric Roux
1c026a0b32 Merge remote-tracking branch 'origin/nr-dual-connectivity' into NR_RRCConfiguration 2020-01-28 12:28:26 +01:00
Cedric Roux
f594ae8b82 release DRB1 on LTE side of things to configure UE for endc 2020-01-28 12:24:48 +01:00
Cedric Roux
6970bea679 fix value in fill_default_secondaryCellGroup 2020-01-28 12:20:08 +01:00
Gabriele Perrone
9281156872 rework of the help from embedded Usage() function to external helpreadme.py file 2020-01-27 11:45:03 +01:00
Florian Kaltenberger
615f365b37 adding support for beam selection in usrp_lib 2020-01-27 11:13:06 +01:00
Cedric Roux
1d4d8d685f add drb 1 with nea0
phone was not happy with other settings
2020-01-27 10:13:16 +01:00
Raphael Defosseux
4eaadf8d82 CI: fixing slave pipelines
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-26 13:41:36 +01:00
Raphael Defosseux
893e19fa16 Merge branch 'develop_integration_2020_w04' into 'develop'
Develop integration 2020 week 04

See merge request oai/openairinterface5g!763

The following MRs have been included:

* MR [726] : Flexran improvements
* MR [756] : remove uhd_set_thread_priority function
* MR [757] : HOTFIX: After develop/develop-nr merge UE was crashing with MBMS U-Plane traffic running
* MR [758] : Improve build after nr lte merge
* MR [759] : Doc update after 5g lte merge and latest build procedure modifications
* MR [761] : fixes for mutex lock for wake up signal
* MR [761] : CI: count ULSCH received ok messages
2020-01-26 00:20:19 +01:00
matzakos
8a6f346ec4 nr-ip-ul nos1: Small modification to be able to block the random traffic (which is generated when there is no Uplink IP traffic at the UE) at the MAC layer of the gNB 2020-01-24 20:04:00 +01:00
Raphael Defosseux
44cfdab5b7 CI: fix the missing 5G-NR UE build report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-24 17:53:18 +01:00
Raphael Defosseux
9078a01e35 CI: adding FDD-10MHz to RFSIM
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-24 16:03:42 +01:00
Florian Kaltenberger
8dac3a46c9 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into NR_RRC_PUSCH 2020-01-24 15:22:14 +01:00
Florian Kaltenberger
9624fb0183 reactivating phy scope gNB 2020-01-24 15:08:32 +01:00
Raphael Defosseux
fd865ea06d CI: doing the check only in NR
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-24 12:05:58 +01:00
Raphael Defosseux
9ca17fd3e7 Merge remote-tracking branch 'origin/ci-scripts-cleanup' into develop_integration_2020_w04 2020-01-24 12:02:59 +01:00
Raphael Defosseux
8c6ac1092e Merge remote-tracking branch 'origin/ci_check_ulsch' into develop_integration_2020_w04 2020-01-24 12:02:45 +01:00
Raphael Defosseux
7a6b857953 Merge remote-tracking branch 'origin/mutex_fix' into develop_integration_2020_w04 2020-01-24 12:02:31 +01:00
Raphael Defosseux
01470da96b Merge remote-tracking branch 'origin/doc_update_5GLTE' into develop_integration_2020_w04 2020-01-24 12:01:05 +01:00
Raphael Defosseux
5c80ef080c Merge remote-tracking branch 'origin/improve_build_nr_lte_merge' into develop_integration_2020_w04 2020-01-24 12:00:49 +01:00
Raphael Defosseux
7d26df6ecf Merge remote-tracking branch 'origin/mbms-fix-develop-nr' into develop_integration_2020_w04 2020-01-24 12:00:31 +01:00
Raphael Defosseux
0b75b75132 Merge remote-tracking branch 'origin/uhd_priority_set_cleanup' into develop_integration_2020_w04 2020-01-24 12:00:16 +01:00
Raphael Defosseux
5162f0c4ef CI: fix the missing 5G-NR UE build report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-24 11:22:14 +01:00
Raphael Defosseux
855752f4d2 Fix a few warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-24 11:20:10 +01:00
Cedric Roux
74762762db Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr-dual-connectivity 2020-01-24 11:10:55 +01:00
Cedric Roux
1ce8540d6d fix lte softmodem compilation 2020-01-24 11:09:30 +01:00
Cedric Roux
49d27bdf11 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr-dual-connectivity 2020-01-23 16:37:21 +01:00
Francesco Mani
6a356e3b69 few warnings 2020-01-23 16:36:23 +01:00
Cedric Roux
51ab31a3b9 trigger NR activation based on RRC measurements
An NR-capable UE will transmit some NR measurements.
Once received, the whole process on nr-cell addition is started.
It will fail quickly.

Many things are still missing.

What is not handled properly with this commit:
- in x2ap_eNB_handle_sgNB_add_req we hardcode the gNB ID
- nr triggering is done if we receive a measurement but this measurement is
  not analyzed at all
- no timers (T_dc_overall, T_dc_prep) and as is the code fails and then the
  next triggering after UE reconnection will not work (x2 ID are not well
  handled here and there in the code)

Note also that the gNB part has not been looked at all for this commit.

This is work in progress...
2020-01-23 16:10:29 +01:00
Thomas Schlichter
d3b19823f0 CI: count ULSCH received ok messages 2020-01-23 15:54:19 +01:00
Francesco Mani
cf51fff79f another fix for transmitting SSB with shorter TDD periodicity 2020-01-23 14:55:33 +01:00
WANG Tsu-Han
b7a027f905 fixes for mutex lock for wake up signal 2020-01-23 14:52:30 +01:00
Francesco Mani
9ca3f75464 fix for 5ms SSB periodicity 2020-01-23 13:48:54 +01:00
Raymond Knopp
0a136997d3 nr-ip-UL noS1: Merge with develop branch 2020-01-23 12:35:01 +01:00
Florian Kaltenberger
932b4e0d71 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into NR_RRC_PUSCH
Conflicts:
	executables/nr-ue.c
2020-01-23 12:09:56 +01:00
Florian Kaltenberger
00f0e0ccb8 UL is now being scheduled but not decoded ok yet 2020-01-23 12:07:47 +01:00
Raphael Defosseux
4a2abc03b5 CI: splitting build xml files into build and epc-start XML files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-23 11:05:08 +01:00
Gabriele Perrone
3f546cb48a minor changes to epc.py, helpreadme.py, main.py to complete the export of EPC functions from main 2020-01-23 10:41:49 +01:00
Francesco Mani
82ab85ec51 bugfix for MIB 2020-01-23 09:58:53 +01:00
Raphael Defosseux
9b920255b3 DOC: added kernel headers install guidelines for CentOS / RHEL
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-22 22:53:34 +01:00
Raphael Defosseux
009c75d60b CI: removed obsolete python obsolete options
split the RRC inactivity scenarios

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-22 22:43:38 +01:00
Raphael Defosseux
b723418c33 CI: fix RF simulator hyperlinks in HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-22 21:36:58 +01:00
Javier Morgade
fb57ef2fd4 patch from Robert Schmidt <robert.schmidt@eurecom.fr>
-BUGFIX: CD/DU F1 split
2020-01-22 20:18:51 +01:00
Raphael Defosseux
b85731f4a9 CI: Add LTE RF Simulator test (normal and with MBMS)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-22 17:59:21 +01:00
Francesco Mani
e29d1789df fix for long SSB bitmap in config file 2020-01-22 17:38:34 +01:00
Raymond Knopp
2ebc75b9a2 fixes for the thread blocking problem 2020-01-22 15:09:32 +01:00
matzakos
99fce8a359 nr-ip noS1 uplink: Uplink IP traffic successfully received at the IP TUN interface of the gNB now. Logs cleanup. 2020-01-22 13:05:10 +01:00
Francesco Mani
63866165ee fixing some warnings 2020-01-22 09:50:57 +01:00
frtabu
22e45b8adf update doc/BUILD.md and doc/RUNMODEM.md to reflect develop/develop-nr merge and latest merge requests affecting the build procedure 2020-01-21 18:01:50 +01:00
Francesco Mani
a82300d78a some modifications in nr_parms 2020-01-21 17:45:36 +01:00
Gabriele Perrone
5e8af1ade9 Merge remote-tracking branch 'origin/develop' into develop_inria_ci_deployment_gp 2020-01-21 14:24:32 +01:00
Gabriele Perrone
0235b8c0e7 CI: first draft of separating EPC functions
Signed-off-by: Gabriele Perrone <gabriele.perrone@openairinterface.org>
2020-01-21 13:50:44 +01:00
Sakthivel Velumani
908ef67eeb fixed PRB 66 bug 2020-01-21 12:33:58 +01:00
Francesco Mani
624aa3c2fd option for 50MHz FR2 in dlsim 2020-01-21 11:19:54 +01:00
frtabu
6cdac7e12f fix config lib and config sources usage in CmakeList.txt 2020-01-20 19:45:21 +01:00
frtabu
61f6af80ad build improvements: allow build mode selection (-g -G options) allow all exec build in one pass, remove remaining USE_MME macros in nr code 2020-01-20 19:06:15 +01:00
matzakos
5b5a25a932 nr-ip noS1 uplink integration (testing with RFSIMULATOR only): Uplink IP packets received at the gNB and reaching at pdcp layer. Asserion error at pdcp_fifo_flush_sdus when trying to write on the nas socket 2020-01-20 17:55:16 +01:00
Thomas Schlichter
50cfaf7fff Merge remote-tracking branch 'develop' 2020-01-20 15:34:12 +01:00
Sakthivel Velumani
b9e66e19d0 Merge branch 'NR_RRCConfiguragion_FR2' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguragion_FR2 2020-01-20 15:26:41 +01:00
Sakthivel Velumani
f0b8dbd7ad small update in fep 2020-01-20 15:25:56 +01:00
Francesco Mani
7674317ea1 fix compilation errors in phy simulators 2020-01-20 14:40:19 +01:00
Sakthivel Velumani
29a725fe3b Merge branch 'NR_RRCConfiguragion_FR2' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguragion_FR2 2020-01-20 14:30:18 +01:00
Sakthivel Velumani
5ab4044613 included numerology as cmdline parm 2020-01-20 14:29:12 +01:00
Robert Schmidt
dabe2ae7ab FlexRAN: remove unused import in protocol def 2020-01-20 14:05:05 +01:00
Robert Schmidt
1c8c839f65 FlexRAN: Reformat code for X2 HO NetControl activation 2020-01-20 14:05:05 +01:00
Robert Schmidt
e33be3ccd3 FlexRAN: Re-enable the soft-restart, it works 2020-01-20 14:05:05 +01:00
Robert Schmidt
c6e389ed4c FlexRAN: assert if out of memory 2020-01-20 14:05:05 +01:00
Robert Schmidt
a87220d376 Add S1AP control module for FlexRAN with status monitoring support 2020-01-20 14:05:05 +01:00
cig
ef0a45325b Split configure_fapi_dl_tx function into two functions:
- configure_fapi_dl_pdu is handling the nfapi_nr_dl_config_request_pdu
 - while configure_fapi_dl_Tx is now handling the nfapi_tx_request_pdu

this was necessary because the computation of the TBS size is needed in the phytest scheduler
before even knowing if there is any data to transmit. The tx_request_pdu must be handled instead
only when there is data to transmit.
2020-01-20 12:57:41 +01:00
Robert Schmidt
44fdb23f15 FlexRAN: fix RRC protobuf definition 2020-01-20 11:35:35 +01:00
Robert Schmidt
6a581d903b Add FlexRAN protobuf definition for S1AP 2020-01-20 11:35:35 +01:00
Robert Schmidt
d2b1e6aa9a FlexRAN: report employed splits to controller 2020-01-20 11:35:35 +01:00
Robert Schmidt
a8b4a62b82 Read RU config before FlexRAN to allow split identification 2020-01-20 11:35:35 +01:00
Robert Schmidt
f87c1cbb92 FlexRAN refactor+format MAC stats function 2020-01-20 11:35:35 +01:00
Robert Schmidt
b6d466d772 FlexRAN: reimplement timers without ITTI
The timer code used to trigger periodic statistics message sending used
ITTI. Together with a high frequency reporting (e.g. 1ms), this resulted
in high CPU usage. This commit reimplements this:
* using a thread that is synchronized to the RU (if there is no MAC, we
  assume there is no RU generating a tick so we create the tick source
  ourselves)
* no RB trees but plain arrays
* smaller interface for users
* slight user interface changes
* remove stopped timer state: such timer might be simply removed
* remove one-shot timers
2020-01-20 11:35:35 +01:00
Robert Schmidt
233affc9dd FlexRAN: include header, not C file 2020-01-20 11:34:54 +01:00
Robert Schmidt
5c4aa309eb FlexRAN: helper function to get No. UEs 2020-01-20 11:34:54 +01:00
Robert Schmidt
7415d08138 FlexRAN: Simplify stats request handling
* only set up timer for sending requests
* simplify interface for timer setup
* on timer expiry, do not pass through stats request function but
  directly send the reply
* Remove whatever report structure and use stats request directly for
  inferring the data to send
2020-01-20 11:34:54 +01:00
Robert Schmidt
a21c1b1f73 Remove unused sleep function() 2020-01-20 11:33:32 +01:00
Francesco Mani
ec416c88b0 option for FR2 and 50MHz 2020-01-20 11:02:53 +01:00
Javier Morgade
dff766ae15 *HOTFIX: After develop/develop-nr merge UE was crashing with MBMS U-Plane traffic running
-New MAC SDU integrity check in ue_procedures .c introduced for MCH channels.
	-This SDU behavior didn’t show up with former develop
	-TOCHECK whether NFAPI was properly merged on the eNB side.
	-eNB_scheduler_mch has been slightly rearranged.

	*BUGFIX:
	-In dlsch_demodulation.c  “ rxF_comp_d.m” was continuously being written to disk

	*New reference config file added (lte-fdd-mbms-basic-sim.conf) for rfsim environment
2020-01-20 10:34:41 +01:00
Raphael Defosseux
979fa3a659 DOC: added hyper links to new sections
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-17 21:42:14 +01:00
Dr.-Ing. Javier Morgade
954c9d4173 Update FEATURE_SET.md with MBMS features 2020-01-17 21:41:08 +01:00
Dr.-Ing. Javier Morgade
0ec5db48d3 Update README.txt with MBMS features 2020-01-17 21:41:00 +01:00
Raphael Defosseux
c383b5e696 CI: prepare release notes for release 1.2.0
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-17 21:40:49 +01:00
Raphael Defosseux
f2d90e79e3 CI: fix the git clone extension when creating the UE workspace
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-17 21:39:34 +01:00
Raphael Defosseux
0e3401829f Merge branch 'integration-develop-nr-2020w03' into 'develop-nr'
Integration develop-nr 2020 week 03

See merge request oai/openairinterface5g!755

This integration branch includes the following MRs:

- MR 745 : Add support for different PUSCH DMRS modes
- MR 748 : Nr dlsch multi threading
- MR 752 : Merging develop tag 2019.w51 to develop-nr
- MR 753 : RedHat Entreprise 7.7 build support

IMPORTANT: This should be the last integration branch to develop-nr as the result of this MR will become develop
2020-01-17 21:37:28 +01:00
Francesco Mani
98c66bab40 config file also for x300 2020-01-17 18:11:17 +01:00
Francesco Mani
8e7b12257c first version of config file for FR2 (I changed only few parameters) 2020-01-17 18:09:51 +01:00
Cedric Roux
ad5706c88d activate NR measurements for NR capable UEs
many things hardcoded, to be refined
2020-01-17 16:56:57 +01:00
Francesco Mani
dc6b0b15f7 option to have an IF frequency set from config file for FR2 2020-01-17 16:30:15 +01:00
Raymond Knopp
41b739ebff ENDC X2AP: Add handling of sGNB Reconfiguration Complete message at gNB side 2020-01-17 13:09:07 +01:00
Raymond Knopp
1493b7cb55 Merge branch 'nr-dual-connectivity' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-dual-connectivity 2020-01-17 12:52:24 +01:00
matzakos
e52f8b7ad7 Merge branch 'nr-dual-connectivity' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-dual-connectivity 2020-01-17 12:43:29 +01:00
matzakos
2865eb95a6 ENDC X2AP: Add generation of X2 sGNB Reconfiguration Complete message 2020-01-17 12:43:07 +01:00
Francesco Mani
24740eb2f2 Merge branch 'NR_RRCConfiguration' into NR_RRCConfiguragion_FR2 2020-01-17 12:12:31 +01:00
Cedric Roux
5930acaca6 harmonize calloc parameters
use:
     type *x = calloc(1, sizeof(*x));
everywhere to avoid bad types inside the sizeof.
2020-01-17 12:08:41 +01:00
Cedric Roux
1f92529452 harmonize calloc parameters
use:
     type *x = calloc(1, sizeof(*x));
everywhere to avoid bad types inside the sizeof.
2020-01-17 12:05:25 +01:00
Francesco Mani
40c06a843e taking into account raster step size in nrarfcn functions 2020-01-17 11:24:52 +01:00
Dr.-Ing. Javier Morgade
a25c06edf7 BUGFIX feptx0
- New slot numbering approach was missing for PMCH case
2020-01-16 23:15:13 +01:00
Francesco Mani
9901cd4266 adding all NR FR2 bands in table 2020-01-16 18:15:06 +01:00
Francesco Mani
7769d19449 compilation errors solved 2020-01-16 18:00:42 +01:00
Francesco Mani
0c6b51015f merge between FR2 and RRC branches 2020-01-16 17:20:56 +01:00
cig
e41204899c Cleanup commented code and old lte code 2020-01-16 14:04:36 +01:00
Raphael Defosseux
b3dbce6db6 Merge remote-tracking branch 'origin/nr-dlsch-multi-thread' into integration-develop-nr-2020w03 2020-01-16 12:47:49 +01:00
Raphael Defosseux
d3478a9f9f Merge remote-tracking branch 'origin/472-add-pusch-dmrs-modes' into integration-develop-nr-2020w03 2020-01-16 12:47:23 +01:00
Raphael Defosseux
c82fd2e444 CI: fixing the check after UE mounted tunnel interfaces
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-16 12:34:30 +01:00
WANG Tsu-Han
92c100bb5a remove uhd_set_thread_priority function 2020-01-16 11:30:27 +01:00
Raphael Defosseux
7be64625cc CI: fix false negative report on 5G-NR RF simulator check
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-16 09:58:34 +01:00
Raymond Knopp
18d717ea26 removal of several warnings. Still lots left. dlsim functional after some recent modifications broke it. New memory leak in dlsch decoding for low mcs high TBS fixed. 2020-01-15 22:58:46 +01:00
Raymond Knopp
90731a683a minor modifications for rhel7.7 build 2020-01-15 17:21:47 +01:00
Raphael Defosseux
f4f0fae00a Removing all spare4 references
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-15 17:18:15 +01:00
Cedric Roux
4256251f24 fix rrc asn file
spare4 is not there in rrc 15.6. It leads to bad encoding.
2020-01-15 16:14:24 +01:00
Raphael Defosseux
2a92d27bad refix gNB build and eNB seg fault issue
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-15 15:59:10 +01:00
cig
17090f22c1 Fixed sdu initialization: this was causing assertion failure at UE side 2020-01-15 15:56:21 +01:00
Francesco Mani
6906d8a33f Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-15 14:20:25 +01:00
Francesco Mani
06fa8e3699 frame number synchronization at UE 2020-01-15 14:19:17 +01:00
Raphael Defosseux
7292fb2505 NR-UE: fix temporarly the build. Quite dirty.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-15 12:56:52 +01:00
Raymond Knopp
7d9a839e61 Merge branch 'nr-dual-connectivity' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-dual-connectivity 2020-01-14 15:49:47 +01:00
matzakos
3552b8e4d3 Fix conflict on platform_constants 2020-01-14 15:47:24 +01:00
matzakos
4472e6d041 ENDC: Modifications at the gNB slave conf. file used for ENDC 2020-01-14 15:33:40 +01:00
Gabriele Perrone
b104c26212 overwriting config file mnc with the proper mnc (93) 2020-01-14 15:25:21 +01:00
Gabriele Perrone
295dc07cb6 Merge remote-tracking branch 'origin/develop_inria_ci_deployment' into develop_inria_ci_deployment_gp 2020-01-14 15:13:05 +01:00
Cedric Roux
fb9db399ae hotfix: fix value of MAX_MOBILES_PER_ENB
set MAX_MOBILES_PER_ENB to 4, to be same value as NUMBER_OF_UE_MAX.
Maybe we should set NUMBER_OF_UE_MAX to 16 instead?
2020-01-14 15:11:26 +01:00
Raymond Knopp
3a52199351 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr-dual-connectivity 2020-01-14 14:57:10 +01:00
Gabriele Perrone
5d1f16c3e9 fix gitignore file 2020-01-14 14:54:53 +01:00
Gabriele Perrone
ec258105f6 Removed the old ssh commands from orignal implementaion location
FIx missing replacement
2020-01-14 14:52:57 +01:00
matzakos
198ac105f1 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr-dual-connectivity 2020-01-14 14:36:06 +01:00
matzakos
8f46241522 ENDC: Merge NR_RRCConfiguration into nr-dual-connectivity branch 2020-01-14 12:57:35 +01:00
Raphael Defosseux
ffd80e2caf Fixing easy cppcheck errors
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-14 10:44:48 +01:00
Florian Kaltenberger
2605e3f18a Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-14 10:13:42 +01:00
Florian Kaltenberger
400dc82191 initializing missing frame parmameter 2020-01-14 10:13:01 +01:00
Francesco Mani
bbfa23e9cc fix for carrier frequency (now according to number of PRBs 2020-01-14 10:07:36 +01:00
Florian Kaltenberger
d25a13fadd fixing a typo 2020-01-14 09:27:09 +01:00
Florian Kaltenberger
d576dd4ac3 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-13 22:21:29 +01:00
Florian Kaltenberger
db0901f421 initializing mod_id and cc_id 2020-01-13 22:21:01 +01:00
Francesco Mani
ade0db6424 some fixes in config files 2020-01-13 17:44:56 +01:00
Raphael Defosseux
2dfad4c065 Fix compilation issues for:
- physical simulators
 - LTE eNB
 - LTE UE
 - 5G-NR gNB

Still NR-UE does not build and eNB segs fault at start of program

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-13 16:46:21 +01:00
Francesco Mani
c5282fb2bb Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-13 15:43:16 +01:00
Francesco Mani
c1d62a3006 some fixes including for ssb periodicity (decoded frame still wrongly taken from proc) 2020-01-13 15:42:12 +01:00
Gabriele Perrone
ba9786dfea review of modified main.py and sshconnection.py 2020-01-13 15:12:33 +01:00
Cedric Roux
e2db89de9c fix config file 2020-01-13 10:46:49 +01:00
Francesco Mani
afd578a094 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-13 10:31:39 +01:00
Francesco Mani
e640af84ca UE PHY parameters configured from fapi config req (UE is running, to be verified with gNB) 2020-01-13 10:29:56 +01:00
Raymond Knopp
c90c6ffa02 added new configuration file for 40 MHz band 78. Some parameters to be checked. 2020-01-10 17:12:36 +01:00
Raphael Defosseux
7aa35e874b Removing obsolete LTE_RRC_VERSION
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-10 15:38:13 +01:00
Raphael Defosseux
e7aa071e1b Merge remote-tracking branch 'origin/develop' into merging-2019-w51-to-develop-nr 2020-01-10 15:35:54 +01:00
Gabriele Perrone
8f476a9904 creating a file sshconnection.py with class SSHConnection (methods: open, command, close, copyin, copyout); and modifying main.py to import this file and call the SSHConnection class from the new file 2020-01-10 14:14:08 +01:00
Raphael Defosseux
6c3d5cf02d Making the basic-sim on UE side able to synch!
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-10 13:27:02 +01:00
Francesco Mani
2c108cf8f4 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-10 10:35:53 +01:00
Francesco Mani
1fb763264f removing pbch_config structure 2020-01-10 10:35:47 +01:00
Florian Kaltenberger
911319fac6 completing merge 2020-01-10 09:49:08 +01:00
Florian Kaltenberger
84428359a0 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-10 09:28:59 +01:00
Francesco Mani
f7778f8f4a Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-10 09:27:39 +01:00
Florian Kaltenberger
6b792001ed preparing l2_init_ue and l3_init_ue to make sure parameters are passed down. To be merged with Francesco's changes and tested. 2020-01-10 09:26:45 +01:00
Raymond Knopp
b8c7dc8eb1 Merge remote-tracking branch 'origin/develop-nr' into NR_RRCConfiguration
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_dlsch.h
	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
	openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
	openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
	openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
	openair1/SIMULATION/NR_PHY/dlschsim.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/COMMON/platform_constants.h
	openair2/LAYER2/NR_MAC_UE/mac_defs.h
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
2020-01-09 20:30:56 +01:00
matzakos
c134529484 ENDC: Code cleanup and logs rearrangements 2020-01-09 18:08:46 +01:00
Raphael Defosseux
7de6a7f252 Merge remote-tracking branch 'origin/develop-nr' into 472-add-pusch-dmrs-modes 2020-01-09 17:22:40 +01:00
Raymond Knopp
74eabdb02e logging removal/modification 2020-01-09 16:37:44 +01:00
Francesco Mani
8d26807648 definition of config request fapi structures in UE and acquisition from rrc of config data (work in progress) 2020-01-09 14:58:42 +01:00
Raphael Defosseux
6835ac82d8 RFSIMULATOR: final integration of Laurent Thomas's review feedback
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-09 14:32:33 +01:00
Raphael Defosseux
c409da3bb8 Patch provided by Gabriel Arrobo.
Mainly comestics and integer type management

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-09 14:10:04 +01:00
Raphael Defosseux
78017412f0 Merge branch 'integration-develop-nr-2020w02' into 'develop-nr'
Integration develop-nr 2020 week 02

See merge request oai/openairinterface5g!751

This integration branch contains the following MRs

* MR [706] : Merging develop tag `2019.w44` into develop-nr
* MR [746] : some cppcheck fixes and also compilation warnings removal
* MR [750] : hotfix: fix value of MAX_MOBILES_PER_ENB

Also contains an hotfix for the UHD thread priority
2020-01-09 13:49:52 +01:00
Raphael Defosseux
2cd6a40b9e CI: list of Gitlab notifications split into several lines to ease maintenance
DOC: CI documentation updated for 5G-NR

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-08 16:58:46 +01:00
Raphael Defosseux
e156e232fc HOTFIX: missing UHD set_thread_priority_safe call (based on Cedric's feedback)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-08 16:57:46 +01:00
Raphael Defosseux
90e54318b5 RFSIMULATOR: fixes based on Laurent Thomas's feedback
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-08 16:57:17 +01:00
Raymond Knopp
7639d9a1c2 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-08 15:50:50 +01:00
Raymond Knopp
cf4df7266c fix rate-matching receiver and mappings in nr_dlsch_decoding.c and nr_ulsch_decoding.c. Performance with dlschsim and ulschsim seem correct. Code written for all RV_IDX but only rv_idx=0 tested. ulschsim performance seems a bit too good. 2020-01-08 15:48:46 +01:00
Raphael Defosseux
58f62a41bc Merge remote-tracking branch 'origin/nr_fix_easycppcheck' into integration-develop-nr-2020w02 2020-01-08 15:17:38 +01:00
Raphael Defosseux
cfc73e9823 Merge remote-tracking branch 'origin/nr-hotfix-for-lte-enb' into integration-develop-nr-2020w02 2020-01-08 15:17:27 +01:00
Raphael Defosseux
65adfb3919 Merge remote-tracking branch 'origin/develop-nr_cppcheck' into integration-develop-nr-2020w02 2020-01-08 15:17:16 +01:00
Raphael Defosseux
34c9aec59e CI: simplification of the X2 HO scenario. But sill failing!
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-08 14:31:54 +01:00
Raphael Defosseux
b8f58c5f92 CI: pipeline workaround for GitLab 'cancelled' status notification when failure
See https://github.com/jenkinsci/pipeline-build-step-plugin/blob/master/CHANGELOG.md#210 for more details

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-08 13:09:56 +01:00
Raphael Defosseux
c256932fe5 CI: pipeline workaround for GitLab 'cancelled' status notification when failure
See https://github.com/jenkinsci/pipeline-build-step-plugin/blob/master/CHANGELOG.md#210 for more details

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-08 11:47:42 +01:00
Florian Kaltenberger
886d742325 transmitting dummy samples even in UL slots for use with rfsimulator 2020-01-07 22:17:11 +01:00
Gabriele Perrone
4d57f1bda8 class name changed from SSH to CiTestObj 2020-01-07 14:43:49 +01:00
Raymond Knopp
d401b50fd3 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-07 13:26:32 +01:00
Raymond Knopp
273c45fdcf RNTI for phy_test in rrc_gNB_reconfig.c. parametrization in dlschsim 2020-01-07 13:25:36 +01:00
Raymond Knopp
c94d7632e0 debugging of nr_dlschsim, rate matching optimization 2020-01-06 23:04:52 +01:00
Cedric Roux
477631bd23 hotfix: fix value of MAX_MOBILES_PER_ENB
set MAX_MOBILES_PER_ENB to 4, to be same value as NUMBER_OF_UE_MAX.
Maybe we should set NUMBER_OF_UE_MAX to 16 instead?
2020-01-06 16:12:22 +01:00
Cedric Roux
e0f509841c hotfix: fix value of MAX_MOBILES_PER_ENB
set MAX_MOBILES_PER_ENB to 4, to be same value as NUMBER_OF_UE_MAX.
Maybe we should set NUMBER_OF_UE_MAX to 16 instead?
2020-01-06 12:45:37 +01:00
Francesco Mani
ab3b6c88fa Merge branch 'nr_segmentation_fixes' into NR_RRCConfiguration 2020-01-06 10:59:37 +01:00
Florian Kaltenberger
d27a8f0778 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2020-01-03 22:19:44 +01:00
Florian Kaltenberger
6c30c04eec adding rcc config files to rfsimulator UE for CI 2020-01-03 22:18:37 +01:00
Florian Kaltenberger
f774034039 increasing nb expected files for physim to 13 (for prachsim) 2020-01-03 22:17:53 +01:00
Florian Kaltenberger
5ef27f4c21 adding --rrc_config_path command line option to UE 2020-01-03 21:40:27 +01:00
Francesco Mani
7dbda3a470 a couple of bugfixes in physical simulators 2020-01-03 17:52:18 +01:00
Raymond Knopp
2efa277990 added missing file 2020-01-03 15:10:02 +01:00
Raymond Knopp
603b4f5f10 fill FAPI antenna parameters for unitary simulators 2020-01-03 13:38:49 +01:00
Raymond Knopp
a4d0e5e779 small modification in pucchsim to pass the basic test 2020-01-03 12:53:23 +01:00
Raymond Knopp
7e560fbd95 modifications for nr-uesoftmodem with RRC configuration 2020-01-03 10:36:14 +01:00
Raymond Knopp
303bdc804f testing nr-softmodem with 1 antenna port configuration 2020-01-03 01:37:07 +01:00
Raymond Knopp
c956d0516d added logical antenna port parameter to configuration file (RRC section) 2020-01-03 00:23:29 +01:00
Raymond Knopp
20484b5cd7 NR PDCSH scrambling optimization (factor 10 reduction) 2020-01-02 17:47:30 +01:00
Francesco Mani
ebcbad62d2 Merge branch 'develop-nr' into nr_segmentation_fixes 2020-01-02 11:05:32 +01:00
Raymond Knopp
1a83cc2f3b fixes for full-bandwidth testing in dlsim 2020-01-02 10:10:09 +01:00
Raymond Knopp
0da351e017 added missing file 2020-01-01 21:36:57 +01:00
Raymond Knopp
fae5a3ab9c added default NR Serving Cell Configuration 2020-01-01 21:23:38 +01:00
Raymond Knopp
ad2667fbd5 Testing of NR PDCCH/PDSCH with RRC Configuration. added RRC configuration to NR UE. Updates to UE DCI procedures (moved to MAC) and updates to FAPI interfaces for UE. nr_dlsim is functional, added profiling information for gNB TX. 2020-01-01 21:16:56 +01:00
laurent
c8d28f5254 fix LimeSDR board API, merge develop 2019-12-23 15:38:36 +01:00
yilmazt
4978102e2f develop-nr merge 2019-12-23 15:20:00 +01:00
Raphael Defosseux
45aa72f2be CI: improvements
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
e88dc61965 CI: some fixes
Signed-off-by: Raphael Defosseux <rapahel.defosseux@openairinterface.org>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
11f4d2ae01 CI: finalizing offline the X2 handover scenario at inria --> to be tested
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
3775404a6b CI: add initial support to do X2 HO at Inria
Signed-off-by: Raphael Defosseux <raphael.defosseux@openairinterface.org>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
1813af8beb CI: fix UL iperf in distributed env
Signed-off-by: Raphael Defosseux <raphael.defosseux@openairinterface.org>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
68dc0d00a1 CI: fix in looping attach / ping / detach
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
45f71211c0 CI: looping on attach/ping/detach sequences
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
02f16d5530 CI: increasing the repeat count since the 1st try will always fail
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-23 13:49:16 +01:00
Raphael Defosseux
2161ff6cfa Merge branch 'develop_integration_2019_w51' into 'develop'
Develop integration branch: 2019 week 51

The following MRs have been merged:

* MR 687 : CDRX optimizations for Monolithic
* MR 739 : eMBMS-Vicomtech Fed4fire fec6 cdn x all
2019-12-23 13:38:59 +01:00
Raymond Knopp
6bf81627e0 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-12-21 06:50:59 +01:00
Raymond Knopp
a712940898 debugging with dlsim 2019-12-21 06:50:20 +01:00
frtabu
aaaa6d5c51 more cppcheck fixes 2019-12-20 16:44:25 +01:00
Francesco Mani
6f242bc061 Merge branch 'develop-nr' into NR_RRCConfiguration 2019-12-20 14:31:37 +01:00
Thomas Schlichter
a99612a536 make nb_re_dmrs a parameter of nr_ulsch_decoding() 2019-12-20 12:40:26 +01:00
Hongzhi Wang
896463a9a8 update dlsch thread 2019-12-20 10:56:24 +01:00
Hongzhi Wang
71369b5c60 adding vcd 2019-12-20 10:55:12 +01:00
Hongzhi Wang
f4772f2ba2 bug fix dlsch thread 2019-12-20 10:48:26 +01:00
Hongzhi Wang
82aebfa627 add thread pool for dlsch 2019-12-20 10:47:52 +01:00
Francesco Mani
3a514bd499 bugfix for ghost mixed slot 2019-12-20 10:19:51 +01:00
Raymond Knopp
8911335fc3 Merge remote-tracking branch 'origin/develop-nr' into NR_RRCConfiguration 2019-12-20 02:01:39 +01:00
Raymond Knopp
05f68321ec Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration
Conflicts:
	openair1/SCHED_NR/phy_frame_config_nr.c
2019-12-20 02:01:22 +01:00
Raymond Knopp
98e15dc5fa debugging for nr_dlsim 2019-12-20 02:00:05 +01:00
Florian Kaltenberger
bc864d13c4 Merge branch 'integration-develop-nr-2019w51' into 'develop-nr'
Integration develop nr 2019w51

See merge request oai/openairinterface5g!744
2019-12-19 16:12:36 +01:00
Francesco Mani
9662363db1 allowing no mixed slot and astyle of phy_frame_config_nr.c 2019-12-19 14:39:28 +01:00
Florian Kaltenberger
9f0be015a9 Merge remote-tracking branch 'origin/develop-nr' into 459-pusch-based-ta-updates 2019-12-19 13:33:41 +01:00
Florian Kaltenberger
db6eeb2773 fixing mac pdu generation. to be checked by fraunhofer 2019-12-19 13:32:53 +01:00
WANG Tsu-Han
b2b5148923 adding txdataF offset for gNB switch buffer 2019-12-19 12:06:35 +01:00
Thomas Schlichter
4da175f514 [nr_ulsim] don't break out of SNR loop just because number_of_frames==1 2019-12-19 10:06:15 +01:00
Florian Kaltenberger
1bde69c032 Merge remote-tracking branch 'origin/fix-clock-source' into integration-develop-nr-2019w51 2019-12-19 09:50:16 +01:00
Florian Kaltenberger
4143cb16f9 Merge remote-tracking branch 'origin/ru-parallel-beamforming-fix' into integration-develop-nr-2019w51 2019-12-19 09:45:46 +01:00
Florian Kaltenberger
84f01c5e88 Merge remote-tracking branch 'origin/develop-nr-ci-rf-sim' into integration-develop-nr-2019w51 2019-12-19 09:45:27 +01:00
Florian Kaltenberger
177e3d4207 Merge remote-tracking branch 'origin/recordplay_cfgoption' into integration-develop-nr-2019w51 2019-12-19 09:45:00 +01:00
Raymond Knopp
5490d3e75d some cppcheck fixes and also compilation warnings removal 2019-12-19 09:43:45 +01:00
Florian Kaltenberger
b1f224d11e should not use LTE UE list in NR MAC as sizes are different and causes segfaults 2019-12-18 21:51:46 +01:00
Francesco Mani
272140cd5d Merge remote-tracking branch 'origin/ru-parallel-beamforming-fix' into NR_RRCConfiguration 2019-12-18 17:27:42 +01:00
Francesco Mani
971821a5bb minor fixes 2019-12-18 16:21:14 +01:00
Francesco Mani
1e4cbce244 multiple ssb fix 2019-12-18 16:13:42 +01:00
Khalid Ahmed
4fe691f443 Fixing nr_ulsim configuration for DMRS 2019-12-18 11:12:04 +01:00
Khalid Ahmed
8e00f8df08 Fixing a bug in number of UL DMRS symbol computation 2019-12-18 11:12:04 +01:00
Khalid Ahmed
2dd941a22d Adding one UL empty slot before actual UL slot
- total num of symbols is 12 instead of 14 in PUSCH
- actual UL slot is 3 instead of 2
2019-12-18 11:11:50 +01:00
Thomas Schlichter
f7d546f2d9 port DL fix 4297beffa0 to UL 2019-12-18 11:11:49 +01:00
Thomas Schlichter
6ee0840562 make time to transmit UL slot less hard-coded
Replace "slot == 18" by "slot == (20 + NR_UPLINK_SLOT - DURATION_RX_TO_TX) % 20".
At least this is correct for 30 kHz SCS...
2019-12-18 11:11:49 +01:00
Khalid Ahmed
c9eea33fdb Fix samples per frame config for 3/4 sampling rate 2019-12-18 11:11:49 +01:00
Khalid Ahmed
c62443b235 fixing bugs intoduced after fapi implementation 2019-12-18 11:11:24 +01:00
Khalid Ahmed
23ade3ada6 PUSCH Rx channel estimation supporting DMRS type 2
- nr_ulsim supports multiple DMRS configurations
2019-12-18 11:05:37 +01:00
Khalid Ahmed
935c2ce7ce Adding table 6.4.1.1.3-4 for double DMRS symbol 2019-12-18 11:02:56 +01:00
Khalid Ahmed
ccc515c537 PUSCH Rx channel estimation supporting DMRS type 1 and mapping type B 2019-12-18 11:02:55 +01:00
Khalid Ahmed
bf24772766 PUSCH DMRS generation
- added get_l_prime function
- added Table 6.4.1.1.3-3
- added added is_dmrs_symbol function
2019-12-18 11:02:55 +01:00
Khalid Ahmed
e75a96c934 start_symbol has to be 0 as PUSCH mapping type A is used 2019-12-18 11:02:55 +01:00
Dr.-Ing. Javier Morgade
3e7ac8256e Just triggering CI to check HO scenario 2019-12-17 22:15:11 +01:00
Raymond Knopp
d831180c7a Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-12-17 19:13:01 +01:00
Raymond Knopp
56c6c3ee42 unitary simulators all compile 2019-12-17 19:12:29 +01:00
yilmazt
1b1648d504 develop-nr up-to-date 2019-12-17 18:23:10 +01:00
Raphael Defosseux
00fb1e95ac CI: forcing the workspace removal on caracal
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-17 17:54:25 +01:00
yilmazt
b7820f5442 develop up-to-date as of 17.12.19 2019-12-17 17:30:26 +01:00
Florian Kaltenberger
c25c720fa5 hotfix for harq_pid 2019-12-17 17:29:17 +01:00
WANG Tsu-Han
3f066dec56 parameter fix 2019-12-17 17:06:17 +01:00
Raphael Defosseux
67c7f97350 Merge remote-tracking branch 'origin/452-cdrx-better-support-cu-du-split' into develop_integration_2019_w51 2019-12-17 11:39:50 +01:00
Francesco Mani
38eddb5dd7 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-12-17 11:07:05 +01:00
Raphael Defosseux
e47b212ab6 CI: adding RF simulator skeleton on 5G NR gNB and UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-17 10:33:59 +01:00
Wang Tsu-Han
ad28a3fe43 using the old mechanism if having L1 and gNB on the same machine 2019-12-17 10:10:18 +01:00
Francesco Mani
91ff8bc15e bugfix for slot select function 2019-12-17 10:02:50 +01:00
Raymond Knopp
6b8c8a3ba5 small update to pbchsim (ssb_pdu pointer to non-pointer in PHY_VARS_gNB) 2019-12-17 09:30:05 +01:00
Francesco Mani
f88dd725b2 Merge branch 'nr_tdd_configuration' into NR_RRCConfiguration 2019-12-17 09:28:04 +01:00
frtabu
69a7658c54 USRP device cleanup including record player as config option + some cppcheck warning/errors fixes 2019-12-16 17:53:22 +01:00
Francesco Mani
32f4c11b96 adapting to this branch some other config files 2019-12-16 16:34:52 +01:00
Cedric Roux
35fda01e86 nr-rlc: fix some compilation warnings 2019-12-16 16:19:23 +01:00
Cedric Roux
9a4d1e81d7 nr-rlc: add function mac_rlc_get_buffer_occupancy_ind
Fix also value passed to buffer_status in mac_rlc_status_ind
to be aligned with 38.321 (instead of 36.321).
2019-12-16 16:17:35 +01:00
Gabriele Perrone
091be33b62 main.py mods: coloured rows between retries and variable cnt become an object (FailReportCnt) 2019-12-16 15:59:54 +01:00
Rakesh
c53a3f3524 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr_tdd_configuration 2019-12-16 15:52:56 +01:00
Rakesh
4510cd5f87 bug fix 2019-12-16 15:51:09 +01:00
Francesco Mani
972b6b8ec7 mib byte reversal ok 2019-12-16 15:30:10 +01:00
Rakesh
5c2decfc0a Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr_tdd_configuration 2019-12-16 14:02:00 +01:00
Rakesh
40ecb3f72b first test to replicate to transmmit as same as NR_RRCConfiguration branch 2019-12-16 13:07:08 +01:00
Raymond Knopp
c8e37d6ebc memcpy of ssb_pdu to L1 instead of pointer exchange 2019-12-16 12:48:06 +01:00
Rakesh
9c45661215 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr_tdd_configuration
resolving merge conflicts
2019-12-16 12:01:36 +01:00
projetstc
ae3a540f40 scope autoscale 2019-12-16 11:37:51 +01:00
Francesco Mani
dfa603c440 segmentation fault and a couple of warnings fixed 2019-12-16 11:06:11 +01:00
Raymond Knopp
52b3fd46b8 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-12-15 22:22:52 +01:00
Raymond Knopp
d63b569e61 check if UL_tti_req is non-null in fapi_nr_l1.c 2019-12-15 22:22:01 +01:00
Raymond Knopp
e30ab2d0c6 Merge remote-tracking branch 'origin/develop-nr' into NR_RRCConfiguration
Conflicts:
	cmake_targets/CMakeLists.txt
	executables/nr-ru.c
	executables/nr-softmodem.c
	openair1/PHY/INIT/nr_parms.c
	openair1/PHY/INIT/phy_init.h
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
	openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
	openair1/PHY/NR_UE_TRANSPORT/dci_tools_nr.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SCHED_NR/nr_ru_procedures.c
	openair1/SCHED_NR/phy_procedures_nr_common.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR/sched_nr.h
	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/nr_rrc_defs.h
2019-12-15 22:04:40 +01:00
Javier Morgade
7d86b936ce Added NFAPI MCH scheduling support
M3AP ASN1 source spec updated

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-12-14 13:01:12 +01:00
Javier Morgade
58734eb019 MBMS Scheduler code cleanup
MCH channel level calculation reformulated according to DLSCH

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-12-14 10:54:18 +01:00
Raphael Defosseux
84f928e7de CI: adding initial testing for MBMS:
-- OAI eNB + OAI UE in USRP setting and in noS1 configuration

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-14 10:49:00 +01:00
Javier Morgade
a61984a3fd Merge remote-tracking branch 'origin/develop' into oai_test_fed4fire_old 2019-12-14 09:54:10 +01:00
Rakesh
46431b0701 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr_tdd_configuration 2019-12-13 22:28:48 +01:00
Francesco Mani
d1dc15f3c0 SSB correctly demodulated at FSW, CRC passes, but payload is wrong 2019-12-13 18:07:03 +01:00
Raymond Knopp
6637415ba3 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-12-13 17:08:12 +01:00
Francesco Mani
ac092841dd some updates on SSB and a couple of fixes on warnings 2019-12-13 17:07:09 +01:00
Florian Kaltenberger
320e3f1f14 Merge remote-tracking branch 'origin/develop-nr' into fix-clock-source 2019-12-13 16:42:04 +01:00
Raymond Knopp
7580b4b2f5 added simple CCE allocation in MAC scheduler 2019-12-13 07:42:39 +01:00
Florian Kaltenberger
df791790ed Merge branch 'integration-develop-nr-2019w50' into 'develop-nr'
Integration develop nr 2019w50

See merge request oai/openairinterface5g!735
2019-12-12 13:07:43 +01:00
Florian Kaltenberger
cac89d49e4 reducing some logs 2019-12-12 13:06:51 +01:00
Florian Kaltenberger
da8be6a78b Merge remote-tracking branch 'origin/pdcp-ul-noS1-v2' into integration-develop-nr-2019w50 2019-12-12 12:52:55 +01:00
Florian Kaltenberger
5d7e7d5fe1 Merge remote-tracking branch 'origin/nr-rlc' into integration-develop-nr-2019w50 2019-12-12 12:50:49 +01:00
Florian Kaltenberger
cf57a43900 Merge remote-tracking branch 'origin/bug-fix-channel-est' into integration-develop-nr-2019w50 2019-12-12 12:50:17 +01:00
Florian Kaltenberger
e104d640e0 Merge remote-tracking branch 'origin/ru-parallel-beamforming-merge' into integration-develop-nr-2019w50 2019-12-12 12:49:55 +01:00
Raphael Defosseux
b3036372ca CI: Increasing again VM disk size --> now we have modular size based on VM variant
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-12 12:48:52 +01:00
laurent
f8f344d224 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into Remove-global 2019-12-12 10:39:10 +01:00
laurent
ed6559ffa9 add CU measurement: whole CPU active time per subframe 2019-12-12 10:37:53 +01:00
Rakesh
b398103be9 Fix for dlulperiodicity 2019-12-11 20:45:44 +01:00
Gabriele Perrone
581e46f1d3 introduced a class object FailRepeatCnt in place of a static counter 2019-12-11 14:28:14 +01:00
Rakesh
088652557d removing unused variable 2019-12-11 14:04:21 +01:00
Rakesh
a4b0c8edd0 Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr_tdd_configuration
resolving merge conflicts
2019-12-11 13:13:10 +01:00
Rakesh
af471c5c3e reworked as per the new fapi structures 2019-12-11 12:59:38 +01:00
matzakos
b106fb1c21 ENDC LTE-RRC: Add processing of Addition Response information elements, to be used for RRCConnectionReconfiguration 2019-12-10 19:39:47 +01:00
Francesco Mani
decf6ed0e5 pbchsim works again 2019-12-10 14:36:54 +01:00
Florian Kaltenberger
3566ef991e programming pin 5 of GPIO to "Shutdown LNA" (high -> TX, low -> RX) 2019-12-10 12:46:42 +01:00
Cedric Roux
b82787dde1 fix compilation of nr_dlsim and nr_ulsim 2019-12-10 10:23:34 +01:00
Cedric Roux
1a46b66d74 nr rlc: first commit
Initial implementation.

nr_rlc/nr_rlc_oai_api.c will need some clean rewrite at some point.

More testing is also needed.
2019-12-10 10:06:17 +01:00
Gabriele Perrone
28eb2d61bb fixing self.cnt to SSH.cnt mistake 2019-12-09 22:04:22 +01:00
Gabriele Perrone
75642c34c4 add a new main file for test with cnt changed into self.cnt 2019-12-09 15:36:44 +01:00
Gabriele Perrone
a1cb460a01 repeatCounts reading from command line instead than xml file 2019-12-09 14:46:59 +01:00
Gabriele Perrone
9b1846ea76 que beau fichier 2019-12-09 14:20:38 +01:00
laurent
719424f4b7 bug fix: ue was not reading options + more debug printf cleanup in openair1/PHY/NR_UE_TRANSPORT/dci_nr.c 2019-12-08 20:52:20 +01:00
laurent
22d4f20525 debug printf cleanup in openair1/PHY/NR_UE_TRANSPORT/dci_nr.c 2019-12-08 19:29:08 +01:00
matzakos
62fb80e6de ENDC X2AP: Implementation of SgNB Addition Response handler 2019-12-06 19:15:08 +01:00
laurent
8dedd093fb remove a forgotten test trace, re-indentation of modified source files 2019-12-06 18:41:30 +01:00
laurent
47abf562db add FS6 transport time measurement 2019-12-06 16:24:47 +01:00
Raymond Knopp
ad82602e9a ENDC X2AP: Implementation of SgNB Addition Request ACK 2019-12-06 14:16:43 +01:00
Francesco Mani
b61a80baf1 fix on ru procedures for slot select 2019-12-06 12:48:44 +01:00
Thomas Schlichter
7bdff76ff3 Fix autotest tags for nr_dlsim and polartest 2019-12-06 10:46:51 +01:00
Thomas Schlichter
7e738c2c39 Further fix segmentation fault by also initializing the allocated memory 2019-12-06 10:46:51 +01:00
Guido Casati
030fc5a2f5 Bugfix segmentation fault in dlsim for missing memory allocation 2019-12-06 10:46:51 +01:00
Florian Kaltenberger
d34d269d70 reducing the use of rand() which takes too long 2019-12-06 10:46:51 +01:00
cig
361446fda5 Consolidation of TA updates changes in the noS1 mode:
- merged nr-schedule_ue_spec into nr_schedule_uss_dlsch_phytest
- enabled nr_ue_send_sdu for S1 mode
- increased ta_timer to 100
- restored NR_UPLINK_SLOT to 2 (as it was in develop-nr)
- fixed logic for S1 and noS1 modes
- code cleanup and formatting
2019-12-06 10:46:51 +01:00
Guido Casati
98d2caf59f Added compilation option to skip build for already built libraries:
- the new option -k allows to skip the built of shared libraries, rfsimulator
  basicsimulator and transport protocol libraries
- default compilation remains untouched as is still building all libraries
- this option allows to save a massive amount of time when compiling
  repeatedly for debugging purposes
2019-12-06 10:46:51 +01:00
Guido Casati
cfbe18c9ed Adaptation of MAC TA procedures to the design of handle_dlsch
- introduced new parameter in nr_ue_dl_indication for UL time alignment
- moved TA timer logic one level up so that now is executed every slot
- set timer value to 80 slots to cope with the sl_ahead design
- introduced new TA-related members to gNB MAC instance struct
2019-12-06 10:46:51 +01:00
Guido Casati
a0cd44947e Bugfix uninitialised vars and conflicting types in simulators after merge 2019-12-06 10:46:51 +01:00
Guido Casati
0b873bb620 Time Alignment procedure with time adjustment as per TS 38.213 section 4.2
- UE processing capability 1
- Setting the TA update to be applied after the reception of the TA command
- Durations of N1 and N2 symbols corresponding to PDSCH and PUSCH are
  computed according to sections 5.3 and 6.4 of TS 38.214
- Introduced tables 5.3-1, 5.3-2, 6.4-1, 6.4-2 from TS 38.214
2019-12-06 10:46:51 +01:00
Guido Casati
c6855cb8d2 Maintenance of Uplink Time Alignment. Introduced control on TA transmission and TA update application.
- ta_timer at gNB side to control the transmission of TA to the UE. This is now happening every 20 slots.
- when the timer resets gNB is now transmitting the TA whether it is zero or not.
- introduced struct NR_UL_TIME_ALIGNMENT_t to handle configuration of time alignment related parameters.
- UE PHY RX: is now triggered through a flag when to store the TA command, the frame and slot
  when the application should occur.
- UE PHY TX: when the tx frame and slot match the time alignment configuration, it process the TA command and applies the
  TA update
2019-12-06 10:46:51 +01:00
Ahmed Hussein
5ac8b6f34d TA implementation complete and tested in rfsimulator 2019-12-06 10:46:51 +01:00
Guido Casati
0492f7eb7e Fix TBS condition in to schedule ue spec procedures 2019-12-06 10:46:51 +01:00
Guido Casati
825ae3c06d Integration PHY and MAC procedures for Timing Advance updates. Compilation and run is OK. TA updates need further fixes as not working as expected.
- "nr_process_timing_advance": TA to be applied is commented out, need to be uncommented
- with introduced delay of 50 in rx_rf, TA update should be 34 in MAC CE
  but this does not occur when ta is applied at UE side according to standard
- introduced ULSCH scheduler and NR RX SDU functions
- fixes to logic in UL fill RX indication
- added crc indication in UL RX
- temporary hardcoded UE_id to 0, rnti not considered in the logic
2019-12-06 10:46:51 +01:00
Guido Casati
6ec89bec1f Bugfix: header from NR included in LTE UE PHY procedures 2019-12-06 10:46:51 +01:00
Guido Casati
310efee7f2 Implementation of TA procedures at MAC layer for gNB and UE
- Initial gNB DLSCH and UE spec scheduling implentation
- MAC PDU generation (including header as per TS 38.321)
- MAC PDU processing at UE side with extracion of TA updates
- General code cleanup
- Introduced NR MAC COMMON folder, moved common files here
2019-12-06 10:46:51 +01:00
Guido Casati
f0b7debefc Extraction of common NR MAC data structures from NR_MAC_UE/mac.h and definition of MAC CE struct 2019-12-06 10:46:51 +01:00
Florian Kaltenberger
a78b5da529 fixes an issue with clock source
- command line paramter --clock-source can only be set at UE (removed this option from gNB)
 - at gNB use clock_source from RU section in config file
 - in both cases if clock_source is present in usrp_args, it will override clock_source
2019-12-06 08:54:17 +01:00
Florian Kaltenberger
6b1cabae41 Merge branch '468-fix-usrp_lib-for-threequarter-sampling' into 'develop-nr'
Fix usrp_lib for threequarter sampling

See merge request oai/openairinterface5g!732
2019-12-06 00:43:00 +01:00
Francesco Mani
dd789dc7ba make pbchsim compile again 2019-12-05 18:23:53 +01:00
Rakesh
0b3c92207b Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr_tdd_configuration
resolving merge conflicts
2019-12-05 12:59:54 +01:00
laurent
ec08b771b1 merge develop-nr 2019-12-05 05:07:23 +01:00
laurent
97a2877cba fix worker_disable 2019-12-05 04:58:10 +01:00
laurent
8708af92ab error in one function prototype 2019-12-05 04:56:45 +01:00
laurent
7672257b2f asn1 encoding memory overflow 2019-12-05 04:56:42 +01:00
laurent
80cd6940af modifications 2019-12-05 04:53:56 +01:00
Raymond Knopp
99e41d9730 DL and UL DCI separation in MAC, initial handling of UL DCI in L1. 2019-12-05 01:51:57 +01:00
Raymond Knopp
094d1f5a31 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration
Conflicts:
	nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
2019-12-04 16:55:16 +01:00
Sakthivel Velumani
5bda11024d Enabling ITTI interactions between RRC and X2AP for the generation of sgb addition request ACK message at the gNB side 2019-12-04 15:30:17 +01:00
Francesco Mani
ab2be445ce ssb offset scs scalling in config.c now 2019-12-04 14:29:12 +01:00
Francesco Mani
598a101860 bugfix (nr-softmodem run again) 2019-12-04 14:06:54 +01:00
Francesco Mani
c6ec207487 adapting config_request to scf nfapi (compiling ok but still not running) 2019-12-04 13:41:13 +01:00
Raphael Defosseux
ee6b18d377 CI: adding a dummy build scenario for deactivated jobs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-04 04:36:07 +01:00
Raphael Defosseux
424bf5c53e CI: adding a dummy build scenario for deactivated jobs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-12-04 04:24:22 +01:00
Raymond Knopp
fa7c143b70 nr=softmodem compiles. 2019-12-03 22:32:29 +01:00
Thomas Schlichter
602d025e89 fix tx_sample_advance in usrp_lib for 46.08MSps 2019-12-03 18:31:51 +01:00
Sakthivel Velumani
1928936883 Fixed a misaligned problem in PUSCH channel esti
An avx2 instruction in idft4096 introduced segfault sometimes
2019-12-03 15:55:14 +01:00
Sakthivel Velumani
f1740e2c9c Fixed CI failure 2019-12-02 14:11:47 +01:00
Sakthivel Velumani
11147c2e83 Merge branch 'develop-nr' into bug-fix-channel-est 2019-12-02 13:45:05 +01:00
Francesco Mani
17c15f5064 bugfix in nr_ru_procedures 2019-12-02 10:10:25 +01:00
Florian Kaltenberger
a54362ddef Merge branch 'integration-develop-nr-2019w48bis' into 'develop-nr'
Integration develop nr 2019w48bis

See merge request oai/openairinterface5g!729
2019-11-30 06:36:57 +01:00
Florian Kaltenberger
0e47a507d3 Merge remote-tracking branch 'origin/nr_x300_fixes' into integration-develop-nr-2019w48bis 2019-11-29 17:19:04 +01:00
Florian Kaltenberger
201d975318 Merge remote-tracking branch 'origin/feat-sib1-sa-mode' into integration-develop-nr-2019w48bis 2019-11-29 17:18:58 +01:00
Florian Kaltenberger
729498571b Merge remote-tracking branch 'origin/nr_100mhz' into integration-develop-nr-2019w48bis 2019-11-29 17:18:47 +01:00
Raphael Defosseux
0b8a25ee90 CI: finalizing offline the X2 handover scenario at inria --> to be tested
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-29 13:57:42 +01:00
Raphael Defosseux
f7a9226438 CI: add initial support to do X2 HO at Inria
Signed-off-by: Raphael Defosseux <raphael.defosseux@openairinterface.org>
2019-11-29 11:52:01 +01:00
Sakthivel Velumani
2892445095 nr-softmodem compiles (after adding UL DCI) 2019-11-28 18:14:52 +01:00
Sakthivel Velumani
620038220c Fixed a bug in channel estimation; and updated a dlsim test case 2019-11-28 17:43:24 +01:00
Francesco Mani
d5db8c1634 make lte compile again 2019-11-28 17:29:41 +01:00
Sakthivel Velumani
4ff96a45a5 Added UL DCI to gNB MAC 2019-11-28 13:37:30 +01:00
Raymond Knopp
f3a27d762a Merge remote-tracking branch 'origin/develop-nr' into NR_RRCConfiguration
Conflicts:
	cmake_targets/CMakeLists.txt
	executables/nr-gnb.c
	openair1/PHY/defs_gNB.h
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SCHED_NR/phy_procedures_nr_common.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/COMMON/platform_constants.h
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	targets/COMMON/openairinterface5g_limits.h
2019-11-28 06:35:31 +01:00
Francesco Mani
f3f58741d8 conflicts solved 2019-11-27 16:37:48 +01:00
Francesco Mani
f997ebb8ca Merge branch 'ru-parallel-beamforming-merge' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru-parallel-beamforming-merge 2019-11-27 16:32:08 +01:00
Rakesh
1aea23d35e nr tdd config 2019-11-27 16:31:44 +01:00
Wang Tsu-Han
40bda9f8d0 fixes for beam precoding 2019-11-27 16:27:28 +01:00
Raphael Defosseux
ba17176c7c CI: putting back flexran-ctl in build/testing --> now on develop branch of this repo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-27 15:01:03 +01:00
Francesco Mani
b2ddd33577 Merge branch 'nr_beamforming_new' into ru-parallel-beamforming-merge 2019-11-27 14:34:34 +01:00
Francesco Mani
aab575f66a bugfix 2019-11-27 14:26:35 +01:00
Francesco Mani
82880f6199 Merge branch 'nr_x300_fixes' into ru-parallel-beamforming-merge 2019-11-27 13:47:14 +01:00
Francesco Mani
fe0c9ba075 fix for number of slots in half frame for different numerologies 2019-11-27 09:11:51 +01:00
Raymond Knopp
ccaf52200c gNB runs with rfsimulator. 2019-11-27 07:54:40 +01:00
Prateek Bidwalkar
c724057947 updated file format using astyle
Signed-off-by: Prateek Bidwalkar <prateek.bidwalkar@ipaccess.com>
2019-11-27 11:04:23 +05:30
Prateek Bidwalkar
cf406af4f0 ASN encoding for SIB1 in SA mode
Signed-off-by: Prateek Bidwalkar <prateek.bidwalkar@ipaccess.com>
2019-11-27 11:04:23 +05:30
Raymond Knopp
d4fe5b504d Added NR FAPI for PDCCH and moved DCI filling to MAC accordingly.
compiles, still needs to be tested gNB alone with rf-simulator / RF bench.
2019-11-26 21:14:46 +01:00
Francesco Mani
433e3edd21 fix for nr_is_ssb_slot in nr_slot_select 2019-11-26 18:31:04 +01:00
Raphael Defosseux
98311219ac Merge remote-tracking branch 'origin/develop-nr' into develop-nr_cppcheck 2019-11-26 13:59:54 +01:00
Raphael Defosseux
e6360d1365 Merge branch 'develop-nr-fix-multi-rru' into 'develop-nr'
Develop nr fix multi rru

See merge request oai/openairinterface5g!722
2019-11-26 13:46:25 +01:00
Francesco Mani
2406662e74 new config file for static beam weights 2019-11-26 11:07:43 +01:00
Florian Kaltenberger
c4121a997f registering log components 2019-11-25 22:07:51 +01:00
Francesco Mani
63375fa139 BF weights from config file for RU case 2019-11-25 16:43:15 +01:00
Wang Tsu-Han
56ecc5cfb2 Merge branch 'develop-nr' into ru-parallel-beamforming-merge
Conflicts:
	openair1/PHY/MODULATION/nr_modulation.h
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
2019-11-22 17:00:53 +01:00
Raphael Defosseux
baf5f1ed93 Merge remote-tracking branch 'origin/develop' into develop-nr_cppcheck 2019-11-22 11:18:28 +01:00
Raymond Knopp
b6246f7717 debugged DCI and PDSCH interfaces based on full RRC configuration
Still need to update PDCCH configuration with NR FAPI specifications
2019-11-21 20:43:00 +01:00
Florian Kaltenberger
90445b0003 Merge branch 'nr-channel-estimation' into 'develop-nr'
Nr channel estimation and other fixes

See merge request oai/openairinterface5g!714
2019-11-21 17:14:59 +01:00
Raphael Defosseux
67a23b3386 CI: adding back the multi-RRU test in develop-nr
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-21 15:35:57 +01:00
Wang Tsu-Han
e0c80a83b8 bug fix for buffer setting in dlsch and wakeup_rxtx 2019-11-21 15:35:28 +01:00
Florian Kaltenberger
dfad6a91d7 removing duplicate and erroneous malloc 2019-11-21 15:34:50 +01:00
Raphael Defosseux
72fc49ccf2 CI: putting back flexran-ctl in build/testing --> now on develop branch of this repo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-21 15:31:36 +01:00
Francesco Mani
2a0cfcb747 Merge branch 'develop-nr' into nr_beamforming 2019-11-21 12:34:44 +01:00
yilmazt
94968c14df develop-nr up-to-date as of 20.11.19 2019-11-20 23:50:39 +03:00
Francesco Mani
053914d502 dynamic allocation also for w vectors at decoding sides 2019-11-20 17:44:43 +01:00
Francesco Mani
94b7762b56 dynamic allocation of e and f vectors 2019-11-20 16:48:48 +01:00
Raymond Knopp
b1573edb7e fixed rnti usage in phytest scheduler 2019-11-20 12:45:49 +01:00
magounak
e8b6932310 initialization of UL_RB in frame parameters 2019-11-20 10:05:36 +01:00
Raymond Knopp
9d5df6c0ac nr-softmodem, nr-uesoftmodem compile 2019-11-20 00:43:09 +01:00
Raymond Knopp
75158a5865 nr_dlsim compiles 2019-11-19 21:44:50 +01:00
Raymond Knopp
bc580bd6be ENDC: Correction at processing Addition request information 2019-11-19 16:45:04 +01:00
Francesco Mani
3ddce03c65 change in 273 config file 2019-11-19 16:03:34 +01:00
Francesco Mani
2e6d4c7572 Merge branch 'develop-nr' into nr_100mhz 2019-11-19 15:57:09 +01:00
magounak
9d1b66154b Merge remote-tracking branch 'origin/develop-nr' into nr-channel-estimation 2019-11-19 15:43:20 +01:00
Raphael Defosseux
b63e21b625 Merge branch 'hotfix-cqi-tdd' into 'develop'
hotfix: better CQI requests, especially for TDD

See merge request oai/openairinterface5g!708
2019-11-19 15:40:08 +01:00
Raymond Knopp
96006201b9 ENDC: Minor correction 2019-11-19 15:15:25 +01:00
matzakos
7e1607bcca ENDC X2AP: Small modification at generation of SgNB Addition Request. 2019-11-19 14:22:54 +01:00
Raymond Knopp
50509dfc32 ENDC: Enable transfer and handling of SgNB Addition request elements from X2AP to RRC of gNB. 2019-11-19 14:05:14 +01:00
laurent
08ea618067 fix important bug in CU, merge thread pool improvement and rf simulator improvements made initialy in 5G branch 2019-11-19 13:27:28 +01:00
Francesco Mani
0b066b52e3 bugfix 2019-11-18 17:23:29 +01:00
Francesco Mani
a51fa4f3a7 changing segments and sch bytes allocation in coding/decoding 2019-11-18 17:13:07 +01:00
Raphael Defosseux
aeffe090ba CI: increase the disk size on the VMs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-18 13:18:25 +01:00
Wang Tsu-Han
6be2d8f081 using switch buffer for txdataF in L1 2019-11-18 12:33:48 +01:00
Florian Kaltenberger
376128761d Merge branch 'integration-develop-nr-2019w46' into 'develop-nr'
Integration develop nr 2019w46

See merge request oai/openairinterface5g!716
2019-11-18 12:13:13 +01:00
Sakthivel Velumani
0ea53f48b9 Added back ulsim test case for 273 RB 2019-11-15 17:21:37 +01:00
Francesco Mani
c5efa4f400 including option 273prbs in uesoftmodem 2019-11-15 14:31:58 +01:00
Sakthivel Velumani
e253a6f380 Added support for nushift 2019-11-15 14:15:45 +01:00
Francesco Mani
8ad07d3aef make gNB compile for 273 PRBs and including config file 2019-11-15 12:41:02 +01:00
Florian Kaltenberger
39457f5c12 Merge remote-tracking branch 'origin/ldpc_bg2_bug_fix' into integration-develop-nr-2019w46 2019-11-15 09:39:08 +01:00
Florian Kaltenberger
a3379d1d10 Merge remote-tracking branch 'origin/fix-nr-rfsim-gNB-notx-slots2to19' into integration-develop-nr-2019w46 2019-11-15 09:38:54 +01:00
Florian Kaltenberger
6082a33d2e Merge remote-tracking branch 'origin/nr_pdcch_crc_fix' into integration-develop-nr-2019w46 2019-11-15 09:38:38 +01:00
Francesco Mani
e2b77c3edb removing printf 2019-11-15 09:27:02 +01:00
Sakthivel Velumani
4815ff113d Removed 273 PRB test (not supported by PUSCH for now) 2019-11-14 18:21:11 +01:00
Sakthivel Velumani
bd0eb1cc26 Merge branch 'nr-channel-estimation' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-channel-estimation 2019-11-14 17:32:25 +01:00
Thomas Schlichter
ef3be74025 Fix channel estimation for 3/4 sampling
In 3/4 sampling mode, the OFDM symbol size is _not_ a power of two (e.g. 1536 instead of 2048).
In this case it is _not_ OK to calculate the modulus using a binary AND, it _must_ use either the actul modulus operator (%) using an integer division,
or a _correct_ if statement or tertianary operator like this:

re_offset = (re_offset + 4 >= ue->frame_parms.ofdm_symbol_size) ? (re_offset + 4 - ue->frame_parms.ofdm_symbol_size) : (re_offset + 4);

But of course using the actual modulus operator is much more readable and surely not much slower:

re_offset = (re_offset + 4) % ue->frame_parms.ofdm_symbol_size;
2019-11-14 17:32:09 +01:00
Sakthivel Velumani
ebd3871827 Updated nr_dlsim test cases 2019-11-14 17:16:25 +01:00
Hongzhi Wang
feb461bafb add missing fix for bg2 2019-11-14 16:25:23 +01:00
Sakthivel Velumani
348afdc17e Added more test cases for nr_ulsim 2019-11-14 15:18:37 +01:00
Hongzhi Wang
17f5a80387 ldpc encoder bg2 bug fix 2019-11-14 15:16:21 +01:00
Sakthivel Velumani
eff0a870b7 PUSCH UE DMRS index with correct data type 2019-11-14 15:06:23 +01:00
Sakthivel Velumani
95ef6bd9b7 Included previously commented tests 2019-11-14 13:48:15 +01:00
Sakthivel Velumani
1aa2b3041b update to last commit 2019-11-13 15:05:19 +01:00
Sakthivel Velumani
8054ab64fa Fixed CRC fail in PDSCH for large PRBs 2019-11-13 14:57:29 +01:00
Sakthivel Velumani
3185728107 Some updates in uplink and downlink channel estimations 2019-11-13 14:35:14 +01:00
LAD
cc15b2231b Compilation fix 2019-11-13 01:21:56 -08:00
LAD
cd14e5d3dc Clean code for monolithic case. Remove support for CU/DU. 2019-11-13 00:53:34 -08:00
Raymond Knopp
9133aeddc4 gtkw file 2019-11-12 20:03:21 +01:00
Sakthivel Velumani
c3fcee20a1 Added dlsim more dlsim test cases 2019-11-12 16:53:22 +01:00
Sakthivel Velumani
2deda8df51 Improved channel estimates around DC for uplink 2019-11-12 15:15:37 +01:00
laurent
ea7c4d9536 fix fix-nr-rfsim-gNB-notx-slots2to19 2019-11-12 14:35:43 +01:00
Sakthivel Velumani
09b38541c8 Included DC handling for odd number of RBs 2019-11-12 14:28:34 +01:00
Raphael Defosseux
beda33b8f1 CI: fix UL iperf in distributed env
Signed-off-by: Raphael Defosseux <raphael.defosseux@openairinterface.org>
2019-11-11 20:15:27 +01:00
Florian Kaltenberger
1bfbf8c96e adding missing case 2019-11-11 15:04:22 +01:00
Rakesh
6d4f03751e ulsim bug fix 2019-11-08 23:22:59 +01:00
Florian Kaltenberger
282f56fb7b fixing some bugs nr_ulsim 2019-11-08 17:10:30 +01:00
Rakesh
b4b1998c5e bug fix 2019-11-08 12:38:48 +01:00
Sakthivel Velumani
497afe4f58 UL improved channel estimation around DC 2019-11-08 10:27:06 +01:00
Raphael Defosseux
ca2e8d3553 CI: tuning on TDD scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-08 10:05:35 +01:00
Raphael Defosseux
ccd1b3be53 CI: preparing release notes for patch
--> also adding TDD monolithic test at 20MHz with default scheduler
 --> putting IF4.p5 TDD scenarios with default scheduler

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-08 10:05:24 +01:00
masayuki.harada
c8b638184c Fix scheduling PUSCH when CQI has not been received for a long time in fairRR scheduler. 2019-11-08 10:05:14 +01:00
masayuki.harada
c4255f0dd4 Fix cqi_req clear timing, and schedule PUSCH when CQI has not been received for a long time in fairRR scheduler. 2019-11-08 10:05:02 +01:00
yilmazt
c2460cc4d2 executables are compiling 2019-11-07 19:17:58 +03:00
Sakthivel Velumani
9e7186c2cb updated dlsim 2019-11-07 17:00:30 +01:00
matzakos
266926307d ENDC X2AP: Implementation of handler function for SgNB addition request message 2019-11-07 17:00:03 +01:00
Sakthivel Velumani
f5b0658a70 Improved channel estimates around DC;
ignored only DC pilot
2019-11-07 16:34:33 +01:00
Sakthivel Velumani
ca9b4d7ed9 Improved channel estimates around DC
Ignored 1 pilot before and after DC
2019-11-07 16:26:30 +01:00
Florian Kaltenberger
20df127684 astyling gNB_scheduler_phytest.c 2019-11-06 18:34:22 +01:00
Francesco Mani
1ef8aaee97 Revert "updating beamforming weights"
This reverts commit a9e07dce5f.
2019-11-06 16:25:54 +01:00
Cedric Roux
2a7ac81b0b hotfix: better CQI requests, especially for TDD
In TDD mode, CQI requests are not possible in special subframes (at
least for some TDD configurations, see 36.213 7.2.3 that says "a
DL subframe is valid if it does not contain a DwPTS field if the
length is less than  7680 Ts").

In the code, we simply disable CQI requests in special subframes,
no matter what the length of DwPTS.

A problem can arise if the DCI0 for a given UE are sent only in
those special subframes. In this case the UE will never report
CQI and the eNB will use low MCS for this UE, impacting performances.

Another, related, problem is when there are several UEs. There again
one UE might always get its DCI0 in special subframes and thus never
report CQI. There again, performance issues.

This commit is an attempt to improve the situation.

It does two things.

1 - tag the UE as schedulable in the function UE_is_to_be_scheduled
    if the cqi_req_timer is expired

2 - use cqi_req_timer as a criterium when ordering UEs for UL scheduling

The value chosen for the expiration of the cqi_req_timer in
UE_is_to_be_scheduled is quite high (300) because as the code is
today we may overschedule the UE for short bursts until we receive
a CQI from the UE. [TODO: fix the code properly to avoid this behavior.]

Note: the fairRR scheduler has not been analyzed and this commit may
      not fix anything in case the fairRR scheduler is used.
2019-11-06 12:30:50 +01:00
Wang Tsu-Han
d252696b14 Merge branch 'develop-nr' into ru-parallel-beamforming
Conflicts:
	common/utils/T/T_defs.h
	executables/nr-ru.c
	nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
	openair1/PHY/defs_RU.h
	openair1/SCHED_NR/nr_ru_procedures.c
	openair1/SCHED_NR/sched_nr.h
	openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
2019-11-05 15:43:19 +01:00
Francesco Mani
0c408e9681 adopting NR values for DLSCH/ULSCH segments 2019-11-05 15:37:06 +01:00
Francesco Mani
2a5109d670 crc ones added also ar UE side 2019-11-05 12:47:32 +01:00
Francesco Mani
13f4acd5b6 Revert "disabling pdsch and ul"
This reverts commit 582ba0c922.
2019-11-05 10:59:15 +01:00
Francesco Mani
ccd38774ee Revert "generating a simple ue specific search space with 24 RB in 1 symbol for testing"
This reverts commit e47cd4a06d.
2019-11-05 10:58:25 +01:00
laurent
e8091083b0 restore ue compilation with ocp-softmodem, some RF simulator improvement 2019-11-04 16:11:09 +01:00
Wang Tsu-Han
57421caae5 adding tracer for tx fronthaul 2019-11-04 15:32:25 +01:00
yilmazt
94cf7de858 Merge branch 'develop-nr' into develop-nr_cppcheck 2019-11-02 19:10:01 +03:00
Raymond Knopp
930e1fde33 Merge remote-tracking branch 'origin/develop-nr' into NR_RRCConfiguration
Conflicts:
	cmake_targets/CMakeLists.txt
	executables/nr-ru.c
	executables/nr-softmodem.c
	nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
	openair1/PHY/INIT/nr_init.c
	openair1/PHY/NR_TRANSPORT/nr_dci_tools.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
	openair1/PHY/NR_TRANSPORT/nr_tbs_tools.c
	openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
	openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
	openair1/SCHED_NR/nr_ru_procedures.c
	openair1/SCHED_NR/phy_procedures_nr_common.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/pbchsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/COMMON/rrc_messages_types.h
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
2019-11-02 01:12:15 +01:00
Florian Kaltenberger
69631e750b Merge remote-tracking branch 'origin/develop-nr' into nr_fapi_for_push 2019-11-01 17:13:54 +01:00
Florian Kaltenberger
615f278711 Merge branch 'integration-develop-nr-2019w44' into 'develop-nr'
Integration develop nr 2019w44

See merge request oai/openairinterface5g!703
2019-10-31 21:10:31 +01:00
laurent
3ce5d40064 add comments in data structures, gcc warnings fixed 2019-10-31 20:49:42 +01:00
laurent
aa10676e90 parallel UL, split mode 2019-10-31 17:48:31 +01:00
laurent
13122a272e ul in parallel monolithic case, ul in parallel memory leak fix 2019-10-31 17:28:21 +01:00
Florian Kaltenberger
517c8585b3 UE sending only slot 2 (until we have real TDD procedures) to reduce stress on trx_write 2019-10-31 14:01:48 +01:00
Sakthivel Velumani
3052388709 Fix for ulsim MCS issue;
Still problem with low MCS (same as PDSCH)
2019-10-31 11:51:58 +01:00
Florian Kaltenberger
501a1272cd configuring PUSCH directly in nr_ulsim so that it works also for other MCS 2019-10-31 11:17:07 +01:00
Florian Kaltenberger
a13a167f08 Merge branch 'nr_fapi_for_push' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_fapi_for_push 2019-10-31 09:56:36 +01:00
Florian Kaltenberger
afa7195638 making nr_ulschsim work again 2019-10-31 09:56:16 +01:00
LAD
d812ffd616 [tested] MAC itti ok. Add procedure to DU part (not tested, but need dedicated F1AP implementation). 2019-10-30 23:50:07 -07:00
Francesco Mani
cbbadf6bcd correction for dci crc computation 2019-10-30 17:26:03 +01:00
Florian Kaltenberger
5758bb8e44 UE sending only slot 2 (until we have real TDD procedures) to reduce stress on trx_write 2019-10-30 16:46:11 +01:00
Florian Kaltenberger
bf7d52de43 Merge remote-tracking branch 'origin/develop-nr' into nr_fapi_for_push 2019-10-30 16:33:35 +01:00
yilmazt
cd098f3971 develop&-nr merge 2019-10-30 16:17:41 +01:00
LAD
a3c337cc9f [to test] Add MAC itti loop and DRX config support 2019-10-30 07:36:44 -07:00
Florian Kaltenberger
61cfbc1f2a changing some log levels 2019-10-30 11:11:52 +01:00
laurent
f0759d6e61 dl in threadpool ok 2019-10-30 11:10:41 +01:00
Florian Kaltenberger
ac94b2e6f0 commenting out failing nr_dlsim test for MCS 0 2019-10-30 10:31:54 +01:00
Florian Kaltenberger
c52ba1db79 Merge remote-tracking branch 'origin/457-add-nr_ulsim-testcases' into integration-develop-nr-2019w44 2019-10-30 10:24:51 +01:00
Florian Kaltenberger
cf025a6569 Merge remote-tracking branch 'origin/nr-tbs-fixes' into integration-develop-nr-2019w44 2019-10-30 10:22:38 +01:00
Florian Kaltenberger
51462360a8 Merge remote-tracking branch 'origin/nr_time_tracking_ssb' into integration-develop-nr-2019w44 2019-10-30 10:22:20 +01:00
Florian Kaltenberger
da625f1397 making nr_ulsim working again with the FAPI 2019-10-29 17:14:46 +01:00
LouisAdrien
940ce3fe93 [tested] comment update 2019-10-29 16:33:57 +01:00
LAD
2306428e3d Merge branch 'develop' into orange_cdrx 2019-10-29 07:30:17 -07:00
LAD
3187127bd7 [to test] Improvements added to F1AP interface (no UE management messaging) 2019-10-29 07:22:44 -07:00
LAD
d1f54a98dc [to test] Check CE from UECap and TDD from RRC config 2019-10-29 03:41:56 -07:00
LAD
eddc13d235 [to build] Check coverage extension through UE capabilities 2019-10-29 03:05:36 -07:00
Francesco Mani
e47cd4a06d generating a simple ue specific search space with 24 RB in 1 symbol for testing 2019-10-29 10:45:27 +01:00
Francesco Mani
582ba0c922 disabling pdsch and ul 2019-10-29 09:55:12 +01:00
Francesco Mani
5cd4ad0411 Merge branch 'nr-tbs-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-tbs-fixes 2019-10-28 17:11:37 +01:00
Francesco Mani
4297beffa0 another uint32 fix 2019-10-28 17:11:03 +01:00
DUFRENE Louis Adrien TGI/OLS
34f0bdac3a [to build] Monolithic: move RRC features in do_drxconfig 2019-10-28 14:44:16 +01:00
Sakthivel Velumani
5bfbfd9a37 Updated test cases (ready for CI tests) 2019-10-28 14:05:54 +01:00
Sakthivel Velumani
fcfc29ca8b Fixed ulsch 2019-10-28 14:01:22 +01:00
Sakthivel Velumani
db02c60ef5 Updated ulsch 2019-10-28 13:44:19 +01:00
Francesco Mani
e9355e2ef4 fix in coderate for ulsch decoding 2019-10-28 13:19:10 +01:00
Florian Kaltenberger
f459e90f2b excluding dlsim_tm4 test 2019-10-28 11:43:05 +01:00
Sakthivel Velumani
2308f35fa7 Merge branch 'nr-tbs-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-tbs-fixes 2019-10-28 10:52:54 +01:00
Francesco Mani
ae2549b91a encoded length as uint32_t 2019-10-28 10:41:56 +01:00
Sakthivel Velumani
3995b59b34 Updated phy simulators 2019-10-28 10:27:55 +01:00
laurent
63c023029a du in 2 threads, and fix UL in FS6 split 2019-10-26 11:28:46 +02:00
matzakos
587f9f63d0 ENDC X2AP: Corrections on the generation of x2_sGNB_AdditionRequest message 2019-10-25 19:20:34 +02:00
Francesco Mani
5a0b2fc05c Merge branch 'nr-tbs-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-tbs-fixes 2019-10-25 15:54:37 +02:00
Francesco Mani
c1dc042d70 tbs as uint32_t 2019-10-25 15:53:54 +02:00
Sakthivel Velumani
0ceb9545a1 Added back the dlschsim test cases 2019-10-25 15:25:15 +02:00
Sakthivel Velumani
d4d4bb6df7 Removed unused variables 2019-10-25 15:22:18 +02:00
Sakthivel Velumani
80846efc2e Fixed nr_dlschsim 2019-10-25 15:16:03 +02:00
matzakos
4e64a34ada ENDC: Basic implementation of x2ap_eNB_generate_ENDC_x2_SgNB_addition_request() 2019-10-25 14:13:49 +02:00
Florian Kaltenberger
748a2397d6 fixing ldpctest and some encoding for >8 segments 2019-10-25 13:38:21 +02:00
Thomas Schlichter
f235e54056 autotests: update phy test case descriptions in README.txt 2019-10-25 11:20:00 +02:00
Thomas Schlichter
fe290e3a54 autotests: run more than only the first 10 phy test cases 2019-10-25 11:19:52 +02:00
Thomas Schlichter
9e80e8db73 autotests: add test cases for nr_ulsim 2019-10-25 11:18:56 +02:00
Sakthivel Velumani
3c47152c66 commented out nr_dlschsim test cases 2019-10-24 17:18:16 +02:00
Hongzhi Wang
397480c125 update time tracking 2019-10-24 10:42:11 +02:00
Francesco Mani
93730f0e06 removing scale left out 2019-10-24 09:25:35 +02:00
Francesco Mani
6e38f7540f moving scale inside tbs computation function 2019-10-24 09:14:14 +02:00
Florian Kaltenberger
5465516fe0 making ulsim and dlsim compile again 2019-10-23 16:38:48 +02:00
Francesco Mani
f2c5ebd4cd Zc fix in LDPC encoder 2019-10-22 15:26:44 +02:00
Florian Kaltenberger
7b840212ff fixing compilation dlschsim (but still not passing test) 2019-10-22 12:01:20 +02:00
Francesco Mani
056deedf1e init R for gNB ulsch 2019-10-21 18:34:57 +02:00
Francesco Mani
69b58589dc bugfix in compute tbs 2019-10-21 17:29:51 +02:00
matzakos
cc8be29a8d ENDC: Restore X2AP initial configuration after merge with NR_RRCConfiguration branch 2019-10-21 17:29:21 +02:00
Francesco Mani
4e1b874adf fix on table definition in dlschsim 2019-10-21 16:44:04 +02:00
Francesco Mani
668de031ec a single function to compute tbs and an additional function to compute tbslbrm 2019-10-21 16:39:02 +02:00
laurent
283fed9c4c du RX/Tx in parallel, controled by the thread pool 2019-10-21 14:59:16 +02:00
Laurent
4c646e8d57 try parallel du 2019-10-18 18:04:00 +02:00
matzakos
5cfcc415fc Merge remote-tracking branch 'origin/NR_RRCConfiguration' into nr-dual-connectivity 2019-10-18 17:01:00 +02:00
Raphael Defosseux
b760012adf CI: fix in looping attach / ping / detach
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-10-18 16:48:40 +02:00
Laurent
90b9cbb81d remove global for frame/subframe, noS1 attach+ traffic ok, UE do not compile 2019-10-18 16:35:33 +02:00
Francesco Mani
624fdd78d2 fix on sch dmrs 2019-10-18 16:29:56 +02:00
Francesco Mani
a67113c64c fix for dlsch tbslbrm 2019-10-18 12:57:16 +02:00
Francesco Mani
494c9d37a1 Merge branch 'nr-coreset-bug-fix' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-coreset-bug-fix 2019-10-18 12:47:21 +02:00
Francesco Mani
724fc3dcb5 reverting to old tbslbrm computation 2019-10-18 12:46:33 +02:00
Sakthivel Velumani
59141e1851 commented failing CI tests 2019-10-18 11:50:04 +02:00
Hongzhi Wang
2bfec87cb8 using ssb for time tracking 2019-10-18 10:44:02 +02:00
Raymond Knopp
868b673915 removed NUMBER_NR_UE_MAX 2019-10-18 09:00:39 +02:00
Raphael Defosseux
6b52ac7d58 CI: looping on attach/ping/detach sequences
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-10-17 16:51:15 +02:00
Laurent
ae25c88372 flush traces 2019-10-17 16:38:08 +02:00
Laurent
03dda0d890 flush traces 2019-10-17 16:30:45 +02:00
Laurent
280e12ba4f flush traces 2019-10-17 16:03:39 +02:00
Laurent
24de1caad6 flush traces 2019-10-17 16:01:30 +02:00
Laurent
63f04fe72c flush traces 2019-10-17 15:52:41 +02:00
Laurent
282a60fd56 reset measurements after print 2019-10-17 15:29:20 +02:00
Laurent
80b89510b7 add cu and full loop measurements 2019-10-17 15:15:19 +02:00
Laurent
61041b4275 add du measurements 2019-10-17 15:04:20 +02:00
Laurent
2e08907513 Move split 6 to do rate matching (puncturing) in CU 2019-10-17 11:14:23 +02:00
Raymond Knopp
71c0224eff configuration of search spaces fixed. 2019-10-16 23:43:32 +02:00
Raphael Defosseux
93f6e2446b CI: increasing the repeat count since the 1st try will always fail
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-10-16 18:01:40 +02:00
Sakthivel Velumani
38b61f0351 completely merged with develop-nr 2019-10-16 15:21:06 +02:00
Sakthivel Velumani
ada33879b6 Merge branch 'develop-nr' into nr-coreset-bug-fix
Resolved conflicts. rfsim not working.
2019-10-16 13:41:32 +02:00
Sakthivel Velumani
206028153b updated test case list 2019-10-15 16:05:19 +02:00
Sakthivel Velumani
f768d8f3bd added CI test cases for nr_dlsim 2019-10-15 15:52:58 +02:00
Rakesh
666db5675d build fail fixes for nrUE 2019-10-14 21:02:22 +02:00
Rakesh
ebb86d437d Merge branch 'nr_fapi_for_push' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_fapi_for_push 2019-10-14 19:26:24 +02:00
Rakesh
da524268c2 Adding VCD traces in gNB 2019-10-14 19:25:35 +02:00
Florian Kaltenberger
952ca25559 Merge remote-tracking branch 'origin/442-integrate-pusch-into-nr-ue-softmodem' into nr_fapi_for_push 2019-10-14 14:32:46 +02:00
Raymond Knopp
cb399c8858 added coreset and search configuration MAC from CellGroupConfig. 2019-10-14 01:44:02 +02:00
Raymond Knopp
0b4da47131 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface4g into NR_RRCConfiguration 2019-10-13 21:34:06 +02:00
Raymond Knopp
b0e97865d5 commit before merge 2019-10-13 21:33:56 +02:00
Raymond Knopp
b273d8ce79 testing on caracal 2019-10-13 21:33:08 +02:00
Raymond Knopp
3433d1b329 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-10-13 11:30:34 +02:00
Raymond Knopp
af9fca14f7 added prototypes to new functions in mac_proto.h 2019-10-13 11:30:01 +02:00
Raymond Knopp
57bc468d41 Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-10-13 11:01:37 +02:00
Raymond Knopp
2b93fddf62 modification in uecap.raw 2019-10-13 11:00:49 +02:00
Raymond Knopp
44d4a705cf Merge branch 'NR_RRCConfiguration' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRCConfiguration 2019-10-13 10:22:34 +02:00
Raymond Knopp
ff508f1d96 added MAC configuration for secondaryCellGroup and addition of UE context in MAC 2019-10-13 10:13:03 +02:00
Florian Kaltenberger
76b55e9cbd Merge remote-tracking branch 'origin/develop-nr' into nr_fapi_for_push 2019-10-11 17:26:03 +02:00
Florian Kaltenberger
189e15aa80 improved real-time performance:
- gNB now only sends samples to USRP when DL slot. (should do the same for UE)
 - increased sf_ahead to 6
 - fixed timestamp for usrp_write at UE
2019-10-11 17:12:39 +02:00
laurent
708076f6ad documentation, bug in UDP timeout, merge develop 2019-10-11 16:43:50 +02:00
Hongzhi Wang
348cc790be Adding CRC16 for BG2 at NR UE 2019-10-11 16:15:36 +02:00
Raphael Defosseux
4f55943b3b Merge branch 'develop_integration_2019_w41' into 'develop'
Develop Integration Branch: 2019 week 41

See merge request oai/openairinterface5g!689
2019-10-11 13:13:54 +02:00
Francesco Mani
1a5efc7429 Merge branch 'ldpc-endian' into nr-coreset-bug-fix 2019-10-11 12:44:29 +02:00
Raphael Defosseux
0ab5a4c590 Merge remote-tracking branch 'origin/rfsim-trace_pdu-fixies' into develop_integration_2019_w41 2019-10-11 09:55:31 +02:00
Raphael Defosseux
b365b57cf4 Merge remote-tracking branch 'origin/multi-rru-hack' into develop_integration_2019_w41 2019-10-11 09:55:15 +02:00
Raphael Defosseux
50962242dd Merge remote-tracking branch 'origin/develop_inria_ci_deployment' into develop_integration_2019_w41 2019-10-11 09:54:53 +02:00
Raymond Knopp
d554707919 Merge remote-tracking branch 'origin/develop-nr' into NR_RRCConfiguration
Conflicts:
	cmake_targets/CMakeLists.txt
	executables/nr-gnb.c
	nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h
	openair1/PHY/INIT/nr_init_ue.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
	openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
	openair2/COMMON/rrc_messages_types.h
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/NR_PHY_INTERFACE/NR_IF_Module.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/nr_rrc_defs.h
	openair2/RRC/NR/rrc_gNB.c
2019-10-10 12:29:20 +02:00
Francesco Mani
7e3d2cc05b Merge branch 'ldpc-endian' into nr-coreset-bug-fix 2019-10-10 09:18:34 +02:00
LouisAdrien
206f17b2a4 [under test] Fix CDRX starts at RRCReconfComplete again; new comments 2019-10-10 08:10:16 +02:00
LouisAdrien
9c811d22bc Merge branch 'orange_cdrx' of https://gitlab.forge.orange-labs.fr/afyf6286/oai-orange into orange_cdrx 2019-10-09 16:52:24 +02:00
LAD
c107789e4c [to test] CU/DU split supported 2019-10-09 07:30:10 -07:00
matzakos
7916e17666 ENDC: Add X2AP initial configuration and X2AP task in nr-softmodem. Small issue with parsing NRCCPARAMS_DESC from RCconfig_NR_X2() needs to be resolved 2019-10-08 18:48:39 +02:00
laurent
3ad36982dd one cppcheck only 2019-10-08 18:43:42 +02:00
laurent
0b7489b122 astyle only 2019-10-08 16:15:29 +02:00
laurent
445cf84e94 clean up wireshark traces 2019-10-08 16:04:10 +02:00
WANG Tsu-Han
d88ab2f9c0 fix for having 4 physical antennas and adding timing measument for local trx write 2019-10-08 15:28:57 +02:00
laurent
b7908ec25d bug fixies 2019-10-08 14:27:39 +02:00
magounak
c94a3b85e9 improve hack multi-rru-clean.c 2019-10-08 12:25:55 +02:00
laurent
2fc6384642 first version with UL and DL traffic good throughput 2019-10-07 17:56:46 +02:00
laurent
18fb589b71 fixes: improves throughput 2019-10-07 13:21:01 +02:00
Sakthivel Velumani
7e0f257299 updated k indexing for PDSCH extraction 2019-10-07 12:22:27 +02:00
Sakthivel Velumani
52903c760e Merge branch 'nr-pdsch-extraction-bugfix' into nr-coreset-bug-fix 2019-10-07 10:29:15 +02:00
Francesco Mani
cba58a50a2 Merge branch 'develop-nr' into nr-coreset-bug-fix 2019-10-07 10:14:58 +02:00
Francesco Mani
3b14504237 Merge branch 'develop-nr' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-nr 2019-10-07 10:13:01 +02:00
Raymond Knopp
5e1c31019d fixed issues when extracting pdsch REs in UE for positive frequency portion of BWP 2019-10-07 08:32:46 +02:00
Raphael Defosseux
09fefc7162 CI: better yet not final tshark capture filter
initial support for iperf in distributed environment

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-10-04 15:59:45 +02:00
Sakthivel Velumani
fbe231dcad PDSCH decoding independent of PDCCH duration 2019-10-04 11:31:27 +02:00
Sakthivel Velumani
d73f7388ed Merge branch 'nr-coreset-bug-fix' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-coreset-bug-fix 2019-10-03 18:37:00 +02:00
Sakthivel Velumani
8961090d9a updates in pdsch channel estimation (to be discussed) 2019-10-03 18:36:07 +02:00
matzakos
2e8b93ef8b ENDC: Reverse the role of eNB and gNB for the ENDC X2 setup procedure. Currently, gNB: slave sending the setup request, eNB:master. 2019-10-03 18:11:58 +02:00
Francesco Mani
cab801a049 reverting to previous nr rate matching function 2019-10-03 17:11:33 +02:00
Francesco Mani
391b73c4fd adding the option of 16 bit crc at gNB 2019-10-03 17:05:00 +02:00
Cedric Roux
0017316554 Merge remote-tracking branch 'origin/develop-nr' into nr-dual-connectivity
Conflicts:
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
2019-10-03 15:18:44 +02:00
Cedric Roux
dd760540ea hacks for NR
- send RRC Connection Reconfiguration with dummy ENDC data by doing:
  telnet localhost 9001
  and press enter when the ENDC UE is connected to the eNB to send it
2019-10-03 15:14:26 +02:00
Florian Kaltenberger
c0ca7038f1 Merge remote-tracking branch 'origin/448-ldpc-decoder-optimizations' into nr_fapi_for_push 2019-10-03 13:56:25 +02:00
Raphael Defosseux
03526f90a8 CI: adding tshark capturing on EPC side
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-10-03 11:50:10 +02:00
sebastian
aae1fa524a Updated with documentation 2019-10-02 17:29:40 +02:00
laurent
3321a35101 add DL packet compression 2019-10-02 16:22:47 +02:00
sebastian
4012f63b09 More documentation, Matlab BLER results to be updated. 2019-09-30 17:47:03 +02:00
Sakthivel Velumani
3a5d27c591 fix for DLSCH with non zero rb offset
CRC randomy fails for random payload (problem might be on gNB side)
2019-09-30 15:15:12 +02:00
sebastian
72999a1074 Clean up and documentation 2019-09-30 13:42:18 +02:00
laurent
2aafa61712 fix multi blocks transport issue in fs6, and simulators related ul issue for rfsim 2019-09-29 18:00:07 +02:00
Francesco Mani
10667b3662 modification to rate matching (to be tested) 2019-09-27 18:26:13 +02:00
sebastian
6f351c3d3b Fixed bug in llr2CnProcBuf, started updating documentation 2019-09-27 17:47:15 +02:00
Francesco Mani
a5ebee1897 Merge branch 'nr-coreset-bug-fix' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-coreset-bug-fix 2019-09-27 17:08:16 +02:00
Francesco Mani
57c01460c6 adding mcs tables and using good mcs for tbs computation 2019-09-27 17:07:16 +02:00
DUFRENE Louis Adrien TGI/OLS
77115590cd [not built] CDRX CU/DU split ok, in case of mono still MAC code in RRC 2019-09-27 16:06:25 +02:00
Raphael Defosseux
7090357e53 CI: Adding scenarios for COTS-UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-09-27 16:01:08 +02:00
Sakthivel Velumani
e8e92e1dab dlsim accepts command line params for dlsch config 2019-09-27 11:27:24 +02:00
Francesco Mani
d351060b6b making segmentation BG dependent 2019-09-27 10:21:56 +02:00
Raymond Knopp
db8822a8d8 UE-Capability parsing for NR components. Emulate CG-ConfigInfo generation for phy-test mode. This version is ready for X2 EN-DC integration 2019-09-26 22:17:48 +02:00
Raphael Defosseux
6a9c5884f3 CI: adding support for iperf (UDP) with CUPS CN
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-09-26 15:50:04 +02:00
Florian Kaltenberger
9b00843b57 Merge remote-tracking branch 'origin/448-ldpc-decoder-optimizations' into nr_fapi_for_push 2019-09-26 15:40:07 +02:00
Florian Kaltenberger
c386c65a69 Merge remote-tracking branch 'origin/develop-nr' into nr_fapi_for_push 2019-09-26 15:39:41 +02:00
Francesco Mani
ef850d1238 Merge branch 'nr-coreset-bug-fix' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-coreset-bug-fix 2019-09-26 15:14:36 +02:00
Sakthivel Velumani
f826eff564 more updates on pdsch offset 2019-09-26 11:11:05 +02:00
sebastian
d2875d0267 Now it compiles as well :) 2019-09-26 11:08:05 +02:00
sebastian
576198aa7b All optimizations done, all LUT deleted. Still some clean up to do. 2019-09-26 11:04:17 +02:00
Sakthivel Velumani
7db64f6981 a possible fix for pdsch prb offset problem (to be tested) 2019-09-26 10:05:20 +02:00
sebastian
a65f59c8c9 Adapted all for BG2, still somethings not working... to debug 2019-09-25 18:16:44 +02:00
Raphael Defosseux
c71e763919 CI: improvements on R2LAB deployment
- Add more IP routes / rules
  - OAI UE should be pingable!
  - Relative time column added to HTML report

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-09-25 15:56:54 +02:00
Sakthivel Velumani
5cd6476465 updated UE for PDCCH time first and interleaved mapping (cont. of commit b39d4530) 2019-09-25 15:27:18 +02:00
Florian Kaltenberger
af4242c61f temporary workaround for real-time issues
Conflicts:
	openair2/GNB_APP/gnb_config.c
2019-09-25 14:14:11 +02:00
Francesco Mani
1bbf2458ae Merge branch 'develop-nr' into nr-coreset-bug-fix 2019-09-25 12:43:09 +02:00
sebastian
6b5d2eee70 Optimization llr2cnProcBuf done for BG 1 2019-09-25 09:21:10 +02:00
laurent
733d1292c6 small fixes 2019-09-25 08:28:02 +02:00
Francesco Mani
ee20e21351 adding an if for dmrs offset config 2019-09-24 17:54:16 +02:00
sebastian
42a4649afd Optimized llr2cnProcBuf for BG1 and R13 but needs clean up. 2019-09-24 17:50:51 +02:00
Sakthivel Velumani
fdeb4c987d fix for DMRS offset (to be test) 2019-09-24 17:15:33 +02:00
Raphael Defosseux
8e17a35cef CI: fixing minor bugs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-09-24 16:13:07 +02:00
sebastian
508b63c444 Updated/Optimized nrLDPC_llrRes2llrOut 2019-09-24 11:03:46 +02:00
Sakthivel Velumani
2ee5164cab introduced DMRS offset before mapping to resources (to be tested) 2019-09-23 17:26:18 +02:00
Raymond Knopp
3aec31fddc allocation of null pointers 2019-09-23 16:51:12 +02:00
sebastian
215315c79a Optimized llr2llrProcBuf for BG1 2019-09-23 15:57:40 +02:00
Raymond Knopp
becbb0a45f added UE reading of configuration files (RRCReconfiguration,RadioBearerConfig) for static NSA without LTE 2019-09-23 15:26:32 +02:00
DUFRENE Louis Adrien TGI/OLS
2ca45bb3d7 [unbuilt] RRC Reconnection Complete for CU/DU done. Not done for monolithique 2019-09-23 11:43:38 +02:00
DUFRENE Louis Adrien TGI/OLS
93abc6d98b Merge branch 'orange_cdrx' of https://gitlab.forge.orange-labs.fr/afyf6286/oai-orange into orange_cdrx 2019-09-23 08:01:21 +02:00
Stefan Schaffelder
108aa72878 message-transfer-update 2019-09-23 08:01:02 +02:00
Stefan Schaffelder
e0b3e4fb89 rrc_eNB update 10/09 2019-09-23 08:01:02 +02:00
Stefan Schaffelder
1740153fae Status RRC-RECONFIGURED update 2019-09-23 08:01:02 +02:00
Stefan Schaffelder
020f0ef9e9 cdrx_configured update 2019-09-23 08:01:02 +02:00
Stefan Schaffelder
ddc336e2d8 asn1_msg.do_DrxConfig 2019-09-23 08:01:02 +02:00
Raymond Knopp
4b5ad6a9c4 ASN.1 encoding of EN-DC RRC messages functional (run with --phy-test) 2019-09-22 22:28:01 +02:00
Raymond Knopp
287c4c07c6 memory leaks and corrections in ASN.1 encoding of secondaryCellGroupConfig 2019-09-22 18:32:26 +02:00
Raymond Knopp
5d0e54c86b more memory leaks, debugging of ASN.1 encoding of servingCellGroupConfig 2019-09-21 09:01:06 +02:00
Cedric Roux
ff379fe08c get NR UE capabilities (hardcoded bands) 2019-09-20 17:29:54 +02:00
sebastian
7e4d2f03bb cn2bnProc/bn2cnProc optimization done for BG1, 11MB gained 2019-09-20 16:41:04 +02:00
Wang Tsu-Han
b2275c7b48 adding time stats for ru 2019-09-20 15:39:17 +02:00
Sakthivel Velumani
b39d453098 PDCCH time first mapping fix for UE side (fix only for non interleaved mapping) 2019-09-20 14:26:12 +02:00
Raymond Knopp
79bd161d41 missing file 2019-09-20 13:43:18 +02:00
Raymond Knopp
25f49631ff more memory leaks 2019-09-20 13:40:46 +02:00
Florian Kaltenberger
348343be8f the gNB scheduler now schedules both UL and DL 2019-09-20 11:44:01 +02:00
sebastian
db71a0b98c cn2bnProc is done 2019-09-20 11:24:06 +02:00
Raphael Defosseux
c86f8d6539 CI: first scripts for Inria R2LAB deployment
-- Adding the python framework of build and test to inria r2lab pipeline
  -- R2LAB pipeline has logCollections and artifacts storing
  -- Python framework should support latest Rel14 OAI openair-cn/cn-cups EPC
  -- Pipeline uses the latest version of booking-lease script (by duration)
  -- Support for distributed smartphone adb servers
  -- Initial scenarios:
     ** Build on one OAI 4G eNB and one OAI 4G UE
     ** Test in FDD band7 / 5MHz / TM1 in noS1 configuration
     ** Test in FDD band7 / 5MHz / TM1 with latest OpenAir-CN-CUPS --> just attachment

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-09-20 09:32:09 +02:00
Raymond Knopp
ae726696e4 fixing some memory leaks 2019-09-20 09:25:54 +02:00
Raymond Knopp
686d68a826 initial RRC for NSA 2019-09-20 08:49:04 +02:00
sebastian
51a45a4d12 Starting to put in the new reduced LUTs 2019-09-19 18:10:57 +02:00
Francesco Mani
5fcee9ccdc removing frequency first mapping (to be tested) 2019-09-19 16:54:36 +02:00
Cedric Roux
6f12c99131 minor: change output directory's name for NR RRC
it was 'NR_Rel15' and now it is 'RRC_NR_Rel15'
2019-09-19 15:44:59 +02:00
sebastian
79de8953aa Optimization of bn2cn shuffling 2019-09-18 17:37:16 +02:00
Wang Tsu-Han
046920e6bb changing ru process from slot base to symbol base 2019-09-18 16:36:50 +02:00
Francesco Mani
12ac400755 removing dmrs offset 2019-09-18 15:59:10 +02:00
Javier Morgade
3fbaf01eb3 Minor changes to also nable MBMS TUN interfaces with S1
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-18 12:57:22 +02:00
LouisAdrien
0bc7cf7c2f comment cdrx 2019-09-18 10:47:19 +02:00
Stefan Schaffelder
7e088701e1 message-transfer-update 2019-09-18 10:47:19 +02:00
Stefan Schaffelder
cd6b19fa53 rrc_eNB update 10/09 2019-09-18 10:47:19 +02:00
Stefan Schaffelder
73a90bf637 Status RRC-RECONFIGURED update 2019-09-18 10:47:19 +02:00
Stefan Schaffelder
28a4d4f501 cdrx_configured update 2019-09-18 10:47:19 +02:00
Stefan Schaffelder
f8c25858f2 asn1_msg.do_DrxConfig 2019-09-18 10:47:19 +02:00
Sakthivel Velumani
f296b84dcb added coreset offset test cases to the list 2019-09-18 10:21:40 +02:00
Sakthivel Velumani
c5586c2348 Added option to set coreset offset for dlsim 2019-09-18 10:10:53 +02:00
Stefan Schaffelder
189393f655 message-transfer-update 2019-09-17 16:15:58 +02:00
Sakthivel Velumani
053c292859 removed the unused for clause 2019-09-17 14:56:34 +02:00
Javier Morgade
143214e7b4 Remove few Cpp Warnings
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-17 13:15:08 +02:00
Javier Morgade
5f29a4e5a0 Code cleanup
-Removing unused files

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-16 22:36:50 +02:00
Sakthivel Velumani
3685b0936a removed the 2 lines added in previous merge 2019-09-16 16:19:37 +02:00
Javier Morgade
cad6e8a274 Enable MBMS USRP E2E operation
-reference config files updated

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-16 13:59:27 +02:00
laurent
0e9c068aad merge develop, add example config file 2019-09-16 12:40:54 +02:00
Javier Morgade
4405275bb3 MBMS UE/eNB scheduler adjustments to avoid RLC misalignments and false MTCH detections
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-16 12:13:59 +02:00
Dr.-Ing. Javier Morgade
ae4beed07d BUGFIX
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-16 09:41:08 +02:00
Javier Morgade
9393ad95bf commit just to trigger CI again: looks no commercial UEs were connected during the test ?
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 15:57:14 +02:00
Javier Morgade
8565b28a31 LOG level decreassed
BUGIFX PDCP MBMS PIPE

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 14:40:34 +02:00
Javier Morgade
de96a82365 -Dissable temporary some features at RU
-Refence config file cleanup

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 14:12:05 +02:00
Javier Morgade
334e3a57ef 1. Reference config file defined with basic MBMS configuration stuff
2. Dedicated MBMS tasks manager:
	   -If MBMS gets enabled through softmodem config file it will launch SCTP task (to check with S1 interface)
	3. "On the flight" dynamic RU configuration update mechanism implemented

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:59:53 +02:00
Javier Morgade
2bd1e119dd missing file
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:58:47 +02:00
Javier Morgade
365527d401 M3AP 3GPP TS 36.444 interface implemented:
1.MME entity developed to handle M3 side (new dedicated task developed: TASK_MME_APP) (these procedures should be moved to OPENAIR-CN ... just implemented to easy the E-UTRAN MBMS stuff development)
        2.MCE side M3 interface procedures (new dedicated task developed: TASK_M3AP_MCE)
        3.MME side M3 interface procedures (new dedicated task developed: TASK_M2AP_MME) (these procedures should be moved to OPENAIR-CN ... just implemented to easy the E-UTRAN MBMS stuff development)
        4.ASN1 bindings for m3ap-14.0.0.asn1 implemented and tested
        5.MME config parameters

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:53:39 +02:00
Javier Morgade
ab04e0e469 M2AP 3GPP TS 36.443 interface implemented:
1.MCE (Multicast Control Entity) entity developed (new dedicated task developed: TASK_MCE_APP)
	2.eNB side M2 interface procedures (new dedicated task developed: TASK_M2AP_ENB)
	3.MCE side M2 interface procedures (new dedicated task developed: TASK_M2AP_MCE)
	4.ASN1 bindings for m2ap-14.0.0.asn1 implemented and tested
	5.MCE config parameters

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:45:27 +02:00
Javier Morgade
3992eb9e87 -MBMS RRC procedures for M2AP
-On the fligh MBMS recofiguration for MBSFN, sib13,sib2 and MCCH enabled through M2 interface (MCE)
	-RRC NAS update for MBMS TUN interfaces configuration
	-UE RRC modified to handle dynamic SIB2 (MBSFN Subframe Config Lists), SIB13 (MCCH) reconfigurations (TO CAREFULLY BE CHECKED)

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:36:09 +02:00
Javier Morgade
97bc5e9292 Few missing files from previous commit
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:34:08 +02:00
Javier Morgade
dc14cdc665 *L2 procedures to enable mixed unicast/broadcast operation at ENB implemeted:
-MBMS scheduler developed (oneFrame allocations implemented at this time)
	-UE DSLCH schedulers updated: if an eMBMS session running UE DTCH, DCCH will be only scheduled at non MBSFN sufbframes
	-eMBMS L2 procedures implemented
	-Dedicated MBMS PDCP pipes src/sink enabled (only for TUN)
	-BUGFIX eMBMS MAC procedures (wrong indexing at few loops)
	-ENB FAPI updated to enable dynamic MBSFN configurations through M2AP (RRC<->MCE)

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:23:30 +02:00
Javier Morgade
bcf42ca2a5 Implemented M2AP managing procedures at eNB (ENB_APP)
-M2 register against MCE (Multicast Control Entity)
	-Basic M2AP control procedures developed (eNB<-M2AP->MCE)

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:19:00 +02:00
javier.morgade@ieee.org
f76cc82448 New common definitons for M2,M3 interfaces
-3GPP TS version 36.443 and 36.444

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: javier.morgade@ieee.org <javier.morgade@ieee.org>
2019-09-14 13:13:00 +02:00
javier.morgade@ieee.org
400c5458d4 Dedicated TUN interfaces for eMBMS oaitun_enm1 (eNB) <-> oaitun_uem1 (UE)
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: javier.morgade@ieee.org <javier.morgade@ieee.org>
2019-09-14 13:05:38 +02:00
javier.morgade@ieee.org
65133d4e18 Implemented eMBMS FFT procedures (scheduling)
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: javier.morgade@ieee.org <javier.morgade@ieee.org>
2019-09-14 13:02:56 +02:00
javier.morgade@ieee.org
1f50bea34a PMCH L1 Procedures updated
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: javier.morgade@ieee.org <javier.morgade@ieee.org>
2019-09-14 13:00:06 +02:00
javier.morgade@ieee.org
ac1347843f COMMON types updated: VCD,FAPI
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: javier.morgade@ieee.org <javier.morgade@ieee.org>
2019-09-14 12:55:32 +02:00
Florian Kaltenberger
04ea6a482b Merge branch '442-integrate-pusch-into-nr-ue-softmodem' of https://gitlab.eurecom.fr/oai/openairinterface5g into 442-integrate-pusch-into-nr-ue-softmodem 2019-09-13 16:21:58 +02:00
Florian Kaltenberger
257b70a7eb PUSCH now scheduled in slot 2 2019-09-13 16:21:30 +02:00
Florian Kaltenberger
f4758a17da temporary workaround for real-time issues 2019-09-13 15:31:25 +02:00
Francesco Mani
d64533bc9d bugfix in monitoring_symbols_in_slot 2019-09-12 17:18:11 +02:00
Francesco Mani
34efe2973f temporary fix for minimum bandwidth in mib decoding 2019-09-12 17:12:39 +02:00
Sakthivel Velumani
adc3ab4e8f 1.Fixed bug in setting UE's coreset.frequecny_domain_resource
2.Set UE's coreset.rb_offset according to gNB's
2019-09-11 18:16:43 +02:00
Sakthivel Velumani
8119806fb7 Fixed a bug that skips some rbs when extracting DCIs (happens for non zero rb_offset) 2019-09-11 18:10:38 +02:00
Sakthivel Velumani
2af315bdf1 Removed the PDCCH DMRS offset which was unnecessary according to 38.211 7.4.1.3 2019-09-11 18:05:51 +02:00
Florian Kaltenberger (Italie)
a9e07dce5f updating beamforming weights 2019-09-11 13:50:05 +02:00
Raymond Knopp
b2bdf7eb9a temporary commit 2019-09-11 10:57:31 +02:00
Stefan Schaffelder
33d7dedd05 rrc_eNB update 10/09 2019-09-10 15:46:25 +02:00
Wang Tsu-Han
9ccb93a094 adding mask for feptx thread and VCD logging 2019-09-09 15:36:08 +02:00
javier.morgade@ieee.org
de46db5f6e M2AP, M3AP common defs 2019-09-08 21:59:38 +02:00
javier.morgade@ieee.org
2a35715c9e M2AP, M3AP ITTI message defs/types 2019-09-08 21:53:13 +02:00
javier.morgade@ieee.org
65fd0de559 Merge remote-tracking branch 'origin/develop' into fed4fire_fec5_cdn-x-all 2019-09-08 21:46:20 +02:00
Florian Kaltenberger
6d69a1069f adding PHY side of FAPI UL handling 2019-09-06 18:12:13 +02:00
Florian Kaltenberger
2f402b1055 reducing number of UEs to save memory 2019-09-06 18:11:54 +02:00
Florian Kaltenberger
e96dfd4b52 adding PHY side of FAPI UL handling 2019-09-06 16:25:41 +02:00
Florian Kaltenberger
7fb14ab321 adding MAC part of 5G FAPI interface for PUSCH. Since the previous version was incomplete anyway I merged in the new SCF specs and used those (only for PUSCH). Todo: implement PHY part. 2019-09-05 16:40:31 +02:00
Raphael Defosseux
0fe0dd89bb CI: CDRX testing was limited to 1 UE due to instability. Back to normal testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-09-05 15:53:01 +02:00
Stefan Schaffelder
8ba41e82a2 Status RRC-RECONFIGURED update 2019-09-05 15:27:26 +02:00
Florian Kaltenberger
fa040160d0 Merge remote-tracking branch 'origin/5g_fapi_scf' into 442-integrate-pusch-into-nr-ue-softmodem 2019-09-05 06:42:30 +02:00
Raymond Knopp
adf76a5f51 Merge remote-tracking branch 'origin/develop-nr' into nr_prach
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	executables/nr-ru.c
	executables/nr-softmodem.c
	nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
	openair1/PHY/INIT/nr_init.c
	openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
	openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
	openair1/PHY/TOOLS/Makefile
	openair1/PHY/TOOLS/lte_dfts.c
	openair1/PHY/TOOLS/nr_phy_scope.c
	openair1/SCHED_NR/phy_procedures_nr_common.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair1/SIMULATION/NR_PHY/dlschsim.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/pbchsim.c
	openair1/SIMULATION/NR_PHY/pucchsim.c
	openair1/SIMULATION/NR_PHY/ulschsim.c
	openair1/SIMULATION/NR_PHY/ulsim.c
	openair2/COMMON/rrc_messages_types.h
	openair2/GNB_APP/RRC_nr_paramsvalues.h
	openair2/GNB_APP/gnb_config.c
	openair2/GNB_APP/gnb_paramdef.h
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
	openair2/NR_PHY_INTERFACE/NR_IF_Module.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
2019-09-05 05:01:26 +02:00
Stefan Schaffelder
b01623f698 cdrx_configured update 2019-09-03 15:42:45 +02:00
Stefan Schaffelder
5f00b40e45 asn1_msg.do_DrxConfig 2019-09-03 14:17:58 +02:00
Wang Tsu-Han
009bacc8af fixes for feptx LTE 2019-08-30 17:04:09 +02:00
Wang Tsu-Han
131ad5383d adding precoding into feptx thread and having 2 threads per antenna 2019-08-30 15:06:16 +02:00
laurent
839a7997d1 UE attach complete, added traces ulsch coding, remove temporary renaming 2019-08-29 19:22:46 +02:00
Florian Kaltenberger
dd7a65ceba temporary workaround for real-time issues 2019-08-29 17:51:37 +02:00
laurent
f112de54b1 fix -O3 issue; add FS6_REMOTE_IP to set distant CU or DU 2019-08-28 09:35:27 +02:00
laurent
f1b677f849 Remove useless differences with regular OAI, enhance the build to be compatible with regular binaries 2019-08-27 18:47:12 +02:00
Raymond Knopp
c4b2eeb2d4 intermediate commit before merge 2019-08-27 09:43:47 +02:00
laurent
43c07e401d fix SR report from UE->DU->CU, remain later failure in PUSCH allocation 2019-08-26 21:14:25 +02:00
laurent
1fe5ed6f3a changed terminology from/to split 2019-08-25 20:45:13 +02:00
laurent
55660e87ca RACH working, fails later during MME authentication 2019-08-25 20:32:57 +02:00
laurent
cb41822b42 ulsch turbo decode success, fails after now 2019-08-24 18:59:45 +02:00
laurent
d28419cfca usage of setAllfromTS in also monolitic version, RACH detected to the cu, several bugs fixed, still no attach complete 2019-08-24 16:28:55 +02:00
Ahmed Hussein
e27a88f6a6 Adding new command line parameters 2019-08-23 16:08:57 +02:00
Ahmed Hussein
45c764a3ae Adding TA estimation at gNB PHY for TA updates 2019-08-23 16:08:57 +02:00
Ahmed Hussein
5ba4de4d1d Reordering frame and SNR loops 2019-08-23 16:08:57 +02:00
Ahmed Hussein
768d214122 Providing time domain channel estimates 2019-08-23 16:08:57 +02:00
Ahmed Hussein
53e6a5223c Minor Fixes in ulsim 2019-08-23 16:08:57 +02:00
Ahmed Hussein
f398e4999b Set start_rb to 0
- start_rb was set to 30, and nb_rb was set to 50 with NB_RB_DL = 106.
- When the DC subcarrier is included in the RB allocation,
  this causes errors in FFT/IFFT operations arounf the DC subcarrier
- This leads to errors in unscrambling and decoding
2019-08-23 16:08:57 +02:00
Ahmed Hussein
2660f4ea4f Added frame loop to ulsim 2019-08-23 16:08:57 +02:00
Ahmed Hussein
0e78faa744 TBS fix at UE side + minor restructuring in "phy_procedures_nrUE_TX"
- TBS calculation was performed 2 times. Once in "phy_procedures_nrUE_TX" and
  another in "nr_ue_ulsch_procedures". The TBS calculation was wrong in "phy_procedures_nrUE_TX"
  and correct in "nr_ue_ulsch_procedures".

- The data generation was performed in "phy_procedures_nrUE_TX" with a wrongly
  calculated TBS because "ulsch_ue->nb_re_dmrs" wasn't set to a value, so the calculated
  TBS would be more than it should be. This doesn't create a problem in the test because
  the comparison between the TX and RX data is made using the correctly calculated TBS
  which is smaller.

- Solution was to perform data generation in "nr_ue_ulsch_procedures", and remove TBS calculation
  in "phy_procedures_nrUE_TX"
2019-08-23 16:08:57 +02:00
Ahmed Hussein
294e425645 Minor fixes and edits in ulsch_decoding 2019-08-23 16:08:57 +02:00
Khalid Ahmed
1d35890259 Add macro to print CRC OK at gNB PUSCH 2019-08-23 16:08:57 +02:00
Khalid Ahmed
c4ae0b0691 Fixing TDD mode using USRP x300 2019-08-23 16:08:57 +02:00
Khalid Ahmed
bb2efbe42c optimizing nr_ue_ulsch_procedures 2019-08-23 16:08:57 +02:00
Ahmed Hussein
779e8996e3 Minor fixes
- removing "Nsymb_pusch" and "Nsc_pusch" from "NR_UE_ULSCH_t"
- using "number_of_symbols" from "NR_UL_UE_HARQ_t" instead
- removing "generate_ue_ulsch_params"
2019-08-23 16:08:57 +02:00
Khalid Ahmed
fc2bbeef69 Adding VCD liberaries to nr-softmodem/nr-uesoftmodem 2019-08-23 16:08:56 +02:00
Khalid Ahmed
69abec3df1 Fix ulsim and PUSCH in rf-simulator
- initialize PUSCH parameters properly
2019-08-23 16:08:56 +02:00
Thomas Schlichter
34899cd404 fix compilation of phy simulators introduced from the usage of get_band() 2019-08-23 16:08:56 +02:00
Khalid Ahmed
9148716641 TDD fixes in real-time environment 2019-08-23 16:08:56 +02:00
Khalid Ahmed
d12a824433 TDD in rfsimulator 2019-08-23 16:08:56 +02:00
Khalid Ahmed
2b94608329 handle tx_offset with negative value 2019-08-23 16:08:56 +02:00
Khalid Ahmed
35b85d456c fixing a memory leak in nr_ue_ulsch_procedures 2019-08-23 16:08:56 +02:00
Khalid Ahmed
f9b583e06e PUSCH running with rfsimulator 2019-08-23 16:08:56 +02:00
Thomas Schlichter
4541922258 fix crashes in nr_ulsch_decoding
- initialize p_decParams->Z from harq_process not only in round 0
- do not set opp_enabled=1, this crashes in LDPC encoder
2019-08-23 16:08:56 +02:00
Thomas Schlichter
f51796180d fix gNB linker error and various warnings 2019-08-23 16:08:56 +02:00
Ahmed Hussein
abfd072376 channel estimation, compensation, etc ..
Added the following folder:
- ../openair1/PHY/NR_ESTIMATION/

Added the following file to CMakelists.txt:
- ../openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c

Added the following functions:
- nr_pusch_dmrs_rx
- nr_gold_pusch
- nr_ulsch_channel_level
- nr_ulsch_channel_compensation
- nr_ulsch_scale_channel is commented out (I think only used for downlink)

Changes from Khalid Ahmed Mahmoud Mohamed:
- nr_pusch_channel_estimation is used
- nr_ulsch_scale_channel is used
- nr_ulsch_channel_level is used
- nr_ulsch_channel_compensation is used
- multiple logging options for channel and signal magnitude
2019-08-23 16:08:56 +02:00
Ahmed Hussein
9d27079f05 adding PUSCH procedures to gNB side in RT with some logs
- removed gNB RT from "ru_procedures.c" to "nr_ru_procedures"
- added a new thread "nr_feprx_thread"
- added some functionalities for fep for rx in "nr_ru_procedures.c"
2019-08-23 16:08:56 +02:00
Khalid Ahmed
978f683eca using LOG_I instead of LOG_D in RT PUSCH UE side 2019-08-23 16:08:56 +02:00
Khalid Ahmed
9d4f5b4de7 Adding Frame tx to LOG_D for debugging 2019-08-23 16:08:56 +02:00
Khalid Ahmed
8effb52c84 Restrict UL transmission to NR_UPLINK_SLOT 2019-08-23 16:08:56 +02:00
Thomas Schlichter
ece26036e6 Consolidate header files for nr_phy_scope 2019-08-23 16:08:56 +02:00
Khalid Ahmed
705f2c1e42 enabling PUSCH UE side in RT 2019-08-23 16:08:56 +02:00
Kujou
20d41208c8 to test S3.4 2019-08-16 15:25:51 +08:00
Kujou
bea98773b0 Sec 3.4 2019-08-16 15:16:55 +08:00
Kujou
c8471c1e54 finish section 3.3 and 3.4 2019-08-16 05:24:04 +08:00
Kujou
fb4165d62b S3.3 compile OK 2019-08-14 22:55:53 +08:00
Wang Tsu-Han
21fa809ce0 Merge branch 'ru_parallel' into ru-parallel-beamforming
Conflicts:
	executables/nr-ru.c
	nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
	openair1/SCHED_NR/nr_ru_procedures.c
2019-08-14 16:51:59 +02:00
Kujou
e901aa79ab fix .h 2019-08-14 22:24:48 +08:00
Francesco Mani
09d3c72144 fix on single beam transmission 2019-08-14 16:23:32 +02:00
Kujou
224b781848 to test 2019-08-14 21:45:12 +08:00
Kujou
4d84f5cd87 to test 2019-08-14 21:39:43 +08:00
Florian Kaltenberger
8677d44ae9 fixing a bug in UE FAPI interface 2019-08-14 14:51:38 +02:00
Florian Kaltenberger
dbc9472aaf fixes in beamforming 2019-08-14 11:34:02 +02:00
laurent
b907922014 SIB ok for UE, UE send RACH 2019-08-13 21:03:45 +02:00
Francesco Mani
a292f82fe2 conficts solved after merge with develop-nr 2019-08-13 17:52:07 +02:00
laurent
9fb9ac5387 UE primary sync ok, DU upper layers disabled, UE DCI decoding nok (partial) 2019-08-12 21:32:46 +02:00
Kujou
75305c383b adding initial version of fapi_nr_interface_scf.h 2019-08-12 20:13:00 +08:00
javier.morgade@ieee.org
c830d758e7 Added M3AP ETSI TS 136 444 V14.0.0 ASN1 references
Added M2AP ETSI TS 136 443 V14.0.0 ASN1 references
2019-08-11 12:48:33 +02:00
Wang Tsu-Han
054156c16c Merge branch 'nr-timing-measurement' into ru_parallel
Conflicts:
	executables/nr-ru.c
2019-08-09 17:10:48 +02:00
Wang Tsu-Han
4fbf754de5 adding condition for multi L1 and TDD slot select in nr_feptx_prec 2019-08-09 16:55:18 +02:00
laurent
32e19dbbb7 removed all frame/subframe copies distributed update, replace by a single function 2019-08-09 08:10:36 +02:00
Francesco Mani
46adc28e08 fixing segmentation fault for 1 nb_tx 2019-08-07 17:24:42 +02:00
Francesco Mani
794aac4137 initializing beam_weights to I 2019-08-07 16:46:36 +02:00
Francesco Mani
c97cd87d47 nrbeam_weights and num port as SSB 2019-08-06 18:28:09 +02:00
Raymond Knopp
6fed116b33 adding nr_common.c 2019-08-06 08:48:01 +02:00
laurent
88d5739040 continue timestamp 2019-08-05 21:19:27 +02:00
ferrieux
ebb52e388b test mail, qui marche \! 2019-08-03 15:50:50 +02:00
laurent
43c2e779b1 Merge branch 'fs6' of http://open-cells.com/git/laurent/openair-systemx into fs6 2019-08-03 11:51:48 +02:00
laurent
0d58255905 test 2019-08-03 11:51:11 +02:00
ferrieux
9b8e103329 test mail 2019-08-02 21:49:09 +02:00
laurent
02c8b38b18 adding timestamp management 2019-08-02 11:08:09 +02:00
Francesco Mani
1d3023a5f6 adapting beamforming functions from LTE to NR 2019-08-01 18:08:30 +02:00
laurent
5a7cbde584 test mail 2019-08-01 12:23:38 +02:00
laurent
cd920b09eb test mail 2019-08-01 10:18:16 +00:00
laurent
75665ad0fc Create DL sub header 2019-08-01 10:45:25 +02:00
Francesco Mani
2d35c28633 minor fix 2019-07-31 12:41:08 +02:00
Raymond Knopp
56d7f6fcaf Merge remote-tracking branch 'origin/develop-nr' into nr_prach
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	executables/nr-ue.c
	openair1/PHY/INIT/nr_init.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch.h
	openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
	openair1/PHY/defs_gNB.h
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR_UE/defs.h
	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair1/SIMULATION/NR_PHY/pucchsim.c
	openair1/SIMULATION/NR_PHY/ulschsim.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
2019-07-29 15:48:26 +02:00
laurent
2af75f48f2 merge develop 2019-07-29 09:12:24 +02:00
laurent
e67081e749 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into fs6 2019-07-29 08:58:54 +02:00
laurent
9e4f59f8e5 add SystemX documentation 2019-07-29 08:58:40 +02:00
Raymond Knopp
2850def8b7 compilation of all targets ok. 2019-07-28 08:02:49 +02:00
Raphael Defosseux
4c0d814873 CI: dummy commit to re-run CI job
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-26 15:42:48 +02:00
laurent
a9122624a1 progress fs6 uplink 2019-07-26 11:24:51 +02:00
laurent
94831547c7 add prach 2019-07-23 18:24:27 +02:00
Francesco Mani
2070a3305f mapping each ssb to a different logical antenna port 2019-07-22 17:10:52 +02:00
laurent
c48609f9af merge develop (split pdsch/dlsch) 2019-07-18 15:10:20 +02:00
laurent
926cf580d4 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into fs6 2019-07-18 12:24:55 +02:00
laurent
8f3a5d455c continue coding DL 2019-07-16 20:50:31 +02:00
Raymond Knopp
408422ef7b Merge branch 'nr_prach' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_prach 2019-07-16 06:28:20 +02:00
Raymond Knopp
90e6a90e53 commit prior to merge 2019-07-16 06:28:10 +02:00
laurent
b8005ed09a more code 2019-07-15 20:09:56 +02:00
laurent
740a68bf6f Merge branch 'fs6' of http://open-cells.com/git/laurent/openair-systemx into fs6 2019-07-15 10:51:08 +02:00
laurent
a4300281ba Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into fs6 2019-07-15 10:42:39 +02:00
ferrieux
50aa4dcc58 test commit - just whitespace 2019-07-13 22:06:34 +02:00
laurent
6b662a3ed9 compiles 2019-07-12 17:25:52 +02:00
laurent
24e01ea29d merge develop 2019-07-08 11:48:15 +02:00
laurent
db85b23122 continue ocp-main.c 2019-07-05 16:27:28 +02:00
laurent
92442cece2 progress in main cleanup coding 2019-07-01 16:43:47 +02:00
laurent
217491cbbf progress in main cleanup coding 2019-07-01 15:46:38 +02:00
Francesco Mani
d342e2d12b fix for ssb periodicity 2019-06-28 10:12:00 +02:00
Francesco Mani
62dd59d868 attempt to solve a couple of segmentation faults 2019-06-25 17:28:09 +02:00
laurent
8493071bde merge develop 2019-06-25 13:45:11 +02:00
laurent
0ba0422df7 add simple main 2019-06-24 22:04:14 +02:00
Florian Kaltenberger
bcfa6f2cd4 Merge branch 'nr_ue_prach_procedures' into 'nr_prach'
added PRACH UE Procedures into prachsim

See merge request oai/openairinterface5g!616
2019-06-21 11:11:42 +02:00
Srushti
dcf25f35c7 added PRACH UE Procedures into prachsim 2019-06-21 11:11:42 +02:00
laurent
9371c56934 merge branch origin/channel-simulation-in-rfsimulator 2019-06-18 09:00:05 +02:00
laurent
17d5bcd396 dev continue 2019-06-18 08:57:08 +02:00
Raymond Knopp
5eb919e9fe added handling of time resources for CSS scheduling. 2019-06-14 00:02:59 +02:00
laurent
7653b79f31 Merge remote-tracking branch 'origin/develop' into ocpgit/fs6 2019-06-13 10:51:39 +02:00
Raymond Knopp
07ac703fec removal of mobipass 2019-06-05 08:31:44 +02:00
Raymond Knopp
012c2dc82b fixed residual error in dlschsim.c after change of RAN_context_t structure changed. 2019-06-04 18:46:37 +02:00
Raymond Knopp
0cfb6c232d Merge remote-tracking branch 'origin/develop-nr' into nr_prach 2019-06-04 06:19:19 +02:00
Raymond Knopp
cdb38930ac compilation of unitary FFT tests 2019-06-04 06:11:12 +02:00
Raymond Knopp
83bdc96928 nr-softmodem compilation ok 2019-06-03 15:45:00 +02:00
Raymond Knopp
ace24c8919 unitary simulation compilation and simple testing 2019-06-03 15:31:01 +02:00
Raymond Knopp
34a7bdd3bb finishing merge with develop-nr 2019-06-03 15:05:21 +02:00
Raymond Knopp
97cd210514 Merge remote-tracking branch 'origin/develop-nr' into nr_prach
Conflicts:
	cmake_targets/build_oai
	executables/nr-gnb.c
	openair1/PHY/INIT/nr_init.c
	openair1/PHY/defs_gNB.h
	openair1/SCHED_NR/fapi_nr_l1.c
	openair2/LAYER2/NR_MAC_gNB/config.c
	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
	openair2/RRC/NR/rrc_gNB.c
2019-06-03 14:31:32 +02:00
Raymond Knopp
1f228ee4d1 - reworked configuration file and configuration for gNB (write directly to ASN1 structure from config module instead of passing intermediate structures)
- added prach procedures for gNB with configuration of PRACH L1/L2 parameters
2019-06-02 23:40:57 +02:00
laurent
4bf5f598fb begining functional split 6 2019-06-02 16:59:32 +02:00
Raymond Knopp
a8d8b590c7 added missing files for nr_prach with respect to previous commit. Added nr_prachsim to build_oai. 2019-05-28 13:16:56 +02:00
Raymond Knopp
48c24e5f4d testing successful with 122.88 Ms/s, format A2, NCS 13 2019-05-26 23:05:12 +02:00
Raymond Knopp
ef27c8ce04 initial prach implementation. Splitting of components for RU (FFTs) and L1 (detection). Update of UE to include all formats (for 30 kHz SCS case on initial BWP) 2019-05-26 09:55:54 +02:00
Raymond Knopp
a66c297a84 Merge branch 'develop-nr' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-nr 2019-05-18 12:28:46 +02:00
Raymond Knopp
f71c2e0830 initial commit of gNB prach processing 2019-05-14 11:42:17 +02:00
1111 changed files with 185817 additions and 56115 deletions

10
.gitignore vendored
View File

@@ -5,6 +5,16 @@
cmake_targets/log/
cmake_targets/*/build/
cmake_targets/ran_build/
cmake_targets/nas_sim_tools/build/
log/
lte_build_oai/
targets/bin/
# vscode
.vscode
# Tags for vim/global
GPATH
GRTAGS
GTAGS
tags

28
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,28 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "enter program name, for example ${workspaceFolder}/a.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/path/to/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

96
CHANGELOG.md Normal file
View File

@@ -0,0 +1,96 @@
# RELEASE NOTES: #
## [v1.2.1](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.2.1) -> February 2020. ##
* Bug fix for mutex lock for wake-up signal
## [v1.2.0](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.2.0) -> January 2020. ##
This version adds the following implemented features:
* LTE-M : eNB support for Mode A repetitions
- PUSCH CE - 8 Repetitions
* Improved CDRX implementation for monolithic eNB
* Experimental eMBMS support (now also on eNB side)
* Experimental MCE - Multicast Coordination Entity
* Bug fixes
This version also has an improved code quality:
* Better Test Coverage in Continuous Integration:
- Initial framework to do long-run testing at R2LAB
## [v1.1.1](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.1.1) -> November 2019. ##
- Bug fix in the TDD Fair Round-Robin scheduler
## [v1.1.0](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.1.0) -> July 2019. ##
This version adds the following implemented features:
* Experimental support of LTE-M
- Single LTE-M UE attachment, legacy-LTE UE attachment is disabled
* X2 interface and handover (also X2-U interface)
- In FDD and TDD
* CU/DU split (F1 interface)
- Tested only in FDD
* CDRX
- Tested only in FDD
* Experimental eMBMS support (only on UE side)
* Experimental multi-RRU support
- Tested only in TDD
This version has an improved code quality:
* Simplification of the Build System
- A single build includes all full-stack simulators, S1/noS1 modes and one HW platform (such as USRP, BladeRF, ...)
* TUN interface is now used as default for the data plane
- for UE, eNB-noS1 and UE-noS1
* Code Cleanup
* Better Static Code Analysis:
- Limited number of errors in cppcheck
- Important Decrease on high Impact errors in CoverityScan
* Better Test Coverage in Continuous Integration:
- TM2, CDRX, IF4.5, F1
- OAI UE is tested in S1 and noS1 modes with USRP board
- Multi-RRU TDD mode
- X2 Handover in FDD mode
## [v1.0.3](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.0.3) -> June 2019. ##
- Bug fix for LimeSuite v19.04.0 API
## [v1.0.2](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.0.2) -> February 2019. ##
- Full OAI support for 3.13.1 UHD
## [v1.0.1](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.0.1) -> February 2019. ##
- Bug fix for the UE L1 simulator.
## [v1.0.0](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tags/v1.0.0) -> January 2019. ##
This version first implements the architectural split described in the following picture.
![Block Diagram](./doc/images/oai_lte_enb_func_split_arch.png)
* Only FAPI, nFAPI and IF4.5 interfaces are implemented.
* Repository tree structure prepares future integrations of features such as LTE-M, nbIOT or 5G-NR.
* Preliminary X2 support has been implemented.
* S1-flex has been introduced.
* New tools: config library, telnet server, ...
* A lot of bugfixes and a proper automated Continuous Integration process validates contributions.
Old Releases:
* v0.6.1 -> Mostly bugfixes. This is the last version without NFAPI.
* v0.6 -> RRH functionality, UE greatly improved, better TDD support, a lot of bugs fixed.
- WARNING: oaisim in PHY abstraction mode does not work, you need to use v0.5.2 for that.
* v0.5.2 -> Last version with old code for oaisim (abstraction mode works)
* v0.5.1 -> Merge of bugfix-137-uplink-fixes. It includes stablity fixes for eNB
* v0.5 -> Merge of enhancement-10-harmony-lts. It includes fixes for Ubuntu 16.04 support
* v0.4 -> Merge of feature-131-new-license. It closes issue#131 and changes the license to OAI Public License V1.0
* v0.3 -> Last stable commit on develop branch before the merge of feature-131-new-license. This is the last commit with GPL License
* v0.2 -> Merge of enhancement-10-harmony to include NGFI RRH + New Interface for RF/BBU
* v0.1 -> Last stable commit on develop branch before enhancement-10-harmony

22
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,22 @@
# Contributing to OpenAirInterface #
We want to make contributing to this project as easy and transparent as possible.
1. Sign and return a Contributor License Agreement to OAI team.
2. We recommend that you provide us with a professional or student email address
2. Register on [Eurecom GitLab Server](https://gitlab.eurecom.fr/users/sign_in)
3. Provide the OAI team with the **username** of this account to (mailto:contact@openairinterface.org) ; we will give you the developer rights on this repository.
4. The policies are described in these wiki pages: [OAI Policies](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/oai-policies-home)
- PLEASE DO NOT FORK the OAI repository on your own Eurecom GitLab account. It just eats up space on our servers.
- You can fork onto another hosting system. But we will NOT accept a merge request from a forked repository.
* This decision was made for the license reasons.
* The Continuous Integration will reject your merge request.
- All merge requests SHALL have `develop` branch as target branch.
## Coding Styles ##
There are described [here](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/guidelines/guidelines-home)
## License ##
By contributing to OpenAirInterface, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.

23
NOTICE.md Normal file
View File

@@ -0,0 +1,23 @@
The source code of openairinterface5g is distributed under **OAI Public License V1.1**.
For more details of the license, refer to [LICENSE](LICENSE) file in the same directory.
However, the source code also contains third party software that is acknowledged here for reference.
## Credits for LFDS user space source code located in folder openair2/UTILS/LFDS/ ##
See on [liblfds website](https://liblfds.org/) the license section.
<pre>
"There is no license. You are free to use this software in any way, for any purpose. Go forth and create wealth!
If however for legal reasons a licence is required, the license of your choice will be granted."
</pre>
## Credits for source code common/utils/collection/queue.h: ##
The Regents of the University of California: BSD 3-Clause Licence.
## Credits for source code common/utils/collection/tree.h: ##
Niels Provos <provos@citi.umich.edu>: BSD 2-Clause Licence.

View File

@@ -1,21 +0,0 @@
The source code of openairinterface5g is distributed under OAI Public License V1.0.
For more details of the license, refer to LICENSE file in the same directory.
However, the source code also contains third party software that is acknowledged here for reference.
Credits for LFDS user space source code located in folder openair2/UTILS/LFDS/liblfds6.1.1/
http://liblfds.org/.
Extract from http://liblfds.org/pages/downloads_and_license.html:
"There is no license. You are free to use this software in any way, for any purpose. Go forth and create wealth!
If however for legal reasons a licence is required, the license of your choice will be granted."
Credits for source code common/utils/collection/queue.h:
The Regents of the University of California: BSD 3-Clause Licence.
Credits for source code common/utils/collection/tree.h:
Niels Provos <provos@citi.umich.edu>: BSD 2-Clause Licence.

73
README.md Normal file
View File

@@ -0,0 +1,73 @@
# OpenAirInterface License #
OpenAirInterface is under OpenAirInterface Software Alliance license.
* [OAI License Model](http://www.openairinterface.org/?page_id=101)
* [OAI License v1.1 on our website](http://www.openairinterface.org/?page_id=698)
It is distributed under **OAI Public License V1.1**.
The license information is distributed under [LICENSE](LICENSE) file in the same directory.
Please see [NOTICE](NOTICE.md) file for third party software that is included in the sources.
# Where to Start #
* [The implemented features](./doc/FEATURE_SET.md)
* [How to build](./doc/BUILD.md)
* [How to run the modems](./doc/RUNMODEM.md)
# RAN repository structure #
The OpenAirInterface (OAI) software is composed of the following parts:
<pre>
openairinterface5g
├── ci-scripts : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── cmake_targets : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.
├── common : Some common OAI utilities, other tools can be found at openair2/UTILS.
├── doc : Contains an up-to-date feature set list and starting tutorials.
├── executables : Top-level executable source files.
├── LICENSE : License file.
├── 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 / 3GPP NR Rel-15 layer. A local Readme file provides more details.
│   ├── PHY
│   ├── SCHED
│   ├── SCHED_NBIOT
│   ├── SCHED_NR
│   ├── SCHED_NR_UE
│   ├── SCHED_UE
│   └── SIMULATION : PHY RF simulation.
├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation. Also 3GPP NR Rel-15 RLC/MAC/PDCP/RRC/X2AP.
│   ├── COMMON
│   ├── DOCS
│   ├── ENB_APP
│   ├── F1AP
│   ├── GNB_APP
│   ├── LAYER2/RLC/ : with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0.
│   ├── LAYER2/PDCP/PDCP_v10.1.0
│   ├── M2AP
│   ├── MCE_APP
│   ├── NETWORK_DRIVER
│   ├── NR_PHY_INTERFACE
│   ├── NR_UE_PHY_INTERFACE
│   ├── PHY_INTERFACE
│   ├── RRC
│   ├── UTIL
│   └── X2AP
├── openair3 : 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
│   ├── COMMON
│   ├── DOCS
│   ├── GTPV1-U
│   ├── M3AP
│   ├── MME_APP
│   ├── NAS
│   ├── S1AP
│   ├── SCTP
│   ├── SECU
│   ├── TEST
│   ├── UDP
│   └── UTILS
└── targets : Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW.
</pre>

View File

@@ -1,94 +0,0 @@
OpenAirInterface is under OpenAirInterface Software Alliance license.
├── http://www.openairinterface.org/?page_id=101
├── http://www.openairinterface.org/?page_id=698
It is distributed under OAI Public License V1.1.
The license information is distributed under LICENSE file in the same directory.
Please see NOTICE.txt for third party software that is included in the sources.
The OpenAirInterface (OAI) software is composed of the following parts:
openairinterface5g
├── ci-scripts: Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── cmake_targets: Build utilities to compile (simulation, emulation and real-time platforms), and generated build files
├── common : Some common OAI utilities, other tools can be found at openair2/UTILS
├── doc : Contains an up-to-date feature set list
├── LICENSE
├── 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.
├── COMMON
├── DOCS
├── ENB_APP
├── LAYER2/RLC/ with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0.
├── LAYER2/PDCP/PDCP_v10.1.0.
├── NETWORK_DRIVER
├── PHY_INTERFACE
├── RRC/LITE
├── UTIL
├── X2AP
├── openair3: 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
├── COMMON
├── DOCS
├── GTPV1-U
├── NAS
├── S1AP
├── SCTP
├── SECU
├── UDP
├── UTILS
└── targets: Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW.
RELEASE NOTES:
v1.1.0 -> July 2019. This version adds the following implemented features:
* Experimental support of LTE-M
- Single LTE-M UE attachment, legacy-LTE UE attachment is disabled
* X2 interface and handover (also X2-U interface)
- In FDD and TDD
* CU/DU split (F1 interface)
- Tested only in FDD
* CDRX
- Tested only in FDD
* Experimental eMBMS support (only on UE side)
* Experimental multi-RRU support
- Tested only in TDD
This version has an improved code quality:
* Simplification of the Build System
- A single build includes all full-stack simulators, S1/noS1 modes and one HW platform (such as USRP, BladeRF, ...)
* TUN interface is now used as default for the data plane
- for UE, eNB-noS1 and UE-noS1
* Code Cleanup
* Better Static Code Analysis:
- Limited number of errors in cppcheck
- Important Decrease on high Impact errors in CoverityScan
* Better Test Coverage in Continuous Integration:
- TM2, CDRX, IF4.5, F1
- OAI UE is tested in S1 and noS1 modes with USRP board
- Multi-RRU TDD mode
- X2 Handover in FDD mode
v1.0.3 -> June 2019: Bug fix for LimeSuite v19.04.0 API
v1.0.2 -> February 2019: Full OAI support for 3.13.1 UHD
v1.0.1 -> February 2019: Bug fix for the UE L1 simulator.
v1.0.0 -> January 2019. This version first implements the architectural split described in doc/oai_lte_enb_func_split_arch.png picture.
Only FAPI, nFAPI and IF4.5 interfaces are implemented.
Repository tree structure prepares future integrations of features such as LTE-M, nbIOT or 5G-NR.
Preliminary X2 support has been implemented.
S1-flex has been introduced.
New tools: config library, telnet server, ...
A lot of bugfixes and a proper automated Continuous Integration process validates contributions.
v0.6.1 -> Mostly bugfixes. This is the last version without NFAPI.
v0.6 -> RRH functionality, UE greatly improved, better TDD support,
a lot of bugs fixed. WARNING: oaisim in PHY abstraction mode does not
work, you need to use v0.5.2 for that.
v0.5.2 -> Last version with old code for oaisim (abstraction mode works)
v0.5.1 -> Merge of bugfix-137-uplink-fixes. It includes stablity fixes for eNB
v0.5 -> Merge of enhancement-10-harmony-lts. It includes fixes for Ubuntu 16.04 support
v0.4 -> Merge of feature-131-new-license. It closes issue#131 and changes the license to OAI Public License V1.0
v0.3 -> Last stable commit on develop branch before the merge of feature-131-new-license. This is the last commit with GPL License
v0.2 -> Merge of enhancement-10-harmony to include NGFI RRH + New Interface for RF/BBU
v0.1 -> Last stable commit on develop branch before enhancement-10-harmony

10
ci-scripts/.gitignore vendored Normal file
View File

@@ -0,0 +1,10 @@
r*.raw
enb_*.log
ue_*.log
ping_*.*
iperf_*.*
phones_list.txt
modules_list.txt
test_results*.html
pMain*
__pycache__

View File

@@ -44,7 +44,31 @@ pipeline {
disableConcurrentBuilds()
timestamps()
gitLabConnection('OAI GitLab')
gitlabBuilds(builds: ["Build gNB-USRP", "Build nr-UE-USRP", "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", "Test-Mono-FDD-Band13-X2-HO", "Test-TDD-Band78-gNB-NR-UE"])
gitlabBuilds(builds: [
"Build gNB-USRP",
"Build nr-UE-USRP",
"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 L1-sim",
"Test RF-sim",
"Test L2-sim",
"Test-Mono-FDD-Band7",
"Test-Mono-TDD-Band40",
"Test-IF4p5-FDD-Band7",
"Test-IF4p5-TDD-Band40",
"Test-Mono-FDD-Band13-LTE-M",
"Test-IF4p5-TDD-Band38-Multi-RRU",
"Test-eNB-OAI-UE-FDD-Band7",
"Test-Mono-FDD-Band13-X2-HO",
"Test-TDD-Band78-gNB-NR-UE",
"Test-OCP-FDD-Band7"
])
ansiColor('xterm')
}
@@ -131,8 +155,8 @@ pipeline {
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.FlexRanRtcGitLabRepository_Credentials}", usernameVariable: 'git_username', passwordVariable: 'git_password']
]) {
sh "git clone https://${git_username}:${git_password}@gitlab.eurecom.fr/flexran/flexran-rtc.git . > ../git_clone.log 2>&1"
sh "git checkout develop >> ../git_clone.log 2>&1"
}
sh "sed -i -e 's#add-apt-repository.*cleishm.*neo4j#add-apt-repository ppa:cleishm/neo4j -y#' -e 's#libneo4j-client-dev#libneo4j-client-dev -y#' tools/install_dependencies"
sh "zip -r -qq flexran.zip ."
}
}
@@ -319,7 +343,11 @@ pipeline {
always {
script {
dir ('archives') {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_usrp phy_sim cppcheck enb_eth ue_eth gnb_usrp nrue_usrp red_hat"
if (fileExists('red_hat')) {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_usrp phy_sim cppcheck enb_eth ue_eth gnb_usrp nr_ue_usrp red_hat"
} else {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_usrp phy_sim cppcheck enb_eth ue_eth gnb_usrp nr_ue_usrp"
}
}
if(fileExists('archives/vm_build_logs.zip')) {
archiveArtifacts artifacts: 'archives/vm_build_logs.zip'
@@ -542,7 +570,7 @@ pipeline {
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-B210', 'Test-Mono-FDD-Band13')
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-B210', 'Test-Mono-FDD-Band13-LTE-M')
}
}
post {
@@ -578,6 +606,25 @@ pipeline {
}
}
}
stage ("Test IF4p5 - TDD - Band 38 - B210 - MultiRRU") {
steps {
script {
triggerSlaveJob ('eNB-CI-IF4p5-TDD-Band38-MultiRRU-B210', 'Test-IF4p5-TDD-Band38-Multi-RRU')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-IF4p5-TDD-Band38-MultiRRU-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - FDD - Band 20 - B200") {
steps {
script {
@@ -637,6 +684,25 @@ pipeline {
}
}
}
stage ("Test OAI OCP-eNB - FDD - Band 7 - B210") {
steps {
script {
triggerSlaveJob ('OCPeNB-FDD-Band7-B210', 'Test-OCP-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('OCPeNB-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
}
post {
always {
@@ -714,48 +780,50 @@ 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))
]
// Workaround for the "cancelled" GitLab pipeline notification
// The slave job is triggered with the propagate false so the following commands are executed
// Its status is now PASS/SUCCESS from a stage pipeline point of view
// localStatus variable MUST be analyzed to properly assess the status
localStatus = build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
], propagate: false
localResult = localStatus.getResult()
echo "${jobName} Slave Job status is ${localResult}"
gitlabCommitStatus(name: gitlabStatusName) {
if (localStatus.resultIsBetterOrEqualTo('SUCCESS')) {
echo "${jobName} Slave Job is OK"
} else {
echo "${jobName} Slave Job is KO"
sh "ci-scripts/fail.sh"
}
} 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))
]
// Workaround for the "cancelled" GitLab pipeline notification
// The slave job is triggered with the propagate false so the following commands are executed
// Its status is now PASS/SUCCESS from a stage pipeline point of view
// localStatus variable MUST be analyzed to properly assess the status
localStatus = build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
], propagate: false
localResult = localStatus.getResult()
echo "${jobName} Slave Job status is ${localResult}"
if (localStatus.resultIsBetterOrEqualTo('SUCCESS')) {
echo "${jobName} Slave Job is OK"
} else {
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)
]
echo "${jobName} Slave Job is KO"
sh "ci-scripts/fail.sh"
}
}

View File

@@ -0,0 +1,457 @@
#!/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
*/
// Abstraction function to send social media messages:
// like on Slack or Mattermost
def sendSocialMediaMessage(pipeChannel, pipeColor, pipeMessage) {
if (params.pipelineUsesSlack != null) {
if (params.pipelineUsesSlack) {
slackSend channel: pipeChannel, color: pipeColor, message: pipeMessage
}
}
}
// 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 branch to work on
def ranRepoBranch = params.pythonWorkingBranch
// Lease booking parameters
def r2labStartTime = params.R2LAB_LeaseBookStartTime
def r2labDuration = params.R2LAB_LeaseBookDuration
// Fixed deployment
def r2labBaseIpAddr = '192.168.3.'
def r2labPythonExeIdx = '14'
def r2labPythonExe = 'fit' + r2labPythonExeIdx
def r2labENB0Idx = '23'
def r2labENB0 = 'fit' + r2labENB0Idx
def r2labENB0IpAddr = r2labBaseIpAddr + r2labENB0Idx
def r2labEPC0Idx = '17'
def r2labEPC0 = 'fit' + r2labEPC0Idx
def r2labEPC0IpAddr = r2labBaseIpAddr + r2labEPC0Idx
def r2labUE0Idx = '6'
def r2labUE0 = 'fit0' + r2labUE0Idx
def r2labUE0IpAddr = r2labBaseIpAddr + r2labUE0Idx
def r2labENB1Idx = '16'
def r2labENB1 = 'fit' + r2labENB1Idx
def r2labENB1IpAddr = r2labBaseIpAddr + r2labENB1Idx
def r2labDoAllOff = true
pipeline {
agent {
label 'master'
}
options {
disableConcurrentBuilds()
timestamps()
ansiColor('xterm')
}
stages {
stage ("Book session") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
if (params.R2LAB_Credentials == null) {
allParametersPresent = false
}
if (params.R2LAB_FitNode_Credentials == null) {
allParametersPresent = false
}
if (params.R2LAB_LeaseBookStartTime == null) {
allParametersPresent = false
}
if (params.R2LAB_LeaseBookDuration == null) {
allParametersPresent = false
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Tests at Inria R2LAB'
}
// If not present picking a default branch name
if (params.pythonWorkingBranch == null) {
ranRepoBranch = 'develop'
}
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/inria/enb_usrp210_band7_build.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 (!allParametersPresent) {
currentBuild.result = 'ABORTED'
error('Stopping early because no R2LAB credentials')
}
JOB_TIMESTAMP = sh returnStdout: true, script: 'date --rfc-3339=seconds | sed -e "s#+00:00##"'
JOB_TIMESTAMP = JOB_TIMESTAMP.trim()
echo '\u2705 \u001B[32mBook a Session\u001B[0m'
BOOK_TIMESTAMP = sh returnStdout: true, script: 'date --rfc-3339=date'
BOOK_TIMESTAMP = BOOK_TIMESTAMP.trim()
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_Credentials}", usernameVariable: 'r2labuser', passwordVariable: 'r2labpassword']
]) {
sh "python3 /home/eurecom/inria-scripts/booking-lease.py --book-lease --from ${BOOK_TIMESTAMP}T${r2labStartTime} --duration ${r2labDuration} --slice inria_oaici ${r2labuser} ${r2labpassword}"
sh "python3 /home/eurecom/inria-scripts/booking-lease.py --get-leases ${r2labuser} ${r2labpassword} | grep -v nightly"
}
// Adding a tempo after booking leases
sh "sleep 10"
LEASE_STATUS = sh returnStdout: true, script: "ssh -t inria_oaici@faraday.inria.fr 'rleases --check'"
LEASE_STATUS = LEASE_STATUS.trim()
if (LEASE_STATUS ==~ /.*Access currently denied to inria_oaici.*/) {
r2labDoAllOff = false
currentBuild.result = 'ABORTED'
error('Stopping early because R2LAB not available')
}
}
}
}
stage ("Load Images") {
steps {
script {
sh "ssh -t inria_oaici@faraday.inria.fr 'all-off'"
sh "sleep 10"
echo '\u2705 \u001B[32mLoad Image for Python Executor\u001B[0m'
try {
sh "ssh -t inria_oaici@faraday.inria.fr 'rload -i oai-ci-cd-u18-lowlatency-enb-ue ${r2labPythonExeIdx} > /dev/null 2>&1'"
} catch (Exception e) {
echo "Why is it wrong?"
}
try {
//sh "ssh -t inria_oaici@faraday.inria.fr 'rwait --silent ${r2labPythonExeIdx}'"
sh "ssh -t inria_oaici@faraday.inria.fr 'rwait ${r2labPythonExeIdx}'"
} catch (Exception e) {
echo "Why is it wrong?"
}
echo '\u2705 \u001B[32mLoad Image for two (2) eNBs\u001B[0m'
try {
sh "ssh -t inria_oaici@faraday.inria.fr 'rload -i oai-ci-cd-u18-lowlatency-enb-ue ${r2labENB0Idx},${r2labENB1Idx} > /dev/null 2>&1'"
} catch (Exception e) {
echo "Why is it wrong?"
}
try {
sh "ssh -t inria_oaici@faraday.inria.fr 'rwait --silent ${r2labENB0Idx},${r2labENB1Idx}'"
} catch (Exception e) {
echo "Why is it wrong?"
}
sh "ssh -t inria_oaici@faraday.inria.fr 'uon ${r2labENB0Idx},${r2labENB1Idx}'"
sh "sleep 5"
sh "ssh -t inria_oaici@faraday.inria.fr 'uon ${r2labENB0Idx},${r2labENB1Idx}'"
echo '\u2705 \u001B[32mLoad Image for one OAI UE\u001B[0m'
sh "ssh -t inria_oaici@faraday.inria.fr 'rload -i oai-ci-cd-u18-lowlatency-enb-ue ${r2labUE0Idx} > /dev/null 2>&1'"
sh "ssh -t inria_oaici@faraday.inria.fr 'rwait --silent ${r2labUE0Idx}'"
sh "ssh -t inria_oaici@faraday.inria.fr 'uon ${r2labUE0Idx}'"
sh "sleep 5"
sh "ssh -t inria_oaici@faraday.inria.fr 'uon ${r2labUE0Idx}'"
echo '\u2705 \u001B[32mLoad Image for one EPC\u001B[0m'
sh "ssh -t inria_oaici@faraday.inria.fr 'rload -i oai-ci-cd-u18-lowlatency-epc ${r2labEPC0Idx} > /dev/null 2>&1'"
sh "ssh -t inria_oaici@faraday.inria.fr 'rwait --silent ${r2labEPC0Idx}'"
sh "ssh -t inria_oaici@faraday.inria.fr 'nodes ${r2labUE0Idx},${r2labPythonExeIdx},${r2labEPC0Idx},${r2labENB0Idx},${r2labENB1Idx} && st'"
}
}
}
stage ("Prepare Python Executor") {
steps {
script {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g && git fetch --all --prune --quiet\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g && git checkout --quiet ${ranRepoBranch}\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g && git pull --quiet origin ${ranRepoBranch}\"'"
GIT_COMMIT_TO_RUN = sh returnStdout: true, script: "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g && git log -n1 --pretty=format:%H\"' | grep -v fit"
GIT_COMMIT_TO_RUN = GIT_COMMIT_TO_RUN.trim()
echo "Latest commit to use is ${GIT_COMMIT_TO_RUN}"
// Putting the adaptation parameters for the OAI UE
sh "ssh -t inria_oaici@faraday.inria.fr 'scp /home/inria_oaici/for-ci/adapt_usim_parameters_${r2labUE0}.sed ${fituser}@${r2labUE0}:/tmp/adapt_usim_parameters.sed'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp /home/inria_oaici/for-ci/phones_list.txt ${fituser}@${r2labEPC0}:/tmp'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S cp /tmp/phones_list.txt /etc/ci\"'"
// Out of rload, the sub-network-interfaces are not up
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:m11 172.16.1.102 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:m10 192.168.10.110 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:sxu 172.55.55.102 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:sxc 172.55.55.101 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:s5c 172.58.58.102 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:p5c 172.58.58.101 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ifconfig control:s11 172.16.1.104 up\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"ifconfig\"'"
// Adding routes on the EPC
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ip route add default via 192.168.3.100 dev control table lte\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ip rule add from 12.0.0.0/8 table lte\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labEPC0} \"echo ${fitpasswd} | sudo -S ip rule add from 12.1.1.0/8 table lte\"'"
// For the moment, simple way to route traffic from python executor to any UEs
sh "ssh -t inria_oaici@faraday.inria.fr 'ssh -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"echo ${fitpasswd} | sudo -S ip route add 12.1.1.0/24 via ${r2labEPC0IpAddr} dev control\"'"
}
}
}
}
stage ("Build and Test") {
steps {
script {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=InitiateHtml --ranRepository=https://gitlab.eurecom.fr/oai/openairinterface5g --ranBranch=${ranRepoBranch} --ranCommitID=${GIT_COMMIT_TO_RUN} --ranAllowMerge=false --ADBIPAddress=${r2labEPC0IpAddr} --ADBUserName=${fituser} --ADBPassword=${fitpasswd} --ADBType=distributed ${mainPythonAllXmlFiles}\"'"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
try {
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=TesteNB --ranRepository=https://gitlab.eurecom.fr/oai/openairinterface5g --ranBranch=${ranRepoBranch} --ranCommitID=${GIT_COMMIT_TO_RUN} --ranAllowMerge=false --eNBIPAddress=${r2labENB0IpAddr} --eNBUserName=${fituser} --eNBPassword=${fitpasswd} --eNBSourceCodePath=/home/${fituser}/openairinterface5g --eNB1IPAddress=${r2labENB1IpAddr} --eNB1UserName=${fituser} --eNB1Password=${fitpasswd} --eNB1SourceCodePath=/home/${fituser}/openairinterface5g --UEIPAddress=${r2labUE0IpAddr} --UEUserName=${fituser} --UEPassword=${fitpasswd} --UESourceCodePath=/home/${fituser}/openairinterface5g --EPCIPAddress=${r2labEPC0IpAddr} --EPCType=OAI-Rel14-CUPS --EPCUserName=${fituser} --EPCPassword=${fitpasswd} --EPCSourceCodePath=/home/${fituser}/openair-cn --ADBIPAddress=${r2labEPC0IpAddr} --ADBUserName=${fituser} --ADBPassword=${fitpasswd} --ADBType=distributed --XMLTestFile=${xmlFile}\"'"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${r2labENB0IpAddr} --eNBUserName=${fituser} --eNBPassword=${fitpasswd}\"'"
}
}
}
}
stage ("Prepare Log Collection") {
steps {
sh "ssh -t inria_oaici@faraday.inria.fr 'mkdir -p /home/inria_oaici/archives'"
sh "ssh -t inria_oaici@faraday.inria.fr 'touch /home/inria_oaici/archives/no_error.txt'"
sh "ssh -t inria_oaici@faraday.inria.fr 'rm -f /home/inria_oaici/archives/*.*'"
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labPythonExe}:/home/${fituser}/openairinterface5g/ci-scripts/test_results.html /home/inria_oaici/archives'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/test_results.html ."
script {
if(fileExists("./test_results.html")) {
sh "mv ./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}#' -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
stage ("Log Collection") {
parallel {
stage('Log Collection (OAI eNB - Build)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI eNB - Build)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectBuild --eNBIPAddress=${r2labENB0IpAddr} --eNBUserName=${fituser} --eNBPassword=${fitpasswd} --eNBSourceCodePath=/home/${fituser}/openairinterface5g\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labENB0}:/home/${fituser}/openairinterface5g/cmake_targets/build.log.zip /home/inria_oaici/archives/enb.build.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/enb.build.log.zip enb.build.log.${env.BUILD_ID}.zip"
script {
if(fileExists("enb.build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI UE - Build)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Build)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectBuild --UEIPAddress=${r2labUE0IpAddr} --UEUserName=${fituser} --UEPassword=${fitpasswd} --UESourceCodePath=/home/${fituser}/openairinterface5g\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labUE0}:/home/${fituser}/openairinterface5g/cmake_targets/build.log.zip /home/inria_oaici/archives/ue.build.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/ue.build.log.zip ue.build.log.${env.BUILD_ID}.zip"
script {
if(fileExists("ue.build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI eNB - Runs)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI eNB - Runs)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollecteNB --eNBIPAddress=${r2labENB0IpAddr} --eNBUserName=${fituser} --eNBPassword=${fitpasswd} --eNBSourceCodePath=/home/${fituser}/openairinterface5g\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labENB0}:/home/${fituser}/openairinterface5g/cmake_targets/enb.log.zip /home/inria_oaici/archives/enb.run.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/enb.run.log.zip enb.run.log.${env.BUILD_ID}.zip"
script {
if(fileExists("enb.run.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.run.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI UE - Runs)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Runs)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectOAIUE --UEIPAddress=${r2labUE0IpAddr} --UEUserName=${fituser} --UEPassword=${fitpasswd} --UESourceCodePath=/home/${fituser}/openairinterface5g\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labUE0}:/home/${fituser}/openairinterface5g/cmake_targets/ue.log.zip /home/inria_oaici/archives/ue.run.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/ue.run.log.zip ue.run.log.${env.BUILD_ID}.zip"
script {
if(fileExists("ue.run.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.run.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (MME)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (MME)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectMME --EPCIPAddress=${r2labEPC0IpAddr} --EPCUserName=${fituser} --EPCPassword=${fitpasswd} --EPCSourceCodePath=/home/${fituser}/openair-cn --EPCType=OAI-Rel14-CUPS\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labEPC0}:/home/${fituser}/openair-cn/scripts/mme.log.zip /home/inria_oaici/archives/mme.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/mme.log.zip mme.log.${env.BUILD_ID}.zip"
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.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (HSS)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectHSS --EPCIPAddress=${r2labEPC0IpAddr} --EPCUserName=${fituser} --EPCPassword=${fitpasswd} --EPCSourceCodePath=/home/${fituser}/openair-cn --EPCType=OAI-Rel14-CUPS\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labEPC0}:/home/${fituser}/openair-cn/scripts/hss.log.zip /home/inria_oaici/archives/hss.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/hss.log.zip hss.log.${env.BUILD_ID}.zip"
script {
if(fileExists("hss.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "hss.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (SPGW)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (SPGW)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectSPGW --EPCIPAddress=${r2labEPC0IpAddr} --EPCUserName=${fituser} --EPCPassword=${fitpasswd} --EPCSourceCodePath=/home/${fituser}/openair-cn --EPCType=OAI-Rel14-CUPS\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labEPC0}:/home/${fituser}/openair-cn/scripts/spgw.log.zip /home/inria_oaici/archives/spgw.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/spgw.log.zip spgw.log.${env.BUILD_ID}.zip"
script {
if(fileExists("spgw.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "spgw.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Ping)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (Ping)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectPing --EPCIPAddress=${r2labEPC0IpAddr} --EPCUserName=${fituser} --EPCPassword=${fitpasswd} --EPCSourceCodePath=/home/${fituser}/openair-cn --EPCType=OAI-Rel14-CUPS\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labEPC0}:/home/${fituser}/openair-cn/scripts/ping.log.zip /home/inria_oaici/archives/ping.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/ping.log.zip ping.log.${env.BUILD_ID}.zip"
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.R2LAB_FitNode_Credentials}", usernameVariable: 'fituser', passwordVariable: 'fitpasswd']
]) {
echo '\u2705 \u001B[32mLog Collection (Iperf)\u001B[0m'
sh "ssh -t -t inria_oaici@faraday.inria.fr 'ssh -t -t -b 192.168.3.100 ${fituser}@${r2labPythonExe} \"cd openairinterface5g/ci-scripts && python3 main.py --mode=LogCollectIperf --EPCIPAddress=${r2labEPC0IpAddr} --EPCUserName=${fituser} --EPCPassword=${fitpasswd} --EPCSourceCodePath=/home/${fituser}/openair-cn --EPCType=OAI-Rel14-CUPS\"'"
sh "ssh -t inria_oaici@faraday.inria.fr 'scp ${fituser}@${r2labEPC0}:/home/${fituser}/openair-cn/scripts/iperf.log.zip /home/inria_oaici/archives/iperf.log.zip'"
}
sh "scp inria_oaici@faraday.inria.fr:/home/inria_oaici/archives/iperf.log.zip iperf.log.${env.BUILD_ID}.zip"
script {
if(fileExists("iperf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "iperf.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
stage ("Clean-up Log Collection") {
steps {
sh "ssh -t inria_oaici@faraday.inria.fr 'rm -Rf /home/inria_oaici/archives'"
}
}
}
post {
always {
script {
if (r2labDoAllOff) {
echo '\u2705 \u001B[32mShutdown every node\u001B[0m'
sh 'ssh -t inria_oaici@faraday.inria.fr "all-off"'
sh 'ssh -t inria_oaici@faraday.inria.fr "all-off"'
}
}
}
}
}

View File

@@ -208,12 +208,12 @@ pipeline {
[$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}"
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${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}"
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${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

View File

@@ -36,6 +36,9 @@ def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Name of the phone resource
def ciEpcResource = params.epcResource
// Terminate Status
def termUE = 0
def termENB = 1
@@ -64,7 +67,7 @@ pipeline {
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
lock(extra: [[resource: ciEpcResource]], resource: ciSmartPhoneResource)
}
// the following parameter options are commented out so it shows the ones
// that you SHALL have to run the job.
@@ -217,12 +220,12 @@ pipeline {
[$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}"
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${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}"
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${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) {
currentBuild.result = 'FAILURE'
buildStageStatus = false

View File

@@ -187,12 +187,12 @@ pipeline {
[$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}"
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${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}"
sh "python3 main.py --mode=TestUE --UEIPAddress=${params.UE_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${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

229
ci-scripts/args_parse.py Normal file
View File

@@ -0,0 +1,229 @@
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import Libs
#-----------------------------------------------------------
import sys # arg
import re # reg
import yaml
import constants as CONST
#-----------------------------------------------------------
# Parsing Command Line Arguements
#-----------------------------------------------------------
def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,ldpc,HELP):
py_param_file_present = False
py_params={}
while len(argvs) > 1:
myArgv = argvs.pop(1) # 0th is this file's name
#--help
if re.match('^\-\-help$', myArgv, re.IGNORECASE):
HELP.GenericHelp(CONST.Version)
sys.exit(0)
#--apply=<filename> as parameters file, to replace inline parameters
elif re.match('^\-\-Apply=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-Apply=(.+)$', myArgv, re.IGNORECASE)
py_params_file = matchReg.group(1)
with open(py_params_file,'r') as file:
# The FullLoader parameter handles the conversion from YAML
# scalar values to Python dictionary format
py_params = yaml.load(file,Loader=yaml.FullLoader)
py_param_file_present = True #to be removed once validated
#AssignParams(py_params) #to be uncommented once validated
#consider inline parameters
elif re.match('^\-\-mode=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-mode=(.+)$', myArgv, re.IGNORECASE)
mode = matchReg.group(1)
elif re.match('^\-\-eNBRepository=(.+)$|^\-\-ranRepository(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBRepository=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBRepository=(.+)$', myArgv, re.IGNORECASE)
else:
matchReg = re.match('^\-\-ranRepository=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.ranRepository = matchReg.group(1)
RAN.ranRepository=matchReg.group(1)
HTML.ranRepository=matchReg.group(1)
ldpc.ranRepository=matchReg.group(1)
elif re.match('^\-\-eNB_AllowMerge=(.+)$|^\-\-ranAllowMerge=(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNB_AllowMerge=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB_AllowMerge=(.+)$', myArgv, re.IGNORECASE)
else:
matchReg = re.match('^\-\-ranAllowMerge=(.+)$', myArgv, re.IGNORECASE)
doMerge = matchReg.group(1)
ldpc.ranAllowMerge=matchReg.group(1)
if ((doMerge == 'true') or (doMerge == 'True')):
CiTestObj.ranAllowMerge = True
RAN.ranAllowMerge=True
HTML.ranAllowMerge=True
elif re.match('^\-\-eNBBranch=(.+)$|^\-\-ranBranch=(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBBranch=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBBranch=(.+)$', myArgv, re.IGNORECASE)
else:
matchReg = re.match('^\-\-ranBranch=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.ranBranch = matchReg.group(1)
RAN.ranBranch=matchReg.group(1)
HTML.ranBranch=matchReg.group(1)
ldpc.ranBranch=matchReg.group(1)
elif re.match('^\-\-eNBCommitID=(.*)$|^\-\-ranCommitID=(.*)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBCommitID=(.*)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBCommitID=(.*)$', myArgv, re.IGNORECASE)
else:
matchReg = re.match('^\-\-ranCommitID=(.*)$', myArgv, re.IGNORECASE)
CiTestObj.ranCommitID = matchReg.group(1)
RAN.ranCommitID=matchReg.group(1)
HTML.ranCommitID=matchReg.group(1)
ldpc.ranCommitID=matchReg.group(1)
elif re.match('^\-\-eNBTargetBranch=(.*)$|^\-\-ranTargetBranch=(.*)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBTargetBranch=(.*)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBTargetBranch=(.*)$', myArgv, re.IGNORECASE)
else:
matchReg = re.match('^\-\-ranTargetBranch=(.*)$', myArgv, re.IGNORECASE)
CiTestObj.ranTargetBranch = matchReg.group(1)
RAN.ranTargetBranch=matchReg.group(1)
HTML.ranTargetBranch=matchReg.group(1)
ldpc.ranTargetBranch=matchReg.group(1)
elif re.match('^\-\-eNBIPAddress=(.+)$|^\-\-eNB[1-2]IPAddress=(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBIPAddress=matchReg.group(1)
ldpc.eNBIpAddr=matchReg.group(1)
elif re.match('^\-\-eNB1IPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB1IPAddress=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1IPAddress=matchReg.group(1)
elif re.match('^\-\-eNB2IPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB2IPAddress=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2IPAddress=matchReg.group(1)
elif re.match('^\-\-eNBUserName=(.+)$|^\-\-eNB[1-2]UserName=(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBUserName=matchReg.group(1)
ldpc.eNBUserName=matchReg.group(1)
elif re.match('^\-\-eNB1UserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB1UserName=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1UserName=matchReg.group(1)
elif re.match('^\-\-eNB2UserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB2UserName=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2UserName=matchReg.group(1)
elif re.match('^\-\-eNBPassword=(.+)$|^\-\-eNB[1-2]Password=(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBPassword=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBPassword=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBPassword=matchReg.group(1)
ldpc.eNBPassWord=matchReg.group(1)
elif re.match('^\-\-eNB1Password=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB1Password=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1Password=matchReg.group(1)
elif re.match('^\-\-eNB2Password=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB2Password=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2Password=matchReg.group(1)
elif re.match('^\-\-eNBSourceCodePath=(.+)$|^\-\-eNB[1-2]SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
if re.match('^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBSourceCodePath=matchReg.group(1)
ldpc.eNBSourceCodePath=matchReg.group(1)
elif re.match('^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1SourceCodePath=matchReg.group(1)
elif re.match('^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2SourceCodePath=matchReg.group(1)
elif re.match('^\-\-EPCIPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-EPCIPAddress=(.+)$', myArgv, re.IGNORECASE)
EPC.IPAddress=matchReg.group(1)
elif re.match('^\-\-EPCUserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-EPCUserName=(.+)$', myArgv, re.IGNORECASE)
EPC.UserName=matchReg.group(1)
elif re.match('^\-\-EPCPassword=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-EPCPassword=(.+)$', myArgv, re.IGNORECASE)
EPC.Password=matchReg.group(1)
elif re.match('^\-\-EPCSourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-EPCSourceCodePath=(.+)$', myArgv, re.IGNORECASE)
EPC.SourceCodePath=matchReg.group(1)
elif re.match('^\-\-EPCType=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-EPCType=(.+)$', myArgv, re.IGNORECASE)
if re.match('OAI', matchReg.group(1), re.IGNORECASE) or re.match('ltebox', matchReg.group(1), re.IGNORECASE) or re.match('OAI-Rel14-CUPS', matchReg.group(1), re.IGNORECASE) or re.match('OAI-Rel14-Docker', matchReg.group(1), re.IGNORECASE):
EPC.Type=matchReg.group(1)
else:
sys.exit('Invalid EPC Type: ' + matchReg.group(1) + ' -- (should be OAI or ltebox or OAI-Rel14-CUPS or OAI-Rel14-Docker)')
elif re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE)
EPC.ContainerPrefix=matchReg.group(1)
elif re.match('^\-\-ADBIPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-ADBIPAddress=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.ADBIPAddress = matchReg.group(1)
elif re.match('^\-\-ADBUserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-ADBUserName=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.ADBUserName = matchReg.group(1)
elif re.match('^\-\-ADBType=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-ADBType=(.+)$', myArgv, re.IGNORECASE)
if re.match('centralized', matchReg.group(1), re.IGNORECASE) or re.match('distributed', matchReg.group(1), re.IGNORECASE):
if re.match('distributed', matchReg.group(1), re.IGNORECASE):
CiTestObj.ADBCentralized = False
else:
CiTestObj.ADBCentralized = True
else:
sys.exit('Invalid ADB Type: ' + matchReg.group(1) + ' -- (should be centralized or distributed)')
elif re.match('^\-\-ADBPassword=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-ADBPassword=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.ADBPassword = matchReg.group(1)
elif re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.testXMLfiles.append(matchReg.group(1))
HTML.testXMLfiles.append(matchReg.group(1))
HTML.nbTestXMLfiles=HTML.nbTestXMLfiles+1
elif re.match('^\-\-UEIPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-UEIPAddress=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.UEIPAddress = matchReg.group(1)
elif re.match('^\-\-UEUserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-UEUserName=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.UEUserName = matchReg.group(1)
elif re.match('^\-\-UEPassword=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-UEPassword=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.UEPassword = matchReg.group(1)
elif re.match('^\-\-UESourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-UESourceCodePath=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.UESourceCodePath = matchReg.group(1)
elif re.match('^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match('^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE)
finalStatus = matchReg.group(1)
if ((finalStatus == 'true') or (finalStatus == 'True')):
CiTestObj.finalStatus = True
else:
HELP.GenericHelp(CONST.Version)
sys.exit('Invalid Parameter: ' + myArgv)
return py_param_file_present, py_params, mode

View File

@@ -68,11 +68,12 @@ function build_on_vm {
then
echo "VM_MEMORY = $VM_MEMORY MBytes"
echo "VM_CPU = $VM_CPU"
echo "VM_DISK = $VM_DISK GBytes"
echo "############################################################"
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
echo "############################################################"
acquire_vm_create_lock
uvt-kvm create $VM_NAME release=$VM_OSREL --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 --disk $VM_DISK --unsafe-caching --template ci-scripts/template-host.xml
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
@@ -179,8 +180,12 @@ function build_on_vm {
echo "cp /home/ubuntu/zip-install.txt cmake_targets/log" >> $VM_CMDS
echo "echo \"./tools/install_dependencies \"" >> $VM_CMDS
echo "./tools/install_dependencies > cmake_targets/log/install-build.txt 2>&1" >> $VM_CMDS
echo "echo \"mkdir build\"" >> $VM_CMDS
echo "mkdir build" >> $VM_CMDS
echo "echo \"cd build\"" >> $VM_CMDS
echo "cd build" >> $VM_CMDS
echo "echo \"$BUILD_OPTIONS \"" >> $VM_CMDS
echo "$BUILD_OPTIONS > cmake_targets/log/rt_controller.Rel15.txt 2>&1" >> $VM_CMDS
echo "$BUILD_OPTIONS > ../cmake_targets/log/rt_controller.Rel15.txt 2>&1" >> $VM_CMDS
fi
if [[ "$VM_NAME" != *"-cppcheck"* ]] && [[ "$VM_NAME" != *"-flexran-rtc"* ]]
then

View File

@@ -110,7 +110,7 @@ MODIFIED_FILES=`git log $TARGET_INIT_COMMIT..$MERGE_COMMMIT --oneline --name-sta
NB_WARNINGS_FILES=0
# Retrieve list of warnings
LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.Rel15.txt archives/*/basic_simulator_*txt | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto" | sed -e "s#^.*/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" -e "s#common/utils/.*/itti#common/utils/itti#" | awk -F ":" '{print $1}' | sort | uniq`
LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.Rel15.txt | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto" | sed -e "s#^.*/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" -e "s#common/utils/.*/itti#common/utils/itti#" | awk -F ":" '{print $1}' | sort | uniq`
echo ""
echo "List of files that have been modified by the Merge Request AND"

View File

@@ -62,6 +62,30 @@ then
NB_FILES_TO_FORMAT=`astyle --dry-run --options=ci-scripts/astyle-options.txt --recursive *.c *.h | grep -c Formatted `
echo "Nb Files that do NOT follow OAI rules: $NB_FILES_TO_FORMAT"
echo $NB_FILES_TO_FORMAT > ./oai_rules_result.txt
# Testing Circular Dependencies protection
awk '/#[ \t]*ifndef/ { gsub("^.*ifndef *",""); if (names[$1]!="") print "files with same {define ", FILENAME, names[$1]; names[$1]=FILENAME } /#[ \t]*define/ { gsub("^.*define *",""); if(names[$1]!=FILENAME) print "error in declaration", FILENAME, $1, names[$1]; nextfile }' `find openair* common targets executables -name *.h |grep -v LFDS` > header-files-w-incorrect-define.txt
# Testing if explicit GNU GPL license banner
egrep -irl --exclude-dir=.git --include=*.cpp --include=*.c --include=*.h "General Public License" . > files-w-gnu-gpl-license-banner.txt
# Looking at exotic/suspect banner
LIST_OF_FILES_W_BANNER=`egrep -irl --exclude-dir=.git --include=*.cpp --include=*.c --include=*.h "Copyright|copyleft" .`
if [ -f ./files-w-suspect-banner.txt ]; then rm -f ./files-w-suspect-banner.txt; fi
for FILE in $LIST_OF_FILES_W_BANNER
do
IS_NFAPI=`echo $FILE | egrep -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext"`
IS_OAI_LICENCE_PRESENT=`egrep -c "OAI Public License" $FILE`
IS_BSD_LICENCE_PRESENT=`egrep -c "the terms of the BSD Licence" $FILE`
IS_EXCEPTION=`echo $FILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h"`
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ]
then
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
then
echo $FILE >> ./files-w-suspect-banner.txt
fi
fi
done
exit 0
fi
@@ -131,8 +155,25 @@ if [ -f oai_rules_result_list.txt ]
then
rm -f oai_rules_result_list.txt
fi
if [ -f header-files-w-incorrect-define.txt ]
then
rm -f header-files-w-incorrect-define.txt
fi
if [ -f files-w-gnu-gpl-license-banner.txt ]
then
rm -f files-w-gnu-gpl-license-banner.txt
fi
if [ -f files-w-suspect-banner.txt ]
then
rm -f files-w-suspect-banner.txt
fi
awk '/#[ \t]*ifndef/ { gsub("^.*ifndef *",""); if (names[$1]!="") print "files with same {define ", FILENAME, names[$1]; names[$1]=FILENAME } /#[ \t]*define/ { gsub("^.*define *",""); if(names[$1]!=FILENAME) print "error in declaration", FILENAME, $1, names[$1]; nextfile }' `find openair* common targets executables -name *.h |grep -v LFDS` > header-files-w-incorrect-define-tmp.txt
for FULLFILE in $MODIFIED_FILES
do
# sometimes, we remove files
if [ ! -f $FULLFILE ]; then continue; fi
filename=$(basename -- "$FULLFILE")
EXT="${filename##*.}"
if [ $EXT = "c" ] || [ $EXT = "h" ] || [ $EXT = "cpp" ] || [ $EXT = "hpp" ]
@@ -144,8 +185,32 @@ do
echo $FULLFILE
echo $FULLFILE >> ./oai_rules_result_list.txt
fi
# Testing if explicit GNU GPL license banner
egrep -i "General Public License" $FULLFILE >> files-w-gnu-gpl-license-banner.txt
# Looking at exotic/suspect banner
IS_BANNER=`egrep -i -c "Copyright|copyleft" $FULLFILE`
if [ $IS_BANNER -ne 0 ]
then
IS_NFAPI=`echo $FULLFILE | egrep -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext"`
IS_OAI_LICENCE_PRESENT=`egrep -c "OAI Public License" $FULLFILE`
IS_BSD_LICENCE_PRESENT=`egrep -c "the terms of the BSD Licence" $FULLFILE`
IS_EXCEPTION=`echo $FILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h"`
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ]
then
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
then
echo $FILE >> ./files-w-suspect-banner.txt
fi
fi
fi
fi
# Testing Circular Dependencies protection
if [ $EXT = "h" ] || [ $EXT = "hpp" ]
then
grep $FULLFILE header-files-w-incorrect-define-tmp.txt >> header-files-w-incorrect-define.txt
fi
done
rm -f header-files-w-incorrect-define-tmp.txt
echo ""
echo " ----------------------------------------------------------"
echo "Nb Files that do NOT follow OAI rules: $NB_TO_FORMAT"

138
ci-scripts/cls_cots_ue.py Normal file
View File

@@ -0,0 +1,138 @@
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#to use isfile
import os
import sys
#to use logging.info()
import logging
#to create a SSH object locally in the methods
import sshconnection
#time.sleep
import time
#to load cots_ue dictionary
import yaml
class CotsUe:
def __init__(self,ADBIPAddr,ADBUserName,ADBPassWord):
self.cots_id = '' #cots id from yaml oppo, s10 etc...
self.ADBIPAddr = ADBIPAddr
self.ADBUserName = ADBUserName
self.ADBPassWord = ADBPassWord
self.cots_run_mode = '' #on of off to toggle airplane mode on/off
self.__cots_cde_dict_file = 'cots_ue_ctl.yaml'
self.__SetAirplaneRetry = 3
#-----------------$
#PUBLIC Methods$
#-----------------$
def Check_Airplane(self):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.ADBIPAddr, self.ADBUserName, self.ADBPassWord)
status=mySSH.cde_check_value('adb shell settings get global airplane_mode_on ', ['0','1'],5)
mySSH.close()
return status
#simply check if the device id exists in the dictionary
#returns true if it exists, false otherwise
def Check_Exists(self,target_id):
#load cots commands dictionary
if (os.path.isfile(self.__cots_cde_dict_file)):
yaml_file=self.__cots_cde_dict_file
elif (os.path.isfile('ci-scripts/'+self.__cots_cde_dict_file)):
yaml_file='ci-scripts/'+self.__cots_cde_dict_file
else:
logging.error("COTS UE dictionary yaml file cannot be found")
sys.exit("COTS UE dictionary yaml file cannot be found")
#load cots commands dictionary
with open(yaml_file,'r') as file:
cots_ue_ctl = yaml.load(file,Loader=yaml.FullLoader)
#check if ue id is in the dictionary
if target_id in cots_ue_ctl:
return True
else:
return False
def Set_Airplane(self, target_id, target_state_str):
#loading cots commands dictionary
if (os.path.isfile(self.__cots_cde_dict_file)):
yaml_file=self.__cots_cde_dict_file
elif (os.path.isfile('ci-scripts/'+self.__cots_cde_dict_file)):
yaml_file='ci-scripts/'+self.__cots_cde_dict_file
else:
logging.error("COTS UE dictionary yaml file cannot be found")
sys.exit("COTS UE dictionary yaml file cannot be found")
#load cots commands dictionary
with open(yaml_file,'r') as file:
cots_ue_ctl = yaml.load(file,Loader=yaml.FullLoader)
#check if ue id is in the dictionary
if target_id in cots_ue_ctl:
mySSH = sshconnection.SSHConnection()
mySSH.open(self.ADBIPAddr, self.ADBUserName, self.ADBPassWord)
logging.info(str(self.ADBIPAddr)+' '+str(self.ADBUserName)+' '+str(self.ADBPassWord))
mySSH.command('adb start-server','\$',5)
mySSH.command('adb devices','\$',5)
logging.info("Toggling COTS UE Airplane mode to : "+target_state_str)
#get current state
current_state = self.Check_Airplane()
if target_state_str.lower()=="on":
target_state=1
else:
target_state=0
if current_state != target_state:
#toggle state
retry = 0
while (current_state!=target_state) and (retry < self.__SetAirplaneRetry):
#loop over the command list from dictionary for the selected ue, to switch to required state
for i in range (0,len(cots_ue_ctl[target_id])):
mySSH.command(cots_ue_ctl[target_id][i], '\$', 5)
time.sleep(1)
current_state = self.Check_Airplane()
retry+=1
#could not toggle despite the retry
if current_state != target_state:
logging.error("ATTENTION : Could not toggle to : "+target_state_str)
logging.error("Current state is : "+ str(current_state))
else:
logging.info("Airplane mode is already "+ target_state_str)
mySSH.command('adb kill-server','\$',5)
mySSH.close()
#ue id is NOT in the dictionary
else:
logging.error("COTS UE Id from XML could not be found in UE YAML dictionary " + self.__cots_cde_dict_file)
sys.exit("COTS UE Id from XML could not be found in UE YAML dictionary " + self.__cots_cde_dict_file)

191
ci-scripts/cls_physim.py Normal file
View File

@@ -0,0 +1,191 @@
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#to use logging.info()
import logging
#to create a SSH object locally in the methods
import sshconnection
#to update the HTML object
import html
from multiprocessing import SimpleQueue
#for log folder maintenance
import os
class PhySim:
def __init__(self):
self.buildargs = ""
self.runargs = ""
self.eNBIpAddr = ""
self.eNBUserName = ""
self.eNBPassWord = ""
self.eNBSourceCodePath = ""
self.ranRepository = ""
self.ranBranch = ""
self.ranCommitID= ""
self.ranAllowMerge= ""
self.ranTargetBranch= ""
self.exitStatus=0
self.forced_workspace_cleanup=False
#private attributes
self.__workSpacePath=''
self.__buildLogFile='compile_phy_sim.log'
self.__runLogFile=''
self.__runResults=[]
self.__runLogPath='phy_sim_logs'
#-----------------
#PRIVATE Methods
#-----------------
def __CheckResults_PhySim(self,HTML,CONST,testcase_id):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
#retrieve run log file and store it locally$
mySSH.copyin(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord, self.__workSpacePath+self.__runLogFile, '.')
mySSH.close()
#parse results looking for Encoding and Decoding mean values
self.__runResults=[]
with open(self.__runLogFile) as f:
for line in f:
if 'mean' in line:
self.__runResults.append(line)
#the values are appended for each mean value (2), so we take these 2 values from the list
info=self.__runResults[0]+self.__runResults[1]
#once parsed move the local logfile to its folder for tidiness
os.system('mv '+self.__runLogFile+' '+ self.__runLogPath+'/.')
#updating the HTML with results
html_cell = '<pre style="background-color:white">' + info + '</pre>'
html_queue=SimpleQueue()
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, html_queue)
return HTML
def __CheckBuild_PhySim(self, HTML, CONST):
self.__workSpacePath=self.eNBSourceCodePath+'/cmake_targets/'
mySSH = sshconnection.SSHConnection()
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
#retrieve compile log file and store it locally
mySSH.copyin(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord, self.__workSpacePath+self.__buildLogFile, '.')
#delete older run log file
mySSH.command('rm ' + self.__workSpacePath+self.__runLogFile, '\$', 5)
mySSH.close()
#check build result from local compile log file
buildStatus=False
with open(self.__buildLogFile) as f:
#nr_prachsim is the last compile step
if 'nr_prachsim compiled' in f.read():
buildStatus=True
#update HTML based on build status
if buildStatus:
HTML.CreateHtmlTestRow(self.buildargs, 'OK', CONST.ALL_PROCESSES_OK, 'LDPC')
self.exitStatus=0
else:
logging.error('\u001B[1m Building Physical Simulators Failed\u001B[0m')
HTML.CreateHtmlTestRow(self.buildargs, 'KO', CONST.ALL_PROCESSES_OK, 'LDPC')
HTML.CreateHtmlTabFooter(False)
#exitStatus=1 will do a sys.exit in main
self.exitStatus=1
return HTML
#-----------------$
#PUBLIC Methods$
#-----------------$
def Build_PhySim(self,htmlObj,constObj):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
#create working dir
mySSH.command('mkdir -p ' + self.eNBSourceCodePath, '\$', 5)
mySSH.command('cd ' + self.eNBSourceCodePath, '\$', 5)
if not self.ranRepository.lower().endswith('.git'):
self.ranRepository+='.git'
#git clone
mySSH.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + self.ranRepository + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600)
#git config
mySSH.command('git config user.email "jenkins@openairinterface.org"', '\$', 5)
mySSH.command('git config user.name "OAI Jenkins"', '\$', 5)
#git clean depending on self.forced_workspace_cleanup captured in xml
if self.forced_workspace_cleanup==True:
logging.info('Cleaning workspace ...')
mySSH.command('echo ' + self.eNBPassWord + ' | sudo -S git clean -x -d -ff', '\$', 30)
else:
logging.info('Workspace cleaning was disabled')
# if the commit ID is provided, use it to point to it
if self.ranCommitID != '':
mySSH.command('git checkout -f ' + self.ranCommitID, '\$', 5)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should have already been checked earlier
if (self.ranAllowMerge):
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
mySSH.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
else:
logging.info('Merging with the target branch: ' + self.ranTargetBranch)
mySSH.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
#build
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
mySSH.command('mkdir -p log', '\$', 5)
mySSH.command('chmod 777 log', '\$', 5)
mySSH.command('stdbuf -o0 ./build_oai ' + self.buildargs + ' 2>&1 | stdbuf -o0 tee ' + self.__buildLogFile, 'Bypassing the Tests|build have failed', 1500)
mySSH.close()
#check build status and update HTML object
lHTML = html.HTMLManagement()
lHTML=self.__CheckBuild_PhySim(htmlObj,constObj)
return lHTML
def Run_PhySim(self,htmlObj,constObj,testcase_id):
#create run logs folder locally
os.system('mkdir -p ./'+self.__runLogPath)
#log file is tc_<testcase_id>.log remotely
self.__runLogFile='physim_'+str(testcase_id)+'.log'
#open a session for test run
mySSH = sshconnection.SSHConnection()
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
mySSH.command('cd '+self.__workSpacePath,'\$',5)
#run and redirect the results to a log file
mySSH.command(self.__workSpacePath+'phy_simulators/build/ldpctest ' + self.runargs + ' >> '+self.__runLogFile, '\$', 30)
mySSH.close()
#return updated HTML to main
lHTML = html.HTMLManagement()
lHTML=self.__CheckResults_PhySim(htmlObj,constObj,testcase_id)
return lHTML

View File

@@ -0,0 +1,274 @@
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; } );
tr_s_preference = "local_mac"
// In seconds
rrc_inactivity_threshold = 30;
////////// 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 = 17;
downlink_frequency = 736000000L;
uplink_frequency_offset = -30000000;
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;
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_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 = -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;
mbms_dedicated_serving_cell = "DISABLE"
//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";
}
);
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";
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
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
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 = "eth0";
FLEXRAN_IPV4_ADDRESS = "CI_MME_IP_ADDR";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,418 @@
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; } );
tr_s_preference = "local_mac"
// In seconds
rrc_inactivity_threshold = 30;
////////// 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 = 17;
downlink_frequency = 736000000L;
uplink_frequency_offset = -30000000;
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;
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_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 = -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;
mbms_dedicated_serving_cell = "DISABLE"
//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";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
///M2
target_mce_m2_ip_address = ( { ipv4 = "127.0.0.7";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
enable_enb_m2 = "yes";
mbms_configuration_data_list = (
{
mbsfn_sync_area = 0x0001;
mbms_service_area_list=(
{
mbms_service_area=0x0001;
}
);
}
);
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
ENB_IPV4_ADDRESS_FOR_M2C = "127.0.0.2/24";
ENB_PORT_FOR_M2C = 36443; # Spec 36443
};
}
);
MCEs = (
{
MCE_ID = 0xe00;
MCE_name = "MCE-Vicomtech-LTEBox";
//M2
enable_mce_m2 = "yes";
//M3
enable_mce_m3 = "yes";
target_mme_m3_ip_address = ( { ipv4 = "127.0.0.18";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
MCE_INTERFACE_NAME_FOR_M2_ENB = "lo";
MCE_IPV4_ADDRESS_FOR_M2C = "127.0.0.7/24";
MCE_PORT_FOR_M2C = 36443; # Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME = "lo";
MCE_IPV4_ADDRESS_FOR_M3C = "127.0.0.3/24";
MCE_PORT_FOR_M3C = 36444; # Spec 36444
};
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
};
mbms_sched_info :
{
mcch_update_time = 10;
mbms_area_config_list = (
{
common_sf_allocation_period = 1; #rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id = 0;
pmch_config_list = (
{
allocated_sf_end=40;
data_mcs=20;
mch_scheduling_period = 0; #rf8(0)
mbms_session_list = (
{
#plnm + service_id ->tmgi
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
}
service_id=0;
lcid=5; #this must be properly defined lcid:8+service:0 -> rab_id:5 //with new RLC set lcid either 4 or 5
}
);
}
);
mbms_sf_config_list = (
{
radioframe_allocation_period=0; #n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset=0;
num_frame="oneFrame";
subframe_allocation=59; #xx111011 #57; #xx111001
//num_frame="fourFrame";
//subframe_allocation=14548987; #
}
);
}
);
};
mcch_config_per_mbsfn_area = (
{
mbsfn_area = 0;
pdcch_length = 1; #s1(0), s2(1)
repetition_period = 0; #rf32(0), rf64(1), rf128(2), rf256(3)
offset = 0;
modification_period = 0; #rf512(0; rf1024(1)
subframe_allocation_info = 32; #BITSTRING (6bits -> one frame) xx100101
mcs = 0; #n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs = (
{
MME_ID = 0xe00;
MME_name = "MME-MBMS-Vicomtech-LTEBox";
//M3
enable_mme_m3 = "yes";
NETWORK_INTERFACES :
{
MME_INTERFACE_NAME_FOR_M3_MCE = "lo";
MME_IPV4_ADDRESS_FOR_M3C = "127.0.0.18/24";
MME_PORT_FOR_M3C = 36444; # Spec 36444
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
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 = "eth0";
FLEXRAN_IPV4_ADDRESS = "CI_MME_IP_ADDR";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,279 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe10;
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; } );
tr_s_preference = "local_mac"
// In seconds
rrc_inactivity_threshold = 30;
////////// 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 = 10;
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;
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_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 = -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";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
target_enb_x2_ip_address = (
{ ipv4 = "CI_RCC_IP_ADDR";
ipv6 = "192:168:30::17";
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
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
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 = "eth0";
FLEXRAN_IPV4_ADDRESS = "CI_MME_IP_ADDR";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,284 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0xe01;
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 = 222; mnc = 01; mnc_length = 2; }
);
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
nb_antenna_ports = 1;
ue_TransmissionMode = 1;
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_antennas_tx = 1;
nb_antennas_rx = 1;
prach_root = 0;
tx_gain = 90;
rx_gain = 115;
pbch_repetition = "FALSE";
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_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 = -96;
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;
//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;
};
enable_measurement_reports = "yes";
////////// MME parameters:
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth1";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth1";
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 ="high";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="debug";
rlc_log_verbosity ="high";
pdcp_log_level ="info";
pdcp_log_verbosity ="high";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
puSch10xSnr = 160;
puCch10xSnr = 160;
}
);
THREAD_STRUCT = (
{
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
worker_config = "ENABLE";
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 118;
eNB_instances = [0];
clock_src = "external";
}
);
log_config :
{
global_log_level ="info";
global_log_verbosity ="high";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="high";
pdcp_log_level ="info";
pdcp_log_verbosity ="high";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -21,183 +21,176 @@ gNBs =
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_gNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
DL_prefix_type = "NORMAL";
UL_prefix_type = "NORMAL";
eutra_band = 78;
downlink_frequency = 3510000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 106;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
MIB_subCarrierSpacingCommon = 30;
MIB_ssb_SubcarrierOffset = 0;
MIB_dmrs_TypeA_Position = 2;
pdcch_ConfigSIB1 = 0;
SIB1_frequencyOffsetSSB = "khz5";
SIB1_ssb_PeriodicityServingCell = 5;
SIB1_ss_PBCH_BlockPower = -60;
absoluteFrequencySSB = 0;
DL_FreqBandIndicatorNR = 15;
DL_absoluteFrequencyPointA = 15;
DL_offsetToCarrier = 15;
DL_SCS_SubcarrierSpacing = "kHz30";
DL_SCS_SpecificCarrier_k0 = 0;
DL_carrierBandwidth = 15;
DL_locationAndBandwidth = 15;
DL_BWP_SubcarrierSpacing = "kHz30";
DL_BWP_prefix_type = "NORMAL";
UL_FreqBandIndicatorNR = 15;
UL_absoluteFrequencyPointA = 13;
UL_additionalSpectrumEmission = 3;
UL_p_Max = -1;
UL_frequencyShift7p5khz = "TRUE";
UL_offsetToCarrier = 10;
UL_SCS_SubcarrierSpacing = "kHz30";
UL_SCS_SpecificCarrier_k0 = 0;
UL_carrierBandwidth = 15;
UL_locationAndBandwidth = 15;
UL_BWP_SubcarrierSpacing = "kHz30";
UL_BWP_prefix_type = "NORMAL";
UL_timeAlignmentTimerCommon = "infinity";
ServingCellConfigCommon_n_TimingAdvanceOffset = "n0"
ServingCellConfigCommon_ssb_PositionsInBurst_PR = 0x01;
ServingCellConfigCommon_ssb_periodicityServingCell = 10;
ServingCellConfigCommon_dmrs_TypeA_Position = 2;
NIA_SubcarrierSpacing = "kHz15";
ServingCellConfigCommon_ss_PBCH_BlockPower = -60;
referenceSubcarrierSpacing = "kHz15";
dl_UL_TransmissionPeriodicity = "ms0p5";
nrofDownlinkSlots = 10;
nrofDownlinkSymbols = 10;
nrofUplinkSlots = 10;
nrofUplinkSymbols = 10;
rach_totalNumberOfRA_Preambles = 63;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice = "oneEighth";
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth = 4;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth = 8;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf = 16;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one = 24;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two = 32;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four = 8;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight = 4;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen = 2;
rach_groupBconfigured = "ENABLE";
rach_ra_Msg3SizeGroupA = 56;
rach_messagePowerOffsetGroupB = "dB0";
rach_numberOfRA_PreamblesGroupA = 32;
rach_ra_ContentionResolutionTimer = 8;
rsrp_ThresholdSSB = 64;
rsrp_ThresholdSSB_SUL = 64;
prach_RootSequenceIndex_choice = "l839";
prach_RootSequenceIndex_l839 = 0;
prach_RootSequenceIndex_l139 = 0;
prach_msg1_SubcarrierSpacing = "kHz30";
restrictedSetConfig = "unrestrictedSet";
msg3_transformPrecoding = "ENABLE";
prach_ConfigurationIndex = 10;
prach_msg1_FDM = "one";
prach_msg1_FrequencyStart = 10;
zeroCorrelationZoneConfig = 10;
preambleReceivedTargetPower = -150;
preambleTransMax = 6;
powerRampingStep = "dB0";
ra_ResponseWindow = 8;
groupHoppingEnabledTransformPrecoding = "ENABLE";
msg3_DeltaPreamble = 0;
p0_NominalWithGrant = 0;
PUSCH_TimeDomainResourceAllocation_k2 = 0;
PUSCH_TimeDomainResourceAllocation_mappingType = "typeA";
PUSCH_TimeDomainResourceAllocation_startSymbolAndLength = 0;
pucch_ResourceCommon = 0;
pucch_GroupHopping = "neither";
hoppingId = 0;
p0_nominal = -30;
PDSCH_TimeDomainResourceAllocation_k0 = 2;
PDSCH_TimeDomainResourceAllocation_mappingType = "typeA";
PDSCH_TimeDomainResourceAllocation_startSymbolAndLength = 0;
rateMatchPatternId = 0;
RateMatchPattern_patternType = "bitmaps";
symbolsInResourceBlock = "oneSlot";
periodicityAndPattern = 2;
RateMatchPattern_controlResourceSet = 5;
RateMatchPattern_subcarrierSpacing = "kHz30";
RateMatchPattern_mode = "dynamic";
controlResourceSetZero = 0;
searchSpaceZero = 0;
searchSpaceSIB1 = 10;
searchSpaceOtherSystemInformation = 10;
pagingSearchSpace = 10;
ra_SearchSpace = 10;
PDCCH_common_controlResourceSetId = 5;
PDCCH_common_ControlResourceSet_duration = 2;
PDCCH_cce_REG_MappingType = "nonInterleaved";
PDCCH_reg_BundleSize = 3;
PDCCH_interleaverSize = 3;
PDCCH_shiftIndex = 10;
PDCCH_precoderGranularity = "sameAsREG-bundle";
PDCCH_TCI_StateId = 32;
tci_PresentInDCI = "ENABLE";
PDCCH_DMRS_ScramblingID = 0;
SearchSpaceId = 10;
commonSearchSpaces_controlResourceSetId = 5;
SearchSpace_monitoringSlotPeriodicityAndOffset_choice = "sl1";
SearchSpace_monitoringSlotPeriodicityAndOffset_value = 0;
SearchSpace_duration = 2;
SearchSpace_nrofCandidates_aggregationLevel1 = 0;
SearchSpace_nrofCandidates_aggregationLevel2 = 0;
SearchSpace_nrofCandidates_aggregationLevel4 = 0;
SearchSpace_nrofCandidates_aggregationLevel8 = 0;
SearchSpace_nrofCandidates_aggregationLevel16 = 0;
SearchSpace_searchSpaceType = "common";
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1 = 1;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2 = 1;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4 = 1;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8 = 1;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16 = 1;
Common_dci_Format2_3_monitoringPeriodicity = 1;
Common_dci_Format2_3_nrofPDCCH_Candidates = 1;
ue_Specific__dci_Formats = "formats0-0-And-1-0";
RateMatchPatternLTE_CRS_carrierFreqDL = 6;
RateMatchPatternLTE_CRS_carrierBandwidthDL = 6;
RateMatchPatternLTE_CRS_nrofCRS_Ports = 1;
RateMatchPatternLTE_CRS_v_Shift = 0;
RateMatchPatternLTE_CRS_radioframeAllocationPeriod = 1;
RateMatchPatternLTE_CRS_radioframeAllocationOffset = 0;
RateMatchPatternLTE_CRS_subframeAllocation_choice = "oneFrame";
}
);
srb1_parameters :
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
servingCellConfigCommon = (
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
#spCellConfigCommon
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
physCellId = 0;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641032;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=50 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 13475;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=2,L=3
initialDLBWPstartSymbolAndLength_0 = 40;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=2,L=12
initialDLBWPstartSymbolAndLength_1 = 53;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
initialDLBWPk0_2 = 0;
initialDLBWPmappingType_2 = 0;
#this is SS=1,L=12
initialDLBWPstartSymbolAndLength_2 = 54;
initialDLBWPk0_3 = 0;
initialDLBWPmappingType_3 = 0;
#this is SS=1,L=4
initialDLBWPstartSymbolAndLength_3 = 57;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 13475;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -118;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 2;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 55;
initialULBWPk2_1 = 2;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = 10;
}
);
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
@@ -252,10 +245,12 @@ RUs = (
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "addr=192.168.20.2,second_addr=192.168.10.2,mgmt_addr=192.168.20.2,clock_source=external,time_source=external";
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2";
clock_src = "external";
}
);
@@ -268,16 +263,6 @@ THREAD_STRUCT = (
}
);
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 :
{
global_log_level ="info";

View File

@@ -0,0 +1,291 @@
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-Eurecom-5GNRBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({mcc = 222; mnc = 01; mnc_length = 2;});
tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 84 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641272; //641032; #641968; 641968=start of ssb at 3600MHz + 82 RBs 641032=center of SSB at center of cell
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=84,L=13 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 6366; //28875; //6366; #6407; #3384;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=2,L=12
initialDLBWPstartSymbolAndLength_1 = 53;
initialDLBWPk0_2 = 0;
initialDLBWPmappingType_2 = 0;
#this is SS=1,L=12
initialDLBWPstartSymbolAndLength_2 = 54;
initialDLBWPk0_3 = 0;
initialDLBWPmappingType_3 = 0;
#this is SS=1,L=4 //5 (4 is for 43, 5 is for 57)
initialDLBWPstartSymbolAndLength_3 = 57; //43; //57;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 6366; //28875; //6366; #6407; #3384;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -100;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 5;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; //15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 2;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 55;
initialULBWPk2_1 = 2;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7; //8; //7;
nrofDownlinkSymbols = 6; //0; //6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4; //0; //4;
ssPBCH_BlockPower = -25;
}
);
# ------- 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 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
target_enb_x2_ip_address = (
{ ipv4 = "CI_FR1_CTL_ENB_IP_ADDR";
ipv6 = "192:168:30::17";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_S1_MME = "eth0";
GNB_IPV4_ADDRESS_FOR_S1_MME = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_S1U = "eth0";
GNB_IPV4_ADDRESS_FOR_S1U = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
GNB_IPV4_ADDRESS_FOR_X2C = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
eNB_instances = [0];
clock_src = "external";
}
);
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";
}
);
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,426 @@
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 = 93; mnc_length = 2; } );
tr_s_preference = "local_mac"
////////// 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;
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_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 = -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;
mbms_dedicated_serving_cell = "ENABLE"
//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";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
////////// MCE parameters:
target_mce_m2_ip_address = ( { ipv4 = "127.0.0.7";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///M2
enable_enb_m2 = "yes";
mbms_configuration_data_list = (
{
mbsfn_sync_area = 0x0001;
mbms_service_area_list=(
{
mbms_service_area=0x0001;
}
);
}
);
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
ENB_IPV4_ADDRESS_FOR_M2C = "127.0.0.2/24";
ENB_PORT_FOR_M2C = 36443; # Spec 36443
};
}
);
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";
}
);
MCEs = (
{
MCE_ID = 0xe00;
MCE_name = "MCE-Vicomtech-LTEBox";
//M2
enable_mce_m2 = "yes";
//M3
enable_mce_m3 = "yes";
target_mme_m3_ip_address = ( { ipv4 = "127.0.0.18";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
MCE_INTERFACE_NAME_FOR_M2_ENB = "lo";
MCE_IPV4_ADDRESS_FOR_M2C = "127.0.0.7/24";
MCE_PORT_FOR_M2C = 36443; # Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME = "lo";
MCE_IPV4_ADDRESS_FOR_M3C = "127.0.0.3/24";
MCE_PORT_FOR_M3C = 36444; # Spec 36444
};
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
};
mbms_sched_info :
{
mcch_update_time = 10;
mbms_area_config_list = (
{
common_sf_allocation_period = 1; #rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id = 0;
pmch_config_list = (
{
allocated_sf_end=512;
data_mcs=15;
mch_scheduling_period = 0; #rf8(0) rf16(1) rf32(2) rf64(3) rf128(4) rf256(5) rf512(6) rf1024(7)
mbms_session_list = (
{
#plnm + service_id ->tmgi
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
}
service_id=0; #keep this allways as 0 (workaround for TUN if)
lcid=5; #this must be properly defined lcid:6+service:0 -> rab_id:5 //with new RLC set lcid either 4 or 5
}
);
}
);
mbms_sf_config_list = (
{
radioframe_allocation_period=0; #n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset=0;
num_frame="oneFrame";
subframe_allocation=57; #xx111001
//num_frame="fourFrame";
//subframe_allocation=14548987; #
}
);
}
);
};
mcch_config_per_mbsfn_area = (
{
mbsfn_area = 0;
pdcch_length = 1; #s1(0), s2(1)
repetition_period = 0; #rf32(0), rf64(1), rf128(2), rf256(3)
offset = 0;
modification_period = 0; #rf512(0; rf1024(1)
subframe_allocation_info = 32; #BITSTRING (6bits -> one frame) xx100000
mcs = 0; #n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs = (
{
MME_ID = 0xe00;
MME_name = "MME-MBMS-Vicomtech-LTEBox";
//M3
enable_mme_m3 = "yes";
NETWORK_INTERFACES :
{
MME_INTERFACE_NAME_FOR_M3_MCE = "lo";
MME_IPV4_ADDRESS_FOR_M3C = "127.0.0.18/24";
MME_PORT_FOR_M3C = 36444; # Spec 36444
};
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
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 = "ens3";
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
//rfsimulator :
//{
//options = ("chanmod");
//modelname = "AWGN";
//};

View File

@@ -0,0 +1,426 @@
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 = 93; mnc_length = 2; } );
tr_s_preference = "local_mac"
////////// 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;
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_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 = -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;
mbms_dedicated_serving_cell = "DISABLE"
//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";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
////////// MCE parameters:
target_mce_m2_ip_address = ( { ipv4 = "127.0.0.7";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///M2
enable_enb_m2 = "yes";
mbms_configuration_data_list = (
{
mbsfn_sync_area = 0x0001;
mbms_service_area_list=(
{
mbms_service_area=0x0001;
}
);
}
);
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
ENB_IPV4_ADDRESS_FOR_M2C = "127.0.0.2/24";
ENB_PORT_FOR_M2C = 36443; # Spec 36443
};
}
);
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";
}
);
MCEs = (
{
MCE_ID = 0xe00;
MCE_name = "MCE-Vicomtech-LTEBox";
//M2
enable_mce_m2 = "yes";
//M3
enable_mce_m3 = "yes";
target_mme_m3_ip_address = ( { ipv4 = "127.0.0.18";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
MCE_INTERFACE_NAME_FOR_M2_ENB = "lo";
MCE_IPV4_ADDRESS_FOR_M2C = "127.0.0.7/24";
MCE_PORT_FOR_M2C = 36443; # Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME = "lo";
MCE_IPV4_ADDRESS_FOR_M3C = "127.0.0.3/24";
MCE_PORT_FOR_M3C = 36444; # Spec 36444
};
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
};
mbms_sched_info :
{
mcch_update_time = 10;
mbms_area_config_list = (
{
common_sf_allocation_period = 1; #rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id = 0;
pmch_config_list = (
{
allocated_sf_end=32;
data_mcs=15;
mch_scheduling_period = 0; #rf8(0) rf16(1) rf32(2) rf64(3) rf128(4) rf256(5) rf512(6) rf1024(7)
mbms_session_list = (
{
#plnm + service_id ->tmgi
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
}
service_id=0; #keep this allways as 0 (workaround for TUN if)
lcid=5; #this must be properly defined lcid:6+service:0 -> rab_id:5 //with new RLC set lcid either 4 or 5
}
);
}
);
mbms_sf_config_list = (
{
radioframe_allocation_period=0; #n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset=0;
num_frame="oneFrame";
subframe_allocation=57; #xx111001
//num_frame="fourFrame";
//subframe_allocation=14548987; #
}
);
}
);
};
mcch_config_per_mbsfn_area = (
{
mbsfn_area = 0;
pdcch_length = 1; #s1(0), s2(1)
repetition_period = 0; #rf32(0), rf64(1), rf128(2), rf256(3)
offset = 0;
modification_period = 0; #rf512(0; rf1024(1)
subframe_allocation_info = 32; #BITSTRING (6bits -> one frame) xx100000
mcs = 0; #n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs = (
{
MME_ID = 0xe00;
MME_name = "MME-MBMS-Vicomtech-LTEBox";
//M3
enable_mme_m3 = "yes";
NETWORK_INTERFACES :
{
MME_INTERFACE_NAME_FOR_M3_MCE = "lo";
MME_IPV4_ADDRESS_FOR_M3C = "127.0.0.18/24";
MME_PORT_FOR_M3C = 36444; # Spec 36444
};
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
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 = "ens3";
FLEXRAN_IPV4_ADDRESS = "CI_FLEXRAN_CTL_IP_ADDR";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
//rfsimulator :
//{
//options = ("chanmod");
//modelname = "AWGN";
//};

View File

@@ -0,0 +1,378 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// 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 = 600;
plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "NGFI_RCC_IF4p5";
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 = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 2;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
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_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 = -104;
pusch_alpha = "AL1";
pucch_p0_Nominal = -108;
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;
mbms_dedicated_serving_cell = "DISABLE"
}
);
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 = "192.168.15.130";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
////////// MCE parameters:
target_mce_m2_ip_address = ( { ipv4 = "127.0.0.7";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///M2
enable_enb_m2 = "yes";
mbms_configuration_data_list = (
{
mbsfn_sync_area = 0x0001;
mbms_service_area_list=(
{
mbms_service_area=0x0001;
}
);
}
);
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "enp2s0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.10.15/24";
ENB_INTERFACE_NAME_FOR_S1U = "enp2s0";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.10.15/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "127.0.0.2/24";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
ENB_IPV4_ADDRESS_FOR_M2C = "127.0.0.2/24";
ENB_PORT_FOR_M2C = 36443; # Spec 36443
};
}
);
MCEs = (
{
MCE_ID = 0xe00;
MCE_name = "MCE-Vicomtech-LTEBox";
//M2
enable_mce_m2 = "yes";
//M3
enable_mce_m3 = "yes";
target_mme_m3_ip_address = ( { ipv4 = "127.0.0.18";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
MCE_INTERFACE_NAME_FOR_M2_ENB = "lo";
MCE_IPV4_ADDRESS_FOR_M2C = "127.0.0.7/24";
MCE_PORT_FOR_M2C = 36443; # Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME = "lo";
MCE_IPV4_ADDRESS_FOR_M3C = "127.0.0.3/24";
MCE_PORT_FOR_M3C = 36444; # Spec 36444
};
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
};
mbms_sched_info :
{
mcch_update_time = 10;
mbms_area_config_list = (
{
common_sf_allocation_period = 2; #rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id = 0;
pmch_config_list = (
{
allocated_sf_end=32;
data_mcs=14;
mch_scheduling_period = 0; #rf8(0)
mbms_session_list = (
{
#plnm + service_id ->tmgi
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
}
service_id=0; #keep this allways as 0 (workaround for TUN if)
lcid=6; #this must be properly defined lcid:6+service:0 -> rab_id:6
}
);
}
);
mbms_sf_config_list = (
{
radioframe_allocation_period=1; #n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset=0;
num_frame="oneFrame";
subframe_allocation=57; #xx111001
//num_frame="fourFrame";
//subframe_allocation=14548987; #
}
);
}
);
};
mcch_config_per_mbsfn_area = (
{
mbsfn_area = 0;
pdcch_length = 1; #s1(0), s2(1)
repetition_period = 0; #rf32(0), rf64(1), rf128(2), rf256(3)
offset = 0;
modification_period = 0; #rf512(0; rf1024(1)
subframe_allocation_info = 32; #BITSTRING (6bits -> one frame) xx100000
mcs = 1; #n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs = (
{
MME_ID = 0xe00;
MME_name = "MME-MBMS-Vicomtech-LTEBox";
//M3
enable_mme_m3 = "yes";
NETWORK_INTERFACES :
{
MME_INTERFACE_NAME_FOR_M3_MCE = "lo";
MME_IPV4_ADDRESS_FOR_M3C = "127.0.0.18/24";
MME_PORT_FOR_M3C = 36444; # Spec 36444
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
}
);
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";
local_portc = 50000;
remote_portc = 50000;
local_portd = 50001;
remote_portd = 50001;
local_rf = "no"
tr_preference = "udp_if4p5"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
eNB_instances = [0];
is_slave = "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";
}
);
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,378 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// 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 = 93; mnc_length = 2; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "NGFI_RCC_IF4p5";
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 = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 2;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
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_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 = -104;
pusch_alpha = "AL1";
pucch_p0_Nominal = -108;
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;
mbms_dedicated_serving_cell = "DISABLE"
}
);
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 = "127.0.0.3";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
////////// MCE parameters:
target_mce_m2_ip_address = ( { ipv4 = "127.0.0.7";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///M2
enable_enb_m2 = "yes";
mbms_configuration_data_list = (
{
mbsfn_sync_area = 0x0001;
mbms_service_area_list=(
{
mbms_service_area=0x0001;
}
);
}
);
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24";
ENB_INTERFACE_NAME_FOR_S1U = "lo";
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.5/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "127.0.0.2/24";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
ENB_IPV4_ADDRESS_FOR_M2C = "127.0.0.2/24";
ENB_PORT_FOR_M2C = 36443; # Spec 36443
};
}
);
MCEs = (
{
MCE_ID = 0xe00;
MCE_name = "MCE-Vicomtech-LTEBox";
//M2
enable_mce_m2 = "yes";
//M3
enable_mce_m3 = "yes";
target_mme_m3_ip_address = ( { ipv4 = "127.0.0.18";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
MCE_INTERFACE_NAME_FOR_M2_ENB = "lo";
MCE_IPV4_ADDRESS_FOR_M2C = "127.0.0.7/24";
MCE_PORT_FOR_M2C = 36443; # Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME = "lo";
MCE_IPV4_ADDRESS_FOR_M3C = "127.0.0.3/24";
MCE_PORT_FOR_M3C = 36444; # Spec 36444
};
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
};
mbms_sched_info :
{
mcch_update_time = 10;
mbms_area_config_list = (
{
common_sf_allocation_period = 2; #rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id = 0;
pmch_config_list = (
{
allocated_sf_end=32;
data_mcs=14;
mch_scheduling_period = 0; #rf8(0)
mbms_session_list = (
{
#plnm + service_id ->tmgi
plnm:
{
mcc = 208;
mnc = 93;
mnc_length = 2;
}
service_id=0; #keep this allways as 0 (workaround for TUN if)
lcid=6; #this must be properly defined lcid:6+service:0 -> rab_id:6
}
);
}
);
mbms_sf_config_list = (
{
radioframe_allocation_period=1; #n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset=0;
num_frame="oneFrame";
subframe_allocation=57; #xx111001
//num_frame="fourFrame";
//subframe_allocation=14548987; #
}
);
}
);
};
mcch_config_per_mbsfn_area = (
{
mbsfn_area = 0;
pdcch_length = 1; #s1(0), s2(1)
repetition_period = 0; #rf32(0), rf64(1), rf128(2), rf256(3)
offset = 0;
modification_period = 0; #rf512(0; rf1024(1)
subframe_allocation_info = 32; #BITSTRING (6bits -> one frame) xx100000
mcs = 1; #n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs = (
{
MME_ID = 0xe00;
MME_name = "MME-MBMS-Vicomtech-LTEBox";
//M3
enable_mme_m3 = "yes";
NETWORK_INTERFACES :
{
MME_INTERFACE_NAME_FOR_M3_MCE = "lo";
MME_IPV4_ADDRESS_FOR_M3C = "127.0.0.18/24";
MME_PORT_FOR_M3C = 36444; # Spec 36444
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
}
);
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";
local_portc = 50000;
remote_portc = 50000;
local_portd = 50001;
remote_portd = 50001;
local_rf = "no"
tr_preference = "udp_if4p5"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
eNB_instances = [0];
is_slave = "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";
}
);
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

72
ci-scripts/constants.py Normal file
View File

@@ -0,0 +1,72 @@
#/*
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Version
#-----------------------------------------------------------
Version = '0.2'
#-----------------------------------------------------------
# Constants
#-----------------------------------------------------------
ALL_PROCESSES_OK = 0
ENB_PROCESS_FAILED = -1
ENB_PROCESS_OK = +1
ENB_PROCESS_SEG_FAULT = -11
ENB_PROCESS_ASSERTION = -12
ENB_PROCESS_REALTIME_ISSUE = -13
ENB_PROCESS_NOLOGFILE_TO_ANALYZE = -14
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED = -15
HSS_PROCESS_FAILED = -2
HSS_PROCESS_OK = +2
MME_PROCESS_FAILED = -3
MME_PROCESS_OK = +3
SPGW_PROCESS_FAILED = -4
SPGW_PROCESS_OK = +4
UE_IP_ADDRESS_ISSUE = -5
OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE = -20
OAI_UE_PROCESS_COULD_NOT_SYNC = -21
OAI_UE_PROCESS_ASSERTION = -22
OAI_UE_PROCESS_FAILED = -23
OAI_UE_PROCESS_NO_TUNNEL_INTERFACE = -24
OAI_UE_PROCESS_SEG_FAULT = -25
OAI_UE_PROCESS_NO_MBMS_MSGS = -26
OAI_UE_PROCESS_OK = +6
UE_STATUS_DETACHED = 0
UE_STATUS_DETACHING = 1
UE_STATUS_ATTACHING = 2
UE_STATUS_ATTACHED = 3
X2_HO_REQ_STATE__IDLE = 0
X2_HO_REQ_STATE__TARGET_RECEIVES_REQ = 1
X2_HO_REQ_STATE__TARGET_RRC_RECFG_COMPLETE = 2
X2_HO_REQ_STATE__TARGET_SENDS_SWITCH_REQ = 3
X2_HO_REQ_STATE__SOURCE_RECEIVES_REQ_ACK = 10

View File

@@ -0,0 +1,20 @@
9d690a12: #oppo
- adb shell input keyevent KEYCODE_POWER
- adb shell input swipe 300 700 300 0
- adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
- adb shell input keyevent 20
- adb shell input tap 968 324
002: #s10
- adb shell input keyevent KEYCODE_POWER
- adb shell input swipe 200 900 200 300
- adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
- adb shell input tap 968 324
003: #s20
- adb shell input keyevent KEYCODE_POWER
- adb shell input swipe 200 900 200 300
- adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
- adb shell input tap 968 324
004: #xperia
- tbd
- tbd
- tbd

View File

@@ -37,6 +37,7 @@ memleak:openair2/UTIL/OMG/omg_hashtable.c
// _emm_as_encode function creates the encoded buffer
//
memleak:openair3/NAS/UE/EMM/SAP/emm_as.c
memleak:openair1/PHY/INIT/nr_init_ue.c
//-----------------------------------------------------------------------------
//*****************************************************************************
// section for files not used in oai exec's included in CI.
@@ -76,7 +77,16 @@ nullPointer:common/utils/T/local_tracer.c:243
// first iteration of the loop
nullPointer:common/utils/T/tracer/multi.c:264
nullPointer:common/utils/T/tracer/multi.c:265
//-----------------------------------------------------------------------------
// this file is used for testing the RLC V2 implementation, this error is
// not a problem, the programmer has to know what she does when writing
// the tests
arrayIndexOutOfBounds:openair2/LAYER2/rlc_v2/tests/test.c:401
//
//-----------------------------------------------------------------------------
// cppcheck does not understand the different lengths of arrays
arrayIndexOutOfBounds:openair1/SIMULATION/TOOLS/random_channel.c:705
arrayIndexOutOfBounds:openair1/SIMULATION/TOOLS/random_channel.c:706
//*****************************************************************************
//
// True problems we don't know how to fix, Suppression is commented out,

View File

@@ -85,12 +85,13 @@ function create_vm {
echo "VM_NAME = $VM_NAME"
echo "VM_MEMORY = $VM_MEMORY MBytes"
echo "VM_CPU = $VM_CPU"
echo "VM_DISK = $VM_DISK GBytes"
echo "############################################################"
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
echo "############################################################"
acquire_vm_create_lock
uvt-kvm create $VM_NAME release=$VM_OSREL --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 --disk $VM_DISK --unsafe-caching --template ci-scripts/template-host.xml
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure

View File

@@ -51,18 +51,20 @@ Mandatory Options:
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
--variant enb-usrp OR -v1 ( build and test )
--variant basic-sim OR -v2 ( build and test )
--variant phy-sim OR -v3 ( build and test )
--variant cppcheck OR -v4 ( build and test )
--variant gnb-usrp OR -v5 ( build and test )
--variant nr-ue-usrp OR -v6 ( build and test )
--variant enb-ethernet OR -v7 ( build and test )
--variant ue-ethernet OR -v8 ( build and test )
# non-OSA Build Variants
--variant flexran-rtc OR -v10
--variant flexran-rtc OR -v10 ( build and test non-OSA )
# OpenAirInterface Test Variants
--variant l1-sim OR -v20
--variant rf-sim OR -v21
--variant l2-sim OR -v22
--variant l1-sim OR -v20 ( test )
--variant rf-sim OR -v21 ( test )
--variant l2-sim OR -v22 ( test )
Specify the variant to build.
--keep-vm-alive OR -k

View File

@@ -34,6 +34,7 @@ Source file concerned: `ci-scripts/waitBuildOnVM.sh`
* 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)
* Evaluate the remaining space on VM disk
* The number of patterned log files SHALL match $NB_PATTERN_FILES defined in `ci-scripts/oai-ci-vm-tool` script for the variant
---

View File

@@ -44,18 +44,20 @@ Mandatory Options:
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
--variant enb-usrp OR -v1 ( build and test )
--variant basic-sim OR -v2 ( build and test )
--variant phy-sim OR -v3 ( build and test )
--variant cppcheck OR -v4 ( build and test )
--variant gnb-usrp OR -v5 ( build and test )
--variant nr-ue-usrp OR -v6 ( build and test )
--variant enb-ethernet OR -v7 ( build and test )
--variant ue-ethernet OR -v8 ( build and test )
# non-OSA Build Variants
--variant flexran-rtc OR -v10
--variant flexran-rtc OR -v10 ( build and test non-OSA )
# OpenAirInterface Test Variants
--variant l1-sim OR -v20
--variant rf-sim OR -v21
--variant l2-sim OR -v22
--variant l1-sim OR -v20 ( test )
--variant rf-sim OR -v21 ( test )
--variant l2-sim OR -v22 ( test )
Specify the variant to build.
--help OR -h
@@ -73,7 +75,7 @@ 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
uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --disk $VM_DISK --unsafe-caching --template ci-scripts/template-host.xml
```
Variables are set in the main script based on the options.

View File

@@ -38,7 +38,6 @@ 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.**

View File

@@ -72,18 +72,20 @@ Options:
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
--variant enb-usrp OR -v1 ( build and test )
--variant basic-sim OR -v2 ( build and test )
--variant phy-sim OR -v3 ( build and test )
--variant cppcheck OR -v4 ( build and test )
--variant gnb-usrp OR -v5 ( build and test )
--variant nr-ue-usrp OR -v6 ( build and test )
--variant enb-ethernet OR -v7 ( build and test )
--variant ue-ethernet OR -v8 ( build and test )
# non-OSA Build Variants
--variant flexran-rtc OR -v10
--variant flexran-rtc OR -v10 ( build and test non-OSA )
# OpenAirInterface Test Variants
--variant l1-sim OR -v20
--variant rf-sim OR -v21
--variant l2-sim OR -v22
--variant l1-sim OR -v20 ( test )
--variant rf-sim OR -v21 ( test )
--variant l2-sim OR -v22 ( test )
Specify the variant to build.
--keep-vm-alive OR -k

467
ci-scripts/epc.py Normal file
View File

@@ -0,0 +1,467 @@
#/*
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
import sys # arg
import re # reg
import logging
import os
import time
import signal
from multiprocessing import Process, Lock, SimpleQueue
#-----------------------------------------------------------
# OAI Testing modules
#-----------------------------------------------------------
import sshconnection as SSH
import helpreadme as HELP
import constants as CONST
import html
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
class EPCManagement():
def __init__(self):
self.IPAddress = ''
self.UserName = ''
self.Password = ''
self.SourceCodePath = ''
self.Type = ''
self.PcapFileName = ''
self.htmlObj = None
self.testCase_id = ''
self.MmeIPAddress = ''
self.containerPrefix = 'prod'
#-----------------------------------------------------------
# EPC management functions
#-----------------------------------------------------------
def InitializeHSS(self):
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
HELP.GenericHelp(CONST.Version)
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
sys.exit('Insufficient EPC Parameters')
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC Release 14 Cassandra-based HSS in Docker')
mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5)
mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-hss /bin/bash -c "nohup tshark -i eth0 -i eth1 -w /tmp/hss_check_run.pcap 2>&1 > /dev/null"', '\$', 5)
time.sleep(5)
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-hss /bin/bash -c "nohup ./bin/oai_hss -j ./etc/hss_rel14.json --reloadkey true > hss_check_run.log 2>&1"', '\$', 5)
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC Release 14 Cassandra-based HSS')
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
logging.debug('\u001B[1m Launching tshark on all interfaces \u001B[0m')
self.PcapFileName = 'epc_' + self.testCase_id + '.pcap'
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f ' + self.PcapFileName, '\$', 5)
mySSH.command('echo $USER; nohup sudo tshark -f "tcp port not 22 and port not 53" -i any -w ' + self.SourceCodePath + '/scripts/' + self.PcapFileName + ' > /tmp/tshark.log 2>&1 &', self.UserName, 5)
mySSH.command('echo ' + self.Password + ' | sudo -S mkdir -p logs', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f hss_' + self.testCase_id + '.log logs/hss*.*', '\$', 5)
mySSH.command('echo "oai_hss -j /usr/local/etc/oai/hss_rel14.json" > ./my-hss.sh', '\$', 5)
mySSH.command('chmod 755 ./my-hss.sh', '\$', 5)
mySSH.command('sudo daemon --unsafe --name=hss_daemon --chdir=' + self.SourceCodePath + '/scripts -o ' + self.SourceCodePath + '/scripts/hss_' + self.testCase_id + '.log ./my-hss.sh', '\$', 5)
elif re.match('OAI', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC HSS')
mySSH.command('cd ' + self.SourceCodePath, '\$', 5)
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd scripts', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S ./run_hss 2>&1 | stdbuf -o0 awk \'{ print strftime("[%Y/%m/%d %H:%M:%S] ",systime()) $0 }\' | stdbuf -o0 tee -a hss_' + self.testCase_id + '.log &', 'Core state: 2 -> 3', 35)
elif re.match('ltebox', self.Type, re.IGNORECASE):
logging.debug('Using the ltebox simulated HSS')
mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5)
mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('cd /opt/hss_sim0609', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f hss.log', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S echo "Starting sudo session" && sudo su -c "screen -dm -S simulated_hss ./starthss"', '\$', 5)
else:
logging.error('This option should not occur!')
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
def InitializeMME(self):
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
HELP.GenericHelp(CONST.Version)
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
sys.exit('Insufficient EPC Parameters')
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC Release 14 MME in Docker')
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-mme /bin/bash -c "nohup tshark -i eth0 -i lo:s10 -w /tmp/mme_check_run.pcap 2>&1 > /dev/null"', '\$', 5)
time.sleep(5)
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-mme /bin/bash -c "nohup ./bin/oai_mme -c ./etc/mme.conf > mme_check_run.log 2>&1"', '\$', 5)
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC Release 14 MME')
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f mme_' + self.testCase_id + '.log', '\$', 5)
mySSH.command('echo "./run_mme --config-file /usr/local/etc/oai/mme.conf --set-virt-if" > ./my-mme.sh', '\$', 5)
mySSH.command('chmod 755 ./my-mme.sh', '\$', 5)
mySSH.command('sudo daemon --unsafe --name=mme_daemon --chdir=' + self.SourceCodePath + '/scripts -o ' + self.SourceCodePath + '/scripts/mme_' + self.testCase_id + '.log ./my-mme.sh', '\$', 5)
elif re.match('OAI', self.Type, re.IGNORECASE):
mySSH.command('cd ' + self.SourceCodePath, '\$', 5)
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd scripts', '\$', 5)
mySSH.command('stdbuf -o0 hostname', '\$', 5)
result = re.search('hostname\\\\r\\\\n(?P<host_name>[a-zA-Z0-9\-\_]+)\\\\r\\\\n', mySSH.getBefore())
if result is None:
logging.debug('\u001B[1;37;41m Hostname Not Found! \u001B[0m')
sys.exit(1)
host_name = result.group('host_name')
mySSH.command('echo ' + self.Password + ' | sudo -S ./run_mme 2>&1 | stdbuf -o0 tee -a mme_' + self.testCase_id + '.log &', 'MME app initialization complete', 100)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cd /opt/ltebox/tools', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S ./start_mme', '\$', 5)
else:
logging.error('This option should not occur!')
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
def SetMmeIPAddress(self):
# Not an error if we don't need an EPC
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
return
if self.IPAddress == 'none':
return
# Only in case of Docker containers, MME IP address is not the EPC HOST IP address
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
mySSH.command('docker inspect --format="MME_IP_ADDR = {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" ' + self.containerPrefix + '-oai-mme', '\$', 5)
result = re.search('MME_IP_ADDR = (?P<mme_ip_addr>[0-9\.]+)', mySSH.getBefore())
if result is not None:
self.MmeIPAddress = result.group('mme_ip_addr')
logging.debug('MME IP Address is ' + self.MmeIPAddress)
mySSH.close()
else:
self.MmeIPAddress = self.IPAddress
def InitializeSPGW(self):
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
HELP.GenericHelp(CONST.Version)
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
sys.exit('Insufficient EPC Parameters')
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC Release 14 SPGW-CUPS in Docker')
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-spgwc /bin/bash -c "nohup tshark -i eth0 -i lo:p5c -i lo:s5c -w /tmp/spgwc_check_run.pcap 2>&1 > /dev/null"', '\$', 5)
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-spgwu-tiny /bin/bash -c "nohup tshark -i eth0 -w /tmp/spgwu_check_run.pcap 2>&1 > /dev/null"', '\$', 5)
time.sleep(5)
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-spgwc /bin/bash -c "nohup ./bin/oai_spgwc -o -c ./etc/spgw_c.conf > spgwc_check_run.log 2>&1"', '\$', 5)
time.sleep(5)
mySSH.command('docker exec -d ' + self.containerPrefix + '-oai-spgwu-tiny /bin/bash -c "nohup ./bin/oai_spgwu -o -c ./etc/spgw_u.conf > spgwu_check_run.log 2>&1"', '\$', 5)
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
logging.debug('Using the OAI EPC Release 14 SPGW-CUPS')
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f spgwc_' + self.testCase_id + '.log spgwu_' + self.testCase_id + '.log', '\$', 5)
mySSH.command('echo "spgwc -c /usr/local/etc/oai/spgw_c.conf" > ./my-spgwc.sh', '\$', 5)
mySSH.command('chmod 755 ./my-spgwc.sh', '\$', 5)
mySSH.command('sudo daemon --unsafe --name=spgwc_daemon --chdir=' + self.SourceCodePath + '/scripts -o ' + self.SourceCodePath + '/scripts/spgwc_' + self.testCase_id + '.log ./my-spgwc.sh', '\$', 5)
time.sleep(5)
mySSH.command('echo "spgwu -c /usr/local/etc/oai/spgw_u.conf" > ./my-spgwu.sh', '\$', 5)
mySSH.command('chmod 755 ./my-spgwu.sh', '\$', 5)
mySSH.command('sudo daemon --unsafe --name=spgwu_daemon --chdir=' + self.SourceCodePath + '/scripts -o ' + self.SourceCodePath + '/scripts/spgwu_' + self.testCase_id + '.log ./my-spgwu.sh', '\$', 5)
elif re.match('OAI', self.Type, re.IGNORECASE):
mySSH.command('cd ' + self.SourceCodePath, '\$', 5)
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd scripts', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S ./run_spgw 2>&1 | stdbuf -o0 tee -a spgw_' + self.testCase_id + '.log &', 'Initializing SPGW-APP task interface: DONE', 30)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cd /opt/ltebox/tools', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S ./start_xGw', '\$', 5)
else:
logging.error('This option should not occur!')
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
def CheckHSSProcess(self, status_queue):
try:
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-hss /bin/bash -c "ps aux | grep oai_hss"', '\$', 5)
else:
mySSH.command('stdbuf -o0 ps -aux | grep --color=never hss | grep -v grep', '\$', 5)
if re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
result = re.search('oai_hss -j', mySSH.getBefore())
elif re.match('OAI', self.Type, re.IGNORECASE):
result = re.search('\/bin\/bash .\/run_', mySSH.getBefore())
elif re.match('ltebox', self.Type, re.IGNORECASE):
result = re.search('hss_sim s6as diam_hss', mySSH.getBefore())
else:
logging.error('This should not happen!')
if result is None:
logging.debug('\u001B[1;37;41m HSS Process Not Found! \u001B[0m')
status_queue.put(CONST.HSS_PROCESS_FAILED)
else:
status_queue.put(CONST.HSS_PROCESS_OK)
mySSH.close()
except:
os.kill(os.getppid(),signal.SIGUSR1)
def CheckMMEProcess(self, status_queue):
try:
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-mme /bin/bash -c "ps aux | grep oai_mme"', '\$', 5)
else:
mySSH.command('stdbuf -o0 ps -aux | grep --color=never mme | grep -v grep', '\$', 5)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
result = re.search('oai_mme -c ', mySSH.getBefore())
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
result = re.search('mme -c', mySSH.getBefore())
elif re.match('OAI', self.Type, re.IGNORECASE):
result = re.search('\/bin\/bash .\/run_', mySSH.getBefore())
elif re.match('ltebox', self.Type, re.IGNORECASE):
result = re.search('mme', mySSH.getBefore())
else:
logging.error('This should not happen!')
if result is None:
logging.debug('\u001B[1;37;41m MME Process Not Found! \u001B[0m')
status_queue.put(CONST.MME_PROCESS_FAILED)
else:
status_queue.put(CONST.MME_PROCESS_OK)
mySSH.close()
except:
os.kill(os.getppid(),signal.SIGUSR1)
def CheckSPGWProcess(self, status_queue):
try:
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwc /bin/bash -c "ps aux | grep oai_spgwc"', '\$', 5)
result = re.search('oai_spgwc -o -c ', mySSH.getBefore())
if result is not None:
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwu-tiny /bin/bash -c "ps aux | grep oai_spgwu"', '\$', 5)
result = re.search('oai_spgwu -o -c ', mySSH.getBefore())
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('stdbuf -o0 ps -aux | grep --color=never spgw | grep -v grep', '\$', 5)
result = re.search('spgwu -c ', mySSH.getBefore())
elif re.match('OAI', self.Type, re.IGNORECASE):
mySSH.command('stdbuf -o0 ps -aux | grep --color=never spgw | grep -v grep', '\$', 5)
result = re.search('\/bin\/bash .\/run_', mySSH.getBefore())
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('stdbuf -o0 ps -aux | grep --color=never xGw | grep -v grep', '\$', 5)
result = re.search('xGw', mySSH.getBefore())
else:
logging.error('This should not happen!')
if result is None:
logging.debug('\u001B[1;37;41m SPGW Process Not Found! \u001B[0m')
status_queue.put(CONST.SPGW_PROCESS_FAILED)
else:
status_queue.put(CONST.SPGW_PROCESS_OK)
mySSH.close()
except:
os.kill(os.getppid(),signal.SIGUSR1)
def TerminateHSS(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-hss /bin/bash -c "killall --signal SIGINT oai_hss tshark"', '\$', 5)
time.sleep(2)
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-hss /bin/bash -c "ps aux | grep oai_hss"', '\$', 5)
result = re.search('oai_hss -j ', mySSH.getBefore())
if result is not None:
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-hss /bin/bash -c "killall --signal SIGKILL oai_hss"', '\$', 5)
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGINT oai_hss || true', '\$', 5)
time.sleep(2)
mySSH.command('stdbuf -o0 ps -aux | grep hss | grep -v grep', '\$', 5)
result = re.search('oai_hss -j', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGKILL oai_hss || true', '\$', 5)
mySSH.command('rm -f ' + self.SourceCodePath + '/scripts/my-hss.sh', '\$', 5)
elif re.match('OAI', self.Type, re.IGNORECASE):
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGINT run_hss oai_hss || true', '\$', 5)
time.sleep(2)
mySSH.command('stdbuf -o0 ps -aux | grep hss | grep -v grep', '\$', 5)
result = re.search('\/bin\/bash .\/run_', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGKILL run_hss oai_hss || true', '\$', 5)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cd ' + self.SourceCodePath, '\$', 5)
mySSH.command('cd scripts', '\$', 5)
time.sleep(1)
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGKILL hss_sim', '\$', 5)
else:
logging.error('This should not happen!')
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
def TerminateMME(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-mme /bin/bash -c "killall --signal SIGINT oai_mme tshark"', '\$', 5)
time.sleep(2)
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-mme /bin/bash -c "ps aux | grep oai_mme"', '\$', 5)
result = re.search('oai_mme -c ', mySSH.getBefore())
if result is not None:
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-mme /bin/bash -c "killall --signal SIGKILL oai_mme"', '\$', 5)
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGINT run_mme mme || true', '\$', 5)
time.sleep(2)
mySSH.command('stdbuf -o0 ps -aux | grep mme | grep -v grep', '\$', 5)
result = re.search('mme -c', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGKILL run_mme mme || true', '\$', 5)
mySSH.command('rm -f ' + self.SourceCodePath + '/scripts/my-mme.sh', '\$', 5)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cd /opt/ltebox/tools', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S ./stop_mme', '\$', 5)
else:
logging.error('This should not happen!')
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
def TerminateSPGW(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwc /bin/bash -c "killall --signal SIGINT oai_spgwc tshark"', '\$', 5)
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwu-tiny /bin/bash -c "killall --signal SIGINT oai_spgwu tshark"', '\$', 5)
time.sleep(2)
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwc /bin/bash -c "ps aux | grep oai_spgwc"', '\$', 5)
result = re.search('oai_spgwc -o -c ', mySSH.getBefore())
if result is not None:
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwc /bin/bash -c "killall --signal SIGKILL oai_spgwc"', '\$', 5)
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwu-tiny /bin/bash -c "ps aux | grep oai_spgwu"', '\$', 5)
result = re.search('oai_spgwu -o -c ', mySSH.getBefore())
if result is not None:
mySSH.command('docker exec -it ' + self.containerPrefix + '-oai-spgwu-tiny /bin/bash -c "killall --signal SIGKILL oai_spgwu"', '\$', 5)
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGINT spgwc spgwu || true', '\$', 5)
time.sleep(2)
mySSH.command('stdbuf -o0 ps -aux | grep spgw | grep -v grep', '\$', 5)
result = re.search('spgwc -c |spgwu -c ', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGKILL spgwc spgwu || true', '\$', 5)
mySSH.command('rm -f ' + self.SourceCodePath + '/scripts/my-spgw*.sh', '\$', 5)
mySSH.command('stdbuf -o0 ps -aux | grep tshark | grep -v grep', '\$', 5)
result = re.search('-w ', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGINT tshark || true', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S chmod 666 ' + self.SourceCodePath + '/scripts/*.pcap', '\$', 5)
elif re.match('OAI', self.Type, re.IGNORECASE):
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGINT run_spgw spgw || true', '\$', 5)
time.sleep(2)
mySSH.command('stdbuf -o0 ps -aux | grep spgw | grep -v grep', '\$', 5)
result = re.search('\/bin\/bash .\/run_', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.Password + ' | sudo -S killall --signal SIGKILL run_spgw spgw || true', '\$', 5)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cd /opt/ltebox/tools', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S ./stop_xGw', '\$', 5)
else:
logging.error('This should not happen!')
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
def LogCollectHSS(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('rm -f hss.log.zip', '\$', 5)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker cp ' + self.containerPrefix + '-oai-hss:/openair-hss/hss_check_run.log .', '\$', 60)
mySSH.command('docker cp ' + self.containerPrefix + '-oai-hss:/tmp/hss_check_run.pcap .', '\$', 60)
mySSH.command('zip hss.log.zip hss_check_run.*', '\$', 60)
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('zip hss.log.zip hss*.log', '\$', 60)
mySSH.command('echo ' + self.Password + ' | sudo -S rm hss*.log', '\$', 5)
if re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('zip hss.log.zip logs/hss*.* *.pcap', '\$', 60)
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f logs/hss*.* *.pcap', '\$', 5)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cp /opt/hss_sim0609/hss.log .', '\$', 60)
mySSH.command('zip hss.log.zip hss.log', '\$', 60)
else:
logging.error('This option should not occur!')
mySSH.close()
def LogCollectMME(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('rm -f mme.log.zip', '\$', 5)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker cp ' + self.containerPrefix + '-oai-mme:/openair-mme/mme_check_run.log .', '\$', 60)
mySSH.command('docker cp ' + self.containerPrefix + '-oai-mme:/tmp/mme_check_run.pcap .', '\$', 60)
mySSH.command('zip mme.log.zip mme_check_run.*', '\$', 60)
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('zip mme.log.zip mme*.log', '\$', 60)
mySSH.command('echo ' + self.Password + ' | sudo -S rm mme*.log', '\$', 5)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cp /opt/ltebox/var/log/*Log.0 .', '\$', 5)
mySSH.command('zip mme.log.zip mmeLog.0 s1apcLog.0 s1apsLog.0 s11cLog.0 libLog.0 s1apCodecLog.0', '\$', 60)
else:
logging.error('This option should not occur!')
mySSH.close()
def LogCollectSPGW(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password)
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('rm -f spgw.log.zip', '\$', 5)
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
mySSH.command('docker cp ' + self.containerPrefix + '-oai-spgwc:/openair-spgwc/spgwc_check_run.log .', '\$', 60)
mySSH.command('docker cp ' + self.containerPrefix + '-oai-spgwu-tiny:/openair-spgwu-tiny/spgwu_check_run.log .', '\$', 60)
mySSH.command('docker cp ' + self.containerPrefix + '-oai-spgwc:/tmp/spgwc_check_run.pcap .', '\$', 60)
mySSH.command('docker cp ' + self.containerPrefix + '-oai-spgwu-tiny:/tmp/spgwu_check_run.pcap .', '\$', 60)
mySSH.command('zip spgw.log.zip spgw*_check_run.*', '\$', 60)
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
mySSH.command('zip spgw.log.zip spgw*.log', '\$', 60)
mySSH.command('echo ' + self.Password + ' | sudo -S rm spgw*.log', '\$', 5)
elif re.match('ltebox', self.Type, re.IGNORECASE):
mySSH.command('cp /opt/ltebox/var/log/xGwLog.0 .', '\$', 5)
mySSH.command('zip spgw.log.zip xGwLog.0', '\$', 60)
else:
logging.error('This option should not occur!')
mySSH.close()

81
ci-scripts/helpreadme.py Normal file
View File

@@ -0,0 +1,81 @@
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Functions Declaration
#-----------------------------------------------------------
def GenericHelp(vers):
print('----------------------------------------------------------------------------------------------------------------------')
print('main.py Ver: ' + vers)
print('----------------------------------------------------------------------------------------------------------------------')
print('python main.py [options]')
print(' --help Show this help.')
print(' --mode=[Mode]')
print(' TesteNB')
print(' InitiateHtml, FinalizeHtml')
print(' TerminateeNB, TerminateUE, TerminateHSS, TerminateMME, TerminateSPGW')
print(' LogCollectBuild, LogCollecteNB, LogCollectHSS, LogCollectMME, LogCollectSPGW, LogCollectPing, LogCollectIperf')
def GitSrvHelp(repository,branch,commit,mergeallow,targetbranch):
print(' --ranRepository=[OAI RAN Repository URL] -- ' + repository)
print(' --ranBranch=[OAI RAN Repository Branch] -- ' + branch)
print(' --ranCommitID=[OAI RAN Repository Commit SHA-1] -- ' + commit)
print(' --ranAllowMerge=[Allow Merge Request (with target branch) (true or false)] -- ' + mergeallow)
print(' --ranTargetBranch=[Target Branch in case of a Merge Request] -- ' + targetbranch)
def eNBSrvHelp(ipaddr, username, password, sourcepath):
print(' --eNBIPAddress=[eNB\'s IP Address] -- ' + ipaddr)
print(' --eNBUserName=[eNB\'s Login User Name] -- ' + username)
print(' --eNBPassword=[eNB\'s Login Password] -- ' + password)
print(' --eNBSourceCodePath=[eNB\'s Source Code Path] -- ' + sourcepath)
def OAIUESrvHelp(ipaddr, username, password, sourcepath):
print(' --UEIPAddress=[UE\'s IP Address] -- ' + ipaddr)
print(' --UEUserName=[UE\'s Login User Name] -- ' + username)
print(' --UEPassword=[UE\'s Login Password] -- ' + password)
print(' --UESourceCodePath=[UE\'s Source Code Path] -- ' + sourcepath)
def EPCSrvHelp(ipaddr, username, password, sourcepath, epctype):
print(' --EPCIPAddress=[EPC\'s IP Address] -- ' + ipaddr)
print(' --EPCUserName=[EPC\'s Login User Name] -- ' + username)
print(' --EPCPassword=[EPC\'s Login Password] -- ' + password)
print(' --EPCSourceCodePath=[EPC\'s Source Code Path] -- ' + sourcepath)
print(' --EPCType=[EPC\'s Type: OAI or ltebox or OAI-Rel14-CUPS] -- ' + epctype)
def ADBSrvHelp(ipaddr, username, password):
print(' --ADBIPAddress=[ADB\'s IP Address] -- ' + ipaddr)
print(' --ADBUserName=[ADB\'s Login User Name] -- ' + username)
print(' --ADBPassword=[ADB\'s Login Password] -- ' + password)
def XmlHelp(filename):
print(' --XMLTestFile=[XML Test File to be run] -- ' + filename)
print(' Note: multiple xml files can be specified (--XMLFile=File1 ... --XMLTestFile=FileN) when HTML headers are created ("InitiateHtml" mode)')

420
ci-scripts/html.py Normal file
View File

@@ -0,0 +1,420 @@
#/*
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
import sys # arg
import re # reg
import logging
import os
import time
import subprocess
from multiprocessing import Process, Lock, SimpleQueue
import constants as CONST
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
class HTMLManagement():
def __init__(self):
self.htmlFile = ''
self.htmlHeaderCreated = False
self.htmlFooterCreated = False
self.ranRepository = ''
self.ranBranch = ''
self.ranCommitID = ''
self.ranAllowMerge = False
self.ranTargetBranch = ''
self.nbTestXMLfiles = 0
self.htmlTabRefs = []
self.htmlTabNames = []
self.htmlTabIcons = []
self.testXMLfiles = []
self.htmleNBFailureMsg = ''
self.htmlUEFailureMsg = ''
self.startTime = int(round(time.time() * 1000))
self.testCase_id = ''
self.desc = ''
self.OsVersion = ['', '']
self.KernelVersion = ['', '']
self.UhdVersion = ['', '']
self.UsrpBoard = ['', '']
self.CpuNb = ['', '']
self.CpuModel = ['', '']
self.CpuMHz = ['', '']
#-----------------------------------------------------------
# Setters and Getters
#-----------------------------------------------------------
def SethtmlUEConnected(self, nbUEs):
if nbUEs > 0:
self.htmlUEConnected = nbUEs
else:
self.htmlUEConnected = 1
#-----------------------------------------------------------
# HTML structure creation functions
#-----------------------------------------------------------
def CreateHtmlHeader(self, ADBIPAddress):
if (not self.htmlHeaderCreated):
logging.debug('\u001B[1m----------------------------------------\u001B[0m')
logging.debug('\u001B[1m Creating HTML header \u001B[0m')
logging.debug('\u001B[1m----------------------------------------\u001B[0m')
self.htmlFile = open('test_results.html', 'w')
self.htmlFile.write('<!DOCTYPE html>\n')
self.htmlFile.write('<html class="no-js" lang="en-US">\n')
self.htmlFile.write('<head>\n')
self.htmlFile.write(' <meta name="viewport" content="width=device-width, initial-scale=1">\n')
self.htmlFile.write(' <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">\n')
self.htmlFile.write(' <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>\n')
self.htmlFile.write(' <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>\n')
self.htmlFile.write(' <title>Test Results for TEMPLATE_JOB_NAME job build #TEMPLATE_BUILD_ID</title>\n')
self.htmlFile.write('</head>\n')
self.htmlFile.write('<body><div class="container">\n')
self.htmlFile.write(' <br>\n')
self.htmlFile.write(' <table style="border-collapse: collapse; border: none;">\n')
self.htmlFile.write(' <tr style="border-collapse: collapse; border: none;">\n')
self.htmlFile.write(' <td style="border-collapse: collapse; border: none;">\n')
self.htmlFile.write(' <a href="http://www.openairinterface.org/">\n')
self.htmlFile.write(' <img src="http://www.openairinterface.org/wp-content/uploads/2016/03/cropped-oai_final_logo2.png" alt="" border="none" height=50 width=150>\n')
self.htmlFile.write(' </img>\n')
self.htmlFile.write(' </a>\n')
self.htmlFile.write(' </td>\n')
self.htmlFile.write(' <td style="border-collapse: collapse; border: none; vertical-align: center;">\n')
self.htmlFile.write(' <b><font size = "6">Job Summary -- Job: TEMPLATE_JOB_NAME -- Build-ID: TEMPLATE_BUILD_ID</font></b>\n')
self.htmlFile.write(' </td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' </table>\n')
self.htmlFile.write(' <br>\n')
self.htmlFile.write(' <div class="alert alert-info"><strong> <span class="glyphicon glyphicon-dashboard"></span> TEMPLATE_STAGE_NAME</strong></div>\n')
self.htmlFile.write(' <table border = "1">\n')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-time"></span> Build Start Time (UTC) </td>\n')
self.htmlFile.write(' <td>TEMPLATE_BUILD_TIME</td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-cloud-upload"></span> GIT Repository </td>\n')
self.htmlFile.write(' <td><a href="' + self.ranRepository + '">' + self.ranRepository + '</a></td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-wrench"></span> Job Trigger </td>\n')
if (self.ranAllowMerge):
self.htmlFile.write(' <td>Merge-Request</td>\n')
else:
self.htmlFile.write(' <td>Push to Branch</td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
if (self.ranAllowMerge):
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-log-out"></span> Source Branch </td>\n')
else:
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-tree-deciduous"></span> Branch</td>\n')
self.htmlFile.write(' <td>' + self.ranBranch + '</td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
if (self.ranAllowMerge):
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-tag"></span> Source Commit ID </td>\n')
else:
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-tag"></span> Commit ID </td>\n')
self.htmlFile.write(' <td>' + self.ranCommitID + '</td>\n')
self.htmlFile.write(' </tr>\n')
if self.ranAllowMerge != '':
commit_message = subprocess.check_output("git log -n1 --pretty=format:\"%s\" " + self.ranCommitID, shell=True, universal_newlines=True)
commit_message = commit_message.strip()
self.htmlFile.write(' <tr>\n')
if (self.ranAllowMerge):
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-comment"></span> Source Commit Message </td>\n')
else:
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-comment"></span> Commit Message </td>\n')
self.htmlFile.write(' <td>' + commit_message + '</td>\n')
self.htmlFile.write(' </tr>\n')
if (self.ranAllowMerge):
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" > <span class="glyphicon glyphicon-log-in"></span> Target Branch </td>\n')
if (self.ranTargetBranch == ''):
self.htmlFile.write(' <td>develop</td>\n')
else:
self.htmlFile.write(' <td>' + self.ranTargetBranch + '</td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' </table>\n')
if (ADBIPAddress != 'none'):
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> ' + str(self.htmlNb_Smartphones) + ' UE(s) is(are) connected to ADB bench server</h2>\n')
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> ' + str(self.htmlNb_CATM_Modules) + ' CAT-M UE(s) is(are) connected to bench server</h2>\n')
else:
self.htmlUEConnected = 1
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> 1 OAI UE(s) is(are) connected to CI bench</h2>\n')
self.htmlFile.write(' <br>\n')
self.htmlFile.write(' <ul class="nav nav-pills">\n')
count = 0
while (count < self.nbTestXMLfiles):
pillMsg = ' <li><a data-toggle="pill" href="#'
pillMsg += self.htmlTabRefs[count]
pillMsg += '">'
pillMsg += '__STATE_' + self.htmlTabNames[count] + '__'
pillMsg += self.htmlTabNames[count]
pillMsg += ' <span class="glyphicon glyphicon-'
pillMsg += self.htmlTabIcons[count]
pillMsg += '"></span></a></li>\n'
self.htmlFile.write(pillMsg)
count += 1
self.htmlFile.write(' </ul>\n')
self.htmlFile.write(' <div class="tab-content">\n')
self.htmlFile.close()
def CreateHtmlTabHeader(self):
if (not self.htmlHeaderCreated):
if (not os.path.isfile('test_results.html')):
self.CreateHtmlHeader('none')
self.htmlFile = open('test_results.html', 'a')
if (self.nbTestXMLfiles == 1):
self.htmlFile.write(' <div id="' + self.htmlTabRefs[0] + '" class="tab-pane fade">\n')
self.htmlFile.write(' <h3>Test Summary for <span class="glyphicon glyphicon-file"></span> ' + self.testXMLfiles[0] + '</h3>\n')
else:
self.htmlFile.write(' <div id="build-tab" class="tab-pane fade">\n')
self.htmlFile.write(' <table class="table" border = "1">\n')
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
self.htmlFile.write(' <th>Relative Time (ms)</th>\n')
self.htmlFile.write(' <th>Test Id</th>\n')
self.htmlFile.write(' <th>Test Desc</th>\n')
self.htmlFile.write(' <th>Test Options</th>\n')
self.htmlFile.write(' <th>Test Status</th>\n')
i = 0
while (i < self.htmlUEConnected):
self.htmlFile.write(' <th>UE' + str(i) + ' Status</th>\n')
i += 1
self.htmlFile.write(' </tr>\n')
self.htmlFile.close()
self.htmlHeaderCreated = True
def CreateHtmlTabFooter(self, passStatus):
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
self.htmlFile = open('test_results.html', 'a')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <th bgcolor = "#33CCFF" colspan=3>Final Tab Status</th>\n')
if passStatus:
self.htmlFile.write(' <th bgcolor = "green" colspan=' + str(2 + self.htmlUEConnected) + '><font color="white">PASS <span class="glyphicon glyphicon-ok"></span> </font></th>\n')
else:
self.htmlFile.write(' <th bgcolor = "red" colspan=' + str(2 + self.htmlUEConnected) + '><font color="white">FAIL <span class="glyphicon glyphicon-remove"></span> </font></th>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' </table>\n')
self.htmlFile.write(' </div>\n')
self.htmlFile.close()
time.sleep(1)
if passStatus:
cmd = "sed -i -e 's/__STATE_" + self.htmlTabNames[0] + "__//' test_results.html"
subprocess.run(cmd, shell=True)
else:
cmd = "sed -i -e 's/__STATE_" + self.htmlTabNames[0] + "__/<span class=\"glyphicon glyphicon-remove\"><\/span>/' test_results.html"
subprocess.run(cmd, shell=True)
self.htmlFooterCreated = False
def CreateHtmlFooter(self, passStatus):
if (os.path.isfile('test_results.html')):
self.htmlFile = open('test_results.html', 'a')
self.htmlFile.write('</div>\n')
self.htmlFile.write(' <p></p>\n')
self.htmlFile.write(' <table class="table table-condensed">\n')
machines = [ 'eNB', 'UE' ]
for machine in machines:
if machine == 'eNB':
idx = 0
else:
idx = 1
if self.OsVersion[idx] == '':
continue
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <th colspan=8>' + str(machine) + ' Server Characteristics</th>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td>OS Version</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.OsVersion[idx] + '</span></td>\n')
self.htmlFile.write(' <td>Kernel Version</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.KernelVersion[idx] + '</span></td>\n')
self.htmlFile.write(' <td>UHD Version</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.UhdVersion[idx] + '</span></td>\n')
self.htmlFile.write(' <td>USRP Board</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.UsrpBoard[idx] + '</span></td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td>Nb CPUs</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.CpuNb[idx] + '</span></td>\n')
self.htmlFile.write(' <td>CPU Model Name</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.CpuModel[idx] + '</span></td>\n')
self.htmlFile.write(' <td>CPU Frequency</td>\n')
self.htmlFile.write(' <td><span class="label label-default">' + self.CpuMHz[idx] + '</span></td>\n')
self.htmlFile.write(' <td></td>\n')
self.htmlFile.write(' <td></td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <th colspan=5 bgcolor = "#33CCFF">Final Status</th>\n')
if passStatus:
self.htmlFile.write(' <th colspan=3 bgcolor="green"><font color="white">PASS <span class="glyphicon glyphicon-ok"></span></font></th>\n')
else:
self.htmlFile.write(' <th colspan=3 bgcolor="red"><font color="white">FAIL <span class="glyphicon glyphicon-remove"></span> </font></th>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' </table>\n')
self.htmlFile.write(' <p></p>\n')
self.htmlFile.write(' <div class="well well-lg">End of Test Report -- Copyright <span class="glyphicon glyphicon-copyright-mark"></span> 2018 <a href="http://www.openairinterface.org/">OpenAirInterface</a>. All Rights Reserved.</div>\n')
self.htmlFile.write('</div></body>\n')
self.htmlFile.write('</html>\n')
self.htmlFile.close()
def CreateHtmlRetrySeparator(self, cntnumfails):
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
self.htmlFile = open('test_results.html', 'a')
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ---- Try Run #' + str(cntnumfails) + ' ---- </b></td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.close()
def CreateHtmlTestRow(self, options, status, processesStatus, machine='eNB'):
if (self.htmlFooterCreated or (not self.htmlHeaderCreated)):
return
self.htmlFile = open('test_results.html', 'a')
currentTime = int(round(time.time() * 1000)) - self.startTime
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" >' + format(currentTime / 1000, '.1f') + '</td>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" >' + self.testCase_id + '</td>\n')
self.htmlFile.write(' <td>' + self.desc + '</td>\n')
self.htmlFile.write(' <td>' + str(options) + '</td>\n')
if (str(status) == 'OK'):
self.htmlFile.write(' <td bgcolor = "lightgreen" >' + str(status) + '</td>\n')
elif (str(status) == 'KO'):
if (processesStatus == 0):
self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n')
elif (processesStatus == CONST.ENB_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - eNB process not found</td>\n')
elif (processesStatus == CONST.OAI_UE_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>\n')
elif (processesStatus == CONST.ENB_PROCESS_SEG_FAULT) or (processesStatus == CONST.OAI_UE_PROCESS_SEG_FAULT):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Segmentation Fault</td>\n')
elif (processesStatus == CONST.ENB_PROCESS_ASSERTION) or (processesStatus == CONST.OAI_UE_PROCESS_ASSERTION):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Assertion</td>\n')
elif (processesStatus == CONST.ENB_PROCESS_REALTIME_ISSUE):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process faced Real Time issue(s)</td>\n')
elif (processesStatus == CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE) or (processesStatus == CONST.OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE):
self.htmlFile.write(' <td bgcolor = "orange" >OK?</td>\n')
elif (processesStatus == CONST.ENB_PROCESS_SLAVE_RRU_NOT_SYNCED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' Slave RRU could not synch</td>\n')
elif (processesStatus == CONST.OAI_UE_PROCESS_COULD_NOT_SYNC):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - UE could not sync</td>\n')
elif (processesStatus == CONST.HSS_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - HSS process not found</td>\n')
elif (processesStatus == CONST.MME_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - MME process not found</td>\n')
elif (processesStatus == CONST.SPGW_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - SPGW process not found</td>\n')
elif (processesStatus == CONST.UE_IP_ADDRESS_ISSUE):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - Could not retrieve UE IP address</td>\n')
else:
self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n')
else:
self.htmlFile.write(' <td bgcolor = "orange" >' + str(status) + '</td>\n')
if (len(str(self.htmleNBFailureMsg)) > 2):
cellBgColor = 'white'
result = re.search('ended with|faced real time issues', self.htmleNBFailureMsg)
if result is not None:
cellBgColor = 'red'
else:
result = re.search('showed|Reestablishment|Could not copy eNB logfile', self.htmleNBFailureMsg)
if result is not None:
cellBgColor = 'orange'
self.htmlFile.write(' <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmleNBFailureMsg + '</pre></td>\n')
self.htmleNBFailureMsg = ''
elif (len(str(self.htmlUEFailureMsg)) > 2):
cellBgColor = 'white'
result = re.search('ended with|faced real time issues', self.htmlUEFailureMsg)
if result is not None:
cellBgColor = 'red'
else:
result = re.search('showed|Could not copy UE logfile|oaitun_ue1 interface is either NOT mounted or NOT configured', self.htmlUEFailureMsg)
if result is not None:
cellBgColor = 'orange'
self.htmlFile.write(' <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmlUEFailureMsg + '</pre></td>\n')
self.htmlUEFailureMsg = ''
else:
i = 0
while (i < self.htmlUEConnected):
self.htmlFile.write(' <td>-</td>\n')
i += 1
self.htmlFile.write(' </tr>\n')
self.htmlFile.close()
def CreateHtmlTestRowQueue(self, options, status, ue_status, ue_queue):
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
self.htmlFile = open('test_results.html', 'a')
currentTime = int(round(time.time() * 1000)) - self.startTime
addOrangeBK = False
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" >' + format(currentTime / 1000, '.1f') + '</td>\n')
self.htmlFile.write(' <td bgcolor = "lightcyan" >' + self.testCase_id + '</td>\n')
self.htmlFile.write(' <td>' + self.desc + '</td>\n')
self.htmlFile.write(' <td>' + str(options) + '</td>\n')
if (str(status) == 'OK'):
self.htmlFile.write(' <td bgcolor = "lightgreen" >' + str(status) + '</td>\n')
elif (str(status) == 'KO'):
self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n')
else:
addOrangeBK = True
self.htmlFile.write(' <td bgcolor = "orange" >' + str(status) + '</td>\n')
i = 0
while (i < self.htmlUEConnected):
if (i < ue_status):
if (not ue_queue.empty()):
if (addOrangeBK):
self.htmlFile.write(' <td bgcolor = "orange" >' + str(ue_queue.get()).replace('white', 'orange') + '</td>\n')
else:
self.htmlFile.write(' <td>' + str(ue_queue.get()) + '</td>\n')
else:
self.htmlFile.write(' <td>-</td>\n')
else:
self.htmlFile.write(' <td>-</td>\n')
i += 1
self.htmlFile.write(' </tr>\n')
self.htmlFile.close()

File diff suppressed because it is too large Load Diff

View File

@@ -52,7 +52,7 @@ function variant_usage {
if [ "$1" = "full" ]
then
printf " VM_NAME=%-15s ARCHIVES_LOC=%-15s\n" "$VM_NAME" "$ARCHIVES_LOC"
printf " VM_MEMORY=%-15s VM_CPU=%-15s\n" "$VM_MEMORY" "$VM_CPU"
printf " VM_MEMORY=%-15s VM_CPU=%-15s VM_DISK=%-15s\n" "$VM_MEMORY" "$VM_CPU" "$VM_DISK"
printf " NB_PATTERN_FILES=%-15s BUILD_OPTIONS=%-15s\n" "$NB_PATTERN_FILES" "\"$BUILD_OPTIONS\""
printf " LOG_PATTERN=%-15s EXPERIMENTAL=%-15s\n\n\n" "$LOG_PATTERN" "$EXPERIMENTAL"
fi
@@ -182,10 +182,11 @@ function variant__v2__basic_sim {
}
function variant__v3__phy_sim {
NB_PATTERN_FILES=12
NB_PATTERN_FILES=13
BUILD_OPTIONS="--phy_simulators"
VM_MEMORY=8192
RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
VM_DISK=20
RUN_OPTIONS="./run_exec_autotests.bash -g \"01510* 015111 015112\" -q -np -b"
}
function variant__v4__cppcheck {
@@ -196,11 +197,15 @@ function variant__v4__cppcheck {
}
function variant__v5__gnb_usrp {
VM_MEMORY=10240
VM_CPU=8
NB_PATTERN_FILES=9
BUILD_OPTIONS="--gNB -w USRP"
}
function variant__v6__nr_ue_usrp {
VM_MEMORY=4096
VM_CPU=4
NB_PATTERN_FILES=9
BUILD_OPTIONS="--nrUE -w USRP"
}
@@ -222,7 +227,7 @@ function variant__v8__ue_ethernet {
function variant__v10__flexran_rtc {
ARCHIVES_LOC=flexran
NB_PATTERN_FILES=1
BUILD_OPTIONS="cmake . && make -j2"
BUILD_OPTIONS="cmake .. && make -j2"
VARIANT_INFO="non-OSA"
}
@@ -233,8 +238,8 @@ function variant__v20__l1_sim {
}
function variant__v21__rf_sim {
ARCHIVES_LOC=rf_sim
RUN_OPTIONS="complex"
EXPERIMENTAL="true"
}
function variant__v22__l2_sim {
@@ -272,6 +277,7 @@ function check_set_variant {
ARCHIVES_LOC=${VARIANTS_LONG[$i]//"-"/"_"}
VM_MEMORY=2048
VM_CPU=4
VM_DISK=10
EXPERIMENTAL=""
NBARGS=$[$NBARGS+$VARIANT_OPTID]
variant__${VARIANTS_SHORT[$i]}__${VARIANTS_LONG[$i]//"-"/"_"}
@@ -494,6 +500,7 @@ AUTHORIZED_VAR=("VM_OSREL RUN_EXPERIMENTAL OPTIONAL_APTCACHER TESTPLATFORM_OWNER
# -V<xx> option.
VM_NAME=""
VM_MEMORY=0
VM_DISK=0
VM_CPU=0
ARCHIVES_LOC=""
LOG_PATTERN=""

53
ci-scripts/py_params.yaml Normal file
View File

@@ -0,0 +1,53 @@
eNBRepository : b
ranRepository : c
eNB_AllowMerge :
ranAllowMerge :
eNBBranch : f
ranBranch : g
eNBCommitID :
ranCommitID : i
eNBTargetBranch : j
ranTargetBranch : k
nodes :
- type : eNB
IPAddress : 001.1.1
UserName : toto
Password : qwe
SourceCodePath : l
- type : gNB
IPAddress : 002.2.2
UserName : tata
Password : asd
SourceCodePath : m
- type : eNB
IPAddress : 003.3.3
UserName : titi
Password : zxc
SourceCodePath : n
- type : gNB
IPAddress : 004.4.4
UserName : caca
Password : pepe
SourceCodePath : o
EPCIPAddress : p
EPCUserName : q
EPCPassword : r
EPCSourceCodePath : s
EPCType : t
EPCContainerPrefix : u
ADBIPAddress : v
ADBUserName : w
ADBType : x
ADBPassword : y
XMLTestFile : z
UEIPAddress : qqq
UEUserName : www
UEPassword : eee
UESourceCodePath : yyy
finalStatus : bbb

View File

@@ -0,0 +1,97 @@
eNBRepository : b
ranRepository : c
eNB_AllowMerge :
ranAllowMerge :
eNBBranch : f
ranBranch : g
eNBCommitID :
ranCommitID : i
eNBTargetBranch : j
ranTargetBranch : k
RAN:
RAN_inst_0:
name : RAN_1
nodes :
- type : eNB
IPAddress : 001.1.1
UserName : toto
Password : qwe
SourceCodePath : l
- type : gNB
IPAddress : 002.2.2
UserName : tata
Password : asd
SourceCodePath : m
- type : eNB
IPAddress : 003.3.3
UserName : titi
Password : zxc
SourceCodePath : n
- type : gNB
IPAddress : 004.4.4
UserName : caca
Password : pepe
SourceCodePath : o
RAN_inst_1:
name : RAN_2
nodes :
- type : eNB
IPAddress : 101.1.1
UserName : toto
Password : qwe
SourceCodePath : l
- type : gNB
IPAddress : 102.2.2
UserName : zaza
Password : asd
SourceCodePath : m
- type : eNB
IPAddress : 103.3.3
UserName : zizi
Password : zxc
SourceCodePath : n
- type : gNB
IPAddress : 104.4.4
UserName : aaaa
Password : pepe
SourceCodePath : o
EPC:
EPC_inst_0:
EPCIPAddress : p
EPCUserName : q
EPCPassword : r
EPCSourceCodePath : s
EPCType : t
EPCContainerPrefix : u
ADB:
ADBIPAddress : v
ADBUserName : w
ADBType : x
ADBPassword : y
UE:
UE_inst_0:
name : UE_1
type :
UEIPAddress : qqq
UEUserName : www
UEPassword : eee
UESourceCodePath : yyy
UE_inst_1:
name : UE_2
type :
UEIPAddress : bloblob
UEUserName : gwou
UEPassword : zebu
UESourceCodePath : pop
XMLTestFile : z
finalStatus : bbb

994
ci-scripts/ran.py Normal file
View File

@@ -0,0 +1,994 @@
#/*
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
import sys # arg
import re # reg
import logging
import os
import time
from multiprocessing import Process, Lock, SimpleQueue
#-----------------------------------------------------------
# OAI Testing modules
#-----------------------------------------------------------
import sshconnection as SSH
import epc
import helpreadme as HELP
import constants as CONST
import html
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
class RANManagement():
def __init__(self):
self.prematureExit = False
self.ranRepository = ''
self.ranBranch = ''
self.ranAllowMerge = False
self.ranCommitID = ''
self.ranTargetBranch = ''
self.eNBIPAddress = ''
self.eNBUserName = ''
self.eNBPassword = ''
self.eNBSourceCodePath = ''
self.eNB1IPAddress = ''
self.eNB1UserName = ''
self.eNB1Password = ''
self.eNB1SourceCodePath = ''
self.eNB2IPAddress = ''
self.eNB2UserName = ''
self.eNB2Password = ''
self.eNB2SourceCodePath = ''
self.Build_eNB_args = ''
self.backgroundBuild = False
self.backgroundBuildTestId = ['', '', '']
self.Build_eNB_forced_workspace_cleanup = False
self.Initialize_eNB_args = ''
self.air_interface = ['', '', ''] #changed from 'lte' to '' may lead to side effects in main
self.eNB_instance = 0
self.eNB_serverId = ''
self.eNBLogFiles = ['', '', '']
self.eNBOptions = ['', '', '']
self.eNBmbmsEnables = [False, False, False]
self.eNBstatuses = [-1, -1, -1]
self.flexranCtrlInstalled = False
self.flexranCtrlStarted = False
self.testCase_id = ''
self.epcPcapFile = ''
self.htmlObj = None
self.epcObj = None
self.runtime_stats= ''
#-----------------------------------------------------------
# RAN management functions
#-----------------------------------------------------------
def BuildeNB(self):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
# Check if we build an 5G-NR gNB or an LTE eNB or an OCP eNB
result = re.search('--eNBocp', self.Build_eNB_args)
if result is not None:
self.air_interface[self.eNB_instance] = 'ocp-enb'
else:
result = re.search('--gNB', self.Build_eNB_args)
if result is not None:
self.air_interface[self.eNB_instance] = 'nr-softmodem'
else:
self.air_interface[self.eNB_instance] = 'lte-softmodem'
# Worakround for some servers, we need to erase completely the workspace
if self.Build_eNB_forced_workspace_cleanup:
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf ' + lSourcePath, '\$', 15)
if self.htmlObj is not None:
self.testCase_id = self.htmlObj.testCase_id
else:
self.testCase_id = '000000'
# on RedHat/CentOS .git extension is mandatory
result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', self.ranRepository)
if result is not None:
full_ran_repo_name = self.ranRepository
else:
full_ran_repo_name = self.ranRepository + '.git'
mySSH.command('mkdir -p ' + lSourcePath, '\$', 5)
mySSH.command('cd ' + lSourcePath, '\$', 5)
mySSH.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + full_ran_repo_name + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600)
# Raphael: here add a check if git clone or git fetch went smoothly
mySSH.command('git config user.email "jenkins@openairinterface.org"', '\$', 5)
mySSH.command('git config user.name "OAI Jenkins"', '\$', 5)
# Checking the BUILD INFO file
if not self.backgroundBuild:
mySSH.command('ls *.txt', '\$', 5)
result = re.search('LAST_BUILD_INFO', mySSH.getBefore())
if result is not None:
mismatch = False
mySSH.command('grep SRC_COMMIT LAST_BUILD_INFO.txt', '\$', 2)
result = re.search(self.ranCommitID, mySSH.getBefore())
if result is None:
mismatch = True
mySSH.command('grep MERGED_W_TGT_BRANCH LAST_BUILD_INFO.txt', '\$', 2)
if (self.ranAllowMerge):
result = re.search('YES', mySSH.getBefore())
if result is None:
mismatch = True
mySSH.command('grep TGT_BRANCH LAST_BUILD_INFO.txt', '\$', 2)
if self.ranTargetBranch == '':
result = re.search('develop', mySSH.getBefore())
else:
result = re.search(self.ranTargetBranch, mySSH.getBefore())
if result is None:
mismatch = True
else:
result = re.search('NO', mySSH.getBefore())
if result is None:
mismatch = True
if not mismatch:
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Build_eNB_args, 'OK', CONST.ALL_PROCESSES_OK)
return
mySSH.command('echo ' + lPassWord + ' | sudo -S git clean -x -d -ff', '\$', 30)
# if the commit ID is provided use it to point to it
if self.ranCommitID != '':
mySSH.command('git checkout -f ' + self.ranCommitID, '\$', 5)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should already been checked earlier
if (self.ranAllowMerge):
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
mySSH.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
else:
logging.debug('Merging with the target branch: ' + self.ranTargetBranch)
mySSH.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
mySSH.command('mkdir -p log', '\$', 5)
mySSH.command('chmod 777 log', '\$', 5)
# no need to remove in log (git clean did the trick)
if self.backgroundBuild:
mySSH.command('echo "./build_oai ' + self.Build_eNB_args + '" > ./my-lte-softmodem-build.sh', '\$', 5)
mySSH.command('chmod 775 ./my-lte-softmodem-build.sh', '\$', 5)
mySSH.command('echo ' + lPassWord + ' | sudo -S ls', '\$', 5)
mySSH.command('echo $USER; nohup sudo -E ./my-lte-softmodem-build.sh' + ' > ' + lSourcePath + '/cmake_targets/compile_oai_enb.log ' + ' 2>&1 &', lUserName, 5)
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Build_eNB_args, 'OK', CONST.ALL_PROCESSES_OK)
self.backgroundBuildTestId[int(self.eNB_instance)] = self.testCase_id
return
mySSH.command('stdbuf -o0 ./build_oai ' + self.Build_eNB_args + ' 2>&1 | stdbuf -o0 tee compile_oai_enb.log', 'Bypassing the Tests|build have failed', 1500)
mySSH.close()
self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.testCase_id)
def WaitBuildeNBisFinished(self):
if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
count = 40
buildOAIprocess = True
while (count > 0) and buildOAIprocess:
mySSH.command('ps aux | grep --color=never build_ | grep -v grep', '\$', 6)
result = re.search('build_oai', mySSH.getBefore())
if result is None:
buildOAIprocess = False
else:
count -= 1
time.sleep(30)
mySSH.close()
self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.backgroundBuildTestId[int(self.eNB_instance)])
def checkBuildeNB(self, lIpAddr, lUserName, lPassWord, lSourcePath, testcaseId):
if self.htmlObj is not None:
self.htmlObj.testCase_id=testcaseId
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 3)
mySSH.command('ls ran_build/build', '\$', 3)
mySSH.command('ls ran_build/build', '\$', 3)
#check if we have the build corresponding to the air interface keywords (nr-softmode, lte-softmodem, ocp-enb)
logging.info('CHECK Build with IP='+lIpAddr+' SourcePath='+lSourcePath)
result = re.search(self.air_interface[self.eNB_instance], mySSH.getBefore())
if result is None:
buildStatus = False #if not, build failed
else:
buildStatus = True
# Generating a BUILD INFO file
mySSH.command('echo "SRC_BRANCH: ' + self.ranBranch + '" > ../LAST_BUILD_INFO.txt', '\$', 2)
mySSH.command('echo "SRC_COMMIT: ' + self.ranCommitID + '" >> ../LAST_BUILD_INFO.txt', '\$', 2)
if (self.ranAllowMerge):
mySSH.command('echo "MERGED_W_TGT_BRANCH: YES" >> ../LAST_BUILD_INFO.txt', '\$', 2)
if self.ranTargetBranch == '':
mySSH.command('echo "TGT_BRANCH: develop" >> ../LAST_BUILD_INFO.txt', '\$', 2)
else:
mySSH.command('echo "TGT_BRANCH: ' + self.ranTargetBranch + '" >> ../LAST_BUILD_INFO.txt', '\$', 2)
else:
mySSH.command('echo "MERGED_W_TGT_BRANCH: NO" >> ../LAST_BUILD_INFO.txt', '\$', 2)
mySSH.command('mkdir -p build_log_' + testcaseId, '\$', 5)
mySSH.command('mv log/* ' + 'build_log_' + testcaseId, '\$', 5)
mySSH.command('mv compile_oai_enb.log ' + 'build_log_' + testcaseId, '\$', 5)
if self.eNB_serverId != '0':
mySSH.command('cd cmake_targets', '\$', 5)
mySSH.command('if [ -e tmp_build' + testcaseId + '.zip ]; then rm -f tmp_build' + testcaseId + '.zip; fi', '\$', 5)
mySSH.command('zip -r -qq tmp_build' + testcaseId + '.zip build_log_' + testcaseId, '\$', 5)
mySSH.close()
if (os.path.isfile('./tmp_build' + testcaseId + '.zip')):
os.remove('./tmp_build' + testcaseId + '.zip')
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/tmp_build' + testcaseId + '.zip', '.')
if (os.path.isfile('./tmp_build' + testcaseId + '.zip')):
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './tmp_build' + testcaseId + '.zip', self.eNBSourceCodePath + '/cmake_targets/.')
os.remove('./tmp_build' + testcaseId + '.zip')
mySSH.open(self.eNBIPAddress, self.eNBUserName, self.eNBPassword)
mySSH.command('cd ' + self.eNBSourceCodePath + '/cmake_targets', '\$', 5)
#-qq quiet / -u update orcreate files
mySSH.command('unzip -u -qq -DD tmp_build' + testcaseId + '.zip', '\$', 5)
mySSH.command('rm -f tmp_build' + testcaseId + '.zip', '\$', 5)
mySSH.close()
else:
mySSH.close()
#generate logging info depending on buildStatus and air interface
if buildStatus:
logging.info('\u001B[1m Building OAI ' + self.air_interface[self.eNB_instance] + ' Pass\u001B[0m')
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Build_eNB_args, 'OK', CONST.ALL_PROCESSES_OK)
else:
logging.error('\u001B[1m Building OAI ' + self.air_interface[self.eNB_instance] + ' Failed\u001B[0m')
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Build_eNB_args, 'KO', CONST.ALL_PROCESSES_OK)
self.htmlObj.CreateHtmlTabFooter(False)
sys.exit(1)
def InitializeeNB(self):
if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
if self.htmlObj is not None:
self.testCase_id = self.htmlObj.testCase_id
else:
self.testCase_id = '000000'
mySSH = SSH.SSHConnection()
if (self.pStatus < 0):
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' ' + self.Initialize_eNB_args, 'KO', self.pStatus)
self.htmlObj.CreateHtmlTabFooter(False)
sys.exit(1)
# If tracer options is on, running tshark on EPC side and capture traffic b/ EPC and eNB
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if (result is not None) and (self.epcObj is not None):
localEpcIpAddr = self.epcObj.IPAddress
localEpcUserName = self.epcObj.UserName
localEpcPassword = self.epcObj.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
mySSH.command('ip addr show | awk -f /tmp/active_net_interfaces.awk | egrep -v "lo|tun"', '\$', 5)
result = re.search('interfaceToUse=(?P<eth_interface>[a-zA-Z0-9\-\_]+)done', mySSH.getBefore())
if result is not None:
eth_interface = result.group('eth_interface')
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + '\u001B[0m')
self.epcPcapFile = 'enb_' + self.testCase_id + '_s1log.pcap'
mySSH.command('echo ' + localEpcPassword + ' | sudo -S rm -f /tmp/' + self.epcPcapFile , '\$', 5)
mySSH.command('echo $USER; nohup sudo tshark -f "host ' + lIpAddr +'" -i ' + eth_interface + ' -w /tmp/' + self.epcPcapFile + ' > /tmp/tshark.log 2>&1 &', localEpcUserName, 5)
mySSH.close()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath, '\$', 5)
# Initialize_eNB_args usually start with -O and followed by the location in repository
full_config_file = self.Initialize_eNB_args.replace('-O ','')
extra_options = ''
extIdx = full_config_file.find('.conf')
if (extIdx > 0):
extra_options = full_config_file[extIdx + 5:]
# if tracer options is on, compiling and running T Tracer
result = re.search('T_stdout', str(extra_options))
if result is not None:
logging.debug('\u001B[1m Compiling and launching T Tracer\u001B[0m')
mySSH.command('cd common/utils/T/tracer', '\$', 5)
mySSH.command('make', '\$', 10)
mySSH.command('echo $USER; nohup ./record -d ../T_messages.txt -o ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '_record.raw -ON -off VCD -off HEAVY -off LEGACY_GROUP_TRACE -off LEGACY_GROUP_DEBUG > ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '_record.log 2>&1 &', lUserName, 5)
mySSH.command('cd ' + lSourcePath, '\$', 5)
full_config_file = full_config_file[:extIdx + 5]
config_path, config_file = os.path.split(full_config_file)
else:
sys.exit('Insufficient Parameter')
ci_full_config_file = config_path + '/ci-' + config_file
rruCheck = False
result = re.search('^rru|^rcc|^du.band', str(config_file))
if result is not None:
rruCheck = True
# do not reset board twice in IF4.5 case
result = re.search('^rru|^enb|^du.band', str(config_file))
if result is not None:
mySSH.command('echo ' + lPassWord + ' | sudo -S uhd_find_devices', '\$', 60)
result = re.search('type: b200', mySSH.getBefore())
if result is not None:
logging.debug('Found a B2xx device --> resetting it')
mySSH.command('echo ' + lPassWord + ' | sudo -S b2xx_fx3_utils --reset-device', '\$', 10)
# Reloading FGPA bin firmware
mySSH.command('echo ' + lPassWord + ' | sudo -S uhd_find_devices', '\$', 60)
# Make a copy and adapt to EPC / eNB IP addresses
mySSH.command('cp ' + full_config_file + ' ' + ci_full_config_file, '\$', 5)
if self.epcObj is not None:
localMmeIpAddr = self.epcObj.MmeIPAddress
mySSH.command('sed -i -e \'s/CI_MME_IP_ADDR/' + localMmeIpAddr + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_ENB_IP_ADDR/' + lIpAddr + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_GNB_IP_ADDR/' + lIpAddr + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_RCC_IP_ADDR/' + self.eNBIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_RRU1_IP_ADDR/' + self.eNB1IPAddress + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_RRU2_IP_ADDR/' + self.eNB2IPAddress + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_FR1_CTL_ENB_IP_ADDR/' + self.eNBIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
if self.flexranCtrlInstalled and self.flexranCtrlStarted:
mySSH.command('sed -i -e \'s/FLEXRAN_ENABLED.*;/FLEXRAN_ENABLED = "yes";/\' ' + ci_full_config_file, '\$', 2);
else:
mySSH.command('sed -i -e \'s/FLEXRAN_ENABLED.*;/FLEXRAN_ENABLED = "no";/\' ' + ci_full_config_file, '\$', 2);
self.eNBmbmsEnables[int(self.eNB_instance)] = False
mySSH.command('grep enable_enb_m2 ' + ci_full_config_file, '\$', 2);
result = re.search('yes', mySSH.getBefore())
if result is not None:
self.eNBmbmsEnables[int(self.eNB_instance)] = True
logging.debug('\u001B[1m MBMS is enabled on this eNB\u001B[0m')
result = re.search('noS1', str(self.Initialize_eNB_args))
eNBinNoS1 = False
if result is not None:
eNBinNoS1 = True
logging.debug('\u001B[1m eNB is in noS1 configuration \u001B[0m')
# Launch eNB with the modified config file
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
if self.air_interface == 'nr':
mySSH.command('if [ -e rbconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm rbconfig.raw; fi', '\$', 5)
mySSH.command('if [ -e reconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm reconfig.raw; fi', '\$', 5)
# NOTE: WE SHALL do a check if the executable is present (in case build went wrong)
mySSH.command('echo "ulimit -c unlimited && ./ran_build/build/' + self.air_interface[self.eNB_instance] + ' -O ' + lSourcePath + '/' + ci_full_config_file + extra_options + '" > ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
mySSH.command('chmod 775 ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf enb_' + self.testCase_id + '.log', '\$', 5)
mySSH.command('echo $USER; nohup sudo -E ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh > ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '.log 2>&1 &', lUserName, 10)
self.eNBLogFiles[int(self.eNB_instance)] = 'enb_' + self.testCase_id + '.log'
if extra_options != '':
self.eNBOptions[int(self.eNB_instance)] = extra_options
time.sleep(6)
doLoop = True
loopCounter = 20
enbDidSync = False
while (doLoop):
loopCounter = loopCounter - 1
if (loopCounter == 0):
# In case of T tracer recording, we may need to kill it
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if result is not None:
mySSH.command('killall --signal SIGKILL record', '\$', 5)
mySSH.close()
doLoop = False
logging.error('\u001B[1;37;41m eNB/gNB/ocp-eNB logging system did not show got sync! \u001B[0m')
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'KO', CONST.ALL_PROCESSES_OK)
# In case of T tracer recording, we need to kill tshark on EPC side
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if (result is not None) and (self.epcObj is not None):
localEpcIpAddr = self.epcObj.IPAddress
localEpcUserName = self.epcObj.UserName
localEpcPassword = self.epcObj.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
logging.debug('\u001B[1m Stopping tshark \u001B[0m')
mySSH.command('echo ' + localEpcPassword + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5)
if self.epcPcapFile != '':
time.sleep(0.5)
mySSH.command('echo ' + localEpcPassword + ' | sudo -S chmod 666 /tmp/' + self.epcPcapFile, '\$', 5)
mySSH.close()
time.sleep(1)
if self.epcPcapFile != '':
copyin_res = mySSH.copyin(localEpcIpAddr, localEpcUserName, localEpcPassword, '/tmp/' + self.epcPcapFile, '.')
if (copyin_res == 0):
mySSH.copyout(lIpAddr, lUserName, lPassWord, self.epcPcapFile, lSourcePath + '/cmake_targets/.')
self.prematureExit = True
return
else:
mySSH.command('stdbuf -o0 cat enb_' + self.testCase_id + '.log | egrep --text --color=never -i "wait|sync|Starting"', '\$', 4)
if rruCheck:
result = re.search('wait RUs', mySSH.getBefore())
else:
result = re.search('got sync|Starting F1AP at CU', mySSH.getBefore())
if result is None:
time.sleep(6)
else:
doLoop = False
enbDidSync = True
time.sleep(10)
rruCheck = False
result = re.search('^rru|^du.band', str(config_file))
if result is not None:
rruCheck = True
if enbDidSync and eNBinNoS1 and not rruCheck:
mySSH.command('ifconfig oaitun_enb1', '\$', 4)
mySSH.command('ifconfig oaitun_enb1', '\$', 4)
result = re.search('inet addr:1|inet 1', mySSH.getBefore())
if result is not None:
logging.debug('\u001B[1m oaitun_enb1 interface is mounted and configured\u001B[0m')
else:
logging.error('\u001B[1m oaitun_enb1 interface is either NOT mounted or NOT configured\u001B[0m')
if self.eNBmbmsEnables[int(self.eNB_instance)]:
mySSH.command('ifconfig oaitun_enm1', '\$', 4)
result = re.search('inet addr', mySSH.getBefore())
if result is not None:
logging.debug('\u001B[1m oaitun_enm1 interface is mounted and configured\u001B[0m')
else:
logging.error('\u001B[1m oaitun_enm1 interface is either NOT mounted or NOT configured\u001B[0m')
if enbDidSync:
self.eNBstatuses[int(self.eNB_instance)] = int(self.eNB_serverId)
mySSH.close()
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('\u001B[1m Initialize eNB/gNB/ocp-eNB Completed\u001B[0m')
def CheckeNBProcess(self, status_queue):
try:
# At least the instance 0 SHALL be on!
if self.eNBstatuses[0] == 0:
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
elif self.eNBstatuses[0] == 1:
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
elif self.eNBstatuses[0] == 2:
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
else:
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('stdbuf -o0 ps -aux | grep --color=never ' + self.air_interface[self.eNB_instance] + ' | grep -v grep', '\$', 5)
result = re.search(self.air_interface[self.eNB_instance], mySSH.getBefore())
if result is None:
logging.debug('\u001B[1;37;41m eNB Process Not Found! \u001B[0m')
status_queue.put(CONST.ENB_PROCESS_FAILED)
else:
status_queue.put(CONST.ENB_PROCESS_OK)
mySSH.close()
except:
os.kill(os.getppid(),signal.SIGUSR1)
def TerminateeNB(self):
if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
nodeB_prefix = 'e'
else:
nodeB_prefix = 'g'
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem -e ocp-enb | grep -v grep', '\$', 5)
result = re.search('(-softmodem|ocp)', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGINT -r .*-softmodem ocp-enb || true', '\$', 5)
time.sleep(10)
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem -e ocp-enb | grep -v grep', '\$', 5)
result = re.search('(-softmodem|ocp)', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGKILL -r .*-softmodem ocp-enb || true', '\$', 5)
time.sleep(5)
mySSH.command('rm -f my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
mySSH.close()
# If tracer options is on, stopping tshark on EPC side
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if (result is not None) and (self.epcObj is not None):
localEpcIpAddr = self.epcObj.IPAddress
localEpcUserName = self.epcObj.UserName
localEpcPassword = self.epcObj.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
logging.debug('\u001B[1m Stopping tshark \u001B[0m')
mySSH.command('echo ' + localEpcPassword + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5)
time.sleep(1)
if self.epcPcapFile != '':
mySSH.command('echo ' + localEpcPassword + ' | sudo -S chmod 666 /tmp/' + self.epcPcapFile, '\$', 5)
mySSH.copyin(localEpcIpAddr, localEpcUserName, localEpcPassword, '/tmp/' + self.epcPcapFile, '.')
mySSH.copyout(lIpAddr, lUserName, lPassWord, self.epcPcapFile, lSourcePath + '/cmake_targets/.')
mySSH.close()
logging.debug('\u001B[1m Replaying RAW record file\u001B[0m')
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/common/utils/T/tracer/', '\$', 5)
enbLogFile = self.eNBLogFiles[int(self.eNB_instance)]
raw_record_file = enbLogFile.replace('.log', '_record.raw')
replay_log_file = enbLogFile.replace('.log', '_replay.log')
extracted_txt_file = enbLogFile.replace('.log', '_extracted_messages.txt')
extracted_log_file = enbLogFile.replace('.log', '_extracted_messages.log')
mySSH.command('./extract_config -i ' + lSourcePath + '/cmake_targets/' + raw_record_file + ' > ' + lSourcePath + '/cmake_targets/' + extracted_txt_file, '\$', 5)
mySSH.command('echo $USER; nohup ./replay -i ' + lSourcePath + '/cmake_targets/' + raw_record_file + ' > ' + lSourcePath + '/cmake_targets/' + replay_log_file + ' 2>&1 &', lUserName, 5)
mySSH.command('./textlog -d ' + lSourcePath + '/cmake_targets/' + extracted_txt_file + ' -no-gui -ON -full > ' + lSourcePath + '/cmake_targets/' + extracted_log_file, '\$', 5)
mySSH.close()
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/' + extracted_log_file, '.')
logging.debug('\u001B[1m Analyzing eNB replay logfile \u001B[0m')
logStatus = self.AnalyzeLogFile_eNB(extracted_log_file)
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
self.eNBLogFiles[int(self.eNB_instance)] = ''
else:
analyzeFile = False
if self.eNBLogFiles[int(self.eNB_instance)] != '':
analyzeFile = True
fileToAnalyze = self.eNBLogFiles[int(self.eNB_instance)]
self.eNBLogFiles[int(self.eNB_instance)] = ''
if analyzeFile:
copyin_res = mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/' + fileToAnalyze, '.')
if (copyin_res == -1):
logging.debug('\u001B[1;37;41m Could not copy ' + nodeB_prefix + 'NB logfile to analyze it! \u001B[0m')
if self.htmlObj is not None:
self.htmlObj.htmleNBFailureMsg='Could not copy ' + nodeB_prefix + 'NB logfile to analyze it!'
self.htmlObj.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE)
self.eNBmbmsEnables[int(self.eNB_instance)] = False
return
if self.eNB_serverId != '0':
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './' + fileToAnalyze, self.eNBSourceCodePath + '/cmake_targets/')
logging.debug('\u001B[1m Analyzing ' + nodeB_prefix + 'NB logfile \u001B[0m ' + fileToAnalyze)
logStatus = self.AnalyzeLogFile_eNB(fileToAnalyze)
if (logStatus < 0):
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow('N/A', 'KO', logStatus)
self.preamtureExit = True
self.eNBmbmsEnables[int(self.eNB_instance)] = False
return
else:
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
else:
if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
self.eNBmbmsEnables[int(self.eNB_instance)] = False
self.eNBstatuses[int(self.eNB_instance)] = -1
def LogCollecteNB(self):
mySSH = SSH.SSHConnection()
mySSH.open(self.eNBIPAddress, self.eNBUserName, self.eNBPassword)
mySSH.command('cd ' + self.eNBSourceCodePath, '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm -f enb.log.zip', '\$', 5)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip enb*.log core* enb_*record.raw enb_*.pcap enb_*txt physim_*.log', '\$', 60)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt', '\$', 5)
mySSH.close()
def AnalyzeLogFile_eNB(self, eNBlogFile):
if (not os.path.isfile('./' + eNBlogFile)):
return -1
enb_log_file = open('./' + eNBlogFile, 'r')
exitSignalReceived = False
foundAssertion = False
msgAssertion = ''
msgLine = 0
foundSegFault = False
foundRealTimeIssue = False
rrcSetupComplete = 0
rrcReleaseRequest = 0
rrcReconfigRequest = 0
rrcReconfigComplete = 0
rrcReestablishRequest = 0
rrcReestablishComplete = 0
rrcReestablishReject = 0
rlcDiscardBuffer = 0
rachCanceledProcedure = 0
uciStatMsgCount = 0
pdcpFailure = 0
ulschFailure = 0
ulschAllocateCCEerror = 0
uplinkSegmentsAborted = 0
ulschReceiveOK = 0
gnbRxTxWakeUpFailure = 0
gnbTxWriteThreadEnabled = False
cdrxActivationMessageCount = 0
dropNotEnoughRBs = 0
mbmsRequestMsg = 0
htmleNBFailureMsg = ''
isRRU = False
isSlave = False
slaveReceivesFrameResyncCmd = False
X2HO_state = CONST.X2_HO_REQ_STATE__IDLE
X2HO_inNbProcedures = 0
X2HO_outNbProcedures = 0
global_status = CONST.ALL_PROCESSES_OK
# Runtime statistics
runTime = ''
userTime = ''
systemTime = ''
maxPhyMemUsage = ''
nbContextSwitches = ''
for line in enb_log_file.readlines():
# Runtime statistics
result = re.search('Run time:' ,str(line))
if result is not None:
runTime = str(line).strip()
if runTime != '':
result = re.search('Time executing user inst', str(line))
if result is not None:
fields=line.split(':')
userTime = 'userTime : ' + fields[1].replace('\n','')
result = re.search('Time executing system inst', str(line))
if result is not None:
fields=line.split(':')
systemTime = 'systemTime : ' + fields[1].replace('\n','')
result = re.search('Max. Phy. memory usage:', str(line))
if result is not None:
fields=line.split(':')
maxPhyMemUsage = 'maxPhyMemUsage : ' + fields[1].replace('\n','')
result = re.search('Number of context switch.*process origin', str(line))
if result is not None:
fields=line.split(':')
nbContextSwitches = 'nbContextSwitches : ' + fields[1].replace('\n','')
if X2HO_state == CONST.X2_HO_REQ_STATE__IDLE:
result = re.search('target eNB Receives X2 HO Req X2AP_HANDOVER_REQ', str(line))
if result is not None:
X2HO_state = CONST.X2_HO_REQ_STATE__TARGET_RECEIVES_REQ
result = re.search('source eNB receives the X2 HO ACK X2AP_HANDOVER_REQ_ACK', str(line))
if result is not None:
X2HO_state = CONST.X2_HO_REQ_STATE__SOURCE_RECEIVES_REQ_ACK
if X2HO_state == CONST.X2_HO_REQ_STATE__TARGET_RECEIVES_REQ:
result = re.search('Received LTE_RRCConnectionReconfigurationComplete from UE', str(line))
if result is not None:
X2HO_state = CONST.X2_HO_REQ_STATE__TARGET_RRC_RECFG_COMPLETE
if X2HO_state == CONST.X2_HO_REQ_STATE__TARGET_RRC_RECFG_COMPLETE:
result = re.search('issue rrc_eNB_send_PATH_SWITCH_REQ', str(line))
if result is not None:
X2HO_state = CONST.X2_HO_REQ_STATE__TARGET_SENDS_SWITCH_REQ
if X2HO_state == CONST.X2_HO_REQ_STATE__TARGET_SENDS_SWITCH_REQ:
result = re.search('received path switch ack S1AP_PATH_SWITCH_REQ_ACK', str(line))
if result is not None:
X2HO_state = CONST.X2_HO_REQ_STATE__IDLE
X2HO_inNbProcedures += 1
if X2HO_state == CONST.X2_HO_REQ_STATE__SOURCE_RECEIVES_REQ_ACK:
result = re.search('source eNB receives the X2 UE CONTEXT RELEASE X2AP_UE_CONTEXT_RELEASE', str(line))
if result is not None:
X2HO_state = CONST.X2_HO_REQ_STATE__IDLE
X2HO_outNbProcedures += 1
if self.eNBOptions[int(self.eNB_instance)] != '':
res1 = re.search('max_rxgain (?P<requested_option>[0-9]+)', self.eNBOptions[int(self.eNB_instance)])
res2 = re.search('max_rxgain (?P<applied_option>[0-9]+)', str(line))
if res1 is not None and res2 is not None:
requested_option = int(res1.group('requested_option'))
applied_option = int(res2.group('applied_option'))
if requested_option == applied_option:
htmleNBFailureMsg += '<span class="glyphicon glyphicon-ok-circle"></span> Command line option(s) correctly applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.eNBOptions[int(self.eNB_instance)] + '\n\n'
else:
htmleNBFailureMsg += '<span class="glyphicon glyphicon-ban-circle"></span> Command line option(s) NOT applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.eNBOptions[int(self.eNB_instance)] + '\n\n'
result = re.search('Exiting OAI softmodem', str(line))
if result is not None:
exitSignalReceived = True
result = re.search('[Ss]egmentation [Ff]ault', str(line))
if result is not None and not exitSignalReceived:
foundSegFault = True
result = re.search('[Cc]ore [dD]ump', str(line))
if result is not None and not exitSignalReceived:
foundSegFault = True
result = re.search('./ran_build/build/lte-softmodem', str(line))
if result is not None and not exitSignalReceived:
foundSegFault = True
result = re.search('[Aa]ssertion', str(line))
if result is not None and not exitSignalReceived:
foundAssertion = True
result = re.search('LLL', str(line))
if result is not None and not exitSignalReceived:
foundRealTimeIssue = True
if foundAssertion and (msgLine < 3):
msgLine += 1
msgAssertion += str(line)
result = re.search('Setting function for RU', str(line))
if result is not None:
isRRU = True
if isRRU:
result = re.search('RU 0 is_slave=yes', str(line))
if result is not None:
isSlave = True
if isSlave:
result = re.search('Received RRU_frame_resynch command', str(line))
if result is not None:
slaveReceivesFrameResyncCmd = True
result = re.search('LTE_RRCConnectionSetupComplete from UE', str(line))
if result is not None:
rrcSetupComplete += 1
result = re.search('Generate LTE_RRCConnectionRelease|Generate RRCConnectionRelease', str(line))
if result is not None: rrcReleaseRequest += 1
result = re.search('Generate LTE_RRCConnectionReconfiguration', str(line))
if result is not None:
rrcReconfigRequest += 1
result = re.search('LTE_RRCConnectionReconfigurationComplete from UE rnti', str(line))
if result is not None:
rrcReconfigComplete += 1
result = re.search('LTE_RRCConnectionReestablishmentRequest', str(line))
if result is not None:
rrcReestablishRequest += 1
result = re.search('LTE_RRCConnectionReestablishmentComplete', str(line))
if result is not None:
rrcReestablishComplete += 1
result = re.search('LTE_RRCConnectionReestablishmentReject', str(line))
if result is not None:
rrcReestablishReject += 1
result = re.search('CDRX configuration activated after RRC Connection', str(line))
if result is not None:
cdrxActivationMessageCount += 1
result = re.search('uci->stat', str(line))
if result is not None:
uciStatMsgCount += 1
result = re.search('PDCP.*Out of Resources.*reason', str(line))
if result is not None:
pdcpFailure += 1
result = re.search('could not wakeup gNB rxtx process', str(line))
if result is not None:
gnbRxTxWakeUpFailure += 1
result = re.search('tx write thread ready', str(line))
if result is not None:
gnbTxWriteThreadEnabled = True
result = re.search('ULSCH in error in round|ULSCH 0 in error', str(line))
if result is not None:
ulschFailure += 1
result = re.search('ERROR ALLOCATING CCEs', str(line))
if result is not None:
ulschAllocateCCEerror += 1
result = re.search('uplink segment error.*aborted [1-9] segments', str(line))
if result is not None:
uplinkSegmentsAborted += 1
result = re.search('ULSCH received ok', str(line))
if result is not None:
ulschReceiveOK += 1
result = re.search('BAD all_segments_received', str(line))
if result is not None:
rlcDiscardBuffer += 1
result = re.search('Canceled RA procedure for UE rnti', str(line))
if result is not None:
rachCanceledProcedure += 1
result = re.search('dropping, not enough RBs', str(line))
if result is not None:
dropNotEnoughRBs += 1
if self.eNBmbmsEnables[int(self.eNB_instance)]:
result = re.search('MBMS USER-PLANE.*Requesting.*bytes from RLC', str(line))
if result is not None:
mbmsRequestMsg += 1
enb_log_file.close()
logging.debug(' File analysis completed')
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
nodeB_prefix = 'e'
else:
nodeB_prefix = 'g'
if self.air_interface[self.eNB_instance] == 'nr-softmodem':
if ulschReceiveOK > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(ulschReceiveOK) + ' "ULSCH received ok" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if gnbRxTxWakeUpFailure > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(gnbRxTxWakeUpFailure) + ' "could not wakeup gNB rxtx process" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if gnbTxWriteThreadEnabled:
statMsg = nodeB_prefix + 'NB ran with TX Write thread enabled'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if uciStatMsgCount > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if pdcpFailure > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(pdcpFailure) + ' "PDCP Out of Resources" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if ulschFailure > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(ulschFailure) + ' "ULSCH in error in round" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if ulschAllocateCCEerror > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(ulschAllocateCCEerror) + ' "eNB_dlsch_ulsch_scheduler(); ERROR ALLOCATING CCEs" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if uplinkSegmentsAborted > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(uplinkSegmentsAborted) + ' "uplink segment error 0/2, aborted * segments" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if dropNotEnoughRBs > 0:
statMsg = 'eNB showed ' + str(dropNotEnoughRBs) + ' "dropping, not enough RBs" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n'
if rrcSetupComplete > 0:
rrcMsg = nodeB_prefix + 'NB completed ' + str(rrcSetupComplete) + ' RRC Connection Setup(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
rrcMsg = ' -- ' + str(rrcSetupComplete) + ' were completed'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if rrcReleaseRequest > 0:
rrcMsg = nodeB_prefix + 'NB requested ' + str(rrcReleaseRequest) + ' RRC Connection Release(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if rrcReconfigRequest > 0 or rrcReconfigComplete > 0:
rrcMsg = nodeB_prefix + 'NB requested ' + str(rrcReconfigRequest) + ' RRC Connection Reconfiguration(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
rrcMsg = ' -- ' + str(rrcReconfigComplete) + ' were completed'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if rrcReestablishRequest > 0 or rrcReestablishComplete > 0 or rrcReestablishReject > 0:
rrcMsg = nodeB_prefix + 'NB requested ' + str(rrcReestablishRequest) + ' RRC Connection Reestablishment(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
rrcMsg = ' -- ' + str(rrcReestablishComplete) + ' were completed'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
rrcMsg = ' -- ' + str(rrcReestablishReject) + ' were rejected'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if self.eNBmbmsEnables[int(self.eNB_instance)]:
if mbmsRequestMsg > 0:
rrcMsg = 'eNB requested ' + str(mbmsRequestMsg) + ' times the RLC for MBMS USER-PLANE'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if X2HO_inNbProcedures > 0:
rrcMsg = 'eNB completed ' + str(X2HO_inNbProcedures) + ' X2 Handover Connection procedure(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if X2HO_outNbProcedures > 0:
rrcMsg = 'eNB completed ' + str(X2HO_outNbProcedures) + ' X2 Handover Release procedure(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if self.eNBOptions[int(self.eNB_instance)] != '':
res1 = re.search('drx_Config_present prSetup', self.eNBOptions[int(self.eNB_instance)])
if res1 is not None:
if cdrxActivationMessageCount > 0:
rrcMsg = 'eNB activated the CDRX Configuration for ' + str(cdrxActivationMessageCount) + ' time(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
else:
rrcMsg = 'eNB did NOT ACTIVATE the CDRX Configuration'
logging.debug('\u001B[1;37;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n'
if rachCanceledProcedure > 0:
rachMsg = nodeB_prefix + 'NB cancelled ' + str(rachCanceledProcedure) + ' RA procedure(s)'
logging.debug('\u001B[1;30;43m ' + rachMsg + ' \u001B[0m')
htmleNBFailureMsg += rachMsg + '\n'
if isRRU:
if isSlave:
if slaveReceivesFrameResyncCmd:
rruMsg = 'Slave RRU received the RRU_frame_resynch command from RAU'
logging.debug('\u001B[1;30;43m ' + rruMsg + ' \u001B[0m')
htmleNBFailureMsg += rruMsg + '\n'
else:
rruMsg = 'Slave RRU DID NOT receive the RRU_frame_resynch command from RAU'
logging.debug('\u001B[1;37;41m ' + rruMsg + ' \u001B[0m')
htmleNBFailureMsg += rruMsg + '\n'
self.prematureExit = True
global_status = CONST.ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
if foundSegFault:
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB ended with a Segmentation Fault! \u001B[0m')
global_status = CONST.ENB_PROCESS_SEG_FAULT
if foundAssertion:
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB ended with an assertion! \u001B[0m')
htmleNBFailureMsg += msgAssertion
global_status = CONST.ENB_PROCESS_ASSERTION
if foundRealTimeIssue:
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB faced real time issues! \u001B[0m')
htmleNBFailureMsg += nodeB_prefix + 'NB faced real time issues!\n'
if rlcDiscardBuffer > 0:
rlcMsg = nodeB_prefix + 'NB RLC discarded ' + str(rlcDiscardBuffer) + ' buffer(s)'
logging.debug('\u001B[1;37;41m ' + rlcMsg + ' \u001B[0m')
htmleNBFailureMsg += rlcMsg + '\n'
global_status = CONST.ENB_PROCESS_REALTIME_ISSUE
if self.htmlObj is not None:
self.htmlObj.htmleNBFailureMsg=htmleNBFailureMsg
# Runtime statistics for console output and HTML
if runTime != '':
logging.debug(runTime)
logging.debug(userTime)
logging.debug(systemTime)
logging.debug(maxPhyMemUsage)
logging.debug(nbContextSwitches)
self.runtime_stats='<pre>'+runTime + '\n'+ userTime + '\n' + systemTime + '\n' + maxPhyMemUsage + '\n' + nbContextSwitches+'</pre>'
return global_status

View File

@@ -53,7 +53,7 @@ function details_table {
echo " <th>Message</th>" >> $3
echo " </tr>" >> $3
LIST_MESSAGES=`egrep "error:|warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto"`
LIST_MESSAGES=`egrep "error:|warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto|disabling jobserver mode"`
COMPLETE_MESSAGE="start"
for MESSAGE in $LIST_MESSAGES
do
@@ -146,7 +146,7 @@ function summary_table_row {
else
echo " <td bgcolor = \"red\" >$NB_ERRORS</th>" >> ./build_results.html
fi
NB_WARNINGS=`egrep "warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto" | egrep -c "warning:"`
NB_WARNINGS=`egrep "warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto|disabling jobserver mode" | egrep -c "warning:"`
if [ $NB_WARNINGS -eq 0 ]
then
echo " <td bgcolor = \"green\" >$NB_WARNINGS</th>" >> ./build_results.html
@@ -492,6 +492,77 @@ function report_build {
awk '{print " <tr><td>"$1"</td></tr>"}' ./oai_rules_result_list.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
if [ -f ./header-files-w-incorrect-define.txt ]
then
NB_FILES_IN_ERROR=`wc -l ./header-files-w-incorrect-define.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -eq 0 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>No Issue for CIRCULAR DEPENDENCY PROTECTION in modified files</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>No Issue for CIRCULAR DEPENDENCY PROTECTION in the whole repository</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files MAY NOT HAVE CIRCULAR DEPENDENCY PROTECTION</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository MAY NOT HAVE CIRCULAR DEPENDENCY PROTECTION in the whole repository</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-circular-details\">More details on circular dependency protection check</button>" >> ./build_results.html
echo " <div id=\"oai-circular-details\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Potential Issue</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Impacted File</th>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Incorrect Macro</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{if($0 ~/error in/){print " <tr><td>error in declaration</td><td>"$4"</td><td>"$5"</td></tr>"};if($0 ~/files with same/){print " <tr><td>files with same #define</td><td>"$5"</td><td>"$6"</td></tr>"}}' ./header-files-w-incorrect-define.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
fi
if [ -f ./files-w-gnu-gpl-license-banner.txt ]
then
NB_FILES_IN_ERROR=`wc -l ./files-w-gnu-gpl-license-banner.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -ne 0 ]
then
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files HAVE a GNU GPL license banner</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository HAVE a GNU GPL license banner</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-license-gpl\">More details on GNU GPL license banner issue</button>" >> ./build_results.html
echo " <div id=\"oai-license-gpl\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ./files-w-gnu-gpl-license-banner.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
fi
if [ -f ./files-w-suspect-banner.txt ]
then
NB_FILES_IN_ERROR=`wc -l ./files-w-suspect-banner.txt | sed -e "s@ .*@@"`
if [ $NB_FILES_IN_ERROR -ne 0 ]
then
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} modified files HAVE a suspect license banner</strong>" >> ./build_results.html; fi
if [ $PU_TRIG -eq 1 ]; then echo " <strong>${NB_FILES_IN_ERROR} files in repository HAVE a suspect license banner</strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-license-suspect\">More details on suspect banner files</button>" >> ./build_results.html
echo " <div id=\"oai-license-suspect\" class=\"collapse\">" >> ./build_results.html
echo " <table border = 1>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <th bgcolor = \"lightcyan\" >Filename</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
awk '{print " <tr><td>"$1"</td></tr>"}' ././files-w-suspect-banner.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
echo " <br>" >> ./build_results.html
fi
fi
fi
@@ -509,7 +580,7 @@ function report_build {
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Expression depends on order of evaluation of side effects" unknownEvaluationOrder
sca_summary_table_footer ./archives/cppcheck/cppcheck.xml
summary_table_header "OAI Build eNB -- USRP option" ./archives/enb_usrp
summary_table_header "OAI Build: 4G LTE eNB -- USRP option" ./archives/enb_usrp
summary_table_row "LTE SoftModem - Release 15" ./archives/enb_usrp/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./enb_usrp_row1.html
summary_table_row "Coding - Release 15" ./archives/enb_usrp/coding.Rel15.txt "Built target coding" ./enb_usrp_row2.html
summary_table_row "OAI USRP device if - Release 15" ./archives/enb_usrp/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./enb_usrp_row3.html
@@ -521,7 +592,7 @@ function report_build {
summary_table_row "TCP Bridge - Release 15" ./archives/enb_usrp/tcp_bridge_oai.Rel15.txt "Built target tcp_bridge_oai" ./enb_usrp_row9.html
summary_table_footer
summary_table_header "OAI Build basic simulator option" ./archives/basic_sim
summary_table_header "OAI Build: 4G LTE basic simulator option" ./archives/basic_sim
summary_table_row "LTE SoftModem - Release 15" ./archives/basic_sim/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./basic_sim_row1.html
summary_table_row "LTE UE SoftModem - Release 15" ./archives/basic_sim/lte-uesoftmodem.Rel15.txt "Built target lte-uesoftmodem" ./basic_sim_row2.htm
summary_table_row "Coding - Release 15" ./archives/basic_sim/coding.Rel15.txt "Built target coding" ./basic_sim_row3.html
@@ -537,7 +608,7 @@ function report_build {
summary_table_row "NVRAM - Release 15" ./archives/basic_sim/nvram.Rel15.txt "Built target nvram" ./basic_sim_row13.html
summary_table_footer
summary_table_header "OAI Build Physical simulators option" ./archives/phy_sim
summary_table_header "OAI Build: 4G LTE / 5G NR Physical simulators option" ./archives/phy_sim
summary_table_row "LTE DL Simulator - Release 15" ./archives/phy_sim/dlsim.Rel15.txt "Built target dlsim" ./phy_sim_row1.html
summary_table_row "LTE UL Simulator - Release 15" ./archives/phy_sim/ulsim.Rel15.txt "Built target ulsim" ./phy_sim_row2.html
summary_table_row "Coding - Release 15" ./archives/phy_sim/coding.Rel15.txt "Built target coding" ./phy_sim_row3.html
@@ -581,7 +652,7 @@ function report_build {
if [ -f archives/gnb_usrp/nr-softmodem.Rel15.txt ]
then
summary_table_header "OAI Build gNB -- USRP option" ./archives/gnb_usrp
summary_table_header "OAI Build: 5G NR gNB -- USRP option" ./archives/gnb_usrp
summary_table_row "5G NR SoftModem - Release 15" ./archives/gnb_usrp/nr-softmodem.Rel15.txt "Built target nr-softmodem" ./gnb_usrp_row1.html
summary_table_row "Coding - Release 15" ./archives/gnb_usrp/coding.Rel15.txt "Built target coding" ./gnb_usrp_row2.html
summary_table_row "OAI USRP device if - Release 15" ./archives/gnb_usrp/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./gnb_usrp_row3.html
@@ -592,20 +663,20 @@ function report_build {
summary_table_footer
fi
if [ -f archives/nrue_usrp/nr-uesoftmodem.Rel15.txt ]
if [ -f archives/nr_ue_usrp/nr-uesoftmodem.Rel15.txt ]
then
summary_table_header "OAI Build 5G NR UE -- USRP option" ./archives/nrue_usrp
summary_table_row "5G NR UE SoftModem - Release 15" ./archives/nrue_usrp/nr-uesoftmodem.Rel15.txt "Built target nr-uesoftmodem" ./nrue_usrp_row1.html
summary_table_row "Coding - Release 15" ./archives/nrue_usrp/coding.Rel15.txt "Built target coding" ./nrue_usrp_row2.html
summary_table_row "OAI USRP device if - Release 15" ./archives/nrue_usrp/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./nrue_usrp_row3.html
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/nrue_usrp/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./nrue_usrp_row4.html
summary_table_row "NASMESH - Release 15" ./archives/nrue_usrp/nasmesh.Rel15.txt "Built target nasmesh" ./nrue_usrp_row5.html
summary_table_row "Parameters Lib Config - Release 15" ./archives/nrue_usrp/params_libconfig.Rel15.txt "Built target params_libconfig" ./nrue_usrp_row6.html
summary_table_row "RB Tool - Release 15" ./archives/nrue_usrp/rb_tool.Rel15.txt "Built target rb_tool" ./nrue_usrp_row7.html
summary_table_header "OAI Build: 5G NR UE -- USRP option" ./archives/nr_ue_usrp
summary_table_row "5G NR UE SoftModem - Release 15" ./archives/nr_ue_usrp/nr-uesoftmodem.Rel15.txt "Built target nr-uesoftmodem" ./nr_ue_usrp_row1.html
summary_table_row "Coding - Release 15" ./archives/nr_ue_usrp/coding.Rel15.txt "Built target coding" ./nr_ue_usrp_row2.html
summary_table_row "OAI USRP device if - Release 15" ./archives/nr_ue_usrp/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./nr_ue_usrp_row3.html
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/nr_ue_usrp/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./nr_ue_usrp_row4.html
summary_table_row "NASMESH - Release 15" ./archives/nr_ue_usrp/nasmesh.Rel15.txt "Built target nasmesh" ./nr_ue_usrp_row5.html
summary_table_row "Parameters Lib Config - Release 15" ./archives/nr_ue_usrp/params_libconfig.Rel15.txt "Built target params_libconfig" ./nr_ue_usrp_row6.html
summary_table_row "RB Tool - Release 15" ./archives/nr_ue_usrp/rb_tool.Rel15.txt "Built target rb_tool" ./nr_ue_usrp_row7.html
summary_table_footer
fi
summary_table_header "OAI Build eNB -- ETHERNET transport option" ./archives/enb_eth
summary_table_header "OAI Build: 4G LTE eNB -- ETHERNET transport option" ./archives/enb_eth
summary_table_row "LTE SoftModem - Release 15" ./archives/enb_eth/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./enb_eth_row1.html
summary_table_row "Coding - Release 15" ./archives/enb_eth/coding.Rel15.txt "Built target coding" ./enb_eth_row2.html
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/enb_eth/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./enb_eth_row3.html
@@ -614,7 +685,7 @@ function report_build {
summary_table_row "TCP OAI Bridge - Release 15" ./archives/enb_eth/tcp_bridge_oai.Rel15.txt "Built target tcp_bridge_oai" ./enb_eth_row6.html
summary_table_footer
summary_table_header "OAI Build UE -- ETHERNET transport option" ./archives/ue_eth
summary_table_header "OAI Build: 4G LTE UE -- ETHERNET transport option" ./archives/ue_eth
summary_table_row "LTE UE SoftModem - Release 15" ./archives/ue_eth/lte-uesoftmodem.Rel15.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html
summary_table_row "Coding - Release 15" ./archives/ue_eth/coding.Rel15.txt "Built target coding" ./ue_eth_row2.html
summary_table_row "OAI ETHERNET transport - Release 15" ./archives/ue_eth/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./ue_eth_row3.html
@@ -631,7 +702,7 @@ function report_build {
then
echo " <h2>Red Hat Enterprise Linux Server release 7.6) -- Summary</h2>" >> ./build_results.html
summary_table_header "Red Hat -- OAI Build eNB -- USRP option" ./archives/red_hat
summary_table_header "OAI Build: 4G LTE eNB -- USRP option (RHEL)" ./archives/red_hat
summary_table_row "LTE SoftModem - Release 15" ./archives/red_hat/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html
summary_table_row "Coding - Release 15" ./archives/red_hat/coding.Rel15.txt "Built target coding" ./enb_usrp_rh_row2.html
summary_table_row "OAI USRP device if - Release 15" ./archives/red_hat/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html
@@ -671,9 +742,9 @@ function report_build {
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 ]
if [ -f ./nr_ue_usrp_row1.html ] || [ -f ./nr_ue_usrp_row2.html ] || [ -f ./nr_ue_usrp_row3.html ] || [ -f ./nr_ue_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./nrue_usrp_row*.html`
for DETAILS_TABLE in `ls ./nr_ue_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done

View File

@@ -97,16 +97,22 @@ function analyzeIperfFiles {
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}}'`
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}else{printf "%.2f KBits/sec", br/1000}}'`
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}'`
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}%"`
if [[ $PERF_INT -lt 80 ]]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
fi
else
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "bits/sec" | sed -e "s#^.*Bytes *##" -e "s#sec.*#sec#"`
if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
@@ -130,9 +136,9 @@ function analyzeIperfFiles {
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#).*##"`
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "bits/sec" | sed -e "s#^.*Bytes *##" -e "s#sec.*#sec#"`
JITTER=`tail -n3 $IPERF_CASE | egrep "bits/sec" | sed -e "s#^.*bits/sec *##" -e "s#ms.*#ms#"`
PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "bits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
fi
echo " <td>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
@@ -247,7 +253,7 @@ function report_test {
ARCHIVES_LOC=archives/basic_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>Basic Simulator Check</h3>" >> ./test_simulator_results.html
echo " <h3>4G LTE Basic Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
@@ -367,7 +373,7 @@ function report_test {
if [ -e $JENKINS_WKSP/flexran/flexran_build_complete.txt ]
then
echo " <h3>Basic Simulator + FlexRan Controller Check</h3>" >> ./test_simulator_results.html
echo " <h3>4G LTE Basic Simulator + FlexRan Controller Check</h3>" >> ./test_simulator_results.html
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
@@ -394,10 +400,445 @@ function report_test {
echo " </div>" >> ./test_simulator_results.html
fi
ARCHIVES_LOC=archives/rf_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>4G LTE RF Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
if [ `egrep -c "LTE: TEST_OK" $ARCHIVES_LOC/test_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>TEST was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>COULD NOT DETERMINE TEST FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-lte-rf-sim-test-details\">More details on 4G LTE RF Simulator test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-lte-rf-sim-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Log File Name</th>" >> ./test_simulator_results.html
echo " <th>Command</th>" >> ./test_simulator_results.html
echo " <th>Status</th>" >> ./test_simulator_results.html
echo " <th>Statistics</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
EPC_CONFIGS=("wS1 noS1")
TRANS_MODES=("fdd")
BW_CASES=(05 10)
for CN_CONFIG in ${EPC_CONFIGS[@]}
do
for TMODE in ${TRANS_MODES[@]}
do
for BW in ${BW_CASES[@]}
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 </td>" >> ./test_simulator_results.html
else
echo " <td align = \"center\" colspan = 4 >Test without EPC (aka noS1): ${TMODE} -- ${BW}MHz </td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_enb.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
if [[ $CN_CONFIG =~ .*noS1.* ]]
then
NB_ENB_TUNNEL_UP=`egrep -c "Interface oaitun_enb1 successfully configured" $ENB_LOG`
fi
NB_UE_GOT_SYNC=`egrep -c "rfsimulator: Success" $UE_LOG`
NB_ENB_SYNCED_WITH_UE=`egrep -c "Generating RRCConnectionReconfigurationComplete" $UE_LOG`
if [[ $CN_CONFIG =~ .*noS1.* ]]
then
NB_UE_TUNNEL_UP=`egrep -c "Interface oaitun_ue1 successfully configured" $UE_LOG`
else
NB_UE_TUNNEL_UP=`egrep -c "executing ifconfig oaitun_ue1" $UE_LOG`
fi
if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -gt 0 ] && [ $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 -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 [[ $CN_CONFIG =~ .*noS1.* ]]
then
if [ $NB_ENB_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- eNB mounted oaitun_enb1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER mounted oaitun_enb1 interface</b></font>" >> ./test_simulator_results.html
fi
fi
if [ $NB_UE_GOT_SYNC -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE attached to eNB</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE mounted oaitun_ue1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER mounted oaitun_ue1 interface</b></font>" >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_ping*.log 2> /dev/null`
analyzePingFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_iperf_dl*client*txt | grep -v mbms 2> /dev/null`
analyzeIperfFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_iperf_ul*client*txt | grep -v mbms 2> /dev/null`
analyzeIperfFiles
done
done
done
# MBMS Case
CN_CONFIG="noS1"
TMODE="fdd"
BW_CASES=(05)
for BW in ${BW_CASES[@]}
do
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
echo " <td align = \"center\" colspan = 4 >Test MBMS without EPC (aka noS1): ${TMODE} -- ${BW}MHz </td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_enb_mbms.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
NB_ENB_TUNNEL_UP=`egrep -c "Interface oaitun_enb1 successfully configured" $ENB_LOG`
NB_ENB_MTUNNEL_UP=`egrep -c "Interface oaitun_enm1 successfully configured" $ENB_LOG`
NB_UE_GOT_SYNC=`egrep -c "rfsimulator: Success" $UE_LOG`
NB_ENB_SYNCED_WITH_UE=`egrep -c "Generating RRCConnectionReconfigurationComplete" $UE_LOG`
NB_UE_TUNNEL_UP=`egrep -c "Interface oaitun_ue1 successfully configured" $UE_LOG`
NB_UE_MTUNNEL_UP=`egrep -c "Interface oaitun_uem1 successfully configured" $UE_LOG`
NB_UE_MBMS_PUSH_MSG=`egrep -c "TRIED TO PUSH MBMS DATA TO" $UE_LOG`
if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -gt 0 ] && [ $NB_ENB_SYNCED_WITH_UE -gt 0 ] && [ $NB_UE_MBMS_PUSH_MSG -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 -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_ENB_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- eNB mounted oaitun_enb1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER mounted oaitun_enb1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_MTUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- eNB mounted oaitun_enm1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER mounted oaitun_enm1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_GOT_SYNC -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE attached to eNB</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE mounted oaitun_ue1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER mounted oaitun_ue1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_MTUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE mounted oaitun_uem1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER mounted oaitun_uem1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_MBMS_PUSH_MSG -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE tried to push ${NB_UE_MBMS_PUSH_MSG} MBMS DATA</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER pushed MBMS DATA</b></font>" >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
#PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_ping*.log 2> /dev/null`
#analyzePingFiles
#IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_iperf_dl*client*txt | grep -v mbms 2> /dev/null`
#analyzeIperfFiles
#IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_iperf_ul*client*txt | grep -v mbms 2> /dev/null`
#analyzeIperfFiles
done
# FeMBMS Case
CN_CONFIG="noS1"
TMODE="fdd"
BW_CASES=(05)
for BW in ${BW_CASES[@]}
do
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
echo " <td align = \"center\" colspan = 4 >Test FeMBMS without EPC (aka noS1): ${TMODE} -- ${BW}MHz </td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_enb_fembms.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
#NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
NB_ENB_TUNNEL_UP=`egrep -c "Interface oaitun_enb1 successfully configured" $ENB_LOG`
NB_ENB_MTUNNEL_UP=`egrep -c "Interface oaitun_enm1 successfully configured" $ENB_LOG`
#NB_UE_GOT_SYNC=`egrep -c "rfsimulator: Success" $UE_LOG`
#NB_ENB_SYNCED_WITH_UE=`egrep -c "Generating RRCConnectionReconfigurationComplete" $UE_LOG`
NB_UE_TUNNEL_UP=`egrep -c "Interface oaitun_ue1 successfully configured" $UE_LOG`
NB_UE_MTUNNEL_UP=`egrep -c "Interface oaitun_uem1 successfully configured" $UE_LOG`
NB_UE_MBMS_PUSH_MSG=`egrep -c "TRIED TO PUSH MBMS DATA TO" $UE_LOG`
#if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -gt 0 ] && [ $NB_ENB_SYNCED_WITH_UE -gt 0 ] && [ $NB_UE_MBMS_PUSH_MSG -gt 0 ]
if [ $NB_UE_MBMS_PUSH_MSG -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 -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_ENB_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- eNB mounted oaitun_enb1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER mounted oaitun_enb1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_MTUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- eNB mounted oaitun_enm1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER mounted oaitun_enm1 interface</b></font>" >> ./test_simulator_results.html
fi
#if [ $NB_UE_GOT_SYNC -gt 0 ]
#then
# echo "<font color = \"blue\">- LTE UE --> got sync</font>" >> ./test_simulator_results.html
#else
# echo "<font color = \"red\"><b>- LTE UE NEVER got sync</b></font>" >> ./test_simulator_results.html
#fi
#if [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
#then
# echo "<font color = \"blue\">- LTE UE attached to eNB</font>" >> ./test_simulator_results.html
#else
# echo "<font color = \"red\"><b>- LTE UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
#fi
if [ $NB_UE_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE mounted oaitun_ue1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER mounted oaitun_ue1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_MTUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE mounted oaitun_uem1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER mounted oaitun_uem1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_MBMS_PUSH_MSG -gt 0 ]
then
echo "<font color = \"blue\">- LTE UE tried to push ${NB_UE_MBMS_PUSH_MSG} MBMS DATA</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- LTE UE NEVER pushed MBMS DATA</b></font>" >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
#PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_ping*.log 2> /dev/null`
#analyzePingFiles
#IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_iperf_dl*client*txt | grep -v mbms 2> /dev/null`
#analyzeIperfFiles
#IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${CN_CONFIG}_iperf_ul*client*txt | grep -v mbms 2> /dev/null`
#analyzeIperfFiles
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
echo " <h3>5G NR RF Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
if [ `egrep -c "5G-NR: TEST_OK" $ARCHIVES_LOC/test_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>TEST was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>COULD NOT DETERMINE TEST FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-nr-rf-sim-test-details\">More details on 5G NR RF Simulator test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-nr-rf-sim-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Log File Name</th>" >> ./test_simulator_results.html
echo " <th>Command</th>" >> ./test_simulator_results.html
echo " <th>Status</th>" >> ./test_simulator_results.html
echo " <th>Statistics</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
EPC_CONFIGS=("noS1")
TRANS_MODES=("tdd")
BW_CASES=(106)
for CN_CONFIG in ${EPC_CONFIGS[@]}
do
for TMODE in ${TRANS_MODES[@]}
do
for BW in ${BW_CASES[@]}
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}PRB </td>" >> ./test_simulator_results.html
else
echo " <td align = \"center\" colspan = 4 >Test without EPC (aka noS1): ${TMODE} -- ${BW}PRB </td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}prb_${CN_CONFIG}_gnb.log
UE_LOG=`echo $ENB_LOG | sed -e "s#gnb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
NB_ENB_TUNNEL_UP=`egrep -c "Interface oaitun_enb1 successfully configured" $ENB_LOG`
NB_UE_GOT_SYNC=`egrep -c "rfsimulator: Success" $UE_LOG`
NB_ENB_SYNCED_WITH_UE=`egrep -c "Initial sync: starting PBCH detection" $UE_LOG`
NB_UE_TUNNEL_UP=`egrep -c "Interface oaitun_ue1 successfully configured" $UE_LOG`
if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -gt 0 ] && [ $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 -gt 0 ]
then
echo "<font color = \"blue\">- gNB --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- gNB NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- gNB mounted oaitun_enb1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- gNB NEVER mounted oaitun_enb1 interface</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_GOT_SYNC -gt 0 ]
then
echo "<font color = \"blue\">- NR UE --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- NR UE NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
then
echo "<font color = \"blue\">- NR UE attached to gNB</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- NR UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_TUNNEL_UP -gt 0 ]
then
echo "<font color = \"blue\">- NR UE mounted oaitun_ue1 interface</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- NR UE NEVER mounted oaitun_ue1 interface</b></font>" >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}prb_${CN_CONFIG}_ping*.log 2> /dev/null`
analyzePingFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}prb_${CN_CONFIG}_iperf_dl*client*txt 2> /dev/null`
analyzeIperfFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}prb_${CN_CONFIG}_iperf_ul*client*txt 2> /dev/null`
analyzeIperfFiles
done
done
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
ARCHIVES_LOC=archives/l2_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>L2-NFAPI Simulator Check</h3>" >> ./test_simulator_results.html
echo " <h3>4G LTE L2-NFAPI Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then

File diff suppressed because it is too large Load Diff

233
ci-scripts/sshconnection.py Normal file
View File

@@ -0,0 +1,233 @@
#/*
# * 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
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
import pexpect # pexpect
import logging
import time # sleep
import re
import sys
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
class SSHConnection():
def __init__(self):
self.ssh = ''
self.picocom_closure = False
def disablePicocomClosure(self):
self.picocom_closure = False
def enablePicocomClosure(self):
self.picocom_closure = True
def open(self, ipaddress, username, password):
extraSshOptions = ''
count = 0
connect_status = False
if ipaddress == '192.168.18.197':
extraSshOptions = ' -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
while count < 4:
self.ssh = pexpect.spawn('ssh', [username + '@' + ipaddress + extraSshOptions], timeout = 5)
self.sshresponse = self.ssh.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', 'Last login', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
self.ssh.sendline('yes')
self.sshresponse = self.ssh.expect(['password:', username + '@'])
if self.sshresponse == 0:
self.ssh.sendline(password)
self.sshresponse = self.ssh.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
count = 10
connect_status = True
else:
logging.debug('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 1:
self.ssh.sendline(password)
self.sshresponse = self.ssh.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
count = 10
connect_status = True
else:
logging.debug('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 2:
# Checking if we are really on the remote client defined by its IP address
self.command('stdbuf -o0 ifconfig | egrep --color=never "inet addr:|inet "', '\$', 5)
result = re.search(str(ipaddress), str(self.ssh.before))
if result is None:
self.close()
else:
count = 10
connect_status = True
else:
# debug output
logging.debug(str(self.ssh.before))
logging.debug('self.sshresponse = ' + str(self.sshresponse))
# adding a tempo when failure
if not connect_status:
time.sleep(1)
count += 1
if connect_status:
pass
else:
sys.exit('SSH Connection Failed')
def cde_check_value(self, commandline, expected, timeout):
logging.debug(commandline)
self.ssh.timeout = timeout
self.ssh.sendline(commandline)
expected.append(pexpect.EOF)
expected.append(pexpect.TIMEOUT)
self.sshresponse = self.ssh.expect(expected)
return self.sshresponse
def command(self, commandline, expectedline, timeout):
logging.debug(commandline)
self.ssh.timeout = timeout
self.ssh.sendline(commandline)
self.sshresponse = self.ssh.expect([expectedline, pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
return 0
elif self.sshresponse == 1:
logging.debug('\u001B[1;37;41m Unexpected EOF \u001B[0m')
logging.debug('Expected Line : ' + expectedline)
logging.debug(str(self.ssh.before))
sys.exit(self.sshresponse)
elif self.sshresponse == 2:
logging.debug('\u001B[1;37;41m Unexpected TIMEOUT \u001B[0m')
logging.debug('Expected Line : ' + expectedline)
result = re.search('ping |iperf |picocom', str(commandline))
if result is None:
logging.debug(str(self.ssh.before))
sys.exit(self.sshresponse)
else:
return -1
else:
logging.debug('\u001B[1;37;41m Unexpected Others \u001B[0m')
logging.debug('Expected Line : ' + expectedline)
sys.exit(self.sshresponse)
def close(self):
self.ssh.timeout = 5
self.ssh.sendline('exit')
self.sshresponse = self.ssh.expect([pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
pass
elif self.sshresponse == 1:
if not self.picocom_closure:
logging.debug('\u001B[1;37;41m Unexpected TIMEOUT during closing\u001B[0m')
else:
logging.debug('\u001B[1;37;41m Unexpected Others during closing\u001B[0m')
def copyin(self, ipaddress, username, password, source, destination):
count = 0
copy_status = False
logging.debug('scp '+ username + '@' + ipaddress + ':' + source + ' ' + destination)
while count < 10:
scp_spawn = pexpect.spawn('scp '+ username + '@' + ipaddress + ':' + source + ' ' + destination, timeout = 100)
scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
scp_spawn.sendline('yes')
scp_spawn.expect('password:')
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
count = 10
copy_status = True
else:
logging.debug('1 - scp_response = ' + str(scp_response))
elif scp_response == 1:
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0 or scp_response == 3:
count = 10
copy_status = True
else:
logging.debug('2 - scp_response = ' + str(scp_response))
elif scp_response == 2:
count = 10
copy_status = True
else:
logging.debug('3 - scp_response = ' + str(scp_response))
# adding a tempo when failure
if not copy_status:
time.sleep(1)
count += 1
if copy_status:
return 0
else:
return -1
def copyout(self, ipaddress, username, password, source, destination):
count = 0
copy_status = False
logging.debug('scp ' + source + ' ' + username + '@' + ipaddress + ':' + destination)
while count < 4:
scp_spawn = pexpect.spawn('scp ' + source + ' ' + username + '@' + ipaddress + ':' + destination, timeout = 100)
scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
scp_spawn.sendline('yes')
scp_spawn.expect('password:')
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
count = 10
copy_status = True
else:
logging.debug('1 - scp_response = ' + str(scp_response))
elif scp_response == 1:
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0 or scp_response == 3:
count = 10
copy_status = True
else:
logging.debug('2 - scp_response = ' + str(scp_response))
elif scp_response == 2:
count = 10
copy_status = True
else:
logging.debug('3 - scp_response = ' + str(scp_response))
# adding a tempo when failure
if not copy_status:
time.sleep(1)
count += 1
if copy_status:
pass
else:
sys.exit('SCP failed')
def getBefore(self):
return str(self.ssh.before)

View File

@@ -76,6 +76,8 @@ function wait_on_vm_build {
echo "echo \"ps -aux | grep build \"" >> $VM_CMDS
echo "while [ \$(ps -aux | grep --color=never build_oai | grep -v grep | wc -l) -gt 0 ]; do sleep 3; done" >> $VM_CMDS
fi
echo "echo \"df -h\"" >> $VM_CMDS
echo "df -h" >> $VM_CMDS
ssh -T -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
rm -f $VM_CMDS

34
ci-scripts/xml_class_list.yml Executable file
View File

@@ -0,0 +1,34 @@
- Build_PhySim
- Run_PhySim
- Build_eNB
- WaitEndBuild_eNB
- Initialize_eNB
- Terminate_eNB
- Initialize_UE
- Terminate_UE
- Attach_UE
- Detach_UE
- Build_OAI_UE
- Initialize_OAI_UE
- Terminate_OAI_UE
- DataDisable_UE
- DataEnable_UE
- CheckStatusUE
- Ping
- Iperf
- Reboot_UE
- Initialize_FlexranCtrl
- Terminate_FlexranCtrl
- Initialize_HSS
- Terminate_HSS
- Initialize_MME
- Terminate_MME
- Initialize_SPGW
- Terminate_SPGW
- Initialize_CatM_module
- Terminate_CatM_module
- Attach_CatM_module
- Detach_CatM_module
- Ping_CatM_module
- IdleSleep
- Perform_X2_Handover

View File

@@ -0,0 +1,147 @@
<!--
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</htmlTabRef>
<htmlTabName>Test-05MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
030201
040101
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030101">
<class>Initialize_eNB</class>
<desc>Initialize OCP-eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
<air_interface>ocp</air_interface>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate OCP-eNB</desc>
<air_interface>ocp</air_interface>
</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="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="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 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 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 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 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 id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1 -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/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 9M -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/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 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>
</testCaseList>

View File

@@ -0,0 +1,38 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>build-tab</htmlTabRef>
<htmlTabName>Build</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="010101">
<class>Build_eNB</class>
<desc>Build eNB OCP (USRP)</desc>
<Build_eNB_args>-w USRP -c --eNBocp --ninja</Build_eNB_args>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,38 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>build-tab</htmlTabRef>
<htmlTabName>Build</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
</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>
</testCaseList>

View File

@@ -25,23 +25,10 @@
<htmlTabName>EPC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
010101 090101
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="090101">
<class>Build_OAI_UE</class>
<desc>Build OAI UE</desc>
<Build_OAI_UE_args>-w USRP --UE</Build_OAI_UE_args>
</testCase>
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>

View File

@@ -109,8 +109,8 @@
<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>
<desc>iperf (5MHz - UL/4Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.1 -u -b 4M -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>

View File

@@ -0,0 +1,82 @@
<!--
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-fembms-nos1-tunnel</htmlTabRef>
<htmlTabName>Test-05MHz-FEMBMS-TM1-noS1-tunnel</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201 090109
030104 000001 090104 000002 040605 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>15</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="030104">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz/MBMS)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band17.tm1.mbms.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0 --nokrnmod 1 --eNBs.[0].component_carriers.[0].eutra_band 7 --eNBs.[0].component_carriers.[0].downlink_frequency 2680000000 --eNBs.[0].component_carriers.[0].uplink_frequency_offset -120000000 --eNBs.[0].component_carriers.[0].mbms_dedicated_serving_cell ENABLE --MCEs.[0].mbms_sched_info.mbms_area_config_list.[0].pmch_config_list.[0].allocated_sf_end 512</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090104">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (FDD/Band7/5MHz/MBMS)</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="040605">
<class>Iperf</class>
<desc>iperf (5MHz - DL/1.5Mbps/UDP/MBMS-sink)(20 sec)</desc>
<iperf_args>-c 10.0.2.2 -u -b 1.5M -t 20 -i 1 -fm -B 10.0.2.1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_options>sink</iperf_options>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,82 @@
<!--
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-mbms-nos1-tunnel</htmlTabRef>
<htmlTabName>Test-05MHz-MBMS-TM1-noS1-tunnel</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201 090109
030103 000001 090103 000002 040605 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>15</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="030103">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz/MBMS)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band17.tm1.mbms.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0 --nokrnmod 1 --eNBs.[0].component_carriers.[0].eutra_band 7 --eNBs.[0].component_carriers.[0].downlink_frequency 2680000000 --eNBs.[0].component_carriers.[0].uplink_frequency_offset -120000000</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090103">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (FDD/Band7/5MHz/MBMS)</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="040605">
<class>Iperf</class>
<desc>iperf (5MHz - DL/1.5Mbps/UDP/MBMS-sink)(20 sec)</desc>
<iperf_args>-c 10.0.2.2 -u -b 1.5M -t 20 -i 1 -fm -B 10.0.2.1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_options>sink</iperf_options>
</testCase>
</testCaseList>

View File

@@ -96,8 +96,8 @@
<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>
<desc>iperf (5MHz - UL/4Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 4M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>

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>oai-ue-build-tab</htmlTabRef>
<htmlTabName>OAI-UE-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

@@ -26,7 +26,6 @@
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
@@ -37,19 +36,4 @@
<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,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-start-tab</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

@@ -21,10 +21,10 @@
-->
<testCaseList>
<htmlTabRef>test-10-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabRef>test-lte-m-10-tm1</htmlTabRef>
<htmlTabName>Test-LTE-M-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
030201
040102

View File

@@ -26,7 +26,6 @@
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
@@ -36,19 +35,4 @@
<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-start-tab</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

@@ -36,7 +36,7 @@
<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>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm2.25PRB.FairScheduler.usrpb210.conf --MACRLCs.[0].scheduler_mode default</Initialize_eNB_args>
</testCase>
<testCase id="030201">

View File

@@ -28,7 +28,7 @@
<TestCaseRequestedList>
030201
040101
030124 040301 040521 040622 040621 040623 040624 040625 040662 040661 040663 040664 040665 040401 040201 030201
030124 040301 040521 040622 040621 040623 040662 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>

View File

@@ -0,0 +1,150 @@
<!--
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-20-tm1-defSched</htmlTabRef>
<htmlTabName>Test-20MHz-TM1-default-scheduler</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030125 040301 040522 040627 040626 040628 040629 040630 040667 040666 040668 040669 040670 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030125">
<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 --MACRLCs.[0].scheduler_mode default</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="040522">
<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="040626">
<class>Iperf</class>
<desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040627">
<class>Iperf</class>
<desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040628">
<class>Iperf</class>
<desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040629">
<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="040630">
<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="040666">
<class>Iperf</class>
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 7M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040667">
<class>Iperf</class>
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 7M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040668">
<class>Iperf</class>
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 7M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040669">
<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="040670">
<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

@@ -26,7 +26,6 @@
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
@@ -36,19 +35,4 @@
<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-start-tab</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

@@ -28,101 +28,15 @@
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
030103 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) for RRC Inactivity Timer testing -- no FlexRan Ctl</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) for RRC Inactivity Timer testing -- with FlexRan Ctl</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>
@@ -148,16 +62,6 @@
<desc>Detach UE</desc>
</testCase>
<testCase id="040302">
<class>DataDisable_UE</class>
<desc>Disabling Data Service on UE</desc>
</testCase>
<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>
@@ -165,34 +69,6 @@
<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>

View File

@@ -0,0 +1,126 @@
<!--
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-rrc-no-flex</htmlTabRef>
<htmlTabName>Test-05MHz-TM1-RRC-Inactivity</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201
040101
030102 000010 040301 040502 000011 040302 000001 000012 040303 000002 000013 040503 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Waiting for 55 seconds</desc>
<idle_sleep_time_in_sec>55</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="030102">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz) for RRC Inactivity Timer testing -- no FlexRan Ctl</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>
</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="040302">
<class>DataDisable_UE</class>
<desc>Disabling Data Service on UE</desc>
</testCase>
<testCase id="040303">
<class>DataEnable_UE</class>
<desc>Enabling Data Service on UE</desc>
</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>
</testCaseList>

View File

@@ -0,0 +1,138 @@
<!--
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-rrc-w-flex</htmlTabRef>
<htmlTabName>Test-05MHz-TM1-RRC-Inactivity-FlexRan</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201
040101
050102
030103 000020 040301 040504 000021 040302 000001 000022 040303 000002 040505 000023 040401 040201 030201
050202
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Waiting for 55 seconds</desc>
<idle_sleep_time_in_sec>55</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="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="030103">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz) for RRC Inactivity Timer testing -- with FlexRan Ctl</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>
</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="040302">
<class>DataDisable_UE</class>
<desc>Disabling Data Service on UE</desc>
</testCase>
<testCase id="040303">
<class>DataEnable_UE</class>
<desc>Enabling Data Service on UE</desc>
</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>
</testCaseList>

View File

@@ -56,7 +56,6 @@
<testCase id="040302">
<class>Attach_UE</class>
<desc>Attach UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040401">

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>
060000 060001 060002
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="060000">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060001">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="060002">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

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-start-tab</htmlTabRef>
<htmlTabName>EPC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
000100 000101 000102
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000100">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
<testCase id="000101">
<class>Initialize_MME</class>
<desc>Initialize MME</desc>
</testCase>
<testCase id="000102">
<class>Initialize_SPGW</class>
<desc>Initialize SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,66 @@
<!--
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>
000001 000002
000003 000004
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>Build_eNB</class>
<desc>Build eNB</desc>
<Build_eNB_args>-w USRP -c --eNB --ninja</Build_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<backgroundBuild>True</backgroundBuild>
</testCase>
<testCase id="000004">
<class>WaitEndBuild_eNB</class>
<desc>Wait for end of Build eNB</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="000002">
<class>Build_eNB</class>
<desc>Build gNB</desc>
<Build_eNB_args>-w USRP -c --gNB --ninja</Build_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<backgroundBuild>True</backgroundBuild>
</testCase>
<testCase id="000003">
<class>WaitEndBuild_eNB</class>
<desc>Wait for end of Build gNB</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,77 @@
<!--
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-fr1-tm1</htmlTabRef>
<htmlTabName>Test-FR1-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
030000
040000
000001
070001
070000
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="030000">
<class>Initialize_eNB</class>
<desc>Initialize eNB</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.fr1.25PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<air_interface>lte</air_interface>
</testCase>
<testCase id="040000">
<class>Initialize_eNB</class>
<desc>Initialize gNB (3/4 sampling rate)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrpb210.conf -E</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<air_interface>nr</air_interface>
</testCase>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>30</idle_sleep_time_in_sec>
</testCase>
<testCase id="070000">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="070001">
<class>Terminate_eNB</class>
<desc>Terminate gNB</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</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-FR1-TM1</htmlTabRef>
<htmlTabName>FR1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
010000
030000
040000
010001
000001
050000
050001
070001
070000
010002
010003
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="010000">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="010003">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="010001">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="010002">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="030000">
<class>Initialize_eNB</class>
<desc>Initialize eNB</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.fr1.25PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<air_interface>lte</air_interface>
</testCase>
<testCase id="040000">
<class>Initialize_eNB</class>
<desc>Initialize gNB</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrpb210.conf -E</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<air_interface>nr</air_interface>
</testCase>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
</testCase>
<testCase id="050000">
<class>Ping</class>
<desc>Ping: 20pings in 20sec</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>0</ping_packetloss_threshold>
</testCase>
<testCase id="050001">
<class>Ping</class>
<desc>Ping: 5pings in 1sec</desc>
<ping_args>-c 5 -i 0.2</ping_args>
<ping_packetloss_threshold>0</ping_packetloss_threshold>
</testCase>
<testCase id="070000">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="070001">
<class>Terminate_eNB</class>
<desc>Terminate gNB</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
</testCaseList>

View File

@@ -24,7 +24,7 @@
<htmlTabRef>run-oai-gnb-nr-ue</htmlTabRef>
<htmlTabName>Run-gNB-and-NR-UE</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>4</repeatCount>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
090101 000001 090102 000002 090108 090109
</TestCaseRequestedList>
@@ -33,7 +33,7 @@
<testCase id="090101">
<class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test</Initialize_eNB_args>
<air_interface>NR</air_interface>
</testCase>
@@ -52,7 +52,7 @@
<testCase id="090102">
<class>Initialize_OAI_UE</class>
<desc>Initialize NR UE USRP</desc>
<Initialize_OAI_UE_args>-C 3510000000 --numerology 1 -r 106 --phy-test --usrp-args "addr=192.168.30.2,clock_source=external,time_source=external" --threadoffset 16</Initialize_OAI_UE_args>
<Initialize_OAI_UE_args>--phy-test --usrp-args "addr=192.168.30.2,second_addr=192.168.50.2,clock_source=external,time_source=external" --ue-rxgain 75 --threadoffset 16 --rrc_config_path .</Initialize_OAI_UE_args>
<air_interface>NR</air_interface>
</testCase>

View File

@@ -0,0 +1,71 @@
<!--
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>run-oai-gnb-nr-ue-tx-write-thread</htmlTabRef>
<htmlTabName>Run-gNB-and-NR-UE-TX-Write-Thread</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
090103 000001 090104 000002 090108 090109
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="090103">
<class>Initialize_eNB</class>
<desc>Initialize gNB USRP (Tx-Write-Threading enabled)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test --usrp-tx-thread-config 1</Initialize_eNB_args>
<air_interface>NR</air_interface>
</testCase>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Waiting for NR UE to synchronize w/ gNB</desc>
<idle_sleep_time_in_sec>180</idle_sleep_time_in_sec>
</testCase>
<testCase id="090104">
<class>Initialize_OAI_UE</class>
<desc>Initialize NR UE USRP</desc>
<Initialize_OAI_UE_args>--phy-test --usrp-args "addr=192.168.30.2,second_addr=192.168.50.2,clock_source=external,time_source=external" --ue-rxgain 75 --threadoffset 16 --rrc_config_path .</Initialize_OAI_UE_args>
<air_interface>NR</air_interface>
</testCase>
<testCase id="090108">
<class>Terminate_OAI_UE</class>
<desc>Terminate NR UE</desc>
<air_interface>NR</air_interface>
</testCase>
<testCase id="090109">
<class>Terminate_eNB</class>
<desc>Terminate gNB</desc>
<air_interface>NR</air_interface>
</testCase>
</testCaseList>

View File

@@ -24,6 +24,7 @@
<htmlTabRef>gnb-build-tab</htmlTabRef>
<htmlTabName>Build-gNB</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
010101
</TestCaseRequestedList>
@@ -33,7 +34,8 @@
<mode>TesteNB</mode>
<class>Build_eNB</class>
<desc>Build gNB (USRP)</desc>
<Build_eNB_args>--gNB -w USRP</Build_eNB_args>
<Build_eNB_args>--gNB -w USRP --ninja</Build_eNB_args>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
</testCase>
</testCaseList>

View File

@@ -26,7 +26,6 @@
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
@@ -37,19 +36,4 @@
<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,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-start-tab</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

@@ -24,6 +24,7 @@
<htmlTabRef>test-10</htmlTabRef>
<htmlTabName>Test-10MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201
040101

View File

@@ -43,7 +43,7 @@
<testCase id="030125">
<class>Initialize_eNB</class>
<desc>Initialize RCC (TDD/Band40/20MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf --MACRLCs.[0].scheduler_mode default</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>

View File

@@ -26,7 +26,6 @@
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
050101 060101 070101 040101
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
@@ -37,19 +36,4 @@
<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,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-start-tab</htmlTabRef>
<htmlTabName>EPC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
050101 060101 070101 040101
</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,53 @@
<!--
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-oai-ue</htmlTabRef>
<htmlTabName>EPC-Start-OAI-UE</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
050101 000001 060101 000001 070101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
</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,42 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>terminate-enb-oai-ue</htmlTabRef>
<htmlTabName>Terminate-all-eNBs-OAI-UEs</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201 090109
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,103 @@
<!--
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-oai-ue</htmlTabRef>
<htmlTabName>Test-05MHz-TM1-OAI-UE</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
030201 090109
030102 000001 090102 000002 040503 000002 040603 040604 040643 040644 000002 090109 000001 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep for 10 sec</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep for 3 sec</desc>
<idle_sleep_time_in_sec>3</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 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95</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 130 --ue-txgain 1 --ue-max-power -6 --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/12Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 12M -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>
</testCase>
<testCase id="040644">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,118 @@
<!--
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>
<repeatCount>4</repeatCount>
<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 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95</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 130 --ue-txgain 1 --ue-max-power -6 --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/10Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.2 -u -b 10M -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/2Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.1 -u -b 2M -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,49 @@
<!--
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-enb0</htmlTabRef>
<htmlTabName>Build eNB0</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
010101
010102
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="010101">
<class>Build_eNB</class>
<desc>Build eNB #0 (USRP)</desc>
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="010102">
<class>Build_eNB</class>
<desc>Build eNB #1 (USRP)</desc>
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,53 @@
<!--
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>
050102 000001 060102 000001 070102
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
</testCase>
<testCase id="050102">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
<testCase id="060102">
<class>Initialize_MME</class>
<desc>Initialize MME</desc>
</testCase>
<testCase id="070102">
<class>Initialize_SPGW</class>
<desc>Initialize SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -21,18 +21,28 @@
-->
<testCaseList>
<TestCaseRequestedList>030101 040101 040301 040501 040401 040201 030201</TestCaseRequestedList>
<htmlTabRef>epc-stop</htmlTabRef>
<htmlTabName>EPC-Stop</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
040101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030101">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band1/5MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf</Initialize_eNB_args>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
<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="040101">
@@ -40,26 +50,4 @@
<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="040501">
<class>Ping</class>
<desc>ping (20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,394 @@
<!--
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</htmlTabRef>
<htmlTabName>Test-05MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
040101 030201
030103 000002
040301 000002 040504 040605 040606 040645 040646 040401
040301 000002 040505 000001 040401
040301 000002 040506 000001 040401
040301 000002 040507 000001 040401
040301 000002 040508 000001 040401
040301 000002 040509 000001 040401
040301 000002 040510 000001 040401
040301 000002 040511 000001 040401
040301 000002 040512 000001 040401
040301 000002 040513 000001 040401
040301 000002 040514 000001 040401
040301 000002 040515 000001 040401
040301 000002 040516 000001 040401
040301 000002 040517 000001 040401
040301 000002 040518 000001 040401
040301 000002 040519 000001 040401
040301 000002 040520 000001 040401
040301 000002 040521 000001 040401
040301 000002 040522 000001 040401
040301 000002 040523 000001 040401
040301 000002 040524 000001 040401
040301 000002 040525 000001 040401
040301 000002 040526 000001 040401
040301 000002 040527 000001 040401
040301 000002 040528 000001 040401
040301 000002 040529 000001 040401
040301 000002 040530 000001 040401
040301 000002 040531 000001 040401
040301 000002 040532 000001 040401
040301 000002 040533 000001 040401
040301 000002 040534 000001 040401
040301 000002 040535 000001 040401
040301 000002 040536 000001 040401
040301 000002 040537 000001 040401
040301 000002 040538 000001 040401
040301 000002 040539 000001 040401
040201 000002 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<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="000001">
<class>IdleSleep</class>
<desc>Sleep for 10 sec</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep for 3 sec</desc>
<idle_sleep_time_in_sec>3</idle_sleep_time_in_sec>
</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 --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</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="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="040506">
<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="040507">
<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="040508">
<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="040509">
<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="040510">
<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="040511">
<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="040512">
<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="040513">
<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="040514">
<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="040515">
<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="040516">
<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="040517">
<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="040518">
<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="040519">
<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="040520">
<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="040521">
<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="040522">
<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="040523">
<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="040524">
<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="040525">
<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="040526">
<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="040527">
<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="040528">
<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="040529">
<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="040530">
<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="040531">
<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="040532">
<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="040533">
<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="040534">
<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="040535">
<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="040536">
<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="040537">
<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="040538">
<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="040539">
<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="040605">
<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="040606">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040645">
<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>
</testCase>
<testCase id="040646">
<class>Iperf</class>
<desc>iperf (5MHz - UL/3.8Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 3.8M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,203 @@
<!--
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-x2-ho-05-tm1</htmlTabRef>
<htmlTabName>Test-X2-Handover-05MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
040101 030201 030202
050102
030104 000002 030105 000002
040301 000002
040540 040615 040655
050401 000001
040541 040617 040657
040401 000001
040201 000002 030201 030202
050202
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<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="000001">
<class>IdleSleep</class>
<desc>Sleep for 10 sec</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep for 3 sec</desc>
<idle_sleep_time_in_sec>3</idle_sleep_time_in_sec>
</testCase>
<testCase id="030104">
<class>Initialize_eNB</class>
<desc>Initialize eNB #0 (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --eNBs.[0].enable_measurement_reports yes --eNBs.[0].enable_x2 yes --eNBs.[0].nr_cellid 123456</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030105">
<class>Initialize_eNB</class>
<desc>Initialize eNB #1 (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.slave.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --eNBs.[0].enable_measurement_reports yes --eNBs.[0].enable_x2 yes --eNBs.[0].nr_cellid 98765</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB #0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate eNB #1</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</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="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040540">
<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="040541">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>50</ping_packetloss_threshold>
</testCase>
<testCase id="040542">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>50</ping_packetloss_threshold>
</testCase>
<testCase id="040615">
<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="040616">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040617">
<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="040618">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040655">
<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>
</testCase>
<testCase id="040656">
<class>Iperf</class>
<desc>iperf (5MHz - UL/3.8Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 3.8M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040657">
<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>
</testCase>
<testCase id="040658">
<class>Iperf</class>
<desc>iperf (5MHz - UL/3.8Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 3.8M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="050401">
<class>Perform_X2_Handover</class>
<desc>Doing a Flexran-Controlled X2 Handover</desc>
<x2_ho_options>network</x2_ho_options>
</testCase>
<testCase id="050402">
<class>Perform_X2_Handover</class>
<desc>Doing a Flexran-Controlled X2 Handover</desc>
<x2_ho_options>network</x2_ho_options>
</testCase>
</testCaseList>

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