Compare commits

...

3433 Commits

Author SHA1 Message Date
Cedric Roux
c61df12fa1 bugfix: fix find_uci problem
In some situations (a lot of UEs with a lot of traffic), we see
the following crash of the eNB:

Assertion ((UE_id = find_uci(ul_config_pdu->uci_sr_pdu.ue_information.ue_information_rel8.rnti, proc->frame_tx,proc->subframe_tx,eNB,SEARCH_EXIST_OR_FREE))>=0) failed!
In handle_nfapi_ul_pdu() /home/oai-gnb/test1/openairinterface5g/openair1/SCHED/fapi_l1.c:722
No available UE UCI for rnti 5e05

The array uci_vars is too small. If too much UEs have to use PUCCH
at the same time over a few TTIs, we will exhaust the array.

The solution proposed by this commit is to increase the size of this
array. We now make it a matrix and the first dimension is the subframe.

That seems to solve the problem.

A better solution may be found at some point.
2019-08-02 12:58:01 +02:00
Raphael Defosseux
5ddad9bde2 CI: adding repeat count on X2 handover
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-25 12:28:47 +02:00
Raphael Defosseux
f8288afe1d Merge branch 'develop_integration_2019_w30' into 'develop'
See merge request oai/openairinterface5g!649

Develop: Integration 2019 Week 30
Master Branch Release v1.1 Candidate

The following Merge Requests are included:

* MR 630 : nfapi interface bug fixes
* MR 638 : X2 HO (tdd, forwarding, end marker)
* MR 646 : Loadtester bugfixes
* MR 647 : fix power estimation
* MR 648 : CI: X2 Handover Testing
2019-07-24 23:00:59 +02:00
Raphael Defosseux
23a804ecd1 Merge branch 'ci-repeat-scenario' into 'develop'
CI: adding support to repeat scenario in case of failure.

See merge request oai/openairinterface5g!645
2019-07-19 07:05:33 +02:00
Raphael Defosseux
65002b7fb1 CI: adding support to repeat scenario in case of failure.
nice when the tested feature is known to be unstable
    CDRX testing is now separated from normal FDD 10MHz testing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-18 22:40:12 +02:00
Raphael Defosseux
2d6d1dd965 Merge branch 'ci-downgrade-cdrx-testing' into 'develop'
CI:  Downgrade cdrx testing

See merge request oai/openairinterface5g!643
2019-07-17 21:48:57 +02:00
Raphael Defosseux
7001fdd3d6 CI: fix in LAST_BUILD_INFO generation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-17 19:13:59 +02:00
Raphael Defosseux
dccda75168 Fix for FDD DL performance issue
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-16 12:33:12 +02:00
Raphael Defosseux
3851e3264d CI: fix in generating LAST_BUILD_INFO file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-16 12:32:26 +02:00
Raphael Defosseux
6215c74b53 CI: downgrading CDRX testing to a single UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-15 15:14:22 +02:00
Raphael Defosseux
10dbfff50e CI: no need to rebuild multiple times
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-15 13:33:12 +02:00
Raphael Defosseux
0de5ff4877 Merge branch 'develop_integration_2019_w28' into 'develop'
develop integration branch: 2019 week 28

See merge request oai/openairinterface5g!640

* MR 635 : fix rfsim ue sync
* MR 636 : Bugfixes 2019 w28
* MR 637 : Fixing Multi-RRU support and CI Testing
* MR 639 : fix bladeRF compilation
2019-07-12 18:58:51 +02:00
Raphael Defosseux
5c743e23bb Merge remote-tracking branch 'origin/hotfix-bladerf-compilation' into develop_integration_2019_w28 2019-07-12 14:13:07 +02:00
Cedric Roux
db2853cc49 fix bladeRF compilation 2019-07-12 11:50:22 +02:00
Raphael Defosseux
af93bf9232 Merge remote-tracking branch 'origin/ci-develop-multi-rru-support' into develop_integration_2019_w28 2019-07-12 11:07:05 +02:00
Raphael Defosseux
78fb79016d Merge remote-tracking branch 'origin/bugfixes-2019-w28' into develop_integration_2019_w28 2019-07-12 11:06:44 +02:00
Raphael Defosseux
31b23d57eb CI: fix in terminateeNB mode
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-12 10:32:46 +02:00
Raphael Defosseux
1980f10512 CI: little fixes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-11 23:25:59 +02:00
Raphael Defosseux
a371da7bf9 CI: adding new pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-11 18:04:17 +02:00
Cedric Roux
2421b71d68 x2ap/sctp: increase buffer size
The 5G phone OPPO has a very big UE capability (> 2KB).

We need bigger buffers to transfer this, especially in x2 handover.

Also the sctp messages need a bigger buffer.

Note: in sctp, we didn't check for partial messages, it's now
      done. When detected, we exit. To be redone differently
      if needed. (Look for "if (!(flags & MSG_EOR))".)
2019-07-11 16:34:28 +02:00
Raphael Defosseux
6b7861e098 DOC: update on feature list
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-11 15:54:15 +02:00
Cedric Roux
893392e476 DOC: minor: update basic-sim 2019-07-24 15:36:35 +02:00
laurent
3dfce6380e fix as per branch name 2019-07-11 15:42:40 +02:00
Cedric Roux
8a8fdd59c2 cleanup: no variable definition in header file
We declare variables in header files, we don't define them. So we need
to use 'extern' in the header file and put the definition
in some C file.
2019-07-11 15:28:33 +02:00
Cedric Roux
5775d325e0 phy: do not put random bits in unused DCI
This used to be done to ease power estimation in the UE,
but this is not correct. Let's put no energy in the REs
with no DCI data, which is what needs to be done.

Plus it consumes a lot of CPU because of calling taus()
way too much.
2019-07-11 15:26:00 +02:00
Cedric Roux
443b5fd026 T: add -no-bind option to macpdu2wireshark
To be used when you send data to another host.

On the other host, to avoid ICMP traffic about the port
not being open, do:

./nc -l -u -p 9999 > /dev/null

You need to restart this command each time you run macpdu2wireshark.
You can use any other program that will accept UDP packets on the
port 9999 (default port of macpdu2wireshark, change if you use another
port of course).
2019-07-11 15:22:30 +02:00
Raphael Defosseux
6c5feebaa9 CI: adding support for background build on eNB
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-11 15:08:48 +02:00
Raphael Defosseux
6b16efcb0c DOC: updating Release Notes and adding basic-sim documentation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-11 14:51:01 +02:00
Raphael Defosseux
0f91d708bd Fix merge conflict resolution error.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-24 08:59:13 +02:00
Raphael Defosseux
729aab5798 Merge remote-tracking branch 'origin/nfapi_cleanup1' into develop_integration_2019_w30 2019-07-24 08:29:01 +02:00
Raphael Defosseux
569756c2d4 CI: changing the parallel thread scheme for eNB in L2 nFAPI sim
--> impact on performance -- disabling iperf testing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-23 18:34:46 +02:00
Raphael Defosseux
65b3220d21 Merge remote-tracking branch 'origin/ci-x2-ho-testing' into develop_integration_2019_w30 2019-07-23 13:03:10 +02:00
Raphael Defosseux
4eee2460f9 Merge remote-tracking branch 'origin/bugfix-pucch-power-estimation' into develop_integration_2019_w30 2019-07-23 13:02:42 +02:00
Raphael Defosseux
bfc3912f3e Merge remote-tracking branch 'origin/loadtester_bugfixes' into develop_integration_2019_w30 2019-07-23 13:02:16 +02:00
Raphael Defosseux
7fd9e1a5b7 Merge remote-tracking branch 'origin/x2ho_tdd' into develop_integration_2019_w30 2019-07-23 13:01:55 +02:00
Haruki NAOI
8976f988ed Fix: change default uplane_inactivity_timer value. 2019-07-22 11:13:05 +09:00
Raphael Defosseux
36a9f70111 CI: initial support for X2 HO (net control)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-19 23:18:45 +02:00
Cedric Roux
d1fdbfedbc fix power estimation
Some computation has been fixed in PUCCH reception.

SNR has been fixed, uses measurement instead of
a fixed value for the noise.

normalized_rx_power and target_rx_power have been removed,
replaced by snr and target_snr. All the files using those
variables have been updated.
2019-07-19 17:10:42 +02:00
Raphael Defosseux
d07d91c206 CI: adding conf / scenario files for X2 FDD HO
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-19 10:23:52 +02:00
Raphael Defosseux
5c117684d4 CI: adding support to repeat scenario in case of failure.
nice when the tested feature is known to be unstable
    CDRX testing is now separated from normal FDD 10MHz testing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-19 10:23:52 +02:00
Haruki NAOI
53d5547e67 fix compilation error. 2019-07-17 10:34:23 +09:00
Haruki NAOI
e41da445ef Fix: CCE allocation problem when containing DCI_format_0. 2019-07-17 09:10:53 +09:00
Haruki NAOI
c1950e0d7e Fix: schedule_SRS() avoid assertion. 2019-07-16 19:54:54 +09:00
wanghe
1f211efb12 Fix: GTP/S1AP UE resource release leak issue. 2019-07-16 19:50:28 +09:00
Wu Jing
3492f60407 Fix: dlsch RBG allocation issue. 2019-07-16 19:45:33 +09:00
Wu Jing
a4214072aa Fix: setup release flag after all sdus of RRCConnectonRelease are scheduled. 2019-07-16 19:41:34 +09:00
Wu Jing
79eb2d7066 Fix: skip c-rnti and reestablishment before first attach is completed. 2019-07-16 19:40:09 +09:00
Haruki NAOI
c94700c7e7 Fix: UE context release leak issue. 2019-07-16 19:30:57 +09:00
tomita.y
61cda3a0aa Fix: reestablishment issue(SRB2 NULL) 2019-07-16 19:30:17 +09:00
Wu Jing
e4dfc07553 Fix: reestablishment timer when there are two reestablishmentrequest at a moment 2019-07-16 19:28:20 +09:00
Haruki NAOI
29d361ff42 Fix: Loadtester's UESIM dose not receive paging. 2019-07-16 19:25:41 +09:00
Haruki NAOI
25a1e76a0e Fix: avoid pthread_mutex_lock abort.
This commit is workaround. This issue realy occures with the following log.
lte-softmodem: ../nptl/pthread_mutex_lock.c:81: _pthread_mutex_lock: Assertion `mutex->_data.__owner == 0' failed.
2019-07-16 19:23:29 +09:00
Haruki NAOI
b557f8960b Fix: remove useless mutexlock. 2019-07-16 19:19:32 +09:00
Haruki NAOI
35385d84aa Fix: uplane_inactivity_timer dose not count time correctly about TDD.(rm2174) 2019-07-16 19:13:47 +09:00
Haruki NAOI
762eef6599 Fix: avoid RLC segmentation reception of RRCConnectionSetupComplete. 2019-07-16 19:07:43 +09:00
Haruki NAOI
78ff532ae2 Fix: Used NDI is not saved after Msg4 transmitted. 2019-07-16 18:59:59 +09:00
Haruki NAOI
1059a2fcd7 Fix: release_harq segmentation fault. 2019-07-16 18:56:58 +09:00
luaihui
e773fc6a71 modify some cppcheck errors and warnings 2019-07-15 11:58:19 +09:00
luaihui
e468376d93 add forwarding and end marker 2019-07-11 10:59:07 +09:00
Raphael Defosseux
4c3adcb58e CI: adding support to start/stop enb/rcc/rru on multiple physical servers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-10 17:55:46 +02:00
Raphael Defosseux
1419720cdc CI: adding support to build multiple eNB on multiple physical servers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-10 14:16:42 +02:00
magounak
90344ce54a modify develop branch to enable multi-RRUs functionalities 2019-07-10 10:40:10 +02:00
yoshio.inoue
d02234ff66 remove memset 0 after calloc 2019-07-09 15:52:36 +09:00
yoshio.inoue
46537af2b2 Merge remote-tracking branch 'origin/OAI_develop' into oai_dev_x2ho_tdd 2019-07-09 14:45:31 +09:00
luaihui
94af4d0eca Merge remote-tracking branch 'origin/OAI_develop' into oai_develop_nfapi 2019-07-09 12:45:45 +09:00
Raphael Defosseux
3c85cd58b4 Merge branch 'develop_integration_2019_w27' into 'develop'
Develop: Integration 2019 Week 27

See merge request oai/openairinterface5g!629
2019-07-05 22:23:07 +02:00
Raphael Defosseux
94875783dd Fix a few compilation warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-05 17:17:44 +02:00
Raphael Defosseux
b99c6a898d CI: little bug fixes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-05 14:08:11 +02:00
Raphael Defosseux
a03ef2bfc3 Merge remote-tracking branch 'origin/hotfix-measurement-report' into develop_integration_2019_w27 2019-07-05 11:24:24 +02:00
Raphael Defosseux
3f2acf9485 Fix Coverity Scan CID 342010
Fix a few cppcheck errors/warnings

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-05 11:03:30 +02:00
Cedric Roux
e0eac2e331 hotfix: do not set s-Measure in measurement report configuration
The value was set to 20 which means -120 dB. Setting this value means
that the UE reports an event only if the RSRP of the serving cell
is lower than -120 dB.

In the lab, we get values of around -70, and to go as low as -120
means a very degraded environment. This is not practical.

Let's disactivate the setting of this parameter for the moment so that
the UE reports an event without taking into consideration the RSRP
of the serving cell.

With this hotfix, the X2 handover works much better.
2019-07-04 14:47:11 +02:00
Raphael Defosseux
d2a6cca8f9 CI: better detection for segmentation fault
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-04 12:58:55 +02:00
Raphael Defosseux
6eb4661a5d Merge remote-tracking branch 'origin/fix-init-cu' into develop_integration_2019_w27 2019-07-04 12:54:46 +02:00
Raphael Defosseux
6cabf4ff2b Merge remote-tracking branch 'origin/bugfix-minor-T-tracer' into develop_integration_2019_w27 2019-07-04 12:54:08 +02:00
Raphael Defosseux
6e1cac6e8b Merge remote-tracking branch 'origin/flexran_agent_rrc_cm_rebased2' into develop_integration_2019_w27 2019-07-04 12:53:08 +02:00
Wu Jing
02532d044e x2 handover for tdd 2019-07-04 17:40:31 +09:00
Raphael Defosseux
aa5aa9f321 Merge remote-tracking branch 'origin/channel-simulation-in-rfsimulator' into fix-rfsim-sync-ue 2019-07-03 12:29:34 +02:00
Wu Jing
4239dacd02 Merge branch 'OAI_develop' into oai_develop_nfapi 2019-07-02 22:23:35 +09:00
Wu Jing
5d11ab5467 fix compile error in ue because cqi_indication_body_t 2019-07-02 17:33:14 +09:00
laurent
924e10f73a fix rfsim ue initial sync and legacy OAI C struct syntax 2019-07-01 15:17:07 +02:00
Robert Schmidt
e26f7d7555 F1: correctly initialize CU RRC params (clean up code after 99012f88b9) 2019-06-27 14:22:10 +02:00
Cedric Roux
175da6f258 minor: fix parameters to T call for T_ENB_MASTER_TICK 2019-06-27 12:20:09 +02:00
laurent
77bd2751ba merge again develop 2019-06-25 15:59:13 +02:00
Robert Schmidt
5b12a60950 Flexran-triggered RRC Reconf: free memory of mac_MainConfig after setting new, do not free new memory 2019-06-25 15:47:52 +02:00
Robert Schmidt
0f568fd40a FlexRAN: Comment non-functional code regarding Neigh CGI PLMN ID reporting 2019-06-25 10:40:12 +02:00
Robert Schmidt
f1a1ff036d FlexRAN: HO request first check whether X2 is active, minor indentation fixes 2019-06-24 17:55:13 +02:00
Robert Schmidt
a6be54a6f4 Fix: X2 Setup Req/Resp: first check, then increase number of cells 2019-06-24 17:54:38 +02:00
Robert Schmidt
960e8dc9d8 FlexRAN: Calculate sfnsn such that diff 1s = 1000 2019-06-24 16:29:14 +02:00
Robert Schmidt
a90a7f352e Additional messages for error diagnosis for net-ctrld HO 2019-06-24 16:29:14 +02:00
Robert Schmidt
67fc2f7c62 FlexRAN: add GTP statistics in UE stats through RRC module 2019-06-24 16:29:14 +02:00
Konstantinos Alexandris
75e3622daf Configure eNB for X2 handover controlled by network (ignore UE HO request) 2019-06-24 16:29:14 +02:00
Konstantinos Alexandris
8957cfef78 Add HO trigger function via FlexRAN controller (OAI + FlexRAN handler) 2019-06-24 16:29:14 +02:00
Konstantinos Alexandris
5e148d439a Legal 3GPP values check for measurement report parameters 2019-06-24 16:29:14 +02:00
Robert Schmidt
939251e004 Fix: Memory allocation for offsetFreq parameter 2019-06-24 16:29:14 +02:00
Robert Schmidt
8cf520d283 Rename FlexRAN RRC reconfiguration function, simplify function 2019-06-24 16:29:11 +02:00
Konstantinos Alexandris
1b90c4a02d Create RRC setters for Periodic, A1-A5 event and offsets related to RRC Measurement Report 2019-06-24 16:28:16 +02:00
Konstantinos Alexandris
1de4b7400b Fix: flexran agent for HO case, to be tested if Nb_ue in RRC is needed 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
3cd1717fb6 add measurement information/clean-up measurement report in flexran agent 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
f5e928afab Fix: condition on CellsToAddModList memory allocation in case of zero neighbouring cells 2019-06-24 16:15:44 +02:00
Robert Schmidt
76a7b7036e FlexRAN: Add Protobuf UE-specific RRC measurement report configuration 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
772dc508e8 Fix: Segfault error, free properly measurement info struct, add rsrp/rsrq filter coefficient 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
b7530528e0 To be tested: Add code for measurement report based on the neighbouring cells after x2 setup, ocs/ocn for multiple cells 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
5dfec71629 Fill in the RRC Measurement info struct in the RRC layer 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
0eeee616d8 Create RRC struct and getters for Periodic, A1-A5 event and offsets related to RRC Measurement Report 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
7024f289a6 fixes: segmentation faults issues in RRC CM for RRC Measurement report, clean-up and re-implementation of functions in RAN API 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris
9ec157d9e1 Add neighbouring cells (cgi,plmn), clean-up a bit current RRC CM 2019-06-24 16:15:08 +02:00
Raphael Defosseux
67293964ac Merge branch 'develop_integration_2019_w25' into 'develop'
Develop: Integration 2019 Week 25

See merge request oai/openairinterface5g!617

The following Merge Requests are included:

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

_Please enter the commit message for your changes. Lines starting
2019-06-14 00:15:32 +02:00
frtabu
983f759739 Fix typo when using trigger option in report commands 2019-06-13 19:43:55 +02:00
Raphael Defosseux
79016d3c3b Fixes to pass basic-sim in TDD and OAI-UE + USRP test
-- cell synchronization was successful on the 1st try (in OAI UE + USRP) test
2019-06-13 19:14:26 +02:00
Raphael Defosseux
490f0d61e7 fixing compilation warnings 2019-06-13 17:11:32 +02:00
Raphael Defosseux
433706a7a2 CI: better handling when UE does not connect properly in USRP condition
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-13 16:46:12 +02:00
frtabu
7982580861 Automate help message using variants and options arrays. Fix wrong arithmetic used to set the mask used to check options 2019-06-13 15:29:11 +02:00
Wu Jing
dc604f6ff1 add TAG in uci_harq_pdu in generate_Msg4 2019-06-13 11:37:08 +09:00
Wu Jing
f8dc571bd9 fix assert issue when uci array is full if doing Attach/Detach 2019-06-13 11:34:08 +09:00
laurent
a5b30c07bc add channel sim 2019-06-12 16:45:52 +02:00
frtabu
05e7e3e0a8 Fix report problem, improve option flexibility 2019-06-11 19:58:47 +02:00
frtabu
13a079c855 Modify main bash script in CI to ease addition of new variants. 2019-06-10 19:28:01 +02:00
Javier Morgade
8b4c23cf80 Merge remote-tracking branch 'origin/develop' into develop-entv 2019-06-10 15:21:51 +02:00
Wu Jing
28809cc98a donot start L1_thread_tx if it isnot L1_TRX_SPLIT 2019-06-08 13:41:28 +09:00
Wu Jing
2c7ee8cd20 avoid segfault in S1AP when doing ReleaseCommane s1ap_ue_context=NULL is possible 2019-06-08 13:40:19 +09:00
Wu Jing
4d66dba0d2 avoid segfault in RLC 2019-06-08 13:38:55 +09:00
Wu Jing
21d13ef419 fix the frame compute 2019-06-08 13:38:14 +09:00
Wu Jing
b878b15473 add frame and subframe before sending DL_req,TX_req,HI_DCI0_req,UL_req 2019-06-08 13:37:16 +09:00
Wu Jing
5ee6fe727c fix issue that output hoping not to have mis-match between CRC ind and RX in VNF-PNF mode 2019-06-08 13:36:16 +09:00
Wu Jing
be5bbbd86c clear rlc-am data after retransmission 5 times when doing rrcconnectionreestablishment 2019-06-08 13:34:58 +09:00
Wu Jing
e11cf1ab20 fix stack smashing detected error that occurs after SecurityModeCommand 2019-06-08 13:33:30 +09:00
Wu Jing
4cd5d80d98 add log-mem function to collect log 2019-06-08 13:32:12 +09:00
Wu Jing
d5d1c19588 add the tag in bch and dl in fairRR 2019-06-08 13:31:15 +09:00
Wu Jing
61fc53f851 skip crnti if c-plane is not completed 2019-06-08 13:30:09 +09:00
frtabu
b1d35dcf68 Make addition of new options and variants easier in the bash scripts
prepare for external EPC
2019-06-07 19:36:11 +02:00
Raphael Defosseux
71191fb9b7 Merge branch 'develop_integration_2019_w23' into 'develop'
Develop: integration 2019 week 23

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

The following Merge Requests are included:

* MR 544: RRC Inactivity Timer testing
* MR 581: Remove deprecated build options
* MR 583: RRC: add an option to enable measurement reports
* MR 590: bugfix UE realtime bug
2019-05-23 14:37:10 +02:00
Wu Jing
4f2f0f11ee fix issue that RCC calls phy_procedures_eNB_TX if PARALLEL_RU_L1_SPLIT 2019-05-23 18:08:21 +09:00
Wu Jing
e9d04428ff fix segfault because RRU uses RC.mac 2019-05-23 18:07:01 +09:00
Wu Jing
2700c3aef9 fix NFAPI_MODE mistake when it is PNF because enum is NFAPI_MODE_PNF not NFAPI_PNF 2019-05-23 18:05:58 +09:00
Wu Jing
ea40eeebdf start L1_thread and ru_thread if it is RCC or RRU by adding if(NFAPI==NFAPI_MODE_VNF||NFAPI_MODE_PNF) 2019-05-23 18:04:07 +09:00
Wu Jing
80e7531cfa fix segfault when using RC.rrc if it is RRU 2019-05-23 18:02:34 +09:00
Wu Jing
adbe183166 fix issue when exchange NFAPI_TRACE level to OAI LOG level 2019-05-23 17:58:55 +09:00
Louis-Adrien DUFRENE (Orange Labs)
afdeaa631c update feature list with RRC inactivity timer 2019-05-23 07:58:00 +02:00
Raphael Defosseux
3c322792ba CI: fixig failing OAI UE + USRP + OAI eNB test
-- scenarios were using FDD 5MHz conf file w/ active RRC inactivity timeout
  -- since we are waiting very long that UE is sync'ed w/ eNB, timeout occurs and UE is released
  -- solution is to disable timeouts in command line in scenario
  -- also python is fixed to handle properly wrong ping exits

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

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

This commit uses absolute value.

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

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

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

    enable_measurement_reports = "yes";

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

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

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

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

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

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

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

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

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

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

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

The following MRs have been integrated:

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

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

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

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

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

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

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

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

Here we would set a value of 200.

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

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

End of burst is to stop DL transmission.

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

End of burst can only happen for an S subframe.

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

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

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

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

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

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

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

See merge request oai/openairinterface5g!538

Following Merge Requests were merged:

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

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

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

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

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

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

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

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

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

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

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

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

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

This way, the race condition disappears.

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

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

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

In the logs of the eNB, we see:

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

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

This commit fixes this bug.

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

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

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

Useless constants PDCP_SN_5BIT, PDCP_SN_7BIT and PDCP_SN_12BIT have been
removed.

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

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

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

And, last but not least, there is still no ROHC.
2019-02-27 12:33:04 +01:00
Javier Morgade
39fe25a44d FeMBMS RRC->MAC config request protypes 2019-02-27 11:01:47 +01:00
Raphael Defosseux
53f5f6685a Merge remote-tracking branch 'origin/T-tracer-hack-2019-w9' into develop_integration_2019_w09 2019-02-27 10:25:31 +01:00
frtabu
43f827351f Fix basic-simulator (pdcp.c) 2019-02-26 16:49:55 +01:00
Cedric Roux
f425113044 T: hack: add a multi rru cleaner program
This is for internal use at eurecom. No documentation provided.
2019-02-26 15:08:32 +01:00
OAI-admin
c22f10aa72 Add PHR/BSR to RRCConnectionSetup + add some debug for DLSCH scheduling 2019-02-26 12:44:59 +01:00
Louis Adrien Dufrene
9b9ef32a20 Fix RRC version variable to allow dlsch scheduling for eMTC 2019-02-26 11:04:55 +01:00
Louis Adrien Dufrene
4e176e112e Merge branch 'eMTC-testing' into eMTC-testing-orange 2019-02-26 07:21:15 +01:00
nepes
a4b57f3150 loggin reduction for LTE-M. 2019-02-26 01:43:56 +01:00
Raymond Knopp
dd35208c26 debugging trace 2019-02-25 23:14:04 +01:00
nepes
282985eb2b RRC bugfix 2019-02-25 21:52:47 +01:00
Robert Schmidt
544d80c40d Merge branch 'develop' into feature-127-protocol-split 2019-02-25 18:06:35 +01:00
nepes
67aa968001 Merge branch 'eMTC-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into eMTC-testing 2019-02-25 17:55:16 +01:00
nepes
d74f2da9a8 changes to configuration file for eMTC (pucch parameters) 2019-02-25 17:54:44 +01:00
frtabu
79d0042c4a Merge branch 'develop' into issue392-simplify-s1-nos1step2 2019-02-25 17:37:20 +01:00
frtabu
fb46545526 Fix corrupted LOGs in L1L2simulator, introducing two new components NFAPI_VNF and NFAPI_pnf. Integrate Fujitsu fix for up to 50 UEs. Apply astyle to all modified files in the branch 2019-02-25 16:50:03 +01:00
Robert Schmidt
97126eb57e Fix carrierFreq MeasObj calculation to handle F1 case 2019-02-25 16:33:02 +01:00
Robert Schmidt
cc2a507d59 Unify and comment RRC container print of F1 2019-02-25 16:23:42 +01:00
Louis Adrien Dufrene
22656b65ce fix RA_id again for add_new_ue() 2019-02-25 15:59:07 +01:00
Louis Adrien Dufrene
90c53b11c3 Merge branch 'eMTC-testing' into eMTC-testing-orange 2019-02-25 14:03:14 +01:00
Louis Adrien Dufrene
27d01dcea9 remove some debug 2019-02-25 14:02:05 +01:00
nepes
669724c100 Merge branch 'eMTC-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into eMTC-testing 2019-02-25 13:30:14 +01:00
nepes
b28b14411e modifications for LTE-M testing 2019-02-25 13:29:43 +01:00
Louis Adrien Dufrene
f552fd73ba Merge branch 'eMTC-testing' into eMTC-testing-orange 2019-02-25 11:28:41 +01:00
Louis Adrien Dufrene
87f415d2dd Fix wrong RA_id index in rx_sdu for add_new_ue 2019-02-25 11:21:53 +01:00
Louis Adrien Dufrene
a4259b9071 Fix build error 2019-02-25 10:34:30 +01:00
Louis Adrien Dufrene
1e374fdf60 Add some debug in eNB_scheduler_primitives to test 2019-02-25 10:21:47 +01:00
Louis Adrien Dufrene
46bbfb820c remove some debug 2019-02-25 10:06:31 +01:00
Louis Adrien Dufrene
cddba97c21 remove CDRX related stuff 2019-02-25 10:03:19 +01:00
Louis Adrien Dufrene
ad511a4a3d some format in generate_Msg4() 2019-02-25 09:51:21 +01:00
Louis Adrien Dufrene
55460eafe1 some format for eMTC schedulers 2019-02-25 09:45:58 +01:00
Louis Adrien Dufrene
0ead4bdb12 some format for eNB_scheduler_RA.c and rar_tools.c + some fix in RAR PDU 2019-02-25 08:16:23 +01:00
Louis Adrien Dufrene
a3d3b0cde7 Merge branch 'eMTC-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into eMTC-testing 2019-02-25 08:06:12 +01:00
tomita.y
f3dc8d446d Fixed a problem of double free. 2019-02-25 15:55:02 +09:00
tomita.y
2e49f833a3 Modified for L2 simulator with using TUN. 2019-02-25 13:34:23 +09:00
nepes
71bd6e863b bugfix in harq_handling for eMTC 2019-02-23 00:22:02 +01:00
Raphael Defosseux
f6cab340e1 Merge branch 'develop_integration_2019_w08' into 'develop'
Develop integration 2019 week 08

See merge request oai/openairinterface5g!517
2019-02-22 23:24:19 +01:00
Robert Schmidt
80b6245213 Remove comments left after merge 2019-02-22 18:38:34 +01:00
Robert Schmidt
eab78405cc Log received F1 messages correctly 2019-02-22 18:33:12 +01:00
Robert Schmidt
549e72d001 Trigger UL RRC Message through ITTI Message 2019-02-22 16:36:26 +01:00
Robert Schmidt
c75fd52e3a Remove many warnings 2019-02-22 15:22:13 +01:00
Robert Schmidt
bd36a9ef0c Gracefully handle different numbers of UE in MAC and RRC 2019-02-22 15:22:09 +01:00
Raymond Knopp
078e692319 correction of parameter syntax 2019-02-22 14:38:10 +01:00
Raphael Defosseux
929d71d06d Merge remote-tracking branch 'origin/uhd_3131_fix' into develop_integration_2019_w08 2019-02-22 12:14:12 +01:00
Raphael Defosseux
c1308c61a8 Merge remote-tracking branch 'origin/second_pass_on_cppcheck' into develop_integration_2019_w08 2019-02-22 12:14:06 +01:00
Raphael Defosseux
7caea35158 Merge remote-tracking branch 'origin/393-dlsch-scheduler-optimization' into develop_integration_2019_w08 2019-02-22 12:14:00 +01:00
Raphael Defosseux
8fc1a61e6a Putting correct license banner on file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-22 12:10:15 +01:00
Raphael Defosseux
fd5238e478 Updated release notes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-22 11:44:42 +01:00
Robert Schmidt
a4d909bca8 Initialize variables to prevent illegal free() 2019-02-22 10:51:40 +01:00
Robert Schmidt
1a07a1e067 Replace redundant CU_F1AP/DU_F1AP with F1AP 2019-02-22 10:26:41 +01:00
Robert Schmidt
030e11ba9a Merge branch 'develop' into feature-127-protocol-split 2019-02-21 20:18:35 +01:00
Florian Kaltenberger
7fd089fe3f putting back uhd transport args for b200 with a reduced frame size. This is still compatible with uhd 3.13.1 and above. 2019-02-21 13:36:38 +01:00
Raphael Defosseux
92076ea8a8 CI: adding much needed lock mechanism when creating VM.
-- should prevent VM-creation crashes during test stages

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
(cherry picked from commit eeffdfa200)
2019-02-20 22:28:39 +01:00
Raphael Defosseux
eeffdfa200 CI: adding much needed lock mechanism when creating VM.
-- should prevent VM-creation crashes during test stages

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-20 18:13:43 +01:00
matzakos
c1364f0117 changes to make oai work with UHD 3.13.1 2019-02-20 16:45:39 +01:00
Raphael Defosseux
9286b58fb6 CI: adding commit message to HTML slave reports
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-20 15:49:07 +01:00
Raphael Defosseux
a82342298e changed back some cppcheck "fixes" and updated the cppcheck suppression list
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-20 14:42:17 +01:00
frtabu
e758a32ff7 change ethernet interface name from oip<n> to oaitun_ue<n> in ci script to take into accont corresponding code modif. 2019-02-19 21:56:08 +01:00
Raphael Defosseux
f4bf32d7e7 Forgot one file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-19 21:34:06 +01:00
frtabu
eb26975451 attempt to fix l2 simulator issue 2019-02-19 19:50:44 +01:00
Raphael Defosseux
9aab83c509 Fixing a few last cppcheck errors/warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-19 17:42:27 +01:00
Louis Adrien Dufrene
db51a61c2e Fix to remove cppcheck warnings 2019-02-19 07:56:32 +01:00
Louis Adrien Dufrene
0f52ce5031 remove previous X2AP fix after update of asn files 2019-02-18 15:36:02 +01:00
Louis Adrien Dufrene
f8ab4080f7 Merge from develop + modification of a X2AP file for code to compile 2019-02-18 10:46:13 +01:00
frtabu
3f61d5f720 fix compilation warning 2019-02-17 23:46:45 +01:00
frtabu
38d772d8a2 nos1 et s1 execs identical, nos1 enforced based on exec name or --noS1 option 2019-02-17 23:46:45 +01:00
Raymond Knopp
3c8a4c871b robustified fronthaul a bit for out-of-order packets (PULTICK during PULFFT stream) 2019-02-17 22:26:28 +01:00
Raymond Knopp
9cb461ec75 reduced computations for TX during S subframe 2019-02-17 22:25:40 +01:00
Raphael Defosseux
6a47f9e775 Merge branch 'develop_integration_2019_w07_v2' into 'develop'
Develop integration 2019 week 07 v2

See merge request oai/openairinterface5g!508
2019-02-17 21:53:55 +01:00
Raymond Knopp
f773b4291a Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2019-02-17 10:54:55 +01:00
Raymond Knopp
ba5b70ab51 log removal 2019-02-17 10:54:27 +01:00
Raymond Knopp
cfea040e8a ulsim / dlsim modifications 2019-02-17 10:50:29 +01:00
Javier Morgade
fb435f2d48 Bugfix MBMS Initialization 2019-02-16 13:17:14 +01:00
Raphael Defosseux
d14ad6797e Applying the cppcheck fix on last files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 19:18:24 +01:00
Raphael Defosseux
db51efa887 CI: comment message is now in HTML reports
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 15:44:15 +01:00
Javier Morgade
74aee78635 MBMS Dedicated Serving Cell Params added 2019-02-15 13:03:31 +01:00
Raphael Defosseux
341fedd468 Merge branch 'issue394_fix_cppcheck' into develop_integration_2019_w07_v2
--> openair2/LAYER2/MAC/eNB_scheduler_primitives.c is still old (not from issue394_fix_cppcheck branch)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 12:24:19 +01:00
Javier Morgade
11dffe80b4 Basic SIB1-MBMS Initilization added 2019-02-15 11:55:20 +01:00
Raphael Defosseux
66f654cd0a CI: astyle trying to help merge
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 11:52:25 +01:00
Raphael Defosseux
9b143e9a69 CI: astyle to help merge
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 11:51:10 +01:00
Raphael Defosseux
ee3b650904 Compilation fix
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 10:40:06 +01:00
Raphael Defosseux
869e0271d3 Merge remote-tracking branch 'origin/master' into develop_integration_2019_w07_v2 2019-02-15 09:55:55 +01:00
Raphael Defosseux
21aec74478 Merge remote-tracking branch 'origin/rhel76-support' into develop_integration_2019_w07_v2 2019-02-15 09:55:40 +01:00
Raphael Defosseux
e4560d8ae4 Merge remote-tracking branch 'origin/issue397_telnet_stats' into develop_integration_2019_w07_v2 2019-02-15 09:55:17 +01:00
Raphael Defosseux
4cdae9d93d Merge remote-tracking branch 'origin/x2' into develop_integration_2019_w07_v2
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 09:54:44 +01:00
Javier Morgade
1bca870d61 Setting CFI region with two OFDM symbols (default)
Code cleanup
2019-02-15 08:50:44 +01:00
Javier Morgade
46a8c83b6c UE procedures for FeMBMS SIB1-MBMS (SystemInformationBlockType1-MBMS message)
-- asn1 dissectors ETSI TS 136 331 V14.2.2 (2017-05)
	-- schedule_SI_MBMS
	-- ue_decode_si_mbms
2019-02-14 15:35:00 +01:00
Raphael Defosseux
03d404a6ef Merge branch 'issue-399-master-ue-hot-fix' into 'master'
Hot fix on UE configuration module

See merge request oai/openairinterface5g!506
2019-02-14 13:14:39 +01:00
Louis Adrien Dufrene
0cc0485520 Merge branch 'ulsch_scheduler_opti' into 383-ulsch-scheduler-optimization 2019-02-14 10:32:30 +01:00
Raphael Defosseux
28a1fcde2e Adding comment in release notes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-14 10:10:59 +01:00
Raphael Defosseux
e85bd10307 CI: trying to improve reliability of L2 sim
-- checking if oip1 interface has an IP address before pinging

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
(cherry picked from commit a4dd3fdb07)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-13 16:47:27 +01:00
Boris Djalal
7c63d0d551 Proposal of Francois Taburet
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-02-13 15:56:10 +01:00
Cedric Roux
e4443b1810 x2: fix compilation 2019-02-13 15:42:29 +01:00
Cedric Roux
1c6b9f0eda Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_defs.h
2019-02-13 15:20:45 +01:00
Raphael Defosseux
fcb16521f3 Hot fix on UE configuration module proposed by Xenofon Foukas
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-13 13:42:59 +01:00
Raphael Defosseux
4766a694c8 RHE7.6: UHD installation should be now correct
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-13 10:37:00 +01:00
Raphael Defosseux
d035be0dd3 Fix for all other OS versions
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-13 10:04:40 +01:00
Louis Adrien Dufrene
c7bce0f8d7 Merge from develop 2019-02-13 09:01:51 +01:00
Louis Adrien Dufrene
ce87a9dc09 Merge from develop 2019-02-13 08:41:13 +01:00
Raymond Knopp
b7cbb43130 minor change for UHD on RHEL7.6 2019-02-12 17:24:18 +01:00
Raphael Defosseux
a4dd3fdb07 CI: trying to improve reliability of L2 sim
-- checking if oip1 interface has an IP address before pinging

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-12 16:33:30 +01:00
Raphael Defosseux
d97ba1e2fc CI: adding longer tempos for L2-nFAPI simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-12 15:21:57 +01:00
Raphael Defosseux
b88c1458a5 CI: my bad. Forgot to apply the suppression list to the variant used in Jenkins pipeline file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-12 13:40:41 +01:00
frtabu
2fcc6333b3 Fix compil warnings after rebase 2019-02-12 10:32:57 +01:00
frtabu
a50596af80 test for UE pucch and supression list update 2019-02-12 10:12:07 +01:00
frtabu
60defa245d more fixes for cppcheck 2019-02-12 10:12:07 +01:00
frtabu
d0a3788ca8 re-apply fixes lost with last rebase 2019-02-12 10:12:07 +01:00
frtabu
efe116abe5 rebase on develop (w04 - new master) 2019-02-12 10:12:07 +01:00
frtabu
299f627d8a more fixes for cppcheck, soon all the easiest ones completed (invalid printf format...) 2019-02-12 10:12:07 +01:00
frtabu
38bae9cc0e fix wrong AssetFatal test in prach.c 2019-02-12 10:12:07 +01:00
frtabu
a97dcd6201 attempt to fix prach.c wrong ru/eNB test 2019-02-12 10:12:07 +01:00
frtabu
824d2b478a new set of cppcheck fixes 2019-02-12 10:12:07 +01:00
frtabu
63143b87a7 Go on removing printf arguments warnings, add a suppression file to be used with cppcheck command 2019-02-12 09:57:47 +01:00
frtabu
875bdaf282 cppcheck fixes (2) 2019-02-12 09:46:02 +01:00
frtabu
227a0640e5 first set of cppcheck fixes 2019-02-12 09:46:02 +01:00
frtabu
501ae74cb5 first set of cppcheck fixes 2019-02-12 09:46:02 +01:00
Cedric Roux
5275479751 Merge remote-tracking branch 'origin/develop_integration_2019_w06' into develop
merge:
- enhancement-ltem
2019-02-11 14:07:37 +01:00
Cedric Roux
26e9fe8171 Merge remote-tracking branch 'origin/enhancement-ltem' into develop_integration_2019_w06 2019-02-11 09:44:17 +01:00
Raymond Knopp
b22f2d888a minor changes in CMakelists.txt for building on RHEL7.6. Note, the optional packages in
/etc/yum.repos.d/redhat.repo by setting "enabled = 1" in [rhel-6-server-optional-rpms] section
2019-02-10 14:45:58 +01:00
Robert Schmidt
2f23047900 Restructure F1AP UE list
* Restructure the code handling the UEs F1AP knows
* This fixes a bug that only two phones can be connected
2019-02-08 19:42:25 +01:00
Robert Schmidt
032fc48ac0 Remove unused, commented F1AP code 2019-02-08 18:01:56 +01:00
Raymond Knopp
dd63e5239c minor change for CI with L2 emulator (NFAPI) 2019-02-08 15:14:39 +01:00
Raymond Knopp
e704e7ccc0 Merge remote-tracking branch 'origin/develop' into enhancement-ltem 2019-02-07 23:58:17 +01:00
frtabu
5a51929781 Add cpu measurements access from telnet server 2019-02-07 18:59:48 +01:00
Robert Schmidt
36f192e873 Fix test of socket_link.c after interface change
link_send_packet() has been extended to use for multiple protocols (added UDP,
SCTP after TCP). The test was not update, though, which is fixed in this
commit.
2019-02-07 18:03:18 +01:00
Robert Schmidt
9fd4b45226 Remove F1-related flags from build_oai script 2019-02-07 18:03:17 +01:00
Robert Schmidt
822f9849a2 Stop CU's PROTO_AGENT when DU disconnects
This adds an exit flag as well as the proto_agent_async_msg_recv_unlock()
function to unlock and release the proto_agent worker thread correctly.
2019-02-07 18:00:20 +01:00
Robert Schmidt
beec74b01a Correctly stop link_manager sender and receiver threads
This changes the destroy_link_manager() function to:
* call a new function message_get_unlock() to unlock the sending thread from
  its blocking message_get()
* calls pthread_cancel() on the receiving thread, because this unlocks any
  blocking read from a file descriptor

The same message_get_unlock() function has been added ringbuffer_queue to keep
the interfaces the same (it does nothing, because ringbuffer_queue is
non-blocking).
2019-02-07 17:56:56 +01:00
frtabu
bbf4cc310c improve flexibility of measure implementation 2019-02-07 01:00:44 +01:00
frtabu
eb6e5ffe80 rewrite lte stats display, prepare cpu stats display 2019-02-06 19:30:38 +01:00
Cedric Roux
932f6017fa fix after merge 2019-02-01 14:52:38 +01:00
Cedric Roux
be68e1e651 Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	common/utils/msc/msc.h
	openair2/X2AP/x2ap_eNB.c
2019-02-01 14:27:55 +01:00
Raphael Defosseux
f7a2965b96 Merge remote-tracking branch 'origin/develop'
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-31 14:35:23 +01:00
Raphael Defosseux
05f395b25b Merge branch 'develop_integration_2019_w04' into 'develop'
See merge request oai/openairinterface5g!494

Integration Branch: 2019 week 04 -- master candidate

* MR 488: Issue 390 configmodule cmdlinebug
* MR 490: Issue391 remove L1L2 task
* MR 495: CentOS build fix
2019-01-31 14:21:12 +01:00
Raymond Knopp
b2921eadfe Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2019-01-30 11:44:55 +01:00
Raymond Knopp
1b013ece30 Merge remote-tracking branch 'origin/ru_rau_enhancement-external-timing' into ru_rau_enhancement_L1_renaming 2019-01-30 11:42:54 +01:00
Raymond Knopp
0c21813fa4 Merge remote-tracking branch 'origin/ru_rau_enhancement-external-timing' into ru_rau_enhancement_L1_renaming 2019-01-30 11:41:51 +01:00
Raymond Knopp
f8cb661953 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2019-01-30 10:52:41 +01:00
Raymond Knopp
96ee719330 minor changes for RRU 2019-01-30 10:51:55 +01:00
Raymond Knopp
23575ae41e logging removal 2019-01-30 10:25:23 +01:00
Raymond Knopp
a13f70beee removal of warnings after merge 2019-01-29 17:09:49 +01:00
Robert Schmidt
0643d6b561 Make queue_recv() functions return size, not as out-param 2019-01-29 16:55:15 +01:00
Robert Schmidt
63c4a90eb7 Remove unused PROTO_AGENT code 2019-01-29 16:55:15 +01:00
Raphael Defosseux
f7938a4b24 Fixing L2-simulator for TDD environment
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-29 09:55:21 +01:00
Stefan
0eb430c508 forme eNB_scheduler_primitives < 5500 2019-01-28 16:02:13 +01:00
Raphael Defosseux
c81820b224 CI: removing the yml GitLab CI file (useless w/ our Jenkins pipelines)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-28 10:22:21 +01:00
Robert Schmidt
8c0ebfadda Add FlexRAN PLMN ID list and remove defunct cell_id 2019-01-28 08:36:32 +01:00
Louis Adrien Dufrene
ed1401ac00 Merge branch 'develop' into dlsch_scheduler_opti 2019-01-28 08:36:21 +01:00
Raymond Knopp
72b5745abb Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing
Conflicts:
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/defs_eNB.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair1/SIMULATION/LTE_PHY/dlsim.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-uesoftmodem.c
	targets/RT/USER/rfsim.c
2019-01-26 11:54:10 +01:00
Stefan
b5fb496882 forme eNB_scheduler_primitives < 3900 2019-01-25 17:17:30 +01:00
Robert Schmidt
d9d6ce374f Perform S1 UE Context Release Complete after corresponding F1 message
This commits isolates the S1 UE Ctxt Rel Complete and GTP Tunnel Delete
Requests in functions and calls these function in the original place
(rrc_rx_tx()). The same functions are then used in the F1 UE Ctxt Rel
Complete handler to perform the same functionality, i.e. forward the UE
Ctxt Rel Complete message to the MME and free outstanding resources (RRC
context, GTP tunnels, S1 context).
2019-01-25 16:37:57 +01:00
Raphael Defosseux
f591427e6e Documentation update for master release
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-25 16:06:05 +01:00
Raphael Defosseux
1b2ea38845 Merge branch 'develop_integration_2019_w04' of gitlab.eurecom.fr:oai/openairinterface5g into develop_integration_2019_w04 2019-01-25 15:09:09 +01:00
Florian Kaltenberger
c1ed6685ea update openair1/README.txt 2019-01-25 15:01:08 +01:00
Raphael Defosseux
1b14813a76 Merge remote-tracking branch 'origin/hotfix_centos_build' into develop_integration_2019_w04 2019-01-25 13:34:03 +01:00
Stefan
d0b5dfa484 forme eNB_scheduler_primitives < 3000 2019-01-25 11:26:45 +01:00
Cedric Roux
8c388b7c46 documentation: describe UE's NAS 2019-01-25 10:53:32 +01:00
Raphael Defosseux
f031fda986 CI: hotfix on the CentOS build on OSA bench
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-25 10:07:50 +01:00
Raphael Defosseux
2d7c9734fd Fixing a few warnings (flexran)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-24 19:57:49 +01:00
Raphael Defosseux
bb4a1f9a75 Manual merge conflict resolution was incorrect.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-24 16:58:14 +01:00
Stefan
0a7e800077 forme eNB_scheduler_primitives < 2000 2019-01-24 16:26:21 +01:00
Konstantinos Alexandris
6f0267c4fa x2: fix UE measurement report 2019-01-24 15:55:26 +01:00
Raphael Defosseux
64144a8442 Merge remote-tracking branch 'origin/issue391-removeunusedcode_L2L1task' into develop_integration_2019_w04
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-24 15:33:19 +01:00
Raphael Defosseux
298de921a3 Merge remote-tracking branch 'origin/issue390_configmodule_cmdlinebug' into develop_integration_2019_w04 2019-01-24 15:12:37 +01:00
Cedric Roux
8e3638147d basic simulator: workaround: skip first simulation's frames
Due to some unknown bug in the eNB (or UE, or both), the first frames
are not correctly generated (or handled), which leads to a bad behavior
of the simulator in some cases (seen with 100 RBs: the UE reads a bad
MIB and switches to 25 RBs, which results in a deadlock in the
tcp_bridge_oai driver).

Let's "fix" this problem by skipping (in the driver) some frames at the
beginning of the simulation.
2019-01-24 12:29:49 +01:00
Stefan
169ba6011e forme eNB_scheduler_primitives < 1000 2019-01-24 11:19:13 +01:00
Raphael Defosseux
5e35d90974 CI: adding L2-NFAPI simulator test results to HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-23 16:53:52 +01:00
Stefan
1074a2cdc7 forme eNB_scheduler_dlsch 2019-01-23 16:22:55 +01:00
Louis Adrien Dufrene
f0eaad5c1c Merge from develop 2019-01-23 14:15:21 +01:00
Louis Adrien Dufrene
2986325ad7 Merge branch 'ulsch_scheduler_opti' into 383-ulsch-scheduler-optimization: resolve conflicts from new develop 2019-01-23 14:02:07 +01:00
OAI-admin
1c26da5ad5 Some corrections: commit test is ok! 2019-01-23 13:56:43 +01:00
Louis Adrien Dufrene
aac0a56116 Merge from develop 2019-01-23 13:27:56 +01:00
Stefan
2a8e7f3f6f modif fill_nfapi_uci_acknaks 2019-01-23 11:56:31 +01:00
Raphael Defosseux
869d58fd4b Merge remote-tracking branch 'origin/patch-1' into x2 2019-01-23 10:27:57 +01:00
Stefan
485e83f9e6 modif scheduler_dlsch + primitives 2019-01-23 08:50:59 +01:00
frtabu
5aeb00d33d fix compilation Pb after rebase 2019-01-22 23:07:51 +01:00
frtabu
1d86c8a95a fix compilation bugs after cppcheck fixes 2019-01-22 22:43:33 +01:00
frtabu
1cb484f1b6 fix more trivial cppcheck errors and warnings 2019-01-22 22:43:33 +01:00
frtabu
d171e18c1e fix some cppcheck errors and warnings in config module and T Tracer 2019-01-22 22:43:33 +01:00
frtabu
974167b51c update documentation and improve help text display 2019-01-22 22:43:33 +01:00
frtabu
e329ba787c fix command line parsing for config_getlist, also improve help processing and fix probe (opt) parameters processing 2019-01-22 22:43:33 +01:00
Raphael Defosseux
8260607ed6 CI: fix in L2-simulator VM build start script
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-22 21:37:40 +01:00
Raphael Defosseux
e13b29d38a Merge branch 'issue_345_l2_fapi_simulator_new_jan2019' into 'develop'
Issue 345 l2 fapi simulator new

See merge request oai/openairinterface5g!487 and oai/openairinterface5g!432
2019-01-22 21:15:10 +01:00
Raphael Defosseux
9fbc3e8620 CI: the timeout of eNB log file copy is due to the huge size of said-file
--> increase the timeout of copyin/copyout functions to 100 sec
   Also changed the UHD driver version retrieval

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-22 18:53:35 +01:00
Robert Schmidt
2cdcb6466b Move PDCP stats recording out from non-applying packet_forwarded FALSE case 2019-01-22 16:11:37 +01:00
Konstantinos Alexandris
58a448c759 Update FEATURE_SET.md 2019-01-22 11:49:05 +01:00
frtabu
9d0c70c9fe remove L1L2 task, also remove some call to send messages to UNKNOWN_TASK, removed in new itti. Align LOG in rlc sources with new LOG code (remove DEBUG_RLC...) 2019-01-21 19:43:19 +01:00
Raphael Defosseux
f43bbe670b CI: adding support for L2 NFAPI simulation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-21 17:34:46 +01:00
Cedric Roux
3ee6ccbeb5 fix enb nos1 ethernet compilation 2019-01-21 17:27:57 +01:00
Cedric Roux
1c4ec9e90b fix dlsim compilation 2019-01-21 17:24:26 +01:00
Konstantinos Alexandris
83c414fc83 remove warnings (nb_e_rabs_tobeswitched not in use) 2019-01-21 16:34:52 +01:00
Konstantinos Alexandris
80cf53a3c0 minor: fix spacing 2019-01-21 10:54:21 +01:00
Louis Adrien Dufrene
a36510d304 Merge branch 'develop' into dlsch_scheduler_opti 2019-01-21 08:54:49 +01:00
Raymond Knopp
f84e52bad5 replaced AssertFatal with LOG_E and RA procedure cancellation 2019-01-20 15:39:58 +01:00
Raymond Knopp
7f3402f648 Merge branch 'enhancement-ltem' of https://gitlab.eurecom.fr/oai/openairinterface5g into enhancement-ltem 2019-01-20 15:26:09 +01:00
Raymond Knopp
b2748da3c9 removal of warnings and excessive logging 2019-01-20 13:18:49 +01:00
Robert Schmidt
03b52216a0 FlexRAN: Access PDCP stats through RNTI 2019-01-19 18:22:43 +01:00
Robert Schmidt
767eaf5ba2 Initialize PDCP stats when UE is added 2019-01-19 18:22:40 +01:00
Robert Schmidt
6f9f2d8992 Correct PDCP stats defining constant to MAX_eNB from CC 2019-01-19 16:59:33 +01:00
Robert Schmidt
ad9778be76 FlexRAN fix: correct array index var in loop 2019-01-19 16:13:38 +01:00
Raymond Knopp
f3a79f4be5 Merge remote-tracking branch 'origin/develop' into enhancement-ltem 2019-01-19 16:07:34 +01:00
haswell
023b6ebc29 testing LTE-M configuration 2019-01-19 16:02:59 +01:00
Raymond Knopp
c47e1fc97f Merge remote-tracking branch 'origin/develop' into enhancement-ltem 2019-01-19 12:14:23 +01:00
Stefan
151873e987 pre_processor improvements 2019-01-18 17:04:57 +01:00
Robert Schmidt
ca2f91072a F1AP: on UEContextRelCmd, DU distinguishes whether UE is out of sync 2019-01-18 16:44:00 +01:00
Robert Schmidt
7df8257526 F1AP: when UL_sync failure, send UEContextRelReq
When a phone loses connection, it should not simply be removed but first
CU should be informed which will send a ContextRelCmd. Correspondingly,
when the RRC releases the UE, it does not send a UE Context Release Req
2019-01-18 16:44:01 +01:00
Raphael Defosseux
458a50fb36 CI: fixing finally the copyin network issue when retrieving eNB log file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-18 13:59:53 +01:00
Cedric Roux
7d481c5734 Merge remote-tracking branch 'origin/develop' into x2 2019-01-18 10:40:01 +01:00
Cedric Roux
246abce5d1 Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_defs.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	openair2/RRC/LTE/rrc_proto.h
	openair3/GTPV1-U/gtpv1u_eNB.c
	openair3/S1AP/s1ap_eNB_handlers.c
2019-01-18 10:35:39 +01:00
Raphael Defosseux
d0190899d2 Try out to comment added lines
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-17 23:09:10 +01:00
Robert Schmidt
0699e539fe Put RRC S1AP UEContextReleaseReq message inside corresponding if 2019-01-17 18:21:47 +01:00
Raphael Defosseux
4075fbc86a Merge remote-tracking branch 'origin/develop' into issue_345_l2_fapi_simulator_new_jan2019
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-17 18:19:46 +01:00
Raphael Defosseux
24bde5d635 Merge branch 'develop_integration_2019_w03' into 'develop'
See merge request oai/openairinterface5g!486

Integration Branch: 2019 week 03

* MR 477: Resolve "384 obsolete files to delete"
* MR 479: Fix on allow remote connection in tcpbridge
* MR 480: Ue hotfix u emode during initial connection
* MR 484: Fix on T early logs
* MR 485: Fix on exit softmodem when a command line option requiring an argument is specified
2019-01-17 17:44:39 +01:00
matzakos
eb92fa917b Fixed eNB threading issues creating problems for nfapi emulator. 2019-01-17 15:29:15 +01:00
Raphael Defosseux
d62f8f9349 Fix merge: removed very old code
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-17 13:07:07 +01:00
Raphael Defosseux
c5f17fa7fd Merge remote-tracking branch 'origin/ue-hotfix-UEmode-during-initial-connection' into develop_integration_2019_w03 2019-01-17 11:54:05 +01:00
Raphael Defosseux
49b4e4128d Merge remote-tracking branch 'origin/issue-389-fix-missing-option-value-not-reported' into develop_integration_2019_w03 2019-01-16 20:23:06 +01:00
Raphael Defosseux
cbb21c108e Merge remote-tracking branch 'origin/issue-388-fix-missing-logs-at-startup' into develop_integration_2019_w03 2019-01-16 20:22:43 +01:00
Raphael Defosseux
a2307ebc11 Merge remote-tracking branch 'origin/issue386_tcpbrige_remoteconnection' into develop_integration_2019_w03 2019-01-16 19:42:21 +01:00
frtabu
161aeebaaa attempt to fix TDD basic_simulator failure 2019-01-16 17:57:54 +01:00
Raphael Defosseux
bf25aba227 CI: adding eNB characteristics to HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-16 17:24:04 +01:00
Raphael Defosseux
c12dfe19db Fix in the UE side
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-16 15:54:39 +01:00
Robert Schmidt
a26fad9e47 F1AP: Correct UEContextReleaseReq path, send corresp. S1AP message 2019-01-16 14:45:06 +01:00
Raphael Defosseux
6bb7674877 Fixing usage of old structure/field names
--> temporary as old code is kept in comment

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-16 14:25:38 +01:00
Louis Adrien Dufrene
838f50a0ee Merge branch 'ulsch_scheduler_opti' into 383-ulsch-scheduler-optimization 2019-01-16 11:55:04 +01:00
Louis Adrien Dufrene
f034b6933f unused variable added in the commented bloc, remove build warnings 2019-01-16 11:54:50 +01:00
Cedric Roux
4cd58ac80a apply astyle 2019-01-16 11:44:38 +01:00
Raphael Defosseux
d73685933c Merge remote-tracking branch 'origin/develop' into issue_345_l2_fapi_simulator_new
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-16 11:21:27 +01:00
Konstantinos Alexandris
2f145a62a8 Minor fix for MME (error in connect) 2019-01-16 11:00:03 +01:00
Konstantinos Alexandris
0e4da18f39 Minor fix on X2AP HO Req ACK and X2AP UE Context Release 2019-01-16 10:53:02 +01:00
Raphael Defosseux
4e4e542f50 Merge remote-tracking branch 'origin/issue386_tcpbrige_remoteconnection' into develop_integration_2019_w03 2019-01-16 10:24:22 +01:00
Raphael Defosseux
bddb945889 Merge remote-tracking branch 'origin/384-obsolete-files-to-delete' into develop_integration_2019_w03 2019-01-16 10:13:26 +01:00
Louis Adrien Dufrene
25418e98a0 merge from local dev branch 2019-01-16 09:00:33 +01:00
Louis Adrien Dufrene
0aff104545 Debug removed and first fix added for false RA caused by UL scheduling on PRACH resources 2019-01-16 08:58:53 +01:00
Raymond Knopp
cae1ed0b11 changed some AssertFatal into LOG_E + return(-1) 2019-01-15 21:31:29 +01:00
Raphael Defosseux
fd97183944 Merge branch 'ci-settings-improvements' into 'develop'
CI: adapt parameters for better FDD performances

See merge request oai/openairinterface5g!481
2019-01-15 20:29:48 +01:00
Stefan
c638d16a04 pre_processor improvements 2019-01-15 17:59:40 +01:00
Cedric Roux
7d715cd4bc fix UE configuration file (for CI) 2019-01-15 17:34:59 +01:00
Raphael Defosseux
1de4a57e7b CI: modified also RRU config
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-15 16:26:31 +01:00
Raphael Defosseux
7308f1da98 CI: updating the IF4p5 conf files w/ same values as in monolithic
also disabling LLL realtime issues as an error until PRACH allocation is fixed

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-15 12:12:21 +01:00
Stefan
d5841cbe9e Merge branch 'ulsch_scheduler_opti' of https://gitlab.forge.orange-labs.fr/afyf6286/oai-orange into ulsch_scheduler_opti 2019-01-15 09:00:45 +01:00
Raymond Knopp
38fa452359 Merge remote-tracking branch 'origin/ci-settings-improvements' into enhancement-ltem 2019-01-15 00:10:02 +01:00
frtabu
e179213be0 exit softmodem when a command line option requiring an argument is specified without an option value. Previous behavior was to print a message and ignore the option 2019-01-14 19:13:12 +01:00
Louis Adrien Dufrene
7aa89331e7 Tested, ready to merge 2019-01-14 16:58:40 +01:00
Louis Adrien Dufrene
fb1ccbaf6b prach taken into account in ulsch scheduler + resolve UE_id = -1 in rx_sdu (to test before push) 2019-01-14 16:43:04 +01:00
Cedric Roux
0019707cd1 T: fix early logs
The variable T_stdout needs to be 1 at startup to avoid missing logs.
2019-01-14 16:28:16 +01:00
Cedric Roux
942a5cf2db CI: adapt parameters for better FDD performances 2019-01-14 16:18:31 +01:00
Stefan
1750057376 SSR 2019-01-14 2019-01-14 14:00:47 +01:00
Raymond Knopp
0a7934d1fb minor change for simulation targets 2019-01-14 12:18:56 +01:00
Louis Adrien Dufrene
28902bcd57 add some debug 2019-01-14 11:59:15 +01:00
Louis Adrien Dufrene
0269f07ad5 Merge branch 'ulsch_scheduler_opti' into 383-ulsch-scheduler-optimization 2019-01-11 17:41:28 +01:00
Louis Adrien Dufrene
5431c6f8a3 Merge branch 'develop' into ulsch_scheduler_opti 2019-01-11 17:40:29 +01:00
Louis Adrien Dufrene
a748262e0a remove some debug before merge develop 2019-01-11 17:40:01 +01:00
Louis Adrien Dufrene
a2ef8b7b50 Some formatting + RAPROC fix (to test) 2019-01-11 17:25:13 +01:00
magounak
e1a07c2f41 cosmetic changes 2019-01-11 13:23:33 +01:00
Louis Adrien Dufrene
6614916bc4 debug for test 2019-01-11 11:25:01 +01:00
Louis Adrien Dufrene
f99d40c10e add debug in eNB_scheduler_ulsch.c 2019-01-11 10:14:56 +01:00
Louis Adrien Dufrene
bfcefd9f99 Merge branch 'ulsch_scheduler_opti' into 383-ulsch-scheduler-optimization 2019-01-11 08:49:14 +01:00
Louis Adrien Dufrene
2f95d409cf Merge branch 'ulsch_scheduler_opti' of https://gitlab.forge.orange-labs.fr/afyf6286/oai-orange into ulsch_scheduler_opti 2019-01-11 08:48:19 +01:00
Louis Adrien Dufrene
8bc548a22c no modifications before pull 2019-01-11 08:48:06 +01:00
Stefan
7db6ac9314 eNB_scheduler_primitives improvements-2 2019-01-11 08:35:25 +01:00
Raymond Knopp
95746536c0 Fix for the Internet connectivity issue 2019-01-10 18:39:07 +01:00
Robert Schmidt
05e08d5094 Remove DU's UE RRC, MAC, RLC contexts correctly on UE RELEASE COMMAND 2019-01-10 16:51:04 +01:00
Robert Schmidt
be17b9b655 Correctly handle UE RELEASE COMPLETE in CU
* remove PDCP/RRC contexts
* inform the FlexRAN controller
2019-01-10 16:50:17 +01:00
Louis Adrien Dufrene
9d5557f53b Merge branch 'ulsch_scheduler_opti' into 383-ulsch-scheduler-optimization 2019-01-10 16:48:18 +01:00
Raphael Defosseux
ce7067c7b8 CI: fixing scp timeout failure like the ssh session timeout failure
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-10 16:35:13 +01:00
Louis Adrien Dufrene
8165233723 More formatting 2019-01-10 16:29:56 +01:00
Robert Schmidt
29f23e161e Fix socket type to IPv4 in case of no-multi usage
sctp_create_new_listener() takes a parameter server_type which is NOT
the IP version but whether it is an SCTP multihoming server. There was a
bug that when multihoming is not wanted, it created an IPv6 socket
instead of IPv4. This commit fixes this.

IPv6 is not supported yet.
2019-01-10 14:28:25 +01:00
Louis Adrien Dufrene
2b070e7a4f Merge branch 'develop' into ulsch_scheduler_opti 2019-01-10 09:52:21 +01:00
Louis Adrien Dufrene
227a4347e4 Merge branch 'ulsch_scheduler_opti' of https://gitlab.forge.orange-labs.fr/afyf6286/oai-orange into ulsch_scheduler_opti 2019-01-10 09:51:22 +01:00
Louis Adrien Dufrene
9805b053de formatting eNB_scheduler_ulsch.c 2019-01-10 09:51:06 +01:00
Stefan
0d980deaca eNB_scheduler_primitives improvements 2019-01-10 09:45:31 +01:00
Raymond Knopp
655508a686 Merge remote-tracking branch 'origin/develop' into ue-hotfix-UEmode-during-initial-connection 2019-01-09 23:55:59 +01:00
Raymond Knopp
29064e6d49 corrected bug in handling of UE_mode during initial connection once timing synchronization condition (hysteresis count) is satisfied. 2019-01-09 23:30:13 +01:00
Raphael Defosseux
a975014beb CI: disabling basic-sim test at TDD-20MHz in order to stop getting false negatives
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-08 15:54:28 +01:00
frtabu
718f754c07 modify tcp_bridge_oai.c to support remote connections, old behavior is maintained, define TCPBRIDGE environment variable to the enb ip address on ue side. 2019-01-07 19:36:24 +01:00
Cedric Roux
aea6b4b5a6 fix a lot of file mode
For whatever reason most of the files had their permission
changed from 644 to 755, which is not wanted.
2019-01-07 16:22:28 +01:00
Raymond Knopp
44a225c6b7 Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/mac.h
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	targets/RT/USER/lte-enb.c
2019-01-05 23:28:31 +01:00
Cedric Roux
27b7431cf4 bugfix: fix some merge error 2019-01-04 15:41:34 +01:00
laurent
824f98b125 add dirty -I in Makefile 2019-01-04 14:25:01 +01:00
Raphael Defosseux
1e0d816131 CI: little fix when assessing build status
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-04 10:42:31 +01:00
laurent
4753f92bad remove more files, add a LOG_E() for UE not developped use case 2018-12-26 10:25:56 +01:00
laurent
80ac9ece17 issue 384 2018-12-23 18:05:51 +01:00
laurent
b3f1440249 issue 384 2018-12-23 17:55:07 +01:00
magounak
3c328263ab mask filling mechanism adjustment and VCD adding for 3rd RU 2018-12-21 15:47:30 +01:00
Louis Adrien Dufrene
bee68859cd UE_id overflow corrected + merge from develop 2018-12-21 07:11:14 +01:00
Louis Adrien Dufrene
17e70e1de7 Merge branch 'develop' into ulsch_scheduler_opti 2018-12-20 17:08:32 +01:00
Stefan
a1d5fbea9d SSR 21/12/18 ulsch_scheduler_pre_processor2 2018-12-20 16:52:06 +01:00
Raphael Defosseux
001163f63b Merge branch 'develop_integration_2018_w51' into 'develop'
Develop integration 2018 week 51

See merge request oai/openairinterface5g!470

Integration branch for week 51 (2018). Last of the year
The following MRs have been merged:

- 440 : L1 renaming
- 459 : dlsim format1A testing
- 464 : Iris HW support
- 466 : Workshop demo
- 467 : compilation make fix for ASN1C
- 468 : limeSDR compilation fix

In addition: added support for multi-XML scenarios on slave CI jobs
2018-12-20 16:10:20 +01:00
Louis Adrien Dufrene
32eafc1332 Some format before testing locally 2018-12-20 15:20:10 +01:00
Louis Adrien Dufrene
393f30a2b1 triggering CI 2018-12-20 11:51:22 +01:00
Louis Adrien Dufrene
57a5a26e5c some format in eNB_scheduler_ulsch.c + break removed in schedule_ulsch() 2018-12-20 11:39:10 +01:00
Stefan
ffed6b7115 SSR 20/12/18 ulsch_scheduler_pre_processor 2018-12-20 11:04:21 +01:00
Raphael Defosseux
8c2bb9693a Merge remote-tracking branch 'origin/enhancement-dlsim-format1A-testing' into develop_integration_2018_w51 2018-12-20 10:49:02 +01:00
Raphael Defosseux
81e81ab469 Merge remote-tracking branch 'origin/iris_hw_new' into develop_integration_2018_w51 2018-12-20 10:43:46 +01:00
Louis Adrien Dufrene
076d4e1280 LA: some format + cc = &mac->common_channels[CC_id]; added in schedule_ulsch 2018-12-20 07:38:20 +01:00
Rahman Doost
c76bbd13f1 iris soapy0.7 support 2018-12-19 14:49:56 -06:00
Stefan
da7d2a8ce5 SSR 2018-12-19 2018-12-19 17:00:18 +01:00
Raphael Defosseux
3b915b37ff Downgrading log message to DEBUG for better RT
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-19 16:05:09 +01:00
Raymond Knoppp
69a126909b final changes at slave RRU 2018-12-19 13:01:01 +01:00
Raymond Knoppp
2a279bc723 final changes at slave RRU 2018-12-19 12:36:42 +01:00
magounak
1723c22558 RU_mask final changes 2018-12-19 12:34:26 +01:00
Raphael Defosseux
77f2879620 CI: typo in report build script
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-19 10:10:33 +01:00
Raphael Defosseux
37da1d72b7 Merge remote-tracking branch 'origin/develop-ci-multi-xml-scenarios-support' into develop_integration_2018_w51 2018-12-18 14:49:23 +01:00
Raphael Defosseux
f3488567c3 Merge remote-tracking branch 'origin/381-limesdr-compilation-fail' into develop_integration_2018_w51 2018-12-18 14:48:24 +01:00
Raphael Defosseux
c5a2be4c7e Merge remote-tracking branch 'origin/379-make' into develop_integration_2018_w51 2018-12-18 14:46:29 +01:00
Raphael Defosseux
70ed71a076 Merge remote-tracking branch 'origin/demo-workshop-dec-2018' into develop_integration_2018_w51 2018-12-18 14:45:55 +01:00
Raphael Defosseux
ee9f8d8fa7 Merge remote-tracking branch 'origin/iris_hw_new' into develop_integration_2018_w51 2018-12-18 14:44:50 +01:00
Raphael Defosseux
101ed01277 Merge remote-tracking branch 'origin/L1_renaming' into develop_integration_2018_w51 2018-12-18 14:42:41 +01:00
Konstantinos Alexandris
ea105c39b1 X2AP MOBILITY PROCEDURES (X2AP HANDOVER REQUEST/REQUEST ACK)
S1AP PATH SWITCH REQUEST/REQUEST ACK/FAILURE
RRC MEASUREMENT REPORT
MINOR CHANGES IN MAC LAYER
2018-12-18 13:45:03 +01:00
rdoost
6c41b6d77a parametrized gains 2018-12-17 20:24:14 -06:00
magounak
e170ba24fb RU_mask changes 2018-12-17 15:50:23 +01:00
Raphael Defosseux
df6cc9efc0 CI: splitting all xml scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-14 15:37:55 +01:00
Raphael Defosseux
d318ed26cd CI: fixing the name of the tree icon
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-13 16:07:59 +01:00
Raphael Defosseux
a12ccf1db3 CI: splitting the IF4p5 FDD scenario into several files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-13 14:42:21 +01:00
Laurent
aacbd7577c fix 381 2018-12-13 13:45:59 +01:00
Raphael Defosseux
25b60e0c95 CI: missing detection of UE for TAB header
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-13 10:55:39 +01:00
Raphael Defosseux
70711c3469 CI: adding support for multiple XML scenario files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-13 10:02:02 +01:00
Laurent
89229ac59a fix issue 379 2018-12-12 14:49:54 +01:00
Laurent
1b659b936c fix issue 379 2018-12-12 14:21:00 +01:00
Raphael Defosseux
5dc5f6bc79 CI: missing OSA banners
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-10 14:49:48 +01:00
magounak
4c95e295d1 Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-12-10 14:41:25 +01:00
magounak
0dfdf66f8a vcd changes for RU_mask_tx 2018-12-10 14:26:44 +01:00
Robert Schmidt
e389b79818 F1 handlers: Improve error message if RNTI obtained through CU/DU ID differ 2018-12-07 16:32:42 +01:00
Robert Schmidt
58850e3c86 Send F1 UE CONTEXT RELEASE REQ when RRC detects radio failure 2018-12-07 16:31:36 +01:00
Robert Schmidt
6f19bc4b8f Add F1AP_UE_CONTEXT_RELEASE_COMPLETE, tx in DU, correctly rx in CU 2018-12-07 15:49:04 +01:00
Robert Schmidt
ae3ef27059 Move F1 UE ctxt release req to function mac_eNB_rrc_ul_failure() 2018-12-07 15:37:32 +01:00
Robert Schmidt
412caafd31 F1AP_UE_CONTEXT_RELEASE_COMMAND: Implement in DU, don't send COMPLETE 2018-12-07 14:17:33 +01:00
Robert Schmidt
956fafb51c F1AP_UE_CONTEXT_RELEASE_REQUEST/COMPLETE: Implement in CU 2018-12-07 14:16:42 +01:00
Robert Schmidt
707048c551 F1AP_UE_CONTEXT_RELEASE_REQUEST: Handle in CU, don't send CMD 2018-12-07 14:16:18 +01:00
Robert Schmidt
f3f2bc584f F1AP_UE_CONTEXT_RELEASE_REQ: implement in DU
* MAC differentiates between DU/eNB
* sends ITTI message to DU task for F1AP_UE_CONTEXT_RELEASE_REQ
* message is dispatched to correctly in DU_TASK
* sender correctly fills IDs and cause and sends
2018-12-07 14:16:12 +01:00
Clayton Shepard
5832204fe1 Added Iris hardware support.
Signed-off-by: Rahman Doost <doost@rice.edu>
2018-12-05 09:47:15 -06:00
Robert Schmidt
d9bf26b9e8 Sort FlexRAN statistics by user before sending 2018-12-05 11:46:54 +01:00
Robert Schmidt
62b89f828a FlexRAN: Circumvent different RRC/MAC layer user ID sorting
* RRC and MAC might sort users differently
* therefore, we have to "reverse lookup" the MAC ID from the RNTI when filling
  user info
* For this purpose, add RAN API function flexran_get_mac_ue_id_rnti()
2018-12-05 11:46:26 +01:00
Raphael Defosseux
b805cfc628 CI: HTML report improvements
-- typos correction

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-04 19:47:44 +01:00
Raphael Defosseux
5012faa105 CI: HTML reporting improvements with bootstrap usage
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-04 16:11:02 +01:00
Raphael Defosseux
81a4d5d3be CI: syntax error
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-03 20:28:01 +01:00
Raphael Defosseux
a36c1e4c62 CI: building not testing the flexran controller VM
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-03 18:43:32 +01:00
Raphael Defosseux
e6ef20e1f9 CI: missing building code for flexran controller
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-03 16:25:02 +01:00
Raphael Defosseux
b474d4a7f3 CI: typo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-03 16:09:36 +01:00
Raphael Defosseux
41343e7119 CI: initial testing on FlexRan integration
-- Connection w/ basic simulator

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-12-03 16:00:34 +01:00
Wang Tsu-Han
1c025c2dfa Merge branch 'develop' into L1_renaming
Conflicts:
	common/utils/LOG/log.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
2018-11-30 14:52:56 +01:00
Raphael Defosseux
fb5739dcf7 Merge branch 'develop_integration_w48' into 'develop'
Develop integration 2018 week 48

See merge request oai/openairinterface5g!462

Integration of the following MRs:

 - MR 448: Missing RRC inactivity timer
 - MR 458: Adding MAC main config to RRC connection setup
 - MR 457: Resolving "parallelization not working correctly in phy simulators"
 - MR 460: Fixing RU DFT initialization
2018-11-30 08:03:04 +01:00
Raphael Defosseux
84d66914f0 Removed dead code
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-29 21:47:15 +01:00
Wang Tsu-Han
f88a43ca60 fixes for getting config by command line 2018-11-29 16:11:58 +01:00
Wang Tsu-Han
e7f0701aa7 fixes for getting config by command line 2018-11-29 16:03:07 +01:00
Raphael Defosseux
5d0fe4cea7 Fixing some compilation errors/warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-28 20:31:24 +01:00
Raphael Defosseux
0db0249057 Merge remote-tracking branch 'origin/373-parallelization-not-working-correctly-in-phy-simulators-and-bad-implementation-2' into develop_integration_w48
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-28 18:27:55 +01:00
Raphael Defosseux
d109ffa112 Merge remote-tracking branch 'origin/hotfix-RU-dft-initialization' into develop_integration_w48 2018-11-28 18:12:32 +01:00
Raphael Defosseux
0d67854ce0 Merge remote-tracking branch 'origin/add-mac_MainConfig-to-RRCConnectionSetup' into develop_integration_w48 2018-11-28 18:10:56 +01:00
Raphael Defosseux
f14023ec16 Merge remote-tracking branch 'origin/374-missing-rrc-inactivity-timer-missing-default-drx-ie-in-s1-setup-ue-s1-id-unknown-after-detach-for-switch-off' into develop_integration_w48 2018-11-28 18:04:34 +01:00
Wang Tsu-Han
b25a592ced Merge branch 'develop' into L1_renaming
Conflicts:
	common/utils/LOG/log.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-uesoftmodem.c
2018-11-28 13:51:36 +01:00
Wang Tsu-Han
6aadf8312a Merge branch '373-parallelization-not-working-correctly-in-phy-simulators-and-bad-implementation-2' into L1_renaming 2018-11-28 11:59:31 +01:00
Raphael Defosseux
15314aebff CI: after fix, adding 10/20MHz testing to IF4p5 scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-27 15:45:36 +01:00
Raymond Knoppp
14e633231b minor change a slave RRU 2018-11-27 12:36:09 +01:00
Raymond Knoppp
6f148b9111 Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-11-27 12:30:51 +01:00
Raymond Knoppp
d8c35774aa modifications at slave RRU 2018-11-27 12:30:10 +01:00
Raymond Knopp
c7e611ead1 compilation ok. 2018-11-27 12:26:51 +01:00
Raymond Knopp
a24001bfb4 Merge branch 'ru_rau_enhancement_L1_renaming' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-11-27 12:25:59 +01:00
Raymond Knopp
fb0132e23b minor changes at sirius 2018-11-27 12:21:59 +01:00
magounak
eebb19d9eb added some extra vcd signals 2018-11-27 12:17:39 +01:00
Raymond Knopp
4d934dacfb initializations of dfts for UE (bad order in call to init_dfts from lte_init_ue_signal() ) 2018-11-27 11:26:20 +01:00
Raymond Knopp
ffea699962 change of log level on trace in fapi_l1.c 2018-11-27 11:03:00 +01:00
Raymond Knopp
134a39fa34 Merge remote-tracking branch 'origin/add-mac_MainConfig-to-RRCConnectionSetup' into enhancement-ltem
Conflicts:
	cmake_targets/CMakeLists.txt
2018-11-26 23:02:29 +01:00
Raymond Knopp
552bd6979d Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
2018-11-26 23:01:47 +01:00
Raymond Knopp
fb5201ba97 initialization of dfts for RU. moved init_dfts out from lte_init_top into lte_init_RU() and lte_init_ue_signal() 2018-11-26 21:02:41 +01:00
Raphael Defosseux
814b967cce CI: more T tracer during run
-- RAW record file is parsed and replayed
  -- Replayed log file is parsed instead of normal eNB file during terminate

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-26 15:19:01 +01:00
nepes
131986282a removed some logging in UE and tested TM2 reception on Band 20 cells. 2018-11-25 21:22:02 +01:00
Raymond Knopp
5bf45e014a addition of testing procedures for format 1A transmission in dlsim (nb RB > 2 or 3 which is used for TBS calculation).
bugfix in UE receiver (leftover nb_antennas_tx => nb_antenna_ports_eNB)
2018-11-25 18:34:48 +01:00
Raphael Defosseux
f8ccd284a0 Merge remote-tracking branch 'origin/develop' into 374-missing-rrc-inactivity-timer-missing-default-drx-ie-in-s1-setup-ue-s1-id-unknown-after-detach-for-switch-off
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-23 14:10:50 +01:00
Raphael Defosseux
4f0fd0612a Merge branch 'develop_integration_2018_w47' into 'develop'
Develop integration 2018 week 47

See merge request oai/openairinterface5g!456
2018-11-22 18:02:03 +01:00
Raphael Defosseux
5962870800 CI: adding a LTE-M conf file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-22 15:39:54 +01:00
Raphael Defosseux
55732deb80 Astyling the common files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-22 15:03:27 +01:00
Raphael Defosseux
4fdccd3b4d CI: adding support for T tracing
-- tracing is done w/ a single UE attach / detach
  -- traffic b/ EPC and eNB is captured by tshark

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-22 14:28:06 +01:00
Raymond Knopp
b89f9284dd adds a mac_MainConfig information element to RRCConnectionSetup. This is to configure PHR reporting during the first part of the Attach procedure. 2018-11-21 20:24:24 +01:00
Louis Adrien Dufrene
ed61d774f6 add test on ue_context 2018-11-21 17:03:52 +01:00
Louis Adrien Dufrene
e77d910398 Macro removed in enb_config.c, but rrc timer thresh still set to 0 (deactivated) 2018-11-21 13:26:12 +01:00
yoshio.inoue
0fb80c0cff Fixed problem that u-plane does not transferr with noS1 in L2 nFAPI Simulator 2018-11-21 11:44:18 +09:00
Louis Adrien Dufrene
cf07c4d394 astyle applied 2018-11-20 16:39:05 +01:00
Louis Adrien Dufrene
d082b50896 add MACRO for timer threshold 2018-11-20 16:19:37 +01:00
OAI-admin
1094835db1 RRC timer fixed and tested 2018-11-20 15:07:43 +01:00
Louis Adrien Dufrene
c194956da3 RRC timer thres removed from UE context and added to eNB RRC context, value 0 of thres equivalent to infinity 2018-11-20 14:15:50 +01:00
Raphael Defosseux
df5fe4fffd Merge remote-tracking branch 'origin/T-minor-typo-2018-w47' into develop_integration_2018_w47 2018-11-20 13:19:07 +01:00
Raphael Defosseux
00c230ba47 Merge remote-tracking branch 'origin/issue372_loggingdoc' into develop_integration_2018_w47 2018-11-20 13:18:37 +01:00
Raphael Defosseux
c7dbada527 Merge remote-tracking branch 'origin/issue362_getoptions_errorhandling' into develop_integration_2018_w47 2018-11-20 13:10:25 +01:00
Cedric Roux
e6cd6ba21f T: minor: fix typo 2018-11-20 13:03:31 +01:00
Raymond Knopp
c88d3e062c fixed call to check_band_frequencies in enb_config.c (order was was wrong). 2018-11-19 20:56:49 +01:00
Raymond Knopp
7900864fe4 testing after integration of eMTC 2018-11-19 18:01:36 +01:00
Francois TABURET
117e2a145e Update arch.md 2018-11-19 13:20:14 +01:00
Francois TABURET
a86ca81541 Update arch.md 2018-11-19 13:17:23 +01:00
Raymond Knopp
55ed97ebfa correction to include file name. 2018-11-19 12:53:20 +01:00
Francois TABURET
0f0665e9e7 fix broken link 2018-11-19 11:35:37 +01:00
Francois TABURET
884d4b631d fix broken link 2018-11-19 11:34:38 +01:00
Francois TABURET
3df8f96bba fix wrong formatting 2018-11-19 11:30:54 +01:00
frtabu
682be3e2b4 completing logging facility doc 2018-11-19 11:27:43 +01:00
Raymond Knopp
7474b69c29 added missing files. updates for testing in eMTC configuration after merge. 2018-11-19 09:26:03 +01:00
Raymond Knopp
6266d5c389 Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/mac.h
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_defs.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
2018-11-19 00:43:49 +01:00
Raymond Knopp
246ee327fb rework of configuration for eMTC/Sidelink. Removal of warnings introduced by eMTC code. Validation of configuration component for eMTC and regular LTE. Sidelink is still not configured. 2018-11-18 20:17:18 +01:00
Francois TABURET
220080741e Update devusage.md 2018-11-16 19:31:58 +01:00
Francois TABURET
382981b757 fix broken link 2018-11-16 18:05:54 +01:00
Francois TABURET
2f8c3d6eaa fix broken links 2018-11-16 18:04:49 +01:00
frtabu
00f4890b14 write logging tool documentation 2018-11-16 17:53:51 +01:00
Raphael Defosseux
b09e94542d CI: initial python support for CAT-M devices
-- Works for a Skywire 4G LTE CAT M1 device
     Single-module environment

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-16 15:12:55 +01:00
Louis Adrien Dufrene
04a3cda0b2 wrong manipulation had modified lte-enb.c 2018-11-16 11:42:13 +01:00
Louis Adrien Dufrene
bfb65b57f7 astyle applied 2018-11-16 11:36:44 +01:00
Louis Adrien Dufrene
6a3687fe28 astyle applied 2018-11-16 10:15:30 +01:00
Louis Adrien Dufrene
700437f184 astyle applied 2018-11-16 08:49:28 +01:00
Louis Adrien Dufrene
22e44306f8 RRC inactivity timer deactivated 2018-11-15 13:28:59 +01:00
Louis Adrien Dufrene
0cf8515882 Merge branch 'DRX_develop' into 374-missing-rrc-inactivity-timer-missing-default-drx-ie-in-s1-setup-ue-s1-id-unknown-after-detach-for-switch-off 2018-11-15 13:22:59 +01:00
Louis Adrien Dufrene
2f11541973 test commit 2018-11-15 13:21:48 +01:00
laurent
af892cc058 start fixing parallel threads 2018-11-14 20:51:41 +01:00
Raymond Knopp
edeffee62c Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-11-13 20:24:04 +01:00
Louis Adrien Dufrene
9a080adec5 RRC inactivity timer: first commit to DRX_master 2018-11-13 14:20:16 +01:00
Louis Adrien Dufrene
961a70a04e Fusion wasn't ok, needed some modifications 2018-11-13 11:20:14 +01:00
Louis Adrien Dufrene
a409614185 Merge develop done, conflicts resolved 2018-11-13 10:49:20 +01:00
Louis Adrien Dufrene
287010f82f RRC timer: last format done. Timer reset in scheduling of DTCH (DL/UL). Commit to test. 2018-11-13 10:21:38 +01:00
Louis Adrien Dufrene
76e1636258 RRC timer reset in scheduler: format of some functions before first test 2018-11-12 17:38:19 +01:00
Wang Tsu-Han
c9ab59fc4d fixes for misplacing L1_rxtx_proc_t with L1_proc_t 2018-11-12 15:58:56 +01:00
Wang Tsu-Han
17bb5db352 renaming change for UE and simulation 2018-11-12 14:48:18 +01:00
Raphael Defosseux
c1f7678e5b Merge branch 'develop_integration_2018_w46' into 'develop'
Develop integration 2018 w46

See merge request oai/openairinterface5g!445
2018-11-12 13:18:04 +01:00
Cedric Roux
18a099fa76 Merge remote-tracking branch 'origin/t-tracer-2018-w46' into develop_integration_2018_w46 2018-11-12 11:04:35 +01:00
Cedric Roux
7c71d8306e Merge remote-tracking branch 'origin/issue370-movesomedocs' into develop_integration_2018_w46 2018-11-12 11:04:19 +01:00
Cedric Roux
f81cf69985 Merge remote-tracking branch 'origin/bladerf-support-fix-2018-w45' into develop_integration_2018_w46 2018-11-12 11:03:49 +01:00
Cedric Roux
d6ce682b56 Merge remote-tracking branch 'origin/issuePHR' into develop_integration_2018_w46 2018-11-12 11:03:04 +01:00
Cedric Roux
4931a300ad T: macpdu2wireshark: run live, limit MIB/SIBs recording, cleanup
A new option -live has been added to run live (ie. like the 'enb' tracer)
and options -live-ip and -live-port to select IP/port of the machine running
the eNodeB.

Some new options to control MIB and SIBs recording have been added.

Some global variables have been removed.
2018-11-12 10:49:20 +01:00
OAI-admin
d3f8f9d65b End of bug fix: S1 id unknown after detach request for switch off in idle 2018-11-12 07:46:32 +01:00
Raphael Defosseux
d00f80b5dd Update FEATURE_SET.md for the UE features 2018-11-09 13:47:28 +01:00
Raphael Defosseux
d8cf8104fb Update FEATURE_SET.md with latest measurements from CI 2018-11-09 13:47:28 +01:00
Florian Kaltenberger
d48c7eaef1 removing outdated documentation 2018-11-09 13:47:28 +01:00
Konstantinos Alexandris
9140839f75 Update FEATURE_SET.md 2018-11-09 13:47:28 +01:00
Raphael Defosseux
e73169a232 Adding S1-flex support 2018-11-09 13:47:28 +01:00
Raphael Defosseux
a803adea2a Doc: initial commit of feature set document
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-09 13:47:28 +01:00
Raphael Defosseux
4edc42a4b7 CI: unified VM scripting for option management
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-09 13:45:26 +01:00
Francois TABURET
9b4d01f48f Update rtusage.md 2018-11-09 08:42:16 +01:00
Francois TABURET
9db199269d Update struct.md 2018-11-09 08:40:48 +01:00
Francois TABURET
36612d8c5d Update arch.md 2018-11-08 20:27:10 +01:00
Francois TABURET
d49d0b10a6 Update api.md 2018-11-08 20:26:44 +01:00
Francois TABURET
eb6afba809 Update api.md 2018-11-08 20:25:54 +01:00
Francois TABURET
894fc6072c Update rtusage.md 2018-11-08 20:24:27 +01:00
Francois TABURET
91ba760a02 Update loader.md 2018-11-08 20:21:17 +01:00
Francois TABURET
6ce4b9ad66 Update arch.md 2018-11-08 20:18:13 +01:00
frtabu
83dde26914 fix broken links 2018-11-08 20:16:14 +01:00
Francois TABURET
f08ef335b4 fix broken links in telnetusage.md 2018-11-08 19:51:27 +01:00
Francois TABURET
337c068d22 fix broken links in telnetsrv.md 2018-11-08 19:49:41 +01:00
Francois TABURET
95dc47cc07 fix broken link in struct.md 2018-11-08 19:41:36 +01:00
Francois TABURET
d4092a32f9 fix typo.... 2018-11-08 19:40:17 +01:00
Francois TABURET
59a690bb4b fix broken link in addparamset.md 2018-11-08 19:38:38 +01:00
Francois TABURET
a9de514b7c fix broken links in addaparam.md 2018-11-08 19:36:06 +01:00
Francois TABURET
a149d1cbfd fix broken links in api.md 2018-11-08 19:34:07 +01:00
Francois TABURET
ef20881664 fix config doc broken links 2018-11-08 19:32:32 +01:00
Francois TABURET
65fd02b1b6 fix config doc broken links 2018-11-08 19:29:37 +01:00
Francois TABURET
736febd064 fix broken link 2018-11-08 19:26:24 +01:00
Francois TABURET
7df76dfbfc fix config doc broken link 2018-11-08 19:24:01 +01:00
Francois TABURET
c570ad63fe fix config DOC broken links 2018-11-08 19:21:33 +01:00
frtabu
3515d4316f doc for config module moved from wiki 2018-11-08 19:10:49 +01:00
Raphael Defosseux
7c6a5ef288 CI: adding a TM2 - FDD configuration file for testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-08 13:03:29 +01:00
Raphael Defosseux
03217fbad2 CI: fix HTML reporting for CentOS build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-08 12:42:24 +01:00
Raphael Defosseux
3a294a246a CI: normalize IPv4 addresses for scripts
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-08 12:42:23 +01:00
Raphael Defosseux
d2b9f0f4f8 CI: added support for MR target branch other than 'develop'
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-08 12:42:14 +01:00
Wang Tsu-Han
bc1abcd86f Merge branch 'develop' into L1_renaming
Conflicts:
	targets/RT/USER/lte-enb.c
2018-11-08 12:16:13 +01:00
Wang Tsu-Han
045f2bfd31 unused veriable remove 2018-11-08 11:42:44 +01:00
Louis Adrien Dufrene
94bf32b0d4 Bug fix: S1 id unknown after Detach Request (need to test) 2018-11-08 08:31:23 +01:00
Robert Schmidt
8d862dace4 F1 test: fixes after merge 2018-11-07 16:13:04 +01:00
Robert Schmidt
f3a5720dd9 FlexRAN: Apply slicing configuration if MAC CM present 2018-11-07 16:13:03 +01:00
Robert Schmidt
f0c5f57159 Do not free mem_block in PDCP, it is freed in F1 or RLC 2018-11-07 16:13:03 +01:00
Robert Schmidt
c32094685e Deliver SCTP ITTI messages with instance I 2018-11-07 16:13:03 +01:00
Robert Schmidt
a477043a24 Add some useful LOG statements 2018-11-07 16:13:03 +01:00
Robert Schmidt
6c33f79095 Fix bugs after merge
* F1AP has to read MCC/MNC from list
* Do not stop if MACRLC list is not present in conf, it might be a CU
2018-11-07 16:13:03 +01:00
Robert Schmidt
04126f7bdc Do not compile with mem_block.c 2018-11-07 16:13:03 +01:00
Robert Schmidt
07d9c6a3be Cast malloc() to type 2018-11-07 16:13:03 +01:00
Robert Schmidt
6bd69d6eaa Leave OER support in asn1c enabled
OER can be disable with the switch -DASN_DISABLE_OER_SUPPORT. In F1AP,
disabling OER leads to a typedef void a_type; leading to lots of compilation
errors because of illegal void variable declarations. This commit leaves OER
support enabled, avoiding this error.
2018-11-07 16:13:03 +01:00
Robert Schmidt
397d2f4815 Merge commit 'develop' into feature-127-protocol-split
* remove a lot of white spaces
* many conflicts in enb_config.c
2018-11-07 16:07:59 +01:00
yoshio.inoue
11df1684b7 cleanup warnings 2018-11-07 21:04:12 +09:00
Robert Schmidt
c1e680dd89 FlexRAN: free memory of statistics reports 2018-11-07 10:58:09 +01:00
Robert Schmidt
836f6c6374 Include statistics flag only when values are written 2018-11-07 10:54:35 +01:00
Robert Schmidt
f02b539234 Correct init_cont_stats_update(), test for result 2018-11-07 10:54:35 +01:00
Robert Schmidt
2cf4060680 Implement stats_reply-specific destroy function 2018-11-07 10:54:35 +01:00
Robert Schmidt
86d8e21445 Test for CMs before taking CM-specific stats 2018-11-07 10:54:34 +01:00
Robert Schmidt
23650bdea3 Make flexran_agent_handle_stats() respect presence of MAC, RRC CMs 2018-11-07 10:54:34 +01:00
Robert Schmidt
3b3c9daefb Reformat flexran_agent_handle_stats() for better readability 2018-11-07 10:54:34 +01:00
Robert Schmidt
328448e875 Remove flexran_agent_send_update_stats() which is unnecessary 2018-11-07 10:54:34 +01:00
Robert Schmidt
70f74777f3 Correctly implement proto_agent_stop(), call it 2018-11-07 10:54:34 +01:00
Robert Schmidt
920a4abb6d Make link_manager threads joinable
This makes it possible to stop the link_manager by joining its threads.
2018-11-07 10:53:59 +01:00
Robert Schmidt
e71adffcfd Correct logging messages in FlexRAN & PROTO_AGENT 2018-11-07 10:53:52 +01:00
Robert Schmidt
f01c78e532 Set thread names for FlexRAN and PROTO rx_thread 2018-11-07 10:53:52 +01:00
Robert Schmidt
1290552647 Introduce LOG_W logger for PROTO_AGENT 2018-11-07 10:53:52 +01:00
Robert Schmidt
54da66eeac Bugfix: Rename proto_agent global channel variable
The PROTO_AGENT variable holding the channel for various was named as the same
one for FlexRAN. In C, global variables with the same name are merged into one,
which had the effect that the same queues where used for PROTO_AGENT and
FlexRAN, locking the FlexRAN RX thread. Renaming the PROTO_AGENT variable (it
was introduced second) resolves this issue.
2018-11-07 10:53:52 +01:00
Robert Schmidt
eaff77695b Correct malloc in proto_agent_async_channel_info 2018-11-07 10:53:52 +01:00
Robert Schmidt
44b29d04c3 Read config before starting FlexRAN for node_type and ID 2018-11-07 10:53:52 +01:00
Robert Schmidt
0efde02161 Sanitize link_manager interface, correct in FlexRAN/PROTO_AGENT
This commit cleans up the link_manager interface:
* don't provide peer_addr/port in create_link_manager() (for TCP/SCTP it is not
  needed, so in the UDP case in needs to be set explicitly)
* Make FlexRAN connect again (correct hardcoded address)
* Fix FlexRAN: retain the manager pointer
* Fix FlexRAN: store receive_queue pointer
* the link_manager's sender thread passes the correct peer_addr/port for the
  UDP case
2018-11-07 10:48:36 +01:00
Robert Schmidt
34adfd2af8 ASYNC_IF link_{send,receive}_packet(): infer socket type automatically 2018-11-07 10:48:36 +01:00
Robert Schmidt
ec9e70a023 FlexRAN: provide better error messages in async channel 2018-11-07 10:48:36 +01:00
Robert Schmidt
d7948d04b4 Always fill RRC part of ue_config with all parameters 2018-11-07 10:48:36 +01:00
Robert Schmidt
2fa8c29fd4 Put ue_config MAC and RRC parts in resp. CMs 2018-11-07 10:48:36 +01:00
Robert Schmidt
1fc631e2a4 RAN API RRC part: Change interface to RNTI, change flexran_get_aperiodic_cqi_rep_mode()
* the RAN API RRC part now takes rnti and does not look it up in the MAC every
  time again
* the function flexran_get_aperiodic_cqi_rep_mode() has been changed to return
  a proper protobuf variable, not OAI typedef
2018-11-07 10:48:36 +01:00
Robert Schmidt
fdd47e5701 RAN API: add functions for getting UE RNTIs directly from RRC 2018-11-07 10:48:36 +01:00
Robert Schmidt
e0742be747 RAN API flexran_get_num_ues() belongs to MAC, change name 2018-11-07 10:48:36 +01:00
Robert Schmidt
3035781485 Move ue_lc_config message filling into MAC CM 2018-11-07 10:48:36 +01:00
Robert Schmidt
369e89ee2a Create RAN API flexran_get_num_ue_lcs() [no dedicated bearers detection] 2018-11-07 10:48:35 +01:00
Robert Schmidt
89d8afb612 Remove MAC presence checking from scheduler primitives 2018-11-07 10:48:35 +01:00
Robert Schmidt
a7b114c4ec RAN API: Check for MAC presence 2018-11-07 10:48:35 +01:00
Robert Schmidt
fa7168a097 FlexRAN enb_config_reply destroy message update 2018-11-07 10:48:35 +01:00
Robert Schmidt
b702b415a7 Split enb_config_reply->cell_conf message to PHY, MAC, RRC 2018-11-07 10:48:35 +01:00
Robert Schmidt
2623e3f298 Improve interface of FlexRAN RAN API: Return protobuf types
The functions of the RAN API should not return the types of OAI, but protobuf
types. Previously, they would return OAI types and the calling code "marshals"
this into Protobuf type. This commit changes the following functions and
modifies the calling code to directly store the protobuf type:
* flexran_get_hopping_mode()
* flexran_get_phich_resource()
* flexran_get_phich_duration()
* flexran_get_ul_cyclic_prefix_length()
* flexran_get_dl_cyclic_prefix_length()
* flexran_get_duplex_mode() usage
* flexran_get_enable64QAM()
2018-11-07 10:48:35 +01:00
Robert Schmidt
9a2aab34f6 Remove lots of warnings in F1AP 2018-11-07 10:48:35 +01:00
Robert Schmidt
be750619dc Remove warning of uninitialized use in RLC 2018-11-07 10:48:35 +01:00
Robert Schmidt
e8af3bd464 Selectively load FlexRAN CMs depending on BS capability 2018-11-07 10:48:32 +01:00
Robert Schmidt
c81535a8b0 Add FlexRAN PHY CM 2018-11-07 10:40:17 +01:00
Robert Schmidt
391320b992 Simplify PDCP FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt
5e0088fa52 Simplify RRC FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt
33d0ac4982 Simplify MAC FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt
608a14591e Add BS ID and Capabilities to FlexRAN Hello Msg
* Hello msg agent->RTC carries ID and capabilities this agent supports
* RAN API provides ID and capabilities:
    - flexran_get_bs_id()
    - flexran_get_capabilities() // protobuf list of capabilities
    - flexran_get_capabilities() // capabilities as bit mask

Add FlexRAN capabilities mask RAN API function
2018-11-07 10:40:07 +01:00
Robert Schmidt
eb577d11dd Remove warnings in enb_config.c and rrc_eNB.c 2018-11-07 10:26:41 +01:00
Robert Schmidt
1114efad1c Remove capabilities+agent_id from FlexRAN conf/RCconfig_flexran() 2018-11-07 10:26:08 +01:00
Raphael Defosseux
2a48796406 CI: removing obsolete options from CI scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-07 10:16:48 +01:00
Raymond Knopp
f8d7ce3276 regular LTE functional (simulation) 2018-11-07 00:37:40 +01:00
Cedric Roux
74dc481133 bladeRF: have it functional with libbladerf 2.0
Not much has been changed in the driver (that used libbladerf 1.0).
Some bugs have been fixed. Documentation has been added. A configuration
file has been added too, put in the directory ./configuration/bladeRF.

To use a bladeRF device, see documentation in targets/ARCH/BLADERF/README.

Only the BladeRF x40 has been tested.

Performance is not too bad at 5MHz, a bit worse at 10MHz and on the test
machine I used I face realtime problems at 20MHz when I push downlink
throughput.

So, there is still some work to do to have a good support of bladeRF.
2018-11-06 16:50:48 +01:00
Raphael Defosseux
0a829e3eeb CI: removing obsolete options from CI scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-06 11:37:49 +01:00
Louis Adrien Dufrene
b8ce24febb add changes to s1ap_eNB.c 2018-11-06 07:42:04 +01:00
Haruki NAOI
7d9898a5bb Merge remote-tracking branch 'remotes/origin/develop' into issue_345_l2_fapi_simulator_new
# Conflicts:
#	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
#	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
#	openair2/LAYER2/RLC/rlc.c
2018-11-06 15:03:54 +09:00
Wang Tsu-Han
2c5e5c7a0c print removel and config file chenge back to one RU 2018-11-05 18:41:04 +01:00
frtabu
d151ce6feb Add a parameter to load_configmodule API to allow an exec to specify that it may be run with only command line options 2018-11-05 17:28:00 +01:00
Louis Adrien Dufrene
1c196a9eff rrc inactivity timer reset in RRC Connection Release generation 2018-11-05 16:48:50 +01:00
Raphael Defosseux
47437903f9 CI: lock mechanism improvement
-- in slave job, the lock is now properly done for the whole job
 -- in master job, all slave jobs are really sent in parallel
    they should now now appear as failed (if fails)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-05 15:33:29 +01:00
frtabu
df6030540a reduce compilation warnings in noS1 build to try to pass CI 2018-11-05 11:28:25 +01:00
Raphael Defosseux
5eb2bd7d47 CI: fix basic simulator run
cherry-picked from 5d4cde099e

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-05 11:07:03 +01:00
Raphael Defosseux
519708b6ec CI: optimization to build incrementally in time
--- cherry-picked from develop-nr (d354ededf4)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-05 11:03:14 +01:00
Raymond Knopp
374d00d857 removal of warnings during configuration 2018-11-04 00:03:44 +01:00
Raymond Knopp
b27ed63fa9 lte-softmodem compiles, many memory faults during configuration ... 2018-11-03 22:51:24 +01:00
frtabu
8dd62b32e3 fix bad build_oai directive to compile libconfig for phy-simulators, fix load_configmodule crash because config source not set. 2018-11-02 18:17:11 +01:00
frtabu
18ec5d8047 abort execution when an unknown option is passed via the command line: add config_check_cmdlineopt API to config module, create lte-softmodem-common.c source to remove duplicate code in lte-softmodem.c and lte-uesoftmodem.c, fix segfaults in exec_function of lte-uesoftmodem 2018-11-02 18:17:11 +01:00
magounak
38e9231a53 adding ru_state at ru_thread_tx for RU_mask_tx 2018-11-02 18:06:21 +01:00
Florian Kaltenberger
2811dc7c0d adding params_libconfig to compilation of phy_simulators 2018-11-02 17:31:54 +01:00
Florian Kaltenberger
d7e7d00806 removing use of a default config file 2018-11-02 17:31:54 +01:00
Wolfgang A. Mozart
49f69810e9 removing reference to uesoftmodem from load_configmodule (don't understand why this dependence is there in fist place. Also makes unitary sims break) 2018-11-02 17:31:54 +01:00
Cedric Roux
cf1db86665 Merge remote-tracking branch 'origin/develop_integration_2018_w44' into develop 2018-11-02 17:02:21 +01:00
Louis Adrien Dufrene
1bb53286bb Bug fixed: S1 setup requst sends the correct default DRX value 2018-11-02 16:23:32 +01:00
yoshio.inoue
64b395c64a Fixed overflow related to oip generation 2018-11-02 19:28:15 +09:00
Cedric Roux
9b8e4e4cbe Merge remote-tracking branch 'origin/update-asn1c-0a7524184f16e7093990a31d8d4db487a16e5782' into develop_integration_2018_w44 2018-11-02 10:31:45 +01:00
Cedric Roux
d89bfa72a0 Merge remote-tracking branch 'origin/T-fixes-w43' into develop_integration_2018_w44 2018-11-02 10:31:21 +01:00
Cedric Roux
e46031fec7 Merge remote-tracking branch 'origin/T-tracer-macpdu2wireshark_w43' into develop_integration_2018_w44 2018-11-02 10:31:04 +01:00
Cedric Roux
e4b0b3a7d6 Merge remote-tracking branch 'origin/multi-ue-fix-w42' into develop_integration_2018_w44 2018-11-02 10:30:47 +01:00
Cedric Roux
355f47fb1e Merge remote-tracking branch 'origin/develop-adding-prefix-to-LTE-RRC' into develop_integration_2018_w44 2018-11-02 10:30:35 +01:00
Cedric Roux
28b0c07df7 Merge remote-tracking branch 'origin/359-dlsim-performance-counters' into develop_integration_2018_w44 2018-11-02 10:30:19 +01:00
Cedric Roux
a7cf0cfa1f Merge remote-tracking branch 'origin/352-support-for-n300' into develop_integration_2018_w44 2018-11-02 10:30:01 +01:00
Cedric Roux
633534c2f0 T: extract: add time and count criteria 2018-11-02 09:50:45 +01:00
yoshio.inoue
3ec3a1af34 Add comment 2018-11-02 16:55:13 +09:00
yoshio.inoue
e13c962d24 Fixed bug that u-plane is not transferred with multiple UEs 2018-11-02 16:54:19 +09:00
Raymond Knopp
2aae8723ab ulsim is functional 2018-10-31 17:46:04 +01:00
OAI-admin
6ae27efac0 minor update in format, variable ctxt removed in rrc_eNB_free_UE() 2018-10-31 16:24:29 +01:00
magounak
85b6f0183a changes at wakeup_L1s() for RU_mask 2018-10-31 15:45:22 +01:00
Cedric Roux
a46443b2a9 T: textlog: add option to dump 'raw time'
'raw time' is the tv_sec element in the struct tm
as returned by 'localtime'.

This can be useful to extract events from a dump based on their time.
2018-10-31 12:07:16 +01:00
root
bba23c7814 Merge remote-tracking branch 'eurecom_gitlab/develop' into DRX_develop 2018-10-31 08:08:30 +01:00
magounak
470c664f93 Changes after the merge with L1_renaming in order to work at least in FDD mode. We need to handle the RU_mask_tx for TDD mode. 2018-10-30 19:14:34 +01:00
Wang Tsu-Han
12b81a5b77 fixes after the raneming of eNB_proc_t and eNB_rxtx_proc_t 2018-10-30 17:29:20 +01:00
Raphael Defosseux
3fa0f5a93f CI: workaround to allow running slave jobs from develop-nr
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-30 14:18:49 +01:00
Raymond Knopp
007b003d0c dlsim functional after develop->enhancement-ltem 2018-10-29 18:33:02 +01:00
magounak
5ac4ced133 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement_L1_renaming 2018-10-29 12:15:29 +01:00
magounak
36a92f4614 renaming eNB_proc_t -> L1_proc_t and eNB_rxtx_proc_t -> L1_rxtx_proc_t 2018-10-29 12:11:07 +01:00
Raymond Knoppp
55d2ef72e5 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-29 12:08:08 +01:00
Raymond Knoppp
4f7b4d5bdc minor changes at aquila 2018-10-29 12:07:16 +01:00
Raymond Knopp
18fb29eca4 minor changes at sirius 2018-10-29 12:05:01 +01:00
Raymond Knopp
d24f521a5a Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/MAC/rar_tools.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/PHY_INTERFACE/IF_Module.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface_ue.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
2018-10-29 07:54:17 +01:00
Raymond Knopp
49d6f33335 renaming eNB_rxtx_proc_t -> L1_rxtx_proc_t 2018-10-28 20:19:39 +01:00
Raymond Knopp
c8e686396f renaming of eNB_proc_t -> L1_proc_t 2018-10-28 19:33:51 +01:00
Raymond Knopp
29c5908731 fixed dlsim/ulsim for L1-renaming 2018-10-28 19:24:19 +01:00
magounak
0da8e5cc4f merge with L1_renaming (RU_mask_tx) 2018-10-28 16:47:50 +01:00
magounak
872839d1e7 minor changes at wakeup_txfh 2018-10-28 14:33:47 +01:00
Wang Tsu-Han
1d24208370 bug fix for RU_mask_tx 2018-10-26 17:33:46 +02:00
Wang Tsu-Han
265f110691 using mask for ru_thread_tx 2018-10-26 16:49:50 +02:00
magounak
37df6df9c3 minor fixes after merging with L1_renaming 2018-10-26 16:32:23 +02:00
magounak
bc2ee09774 Merge remote-tracking branch 'origin/L1_renaming' into ru_rau_enhancement_L1_renaming 2018-10-26 14:49:44 +02:00
magounak
42687dfec1 changes at wakeup_rxtx for the RU mask 2018-10-26 13:44:50 +02:00
Y_Tomita
bb7d63e97e Fix timing setting in L2 FAPI simulator. 2018-10-26 18:07:03 +09:00
root
266645d98d Minor corrections, compilation ok 2018-10-26 09:50:01 +02:00
Louis Adrien Dufrene
78051a314a RRC inactivity timer on RRC connection setup: to be tested 2018-10-26 08:14:47 +02:00
Wang Tsu-Han
de32c38987 applying new mechanism for communication between threads 2018-10-25 17:48:07 +02:00
Louis Adrien Dufrene
a321e160cf rrc inactivity timer created, S1 ue context release request sent on timeout, timer set at RRC connection complete reception 2018-10-25 16:03:38 +02:00
Y_Tomita
dcfe6b32e2 Fix for TDD L2 FAPI simulator. 2018-10-25 22:10:57 +09:00
Y_Tomita
b60e861b14 Add --musim option for L2 FAPI simulator. 2018-10-25 22:09:33 +09:00
Bi-Ruei, Chiu
342972c2ea Update asn1c to commit 0a7524184f16e7093990a31d8d4db487a16e5782
Fix the problem that duplicate type names exist in OPEN TYPE.

The following excerpt of ASN.1 of X2AP is one example.

  HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
    { ID id-Old-eNB-UE-X2AP-ID  CRITICALITY ignore  TYPE UE-X2AP-ID  PRESENCE mandatory}|
    { ID id-New-eNB-UE-X2AP-ID  CRITICALITY ignore  TYPE UE-X2AP-ID  PRESENCE mandatory}|
    ...
  }
2018-10-25 10:59:13 +08:00
Wang Tsu-Han
2104817a50 name changing for L1 2018-10-24 16:07:21 +02:00
Y_Tomita
cfab313905 Remove a change about rrc_sdu_length.(because I don't know this modification is correct or not.) 2018-10-24 19:24:16 +09:00
Y_Tomita
fd1054598d Change the conditional expression about init_eNB and add comment. 2018-10-24 19:14:00 +09:00
Y_Tomita
9e1f39ffec Add comments. 2018-10-24 18:58:05 +09:00
Y_Tomita
0b55ecab37 Fix lack of initialize a valuable. 2018-10-24 18:44:18 +09:00
Y_Tomita
66dad294a5 Change define NUMBER_OF_UE_MAX to avoid unexpected access. 2018-10-24 18:26:24 +09:00
Y_Tomita
58c6520218 Remove a change about MSG2 and MSG4 because this is used not only in L2 FAPI simulator but also in real eNB. 2018-10-24 10:00:33 +09:00
Y_Tomita
f7bf5905a0 Refactoring for L2 FAPI simulator. 2018-10-24 09:48:09 +09:00
Cedric Roux
f6f6570d6e T: minor: don't abort() in textlog.c
This leads to some logs missing in some situations.
Plus it's not user-friendly.
2018-10-23 18:05:40 +02:00
Cedric Roux
387b4ff215 T: fix compilation of tracers
If you run 'make' in common/utils/T/tracer
just after a clone of the repository then the
compilation will fail because the file ../T_IDs.h
was not generated.

Let's add a simple dependency to fix this.
2018-10-23 18:03:22 +02:00
Cedric Roux
bbacffa7fd T: T_messages.txt: create a new group 'WIRESHARK'
It is to ease the life of people wanting to record traces to be
consumed later on by wireshark.

You just run: ./record -d ../T_messages.txt -o /tmp/record.raw -on WIRESHARK
and you're good.
2018-10-23 17:32:36 +02:00
Louis Adrien Dufrene
2966cdf1c0 Format rrc_eNB_send_S1AP_UE_CONTEXT_RELEASE_REQ() 2018-10-23 17:12:45 +02:00
Louis Adrien Dufrene
57a383e77c Format rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND() and rrc_eNB_free_UE() 2018-10-23 16:51:55 +02:00
Cedric Roux
9a6d30d716 T: macpdu2wireshark: cleanup
- factorize
- harmonize
- simplify
2018-10-23 16:39:04 +02:00
Louis Adrien Dufrene
2e5ae1eac6 Format of function rrc_rx_tx() 2018-10-23 16:20:14 +02:00
Cedric Roux
35a7e3a180 T: macpdu2wireshark: add RA preamble and RAR tracing 2018-10-23 16:08:29 +02:00
Robert Schmidt
9d2637557c Add BS capability protobuf message in FlexRAN 2018-10-23 14:59:19 +02:00
Robert Schmidt
5e1f344199 Add Disconnect protobuf message description in FlexRAN 2018-10-23 14:58:30 +02:00
Y_Tomita
f39f321d3b Compiling error fix. 2018-10-23 18:50:46 +09:00
Cedric Roux
fdb16fae7d T: macpdu2wireshark: add SIBs tracing
Only schedule_SI is done, not schedule_SIB1_BR and not schedule_SI_BR.
2018-10-23 10:19:51 +02:00
Y_Tomita
6d97a7358b Add sudo to enable init_nas_S1. 2018-10-23 15:31:13 +09:00
Y_Tomita
35e81d8a66 Add virtual NIC setting for L2 FAPI simulator. 2018-10-23 15:28:04 +09:00
Y_Tomita
31d6783d60 Modify setting of new_sdu_p->data->inst to avoid unexpected setting in case of UE. 2018-10-23 15:23:11 +09:00
Louis Adrien Dufrene
a073e84369 Merge remote-tracking branch 'eurecom_gitlab/develop' into DRX_develop 2018-10-23 08:00:00 +02:00
Y_Tomita
6404eddfc1 Fix easy mistatke. 2018-10-23 13:19:33 +09:00
Y_Tomita
2ed0722544 Changed difinition of some valuables to add initialization. 2018-10-23 13:15:09 +09:00
Y_Tomita
ff312b1b97 Fix to set message_id in VNF.(Failed to commit 2151da7b.) 2018-10-23 12:56:56 +09:00
Cedric Roux
7b264ac923 T: macpdu2wireshark: add MIB logging
The tracer macpdu2wireshark can send MIBs to wireshark.
This can be disabled by passing the new -no-mib option.

openair1/SCHED/phy_procedures_lte_eNb.c has been modified
to have a new T trace with the MIB.
2018-10-22 17:23:53 +02:00
Y_Tomita
05fb6c9192 bugfix about MSG4 in L2 FAPI simulator. 2018-10-22 17:59:24 +09:00
Y_Tomita
20a2e83c39 Add multiple UE's L2 FAPI simulator's function. 2018-10-22 17:21:30 +09:00
magounak
4c83082e52 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-22 10:17:34 +02:00
Y_Tomita
eb0ebc588f Add some valuables initialization to avoid unexpected exit. 2018-10-22 16:56:51 +09:00
Y_Tomita
bf8706d2c0 Modify to keep ulsch_buffer's value. 2018-10-22 16:48:31 +09:00
Y_Tomita
04691fb04c Add checking pdu_index is enough in function of dl_config_req_UE_MAC. 2018-10-22 16:39:44 +09:00
Y_Tomita
da3e4ced9d Fix for TDD's ULSCH HARQ in L2 FAPI simulator. 2018-10-22 16:15:24 +09:00
Y_Tomita
7f826450df Add definition about mutex for multiple UE's L2 FAPI simulator. 2018-10-22 16:09:34 +09:00
Y_Tomita
2b0097a8d4 Add UE's thread ID for L2 FAPI simulator. 2018-10-22 16:01:15 +09:00
Y_Tomita
0e0a04fbc1 Fix for 256UEs. 2018-10-22 15:35:34 +09:00
Raymond Knopp
f43149e1a7 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-22 08:07:23 +02:00
Raymond Knopp
d488ddb6b4 OTA synchronization debugging (phoenix) 2018-10-22 08:06:53 +02:00
Raymond Knoppp
9ec5b6c22f Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-22 08:05:40 +02:00
Raymond Knoppp
de284e9e8e OTA synchronization debugging (aquila) 2018-10-22 08:04:21 +02:00
Raymond Knopp
9b3e36a79d debugging of OTA synchronization (sirius) 2018-10-22 08:01:40 +02:00
Y_Tomita
564f2cbfd4 Modify not to assert a part in L2 FAPI simulator because it's possible to differ timing(frame, subframe) between eNB and UE. 2018-10-22 14:43:22 +09:00
Y_Tomita
d9d204a5d3 Modify RRC SDU length is not enough when UE received it. 2018-10-22 14:20:51 +09:00
Y_Tomita
d43dd64b94 Change not to watch timing in MSG2 and MSG4 procedure in L2 FAPI simulator because it's possible to differ timing(frame, subframe) between eNB and UE. 2018-10-22 14:12:41 +09:00
Y_Tomita
f4aa4ee918 Fix for setting of harq_information->harq_information_rel10.tl.tag 2018-10-22 14:06:01 +09:00
Y_Tomita
ac0d6cc1f3 Add NAS initialization in L2 FAPI simulator. 2018-10-22 14:00:47 +09:00
Y_Tomita
2151da7b33 Fix to set message_id in VNF. 2018-10-22 13:47:05 +09:00
Y_Tomita
50df0f683f Temporary Fix: disabling FAPI log to avoid Segmentation Fault. 2018-10-22 13:42:43 +09:00
Y_Tomita
f0274ed337 Modify to use Mod_id = 0 in L2 FAPI simulator's eNB to avoid Segmentation Fault 2018-10-22 13:33:24 +09:00
Y_Tomita
7a755d8df6 Modify not to use initializations of usual test in L2 FAPI simulator. 2018-10-22 13:30:09 +09:00
Y_Tomita
d27a0cbb23 Move initialization of ru pointer before it's accessed. 2018-10-22 13:26:51 +09:00
magounak
d24be4d61f Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-21 16:50:20 +02:00
magounak
769992442d deleting prints 2018-10-21 16:46:04 +02:00
Raymond Knopp
22eccb1c2e simulation ok. fixes after merge with develop 2018-10-20 17:46:28 +02:00
Raymond Knopp
b7e0f7c01a Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-10-20 15:37:13 +02:00
Raymond Knopp
bab10e2748 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-10-20 15:31:25 +02:00
Raymond Knopp
c8cef9e1fb fixes after merge with develop 2018-10-20 15:30:48 +02:00
Raymond Knopp
506edcaec2 lowered debug level for RF simulator 2018-10-20 09:16:24 +02:00
Robert Schmidt
0a4ffade77 Don't malloc() context_t in F1U, stack is sufficient 2018-10-19 18:54:17 +02:00
Raphael Defosseux
09187015aa CI: fix in 'ULSCH error' message reporting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-19 11:26:07 +02:00
Raymond Knopp
ea11edadb3 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-10-19 09:50:42 +02:00
Raphael Defosseux
72167b50da Astyle options agreed during TC meeting 2018/10/18.
-- Note that max line length is 200 (maximum allowed by tool)
 -- Pre-commit hook tested and uses the same option file as CI

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-18 16:48:41 +02:00
Robert Schmidt
86fcea8dd5 Call free_mem_block() after sending F1U packet 2018-10-18 16:47:44 +02:00
Cedric Roux
075a713de9 hotfix: fix a problem with multiple UEs
The symptom: when two UEs do uplink traffic at the same time, the
eNB fails to decode data sometimes. This has been seen with FDD
and 50 RBs. This generates a cascade of other problems leading to
disconnection/reconnection events seen in the log.

The problem: there are probably many, but one obvious bug was found
while analyzing some logs. Scheduling in the same TTI one UE's uplink
traffic and random access (msg3) was done in the same RB.

This commit fixes this simple case. It is probably not the end of
the story.

This is a hotfix, that does not change the code much.

We need to use vrb_map_UL properly all over the places. Today is
not used, but this is the way to go (most probably).
2018-10-18 16:42:32 +02:00
Raphael Defosseux
e6d35a81e4 CI: cosmetics changes to reporting
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-18 14:21:32 +02:00
Robert Schmidt
5862a10274 Don't spam with some PROTO_AGENT and PDCP messages, correct two other 2018-10-18 09:49:14 +02:00
magounak
f1dbbd08c8 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-17 17:07:08 +02:00
magounak
c8c6b9e9be dumb received signal at slave RRU 2018-10-17 17:02:43 +02:00
magounak
f97c7b952a fixing bugs on dmrs symbol 2018-10-17 16:56:57 +02:00
Raphael Defosseux
d5cd9a31f9 CI: fixes and enhancements
-- fix for IF4p5 TDD scenario (missing build test-case)
  -- added automatic UE/eNB termination in main.py when iperf/ping fails
     It allows to have a eNB log analysis for HTML reporting
  -- added statistics on PDCP out-of-resource messages
  -- added statistics on ULSCH error messages

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-17 16:19:31 +02:00
Bi-Ruei, Chiu
f58ad3c39f Add prefix LTE_ to LTE-RRC generated data types by ASN1C_PREFIX=LTE_
1. Modify all expressions using original LTE-RRC data types for new generated ones
2. Does not change any program logic
2018-10-17 15:46:12 +08:00
Y_Tomita
4249ebbf8b Add function to create pre_scd_thread in case of L2sim. 2018-10-17 10:05:41 +09:00
Y_Tomita
33e8577f94 Fix for problems that L2sim finishes in case of multiple UEs and UE L2sim keeps wating for a signal. 2018-10-17 10:01:05 +09:00
Y_Tomita
53d6f992c9 Fix for problems that eNB keeps waiting for signal of unused thread and eNB_thread_rxtx isn't created. 2018-10-17 09:55:27 +09:00
Y_Tomita
1f4a9f3439 Fix for abnormal exit because L2sim doesn't use pointer of D2D test. 2018-10-17 09:54:08 +09:00
Y_Tomita
1791574de5 Missing RRC_VERSION and sourceL2Id, destinationL2Id. 2018-10-17 09:52:53 +09:00
Y_Tomita
0d58ed224f Change type for 256UEs test , abnormal exit and add definition of UE's thread ID for multiple UEs simulation. 2018-10-17 09:48:15 +09:00
Raphael Defosseux
029d894c5f CI: fixes in IF4p5 testing with COTS-UE
also adding TDD IF4p5 testing
    removing basic-sim TDD 5MHz DL iperf test

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-16 17:27:37 +02:00
Raphael Defosseux
77db46aa34 CI: integrating IF4p5 test to full process
--> currently only FDD 5MHz

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-16 15:58:37 +02:00
Raphael Defosseux
0b47118b1b CI: Full IF4p5 scenario in FDD
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-16 14:59:09 +02:00
Raphael Defosseux
8bb295c098 CI: adding support for IF4p5 testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-16 14:59:09 +02:00
magounak
34f3422b44 fixing generate_ul_ref_sigs() 2018-10-16 14:17:16 +02:00
Raphael Defosseux
a7e36b04ee Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-10-16 13:35:43 +02:00
Raphael Defosseux
04873a7ed0 CI: improvements
-- basic-simulator: added TDD 5MHz DL iperf test
  -- main.py script
     *  better HTML reporting when ping/iperf commands timed out
     *  at eNB terminate, more analysis on RRC commands

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-16 13:32:56 +02:00
Raphael Defosseux
ee5928e13d Merge branch 'develop_integration_2018_w_41' into 'develop'
Develop integration 2018 week 41

See merge request oai/openairinterface5g!415
2018-10-15 17:18:47 +02:00
Cedric Roux
9e0e8a7b86 Revert "CI: fixing the basic-simulator configuration files"
This reverts commit d744154334.
2018-10-15 14:59:42 +02:00
Cedric Roux
27395c083d hotfix: hardcode PLMN selection in the UE to value 1 (was 2)
Fix the assertion:
Assertion ((instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity] == 3) || (instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity] == 2)) failed!
In s1ap_eNB_handle_nas_first_req() /home/ubuntu/tmp/openair3/S1AP/s1ap_eNB_nas_procedures.c:243

With this hotfix the UE selects the first PLMN sent by the eNodeB.

The UE has to select the correct PLMN from those received in SIB1. This
will be done with a later merge request.
2018-10-15 14:57:56 +02:00
laurent
97ac780972 fix test case options style for getopts_long() 2018-10-15 10:39:28 +02:00
laurent
63d3bf148e a printf with a removed variable in last commit 2018-10-12 19:29:58 +02:00
laurent
bd1c609ca8 issue 359 dlsim CPU measurements 2018-10-12 18:17:57 +02:00
kvyat
c0ae3ce21f X2: fixing order of calls
Signed-off-by: kvyat <kvyat@kvyat.eurecom.fr>
2018-10-12 16:38:18 +02:00
Raphael Defosseux
f34e735edd CI: adding a tempo in between UP IP retrieves
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-12 16:16:05 +02:00
Raphael Defosseux
d744154334 CI: fixing the basic-simulator configuration files
-> having 2 PLMN IDs in the table since UE seems to pick 2nd one

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-12 12:23:09 +02:00
Raphael Defosseux
307ac58a5a CI: enhancements on the main python script:
-- at the end of eNB run, eNB log file is retrieved and analyzed for SegFault / Assertions / Real Time issues
     if any found, added to the HTML report
  -- When script fails to retrieve UE IP address, try again and report in HTML report if failed
  -- Core is dumped during seg fault event and added to eNB run log zip artifact

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-12 11:18:52 +02:00
Raphael Defosseux
2903473e29 Merge remote-tracking branch 'origin/update-asn1c-d3aed06bb2bec7df1b5c6d0333f8c7dfc5993372' into develop_integration_2018_w_41 2018-10-11 16:11:21 +02:00
Raphael Defosseux
34c14f1ab3 Merge remote-tracking branch 'origin/356-compilation-fail-for-256-ue' into develop_integration_2018_w_41 2018-10-11 16:10:19 +02:00
Raphael Defosseux
d254f5b522 Merge branch 'feature-s1-flex' into develop_integration_2018_w_41
Introduction of S1-flex. It handles multiple PLMN IDs (up to 6) in the SIB as well as the selection of an MME based on the selected PLMN identity.

Major impact: changes on the eNB configuration files:

tracking_area_code = 1;

plmn_list = (
  { mcc = 208; mnc = 94; mnc_length = 2; },
  { mcc = 208; mnc = 95; mnc_length = 2; }
)

See https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/s1-flex-conf-nnsf for more details.

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-11 15:57:36 +02:00
Raymond Knopp
5f30031d29 fixing merge conflict at slave RRU 2018-10-11 15:28:20 +02:00
Raymond Knopp
05ff7b9e0e counter to track sync process at slave RRU 2018-10-11 15:22:37 +02:00
Raphael Defosseux
405bb0bba1 CI: astyling for ease of merge
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-11 15:08:21 +02:00
magounak
cdb3f2afee deleting logs 2018-10-11 15:07:20 +02:00
Raphael Defosseux
7e7acef764 CI: astyling to ease merge
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-11 15:07:16 +02:00
Florian Kaltenberger
7240604115 changing default uhd version when installing from source
this is the one that also works with the n310
2018-10-11 06:05:59 -07:00
Raphael Defosseux
4b0730f767 CI: enhancements with timeouts and build timestamps in HTML reports
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-09 18:29:49 +02:00
magounak
262f221787 Merge branch 'ru_rau_enhancement-external-timing' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-10-09 11:36:08 +02:00
magounak
af75d546df fixing bugs for dmrssync 2018-10-09 11:22:16 +02:00
magounak
8649f178d6 fixing bugs for tdd mode 2018-10-09 11:02:27 +02:00
Bi-Ruei, Chiu
5eceff9ff0 Update asn1c to commit d3aed06bb2bec7df1b5c6d0333f8c7dfc5993372
1. Fix the problem of compiling NR_RangeToBestCell.c of NR-RRC 15.3.0
2. Fix the problem that default OCTET/BIT STRING value not used in APER
3. Add support of extension group inside CHOICE type used in LTE-RRC 15.3.0
4. Fix the problem that NGAP 15.0.0 ASN.1 can not generate C files
2018-10-09 09:18:27 +08:00
Raphael Defosseux
24e9667ced CI: adding --mu option to one of the VM-built variant
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-08 11:57:39 +02:00
laurent
090fcc5aae move mem_block to heap 2018-10-08 11:25:16 +02:00
Navid Nikaein
fec4f5cd04 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-10-05 17:04:48 +02:00
Navid Nikaein
403db5b544 Fix the issue in sending UE Initial Context Setup Response 2018-10-05 17:03:24 +02:00
Raphael Defosseux
798c37aa8d CI: Adding support for TCP iperf2
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-05 13:23:20 +02:00
Raphael Defosseux
b4c987a6f2 Merge branch 'develop_integration_2018_w40' into 'develop'
Develop integration 2018 w40

See merge request oai/openairinterface5g!407
2018-10-04 15:29:49 +02:00
Raphael Defosseux
7260c9a908 Merge remote-tracking branch 'origin/fix_ulsim' into develop_integration_2018_w40 2018-10-04 13:10:23 +02:00
Raphael Defosseux
1d850ee86a Merge remote-tracking branch 'origin/352-support-for-n300' into develop_integration_2018_w40 2018-10-04 13:09:57 +02:00
Raphael Defosseux
341b33f1c5 Merge remote-tracking branch 'origin/rru-hotfix' into develop_integration_2018_w40 2018-10-04 13:09:37 +02:00
laurent
f7b69a7b93 manual merge because conflict 2018-10-03 19:56:29 +02:00
laurent
64959754f4 changed CI for ulsim and fixed one bug in ulsim options parsing 2018-10-03 19:49:54 +02:00
Raphael Defosseux
1bdc059f88 CI: adding UL iperf test in TDD
also at eNB init, no sync will result into an error

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-02 17:56:31 +02:00
Raphael Defosseux
1132bbab3d Fixing 7.5 kHz tables init for UE
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-02 11:36:40 +02:00
Raphael Defosseux
4cbd981748 CI: adding a TDD scenario for basic-simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-01 16:38:05 +02:00
Raphael Defosseux
ecd180be47 Fixing compilation warning in function declaration
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-10-01 10:56:36 +02:00
Florian Kaltenberger
1942d2674c adding command line paramter usrp-args and usrp-clksrc to UE 2018-09-30 11:25:37 -07:00
Florian Kaltenberger
9f5f0ade7e removing some dead code 2018-09-30 09:54:34 -07:00
Florian Kaltenberger
3547d525f4 Merge remote-tracking branch 'origin/develop' into 352-support-for-n300 2018-09-29 12:09:51 -07:00
Florian Kaltenberger
bf55d13cbf Merge branch 'develop_integration_2018_w39' into 'develop'
Develop integration 2018 w39

See merge request oai/openairinterface5g!405
2018-09-29 20:55:03 +02:00
Raymond Knopp
d8e9a80f51 initialization of 7.5 kHz tables moved to RU initialization so that IF4p5 RRU doesn't crash anymore. 2018-09-29 11:23:40 +02:00
Robert Schmidt
ee048120c4 Change remaining config files to plmn_list style 2018-09-28 17:40:37 +02:00
Raphael Defosseux
b83395c65a Merge remote-tracking branch 'origin/develop-ci' into develop_integration_2018_w39 2018-09-28 17:00:52 +02:00
Raphael Defosseux
bb566eaeb8 Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w39
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-28 17:00:21 +02:00
Raphael Defosseux
bf86de006c Merge remote-tracking branch 'origin/basic-simulator-tdd' into develop_integration_2018_w39 2018-09-28 16:58:30 +02:00
Raphael Defosseux
38d09bc733 Merge remote-tracking branch 'origin/parallel-config' into develop_integration_2018_w39
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-28 16:58:12 +02:00
Raphael Defosseux
8037229e49 Merge remote-tracking branch 'origin/fix_issue_350_gtpu_init' into develop_integration_2018_w39 2018-09-28 16:57:00 +02:00
Raphael Defosseux
4aa5650cda CI: little tweak
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-28 16:49:30 +02:00
Bing-Kai Hong
be661cce1a turn off debug print with F1AP 2018-09-28 16:44:14 +02:00
Raphael Defosseux
5c45163dd1 CI: adding retry strategy when connecting to remote server
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-28 16:29:10 +02:00
Robert Schmidt
05262f6684 Fix warning of ignored return val of asprintf 2018-09-28 13:50:29 +02:00
Bing-Kai Hong
3d41f5cb03 add msc trace for F1AP 2018-09-28 11:51:11 +02:00
Robert Schmidt
b1d1d4c834 X2AP configuration: Use more idiomatic AssertFatal than if 2018-09-28 11:46:11 +02:00
Robert Schmidt
b485310ef6 Read X2AP PLMN ID from new configuration file structure 2018-09-28 11:46:11 +02:00
Robert Schmidt
f1cc914d4e Change configuration to match new format 2018-09-28 11:46:11 +02:00
Robert Schmidt
751a54820b Create new SCTP conn for all MME reg REQs 2018-09-28 11:46:11 +02:00
Robert Schmidt
b1408fd35e Print information about chosen MME by NNSF 2018-09-28 11:46:11 +02:00
Robert Schmidt
02d0945306 Add NNSF by selected PLMN Identity 2018-09-28 11:46:11 +02:00
Robert Schmidt
067f6e7a38 NNSF by GUMMEI: do not use highest capacity 2018-09-28 11:46:11 +02:00
Robert Schmidt
ff688f163b NNSF my MME code: respect selected PLMN ID 2018-09-28 11:46:11 +02:00
Robert Schmidt
6c0680db12 Add config_getlist in config module 2018-09-28 11:46:11 +02:00
Robert Schmidt
a4bc48a2f7 Fix in paging: iterate list of MCC/MNC/TAC 2018-09-28 11:46:11 +02:00
Robert Schmidt
4f997239c1 S1SetupRequest: Register with PLMN ID/Broadcast PLMNs 2018-09-28 11:46:06 +02:00
Robert Schmidt
418455bc8c NAS First REQ/NAS Uplink: Use selected PLMN ID 2018-09-28 11:46:06 +02:00
Robert Schmidt
81e70dfc25 NAS First REQ: Forward selected PLMN Identity 2018-09-28 11:46:06 +02:00
Robert Schmidt
f954bb7700 S1AP MME data: Pass and store Broadcast PLMN index 2018-09-28 11:46:06 +02:00
Robert Schmidt
5f4432a351 Read configuration parameter Broadcast PLMN index for MME 2018-09-28 11:45:56 +02:00
Robert Schmidt
77b9ad2bfc Change type S1AP REG REQ: Pass Broadcast PLMN index for MME selection 2018-09-28 11:45:56 +02:00
Robert Schmidt
a52156cf26 Remove unused MCC/MNC in eNB_RRC_INST 2018-09-28 11:45:56 +02:00
Robert Schmidt
514b8d833a Use selectedPLMN_Identity IE to fill GUMMEI at NAS_FIRST_REQ 2018-09-28 11:45:56 +02:00
Robert Schmidt
413b307441 SIB1: Add all configured PLMN IDs in System Information 2018-09-28 11:45:52 +02:00
Florian Kaltenberger
84d04b3cd5 new interpretation of sdr_addrs string in RU config file: this is now directly passed to the uhd to specify a device. It may contain a device type (i.e., "type=x300") or an IP address (i.e., "addr=192.168.10.2") 2018-09-28 00:11:35 -07:00
Florian Kaltenberger
c4afc399fc astyling usrp_lib.cpp 2018-09-28 00:08:13 -07:00
laurent
de2362761c after testing other targets 2018-09-27 18:10:03 +02:00
laurent
3dbd596448 after testing 2018-09-27 15:09:59 +02:00
laurent
dd4f1ab73c coarse gain cleaning 2018-09-27 14:13:52 +02:00
Raphael Defosseux
f5d384774f CI: changing basic-simulator eNB conf file to PARALLEL_SINGLE_THREAD
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-27 14:08:49 +02:00
Raphael Defosseux
67c089cd56 CI: adding support for lockeable resources
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-26 16:10:49 +02:00
Raphael Defosseux
b8f6d254f6 CI: proper notifications on the formatting rules
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-26 15:30:14 +02:00
Bing-Kai Hong
c017b8b489 Add handle UE CONTEXT RELEASE message procedure 2018-09-25 17:27:43 +02:00
Bing-Kai Hong
ecd6d673ea Update complete elements with ue context setup response 2018-09-25 16:21:01 +02:00
Bing-Kai Hong
5d8f17f392 Add send UE CONTEXT RELEASE message procedure 2018-09-25 15:36:00 +02:00
Rajeev Gangula
753a664c06 Corrected PHR calculation. 2018-09-25 15:07:22 +02:00
Navid Nikaein
374c1087a1 Add some comments 2018-09-25 11:36:36 +02:00
Navid Nikaein
d4f0e50d4f send the S1SP initial context response if it is not sent with the attach complete message 2018-09-25 11:36:36 +02:00
Raymond Knopp
345989a975 remove info traces in PDCP, one still remains 2018-09-25 04:07:52 -04:00
Navid Nikaein
8ab24646f2 Proper setting for dedicated_DRB flag so as to sent the S1AP InitialContextSetupRequest 2018-09-25 07:12:35 +02:00
Bing-Kai Hong
7f70860c24 Fix tag typo of PROTO_AGENT 2018-09-24 17:48:57 +02:00
Navid Nikaein
6d16bf5243 Add log to trace proto_agent pdcp_data_ind operation 2018-09-24 12:32:41 +02:00
Navid Nikaein
e4ac90238e Fix F1-U srb and drb function calls (not tested). 2018-09-24 09:28:57 +02:00
Raymond Knopp
ddb238b808 removal of logging
preparation for UE CONTEXT Release from CU
2018-09-23 18:05:57 -04:00
Raymond Knopp
6bbc81694b Control plane is functional. Still need to handle RRCConnectionRelease in DU 2018-09-23 16:06:40 -04:00
Raymond Knopp
31fe819c7d extra logging 2018-09-23 14:30:37 -04:00
Raymond Knopp
f2c5c0f753 warning removal in rrc_eNB.c 2018-09-23 09:06:39 -04:00
Raymond Knopp
d27e6f21b0 bugfix in F1 module_id handling for transaction idntifiers 2018-09-23 03:11:39 -04:00
Robert Schmidt
e175363dd8 S1AP eNB instance: make array of MCC/MNC, pass data 2018-09-22 22:52:47 +02:00
Robert Schmidt
3c6d0aed1b Read PLMN list configuration into RRC/S1AP 2018-09-22 22:52:15 +02:00
Robert Schmidt
72ef8be88e Change types in S1AP Register REQ: list of MCC/MNC/TAC 2018-09-22 22:52:11 +02:00
Robert Schmidt
d85054c214 Change types in RRC: list of MCC/MNC/TAC 2018-09-22 22:51:48 +02:00
Bing-Kai Hong
57755e2773 Check node type for the MAC API calls (find_UE) 2018-09-22 16:44:45 +02:00
Bing-Kai Hong
ba609ca94f Set the RRC status in DU, Reconfigure SRB2, Manage RRC/NAS UL message in DU 2018-09-22 16:01:31 +02:00
Raymond Knopp
f6c28fad62 extra log in F1AP receiver for DL_RRC_MESSAGE_TRANSFER to identify RRC message type 2018-09-22 04:55:57 -04:00
Raymond Knopp
1cf564a74f Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-22 04:28:48 -04:00
Raymond Knopp
45eda99583 conditions for configuration in DU 2018-09-22 04:28:29 -04:00
Raymond Knopp
ac1496c212 conditions for rlc_config_asn in CU 2018-09-22 04:26:05 -04:00
Raymond Knopp
c43281a7c9 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-21 16:46:40 -04:00
Raymond Knopp
876e9efd99 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-21 16:39:46 -04:00
Raymond Knopp
5de7f61fd5 monolithic is functional with EPC and COTS UE (full connection) 2018-09-21 16:38:06 -04:00
Bing-Kai Hong
1181790b86 Partially update the node_type check 2018-09-21 22:07:39 +02:00
Raymond Knopp
a1b60957a1 reworking logic for selection of configuration parameters as a function of node (CU/DU/eNB) 2018-09-21 21:19:27 +02:00
Raymond Knopp
360e2e77a9 monolithic ok (RRCConnectionSetupComplete) 2018-09-21 18:07:47 +02:00
Raymond Knopp
1e5f95cd95 fixes for monolithic case. Still doesn't work to RRCConnectionSetup, context allocation problem. 2018-09-21 17:23:08 +02:00
Konstantinos Alexandris
67cc97a42c Merge remote-tracking branch 'origin/develop' into x2 2018-09-21 16:01:52 +02:00
Konstantinos Alexandris
2c27a38dc3 x2ap: implement x2setuprequest, x2setupresponse, x2setupfailure 2018-09-21 15:58:36 +02:00
Raphael Defosseux
9a1a256a8e Adding, as test, parallel threading conf to CI configuration files
-- FDD
  -- basic simulator

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-21 15:57:09 +02:00
Wang Tsu-Han
85477b4eef fixes for femoval empty function in dlsim 2018-09-21 12:49:56 +02:00
Wang Tsu-Han
1fc9fd4a46 Merge remote-tracking branch 'origin/develop' into parallel-config 2018-09-21 11:06:22 +02:00
Raymond Knopp
34172c7a4c Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-21 07:59:04 +02:00
Raymond Knopp
8a11e8dd52 protection of RLC configuration in case of CU 2018-09-21 07:58:25 +02:00
Raymond Knopp
4cdc01384d Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	cmake_targets/tools/build_helper
2018-09-20 16:25:05 -04:00
Raymond Knopp
05c7681b5a cu machine @ RH 2018-09-20 16:23:35 -04:00
Raymond Knopp
461bfa5fae Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-20 16:15:20 -04:00
Raymond Knopp
5a8622960e partial removal of warning 2018-09-20 16:13:59 -04:00
Robert Schmidt
a8bd9df3eb Remove local_interface from F1U/UDP parameters 2018-09-20 20:07:01 +02:00
Bing-Kai Hong
0372c9b289 Generate the DCCH and send from pdcp 2018-09-20 19:12:05 +02:00
Bing-Kai Hong
53d741f20d Generate the DCCH and send from pdcp 2018-09-20 18:58:59 +02:00
Robert Schmidt
7ed0aa1d6a Add F1U proto_agent calls, remove old code 2018-09-20 17:13:18 +02:00
laurent
e047162803 fix a bug when Linux kernel is busy 2018-09-20 16:21:37 +02:00
Wang Tsu-Han
2dc3dfa373 adding parallel config in dlsim and ulsim 2018-09-20 15:17:32 +02:00
Robert Schmidt
eacd1cfbf0 PROTO_AGENT test program changes 2018-09-20 15:03:47 +02:00
Robert Schmidt
b564b116d3 Fix memory leaks in PROTO_AGENT 2018-09-20 15:03:47 +02:00
Robert Schmidt
7f40bf76fb ASYNC_IF: join threads when destroying link manager 2018-09-20 15:03:47 +02:00
Robert Schmidt
4318072bb7 PROTO_AGENT: don't send ACKs, formatting 2018-09-20 15:03:47 +02:00
Robert Schmidt
d94ae11fe0 Add test programs to verify F1U 2018-09-20 15:03:47 +02:00
Robert Schmidt
278fc6d711 Improve PROTO_AGENT
* unified CU/DU in one PROTO_AGENT instance since they are symmetric from UDP POV
* delete a lot of unnecessary code
* better error handling
* can reciprocally send data
2018-09-20 15:03:47 +02:00
Robert Schmidt
f060385b6a Improve UDP support of ASYNC_IF
* peer_addr is now const
* new_link_udp_server() can bind to address or INADDR_ANY
* socket_udp_receive() happens without a loop
* socket_udp_send() happens without a loop
* sending in two packets (first size, then data) is only performed for TCP,
  SCTP, not for UDP anymore (it is unreliable, so we could miss something and
  will receive complete garbage)
2018-09-20 15:03:47 +02:00
laurent
d8472426c4 fix_issue_350_gtpu_init 2018-09-20 12:37:26 +02:00
Wang Tsu-Han
0511ff45dc adding both configurable at config file and commandline 2018-09-20 12:06:55 +02:00
Raymond Knopp
5f758074ef RRCConnectionSetupComplete received in CU! (needed to allocate mem_pool for pdcp. remaining transactions on SRB1 and then SRB2 need to use PDCP (DCCH). 2018-09-20 02:53:26 +02:00
Raymond Knopp
2acdfc14b2 UL_RRC_MESSAGE_TRANSFER correctly received in CU. But : it shouldn't go directly to RRC, it has to go through PDCP via pdcp_data_ind 2018-09-20 02:24:43 +02:00
Raymond Knopp
ac5e8cbdfc UL_RRC_MESSAGE_TRANSFER arrives in CU, which crashes :-( 2018-09-20 02:10:49 +02:00
Raymond Knopp
43def3d76c crashes inside DU_send_UL_RRC_MESSAGE_TRANSFER 2018-09-20 01:38:57 +02:00
Raymond Knopp
7ea6cb25a4 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_du_rrc_message_transfer.c
2018-09-20 00:15:45 +02:00
Raymond Knopp
a6d3efb9a4 minor changes for testing 2018-09-20 00:12:46 +02:00
Navid Nikaein
cee89cb389 Send the UL_RRC_MESSAGE over DCCH from CU to RRC 2018-09-19 21:22:24 +02:00
Raymond Knopp
578ce9ebe1 up to RRCConnectionSetupComplete Transmission in UE 2018-09-19 20:14:55 +02:00
Bing-Kai Hong
a7be0cc2a8 send F1AP_UL_RRC_MESSAGE from rrc 2018-09-19 19:47:11 +02:00
Bing-Kai Hong
24884bfb2b Update complete elements with ue context setup request 2018-09-19 18:57:48 +02:00
Raymond Knopp
3d1faefad9 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-19 12:32:23 +02:00
Raymond Knopp
0b81663408 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_du_rrc_message_transfer.c
2018-09-19 12:32:14 +02:00
Robert Schmidt
144a0a37e5 define display_backtrace() without void 2018-09-19 12:11:56 +02:00
Robert Schmidt
1cd43984c2 Remove PDCP/RLC code depending on old F1U/PROTO_AGENT 2018-09-19 11:56:54 +02:00
Raphael Defosseux
7d602d5cc2 CI: basic-simulator --> seg fault core dumps are recovered and part of artifacts
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-19 11:55:43 +02:00
Robert Schmidt
3ad16e9806 minor fixes 2018-09-19 11:46:38 +02:00
Robert Schmidt
3b68376ad3 PROTO_AGENT: Restructure/simplify code, UDP only, no own configuration 2018-09-19 11:46:38 +02:00
Robert Schmidt
cf55a513d9 ASYNC_IF: peer addresses as const in interface 2018-09-19 11:46:38 +02:00
Robert Schmidt
c19bdb776f add UE Context Setup Req at CU/DU
- add message sender (CU) + handler (CU) and fill with data from ITTI message
- add PLMNID_TO_MCC_MNC and BIT_STRING_TO_TRANSPORT_LAYER_ADDRESS_IPv4 macros
- correct TRANSPORT_LAYER_ADDRESS_TO_BIT_STRING:
  change name to TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING, make it send 4B, not 5
2018-09-19 11:46:38 +02:00
Raymond Knopp
de205def25 added configuration of DU L2 functions upon RRCConnectionSetup reception 2018-09-19 10:46:36 +02:00
Raphael Defosseux
bf961a4268 CI: little typo on TDD scenario
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-19 09:53:30 +02:00
Navid Nikaein
d9661177fa Better management of cu/du ue ids
Fix for some variables
2018-09-19 02:01:08 +02:00
Raymond Knopp
0dea1969df Merge branch 'ru_rau_enhancement-external-timing' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-09-18 17:03:29 +02:00
Raymond Knopp
58800db24f removed MTU change for IF4p5 UDP 2018-09-18 16:27:26 +02:00
Bing-Kai Hong
c8742f26fb Normalized message output 2018-09-18 16:12:01 +02:00
Bing-Kai Hong
988d98a4e3 send UL RRC MESSAGE TRANSFER 2018-09-18 15:11:05 +02:00
Raymond Knopp
b7fd875bed fix MTU to 1500 for UDP IF4p5 2018-09-18 10:45:19 +02:00
Raymond Knopp
4ff4481362 switch/case for handling DL_RRC_MESSAGE in DU 2018-09-17 22:56:01 +02:00
Raymond Knopp
b1313aaf04 DL_RRC_MESSAGE_TRANSFER goes to DU, and is received, but doesn't reconfigure L2/L1 yet. 2018-09-17 18:33:08 +02:00
Raymond Knopp
a2f914185d Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/RRC/LTE/rrc_eNB.c
2018-09-17 18:20:07 +02:00
Raymond Knopp
9482568f74 F1AP_DL_RRC_MESSAGE destination change. 2018-09-17 18:13:36 +02:00
Bing-Kai Hong
a45d496c8c Update F1 DL RRC message transfer from DU to CU 2018-09-17 16:02:13 +02:00
Raymond Knopp
ebb9bbfae8 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_cu_rrc_message_transfer.c
2018-09-16 23:22:48 +02:00
Raymond Knopp
825c33df1b handling of nr_cellid and creation of context upon CCCH transmission.
Connection goes until generation of RRCConnectionSetup in CU which crashes (it calls rrc_mac_config_req. For DU this should be replaced with filling DL_RRC_MESSAGE_TRANSFER
2018-09-16 23:07:14 +02:00
Bing-Kai Hong
f7f7daf715 Restore some template files for CMake 2018-09-16 22:02:33 +08:00
Navid Nikaein
693a82a58d Add the instance id in the sctp_itti_send_new_message_ind 2018-09-16 16:36:45 +02:00
Navid Nikaein
7fcaf4f984 Update the SIB buffer as per earlier commits 2018-09-16 16:36:45 +02:00
Navid Nikaein
942d92cf7c send msg 4 in F1 DL RRC message transfer 2018-09-16 16:36:45 +02:00
Bing-Kai Hong
0e7887de76 Handle DL\UL RRC MESSAGE TRANSFER at f1ap_handlers 2018-09-16 21:51:15 +08:00
Raymond Knopp
ca9748eca7 corrections to RNTI coding/decoding in openair3/conversions.h 2018-09-16 11:03:53 +02:00
Raymond Knopp
eedc4226f0 modifications for SRB0 to allow multiple UE contexts in case of delayed CCCH reception in CU/DU split (moved SRB0 from carrier to UE context) 2018-09-15 22:42:10 +02:00
Raymond Knopp
6f11dc7741 removed assertion in MAC layer and adjusted generation of MSG4 to handle when CCCH message is not present. UL CCCH is now received in CU, but asserts. Need to add code in DU to handle scheduling of DL-CCCH in later subframe. In current state, DL-CCCH will only come out if it is ready for MSG$ transmission. 2018-09-15 16:10:58 +02:00
Raymond Knopp
fc6afc8116 simulation up to CCCH reception in DU is functional 2018-09-15 13:59:11 +02:00
Raymond Knopp
d670138b69 fixes for SIB2/3 handling in DU 2018-09-15 12:57:17 +02:00
Raymond Knopp
b683395df1 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	openair2/F1AP/f1ap_cu_interface_management.c
	openair2/F1AP/f1ap_du_interface_management.c
2018-09-14 19:08:36 +02:00
Raymond Knopp
91d4cd3cfd debugging of F1AP-Setup-Resp procedure in DU. DU configuration is ok now. 2018-09-14 18:58:46 +02:00
Robert Schmidt
eedfa4933d Correct header files for CU/DU UE context management 2018-09-14 18:23:31 +02:00
Robert Schmidt
f4633ba260 Correctly add headers for RRC message transfer, remove warnings 2018-09-14 17:16:04 +02:00
Robert Schmidt
911e738f0c Improve interface of functions CU/DU interface management 2018-09-14 17:16:04 +02:00
Bing-Kai Hong
62a5d9031d Update complete the NR_Mode_Info structure for F1 SETUP REQUEST 2018-09-14 16:45:15 +02:00
Bing-Kai Hong
30977ecc12 Replace some dummy value with DU from exist define in f1ap_setup_req_t 2018-09-14 15:12:37 +02:00
Cedric Roux
824f62d8bf basic simulator: support TDD mode
For whatever reason we need N_TA_offset to be 0 for the basic simulator
to function properly.

This is more a hack than a proper solution. More analysis is needed
to understand what happens and what should be really done.
2018-09-14 15:01:55 +02:00
Cedric Roux
ab7515e280 basic simulator: handle discontinuities in output
In TDD mode the eNB does not output data all the time,
only in downlink and special subframes.

The basic simulator needs a continuous stream of samples.

So let's fill the blank with silence.
2018-09-14 14:58:15 +02:00
Bing-Kai Hong
cedc13d7ea Implement the F1_SETUP_FAILURE procedure 2018-09-14 11:04:50 +02:00
Bing-Kai Hong
5d06dcc306 fix Segmentation fault when f1ap_message_decoded_callback have not define instance_t for arguments 2018-09-13 20:12:04 +02:00
Bing-Kai Hong
d4b13691ee Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-13 19:56:46 +02:00
Bing-Kai Hong
ef1627fac7 INITIAL_UL_RRC_MESSAGE at DU and CU respectively is developped 2018-09-13 19:55:01 +02:00
Robert Schmidt
9a4fce6163 Unify headers for interface_management, remove some warnings 2018-09-13 18:59:47 +02:00
Bing-Kai Hong
ab49f954c1 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-13 16:29:10 +02:00
Bing-Kai Hong
f736213d09 Update F1AP new code structure to closer implementing all the procedures 2018-09-13 16:25:51 +02:00
Wang Tsu-Han
5b1260a759 fixed for phy-simulation mode 2018-09-13 15:02:15 +02:00
Robert Schmidt
d454a95675 Reduce warnings in ASYNC_IF 2018-09-13 13:47:56 +02:00
Robert Schmidt
b27cd4dd1b Reduce warnings in PROTO_AGENT heavily 2018-09-13 13:47:56 +02:00
Wang Tsu-Han
cf09d19879 adding definition for UE 2018-09-13 12:52:44 +02:00
Bing-Kai Hong
e54f6305dc update f1 response with value from conf and request content 2018-09-13 10:13:05 +02:00
Bing-Kai Hong
bf0cef3fd1 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-12 19:53:51 +02:00
Bing-Kai Hong
37b9e7b512 Handle the f1 setup request and send back f1 response with value from conf 2018-09-12 19:51:03 +02:00
Wang Tsu-Han
c5cd47f976 fixes for not having parallel config inside the config file 2018-09-12 15:32:44 +02:00
Wang Tsu-Han
d7fd3013a1 config file adding parallel configuration 2018-09-12 10:49:57 +02:00
Wolfgang A. Mozart
f1253ee7e9 UE compiles now 2018-09-12 08:34:24 +02:00
Bing-Kai Hong
44d0fa64e0 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-11 20:13:02 +02:00
Raymond Knopp
00c0a3e5f8 compiles now 2018-09-11 19:55:32 +02:00
Wang Tsu-Han
3005929bca modify threading option into config file 2018-09-11 18:50:11 +02:00
Bing-Kai Hong
ac3db89ec1 Remove the dummy value in DU, and store the payload data in DU 2018-09-11 17:53:16 +02:00
Raymond Knopp
66fc1bbd42 added F1/RRC interfaces for CU handling of F1Setup procedure
note: doesn't compile yet.
2018-09-11 17:25:42 +02:00
Wang Tsu-Han
8bb3b91665 Merge branch 'develop' into parallel-config
Conflicts:
	targets/RT/USER/lte-ru.c
2018-09-11 16:11:59 +02:00
Cedric Roux
957bd56798 hotfix: let compilation work
When compiling in debug mode, the 'inline' semantics of C99 led to the errors:

/roux/w25/openairinterface5g/common/utils/LOG/log.c:479: undefined reference to `log_header'
libUTIL.a(log.c.o): In function `log_dump':
/roux/w25/openairinterface5g/common/utils/LOG/log.c:502: undefined reference to `log_header'
collect2: error: ld returned 1 exit status

Let's use static instead of inline.
2018-09-11 14:24:16 +02:00
Raphael Defosseux
75d7949c88 CI: fix in the build URL modification inside HTML report
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-11 13:42:57 +02:00
Cedric Roux
a0f75c0b81 Merge remote-tracking branch 'origin/develop_integration_2018_w36' into develop
Summary of changes:
- work on flexran
- work on X2
- new implementation of ITTI
- code cleanup
- bug fixes
2018-09-11 10:04:15 +02:00
Cedric Roux
00e21e74a6 integration fix: better error reporting in case of X2 failure
If the IP address for X2AP is not good, the error message reported
was very unclear. Attempt to make it better.
2018-09-10 16:32:20 +02:00
Cedric Roux
833016123a hotfix: revert commits that break the basic simulator
This commit manually reverts the commits:
- 97c69dc4a4
- 3278aa494d

The basic simulator was not functional anymore because
the UE did not send RRCConnectionSetupComplete due to
some problem in the PDCP layer, most probably.
2018-09-10 16:22:03 +02:00
Bing-Kai Hong
7732b49a34 Ignore config x2, if we are in F1 procedure 2018-09-10 16:20:54 +02:00
Bing-Kai Hong
9f098a3461 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split 2018-09-10 15:33:03 +02:00
Raphael Defosseux
e772899b2b CI: better reporting on basic simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-10 14:00:43 +02:00
Bing-Kai Hong
ab412cb39d Normalization of the file names for CU and DU 2018-09-10 13:39:48 +02:00
Robert Schmidt
0fe608c292 Add TERMIATE_MESSAGE to DU/CU tasks, add warning/trace IDs 2018-09-09 16:00:19 +02:00
Robert Schmidt
c1249842d6 Initialize netlink when node_type is known 2018-09-08 18:58:27 +02:00
Robert Schmidt
5a74b790a2 Restructure code, CMakeLists fixes
- move the configuration reading code before task creation
- fix CMakeLists.txt so that lte-softmodem-nos1 compiles
2018-09-08 18:55:30 +02:00
Robert Schmidt
a1439effe3 Revert "Restructure create_tasks(): start tasks depending on RAN type, is read in RCconfig_RRC()"
This reverts commit 87093e1b55.
2018-09-08 15:21:47 +02:00
Bing-Kai Hong
5105766ec5 Remove unwanted files and function for sctp and f1 unit test 2018-09-07 19:14:12 +02:00
Bing-Kai Hong
021d7abf8a Create the F1 pingpong procedure with SCTP 2018-09-07 19:04:45 +02:00
Cedric Roux
82ab88f546 integration fix: add missing break
This break was there and went away, for whatever reason...
2018-09-07 17:24:37 +02:00
Cedric Roux
c1d96a49ca Merge remote-tracking branch 'origin/nasmesh_new_kernel' into develop_integration_2018_w36 2018-09-07 17:01:28 +02:00
Cedric Roux
73da898f9b integration fix: fix bad merge conflict resolution + fix compilation error 2018-09-07 16:57:55 +02:00
Cedric Roux
afb2fd4012 Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w36 2018-09-07 16:15:13 +02:00
Cedric Roux
62a1a3dad4 Merge remote-tracking branch 'origin/347-remove-assertion-ue-dci-handling' into develop_integration_2018_w36 2018-09-07 16:15:03 +02:00
Cedric Roux
2cb87ddd02 Merge remote-tracking branch 'origin/feature-slice+restart-w35' into develop_integration_2018_w36
Conflicts:
	openair2/ENB_APP/flexran_agent_common_internal.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
2018-09-07 16:13:40 +02:00
Cedric Roux
2c9be8c102 Merge remote-tracking branch 'origin/fix-nfapi-in-scheduler' into develop_integration_2018_w36 2018-09-07 16:08:09 +02:00
Cedric Roux
026b9f6ab0 Merge remote-tracking branch 'origin/fix-libconfig' into develop_integration_2018_w36 2018-09-07 16:07:49 +02:00
Cedric Roux
b0eff6c0a6 Merge remote-tracking branch 'origin/scheduler-small-fix' into develop_integration_2018_w36 2018-09-07 16:07:23 +02:00
Cedric Roux
4afc053606 Merge remote-tracking branch 'origin/dft-size-fixes' into develop_integration_2018_w36 2018-09-07 16:07:08 +02:00
Cedric Roux
5e9a85b1ad Merge remote-tracking branch 'origin/fix-unwanted-comment-end' into develop_integration_2018_w36 2018-09-07 16:06:49 +02:00
Cedric Roux
cbdc8f662a Merge remote-tracking branch 'origin/issue343_dlcqi_retransmission' into develop_integration_2018_w36 2018-09-07 16:04:05 +02:00
Cedric Roux
20797a52f8 Merge remote-tracking branch 'origin/generate_sss_tables' into develop_integration_2018_w36
Conflicts:
	openair1/PHY/INIT/init_top.c
2018-09-07 16:01:58 +02:00
Cedric Roux
9051a0ec45 Merge branch 'recode_itti_from_scratch' into develop_integration_2018_w36
Note: we don't include the last commit from origin/recode_itti_from_scratch
because it is just astyle formatting. As of today we don't enforce
astyle and including this work would lead to future merge conflicts.
A proper process to enforce astyle has to be put in place. In the
meantime, no astyle allowed in commits if the changes are too big
and not relevant to work done.
2018-09-07 15:57:13 +02:00
Cedric Roux
8b4d303375 Merge remote-tracking branch 'origin/generate_75KHz_tables' into develop 2018-09-07 15:53:26 +02:00
laurent
7d22622474 fix nasmesh kernel 4.15 2018-09-07 15:44:57 +02:00
Konstantinos Alexandris
938e0242e2 Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	cmake_targets/CMakeLists.txt
	openair2/ENB_APP/enb_app.c
	openair2/X2AP/x2ap_common.h
2018-09-07 15:30:49 +02:00
Konstantinos Alexandris
2b85c4a3a6 Pass multi socket descriptor in SCTP + add SCTP multi init req/resp mechanism 2018-09-07 15:15:41 +02:00
Florian Kaltenberger
7591761247 removing assertion from dci handling (could come from wrongly detected DCI) 2018-09-07 06:09:36 -07:00
Bing-Kai Hong
17cc510a3c add itti_receive_msg at CU and DU 2018-09-07 14:13:56 +02:00
Robert Schmidt
c4370d9df0 Start CU/DU tasks in create_remaining_tasks() of ENB_APP 2018-09-07 12:17:03 +02:00
Robert Schmidt
2e453eff69 move F1AP_get_next_transaction_identifier() to f1ap_common.c 2018-09-07 12:17:03 +02:00
Robert Schmidt
54aa295eb4 Use f1ap_encoder.c file for F1AP encoding functionality 2018-09-07 12:15:35 +02:00
Bing-Kai Hong
e82cae08c3 fix wrong parameter when get ip address in DU 2018-09-07 12:07:26 +02:00
Bing-Kai Hong
b6295efd2a modify the ip address struct in f1 setup req for DU 2018-09-07 11:53:33 +02:00
Bing-Kai Hong
185c2fd46b Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-06 19:15:52 +02:00
Bing-Kai Hong
d0de98e067 Create SCTP request and response with ITTI procedure for F1 2018-09-06 19:13:09 +02:00
Masayuki HARADA
c1359a103f Fix wrong slice_allocation loop in fairRR scheduler 2018-09-06 19:03:05 +02:00
Robert Schmidt
87093e1b55 Restructure create_tasks(): start tasks depending on RAN type, is read in RCconfig_RRC() 2018-09-06 18:12:47 +02:00
Cedric Roux
8534982afe bugfix: check that we are manipulating the structure for the correct RNTI
The bug popped up when one UE was doing TCP UL iperf and a second UE
attempted to connect. A crash of the eNB happened because we changed
the wrong NFAPI structure in a TTI where both UEs are scheduled.

Something like that.
2018-09-06 16:42:10 +02:00
Konstantinos Alexandris
1729b3dc66 X2AP: init funcs (register/association) + handler/management functions
SCTP: one to many sockets implementation
2018-09-06 15:49:59 +02:00
Raphael Defosseux
c8eb68d556 CI: adding email notification w/ HTML reports in attachment
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-06 12:21:34 +02:00
Bing-Kai Hong
f19fa8ad47 Create ITTI procedure for F1 2018-09-06 11:56:15 +02:00
Robert Schmidt
9e5f9bdb94 Suppress warning "implicitly truncated to unsigned type" 2018-09-06 10:05:45 +02:00
Robert Schmidt
63a2fb0660 Handle warnings regarding undeclared functions for dec, enc, sctp 2018-09-06 10:03:55 +02:00
laurent
46231a5d5d merge with latest develop 2018-09-06 09:43:26 +02:00
Robert Schmidt
14298413a4 Fix obvious warnings when building CU/DU tests 2018-09-06 09:25:10 +02:00
Raymond Knopp
b2583c6f23 CU is exectuable 2018-09-06 09:24:10 +02:00
Raymond Knopp
32a39e9a67 CU configuration modifications 2018-09-05 22:28:56 +02:00
laurent
abbffef015 fix some exit situations, that was badly done by SIGUSR1 handler 2018-09-05 17:03:19 +02:00
Robert Schmidt
70e1841bb1 Fix: RAN API: remove_ul_slice() frees ul sched_name pointer, when sched_name set, free it when resetting 2018-09-05 14:21:39 +02:00
Robert Schmidt
cbc78cd3db Don't warn of ignoring sorting 2018-09-05 14:21:39 +02:00
Robert Schmidt
7162bf6895 Bugfix: Assure available_rbs is positive 2018-09-05 14:21:39 +02:00
Robert Schmidt
066ab90402 Bugfix: Give correct first_rb value to UE 2018-09-05 14:21:39 +02:00
Robert Schmidt
d798e03e9d fix rb_table loop 2018-09-05 14:21:39 +02:00
Robert Schmidt
f86b51990c restart: first stop RU, then eNB proc threads 2018-09-05 14:21:39 +02:00
Robert Schmidt
ff83dc7017 Fix greedy allocation: schedule not more than what slice has 2018-09-05 14:21:39 +02:00
Robert Schmidt
fa27b6dcce Fix: Correct numbering of protobuf messages (as in RTC) 2018-09-05 14:21:39 +02:00
Robert Schmidt
af83d352c8 Fix: use frame_subframe2_dl_harq_pid() 2018-09-05 14:21:39 +02:00
Robert Schmidt
5a1e8c2869 Lock sync_var access in restart_L1L2() 2018-09-05 14:21:39 +02:00
Robert Schmidt
c1b024d354 stop_L1L2(): Do not turn of RF, is done in ru_thread 2018-09-05 14:21:39 +02:00
Robert Schmidt
d3afce4f3c Print detailed info why mutex locking failed 2018-09-05 14:21:39 +02:00
Robert Schmidt
1f60f4ecea Log Level Debug for Freeing Transport Channel Msg 2018-09-05 14:21:39 +02:00
Robert Schmidt
9f04614304 Remove huge comment from sort_UEs()
Commit 7823858e2d11e8cabc1ca7bf7f507b9a050942d3 introduced this as a comment.
2018-09-05 14:21:38 +02:00
Robert Schmidt
07ad2470d1 Remove warnings pre_processor_fairRR 2018-09-05 14:21:36 +02:00
Raymond Knopp
ce07a11ed8 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split 2018-09-05 11:53:34 +02:00
Raymond Knopp
3e987bc143 update of cu configuration file 2018-09-05 11:53:08 +02:00
Bing-Kai Hong
cdfca6c00a F1:
1.create the f1ap handlers procedure
2.hide asn1c warning when in compile
2018-09-05 11:14:35 +02:00
Raphael Defosseux
87d5a07ee1 CI: removing UL iperf test at 20 MHz on basic simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-05 10:59:59 +02:00
Raphael Defosseux
d721e2de1a CI: improved basic simulator testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-05 09:47:19 +02:00
Raymond Knopp
e2dd22b6ae added parsing of F1AP_SETUP_RESP message and subsequent RAN configuration in DU 2018-09-04 23:07:46 +02:00
Cedric Roux
487a599b7b bugfix: fix memory error
Using valgrind revealed that those two arrays
were too small. Let's use 512 bytes, which should
be enough for every practical cases.
2018-09-04 16:18:46 +02:00
Cedric Roux
c83fc1b544 bugfix: fix compilation problem
This includes damages check_vcd.c in the T tracer
(in develop branch).
2018-09-04 15:18:59 +02:00
Cedric Roux
95b7966894 bugfix: fix crash when UE disconnects
Using the basic simulator and valgrind, it was found that
the lack of initialization of those two pointers leads to
some very nasty behavior of some other parts of the system.
2018-09-04 15:16:34 +02:00
Haruki NAOI
b1920797ae Revert "Fix: --log-mem options is erased."
This reverts commit 3182183860.
2018-09-04 22:15:27 +09:00
Cedric Roux
6270d94f91 bugfix: use correct comparison
The comparison in AssertFatal was not correct,
taking the opposite meaning to the one expected.
2018-09-04 12:43:29 +02:00
Cedric Roux
5131449160 bugfix: add handling of DFT 768 everywhere it's needed
In the eNB it's not really used for the moment because there
is a limitation to uplink scheduling. In
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c we have:

            while (((rb_table[rb_table_index] > (N_RB_UL - 1 - first_rb[CC_id]))
                    || (rb_table[rb_table_index] > 45))

That limits uplink scheduling to at most 44 RBs. The 768 case is for
64 RBs.
2018-09-04 12:36:42 +02:00
Raymond Knopp
b584ddeda8 added configuration files for cu/du, ngran_types.h 2018-09-04 09:36:01 +02:00
Raymond Knopp
1daed67012 Merge branch 'feature-127-protocol-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-127-protocol-split
Conflicts:
	common/utils/T/T_IDs.h
	common/utils/T/T_messages.txt
2018-09-04 09:28:35 +02:00
Raphael Defosseux
2a82e02a32 CI: fix TDD scenario (missing rebuild)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-04 09:26:49 +02:00
Raymond Knopp
c8c8032358 initial DU part for F1AP_setup_resp 2018-09-04 09:25:02 +02:00
Raymond Knopp
c56eb9eda7 addition of configuration (DU) for F1AP and filling of F1AP_SET_REQ parameters 2018-09-04 07:40:04 +02:00
Raphael Defosseux
d774d09d24 CI: proper gitlab notifications for FDD/TDD test
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-03 18:25:57 +02:00
Robert Schmidt
49b167d6ae Remove warnings pre_processor 2018-09-03 18:10:28 +02:00
Robert Schmidt
972f52fd56 fix remove LOG_N in restart 2018-09-03 18:10:28 +02:00
Robert Schmidt
e1a598bc8d Fix function parameter definition/order
Affects:
* store_dlsch_buffer()
* assign_rbs_required()
2018-09-03 18:10:28 +02:00
Robert Schmidt
21983a2028 Patch fairRR scheduler to use slice iface of pre-processor 2018-09-03 18:10:28 +02:00
Robert Schmidt
08b122e3ff FlexRAN: update slice config array dimensions 2018-09-03 18:10:28 +02:00
Robert Schmidt
71a9115abd Iterate over actual number of CC, not NFAPI_CC_MAX 2018-09-03 18:10:28 +02:00
Robert Schmidt
3278aa494d Return immediately from pdcp_data_req
When the RLC layer returns error codes (like dropped packets), this is still
counted as PDCP layer traffic. In order to reflect dropped packets or
malfunctioning, this patch makes that upon an RLC error code, the function is
exited immediately. In this case, it is not counted as additional PDCP traffic.

An example is too much UDP traffic. If the RLC buffer is saturated and the
packet therefore refused, incoming traffic won't be counted anymore. With this
patch, the PDCP layer statistics won't count such traffic anymore.
2018-09-03 18:10:28 +02:00
Robert Schmidt
204281e3af change types in RCconfig_flexran(), avoid seg fault
the integration of the nfapi-L2-emulator-for-develop (f254107b2) added more
types in the RCconfig_flexran(), but they were partially wrong. This commit
fixes those types after the rebase of this branch on top of 2018.w19
2018-09-03 18:10:28 +02:00
Robert Schmidt
77f2ffcdfb FlexRAN: call the agent_rrc_xface with the mod_id 2018-09-03 18:10:28 +02:00
Robert Schmidt
cca5c1b71a FlexRAN: use correct identifiers for PDCP, RRC
* give the correct UE_id instead an index of the protobuf message (they can
  diverge from each other)
* in the PDCP part of the RAN API, the RAN API has to make the conversion UE_id
  (MAC) to UID (PDCP)
* a follow up commit could clean up the interfaces:
  - the MAC functions take the UE_id
  - the RRC functions take the RNTI
  - the PDCP functions take the UID
  this would mean the caller has to find those ID but would decrease
  computations since the RAN API functions do not have to do that themselves
2018-09-03 18:10:28 +02:00
Robert Schmidt
97c69dc4a4 Drop traffic in PDCP if RLC buffer is full
If the buffer in the RLC is full, testing the buffer state over and over again
slows the DL traffic down. In order to circumvent this, the PDCP will drop any
data during a configurable time (compile-time) before it delivers data to RLC
again.

To change this, see the constant TM_SKIP_FULL_BUF_MS in pdcp.h.
2018-09-03 18:10:28 +02:00
Robert Schmidt
3b80c73f93 FlexRAN: Loop over UEs using UE_id, not index 2018-09-03 18:10:28 +02:00
Robert Schmidt
9399bed23a FlexRAN MAC: align allocated memory for lfds 2018-09-03 18:10:28 +02:00
Navid Nikaein
1adbaa7a54 when restarting, re-init MAC UE_list 2018-09-03 18:10:28 +02:00
Navid Nikaein
6c4f58a0a0 move UE_list/slice init in dedicated functions 2018-09-03 18:10:28 +02:00
Robert Schmidt
0bb6a19f71 only initialize RC.mac once 2018-09-03 18:10:28 +02:00
Robert Schmidt
da35afb01b fix: repair RC.mac memory allocation
- there can be a race between the FlexRAN agent reading the RC.mac and its
  allocation in main.c
- In order to circumvent this, change the allocation by allocating
  everything "into" a local variable
- finally "make it visible" by storing  the pointer in RC.mac
2018-09-03 18:10:28 +02:00
Robert Schmidt
62957b97d8 bugfix FlexRAN: only write to file if file is not null 2018-09-03 18:10:28 +02:00
Robert Schmidt
1e9f3235d3 fix: avoid AssertFatal() in load_module_shlib()
don't fail in library utility function, return with error code instead and let
application decide what is best on how to proceed
2018-09-03 18:10:28 +02:00
Robert Schmidt
604ec25a68 improve soft-restarting messages 2018-09-03 18:10:28 +02:00
Robert Schmidt
d24e17f0f7 improve load_module_shlib()
* check whether a library has been loaded before; in this case, don't allocate
  new memory but load from old library again
* vital parameters, previous exit_fun are checked by AssertFatal()
* structure has changed a bit to make it easier to follow (instead of nested
  ifs includes one goto to the end of the function)
* formatting has been improved
2018-09-03 18:10:28 +02:00
Robert Schmidt
175d28ee35 bugfixes kill_eNB_proc()
* put mutex lock around instance_prach
* destroy attributes
2018-09-03 18:10:28 +02:00
Robert Schmidt
917b9ca0c2 correct ITTI task name 2018-09-03 18:10:28 +02:00
Robert Schmidt
c4077f3cf7 cell reconfiguration/restart: take protobuf, perform in ENB_APP
* instead of the lengthy YAML parsing, can now handle protobuf message
* after setting the parameters, send a message to ENB_APP to perform it
* old YAML way still works
2018-09-03 18:10:28 +02:00
Robert Schmidt
f0670154b3 Correctly join RU threads
* join pthread_FH (ru_thread) once all condition variables have been set
* join RU FHTX only if it has been started (check as for pthread_create())
* join PRACH thread in the monolithic case
* send broadcast on condition variable cond_eNBs, as there can be multiple
  waits on it
* integrate stop_ru(*ru) into kill_RU_proc(*ru)
* Correct memory freeing
2018-09-03 18:10:28 +02:00
Robert Schmidt
2e1dfb5b3e place oai_exit test after wait_on_condition() in threads 2018-09-03 18:10:28 +02:00
Robert Schmidt
c56b5af00e bugfix: kill td/te threads only if initialized
* init_td_thread()/init_te_thread() are only initialized depending on condition
  get_nprocs() > 2 && codingw
* apply the same the same for the functions kill_td_thread()/kill_te_thread()
2018-09-03 18:10:28 +02:00
Robert Schmidt
35b3a2af14 Reorganize TASK_L2L1 loop 2018-09-03 18:10:28 +02:00
Robert Schmidt
0846460753 show which task sends TERMINATE_MESSAGE to which task 2018-09-03 18:10:28 +02:00
Robert Schmidt
ef0d86564c when sending config report, copy slice config to new mem 2018-09-03 18:10:28 +02:00
Robert Schmidt
7a0c00330b put intra-/inter slice sharing within slice config 2018-09-03 18:10:28 +02:00
Robert Schmidt
44481a5649 FlexRAN: improve info messages 2018-09-03 18:10:28 +02:00
Robert Schmidt
472ebf5622 mark UL slice sorting overwriting as TODO 2018-09-03 18:10:28 +02:00
Robert Schmidt
e94b0bde51 FlexRAN fixes
* properly allocate memory for scheduler name/sorting
* free mem of sc_update, include todo for slice_config
* set has_x to one, add fct whether sorting update necessary
* set n_ul/n_dl to correct value after every loop iteration
* support for delete of multiple slices
* allocate memory for scheduler name in slice_config
* check that we really set the scheduler
2018-09-03 18:10:28 +02:00
Robert Schmidt
0c0e7b6ead simplify control flow 2018-09-03 18:10:28 +02:00
Robert Schmidt
bd041a34aa use changed RAN API, set scheduler for new slice 2018-09-03 18:10:28 +02:00
Robert Schmidt
6e5a2f45ce FlexRAN: set deleted slice configuration to zero 2018-09-03 18:10:28 +02:00
Robert Schmidt
8804319322 FlexRAN MAC: before verifying slice params, set default vals
- in order to facilitate the steps as verification and parameter setting,
  slices are "filled up" with default values:
  * if it is an update, with the values of the concerned slice
  * if it is a new one, with the parameters of slice 0
- because of this, it can be assumed that all slices have all parameters
2018-09-03 18:10:28 +02:00
Robert Schmidt
d8c2943f60 FlexRAN RAN API: slice creation does not set default vals 2018-09-03 18:10:28 +02:00
Robert Schmidt
328a464e37 remove update_sched slice param variables
- whether a scheduler callback has to be changed is now handled by the agent
2018-09-03 18:10:28 +02:00
Robert Schmidt
766e8a5bbe link to scheduler function in mac init fct 2018-09-03 18:10:28 +02:00
Robert Schmidt
0778481f75 FlexRAN RAN API: extend scheduler set&get functions
- setter & getter have been renamed
- setter sets scheduler name and links to the corresponding function
- it also returns whether it succeeded (whether the scheduler callback is
  non-null)
- it performs a strdup on the scheduler name
- the remove function free the scheduler function name
2018-09-03 18:10:28 +02:00
Robert Schmidt
21f6609472 FlexRAN: move slice param verification to agent
- until now, on every iteration, the scheduler checked for changed parameter
  (and verified some)
- this functionality moves to the FlexRAN Agent, which verifies all parameters
  * individually, e.g. Max MCS <= 28 for DL
  * group-based, e.g. the sum of slice percentages is <= 100
- slice configuration changes are only applied if all verifications pass
- it is assumed in the scheduler, that configuration passed from outside is
  correct and can be used "as-is"

fix accounting setting
2018-09-03 18:10:28 +02:00
Robert Schmidt
6b3dd8716b FlexRAN: set values of removed slices to 0 2018-09-03 18:10:28 +02:00
Robert Schmidt
088b1d5a8d refine MAC Debug output
- uncomment "Couldn't find RNTI for UE X" in UE_RNTI() and rb_alloc in
  pre_processor_reset() as they only inflate the debug output with little
  benefited
- "doing ue_schedule_spec" is now displayed for individual UEs (and individual
  CCs)
- show messages when not scheduling UE in ue_schedule_spec() due to invalid
  slice or if not in RRC_CONNECTED
2018-09-03 18:10:28 +02:00
Robert Schmidt
11e45be9c5 fix: resort UE_list after slice multiplexing
- slice multiplexing resorts UE_list for its purposes with restoring the
  original order
- in order to keep the order in UE_list, resort to original order after
  multiplexing
- ideally, this would happen in the multiplexing but currently, the slice_idx
  is not passed to multiplexing (it does not care), so this cannot be done ATM
2018-09-03 18:10:28 +02:00
Robert Schmidt
8039cd40f5 share the allocation array rballoc_sub between slices 2018-09-03 18:10:28 +02:00
Robert Schmidt
44d1eb8015 preprocessor reset: avoid unnecessary iterations 2018-09-03 18:10:28 +02:00
Robert Schmidt
5ceba4a2a6 FlexRAN: lock sc_update with mutex
Prevent sc_update from being changed by an incoming slice reconfiguration
change while writing data to the scheduler
2018-09-03 18:10:28 +02:00
Robert Schmidt
7b8c5cea52 FlexRAN: handle incoming UE-slice association message 2018-09-03 18:10:28 +02:00
Robert Schmidt
3a78d85f5e FlexRAN: Handle enb_config_reply reconfiguration message 2018-09-03 18:10:28 +02:00
Robert Schmidt
3d8586a5bf FlexRAN: Send Slice ID to which UE belongs in UE config reply 2018-09-03 18:10:28 +02:00
Robert Schmidt
d93d73fe9b FlexRAN: Send the Slice Configuration in enb_config_reply 2018-09-03 18:10:28 +02:00
Robert Schmidt
92a3b07bca FlexRAN: send slice ID to which UE belongs + reformat
- flexran_agent_ue_config_reply() and flexran_agent_ue_state_change() send
  slice_id
2018-09-03 18:10:28 +02:00
Robert Schmidt
fcaf237182 FlexRAN: Handle slice configuration
Incoming slice configuration changes are buffered in an intermediate structure.
The MAC scheduler periodically polls the agent about changes. If there has been
a slice configuration change, apply it.
2018-09-03 18:10:28 +02:00
Robert Schmidt
9d75b5c3b7 Add FlexRAN RAN API for slice configuration
adds support for:
* create/remove slices
* change UE-slice association
* read/write slice parameters
* find slice index via ID
2018-09-03 18:10:28 +02:00
Robert Schmidt
de4ebe0914 remove warnings (comment concerned lines) 2018-09-03 18:10:28 +02:00
Robert Schmidt
b29e20d4dd MAC sched slicing: sort only relevant slices 2018-09-03 18:10:28 +02:00
Robert Schmidt
59fc7832fa bugfixes: set max UL MCS to 20, improve sched loading message 2018-09-03 18:10:28 +02:00
Robert Schmidt
1d23a64ced bugfix: memset using the right size 2018-09-03 18:10:28 +02:00
Robert Schmidt
8f2d79709e MAC: change all slice_id_t to slice index variables 2018-09-03 18:10:28 +02:00
Robert Schmidt
87b8b6e86b Increase the number of possible slices to 10 2018-09-03 18:10:28 +02:00
Robert Schmidt
568bf8ae35 bugfix: deactive slice_counter
slice_counter had a wrong condition, not scheduling in DLSCH if the number of
slices is greater than one
2018-09-03 18:10:28 +02:00
Robert Schmidt
048c4d29a2 add slice association in UE_list, test against it in slice_membership() 2018-09-03 18:10:28 +02:00
Robert Schmidt
58c2a00626 MAC: slicing conf struct in RC
- introduce structure in RC for slicing conf (UL/DL)
- move global variables regarding slice configuration into RC
- change ue_slice_membership(): consider UL/DL
- remove the unnecessary header files
- set default parameters: one slice
2018-09-03 18:10:28 +02:00
Robert Schmidt
1e840a9996 FlexRAN: add slice configuration protobuf messages 2018-09-03 18:10:28 +02:00
Robert Schmidt
5cbe5c0df3 remove useless headers in scheduler 2018-09-03 18:10:28 +02:00
Niccolò Iardella
e6168667d3 Add first_rb_offset 2018-09-03 18:10:28 +02:00
Niccolò Iardella
853ef6fe18 Fix warnings in schedule_dlsch 2018-09-03 18:10:28 +02:00
Niccolò Iardella
9efd5d6f27 Inter/intra-slice sharing are now optional 2018-09-03 18:10:28 +02:00
Niccolò Iardella
8d9a8ab59a Add UE sorting on LCID priority 2018-09-03 18:10:28 +02:00
Navid Nikaein
5634aa92a1 Keep the LCID priority in MAC layer to sort the UE accordingly 2018-09-03 18:10:28 +02:00
Niccolò Iardella
56405aeef0 Implement interslice_multiplexing, add new constants 2018-09-03 18:10:28 +02:00
Niccolò Iardella
e2c270ee94 Fix indentation in schedule_ue_spec() and pre_processor.c 2018-09-03 18:10:28 +02:00
Niccolò Iardella
df36e3f054 Bugfix: value of available RBs per slice could be negative 2018-09-03 18:10:28 +02:00
Niccolò Iardella
ee4972cd2c Add partitioning as a separate function 2018-09-03 18:10:28 +02:00
Niccolò Iardella
e80f64c8e5 Split positioning() in positioning() and intraslice_sharing() 2018-09-03 18:10:28 +02:00
Robert Schmidt
d5415b2096 Fix: provide N_RBG in TM5 mode 2018-09-03 18:10:28 +02:00
Niccolò Iardella
89f5659586 Add accounting policy to pre_processor 2018-09-03 18:10:28 +02:00
Niccolò Iardella
71d1b1ab9a Refactoring and optimization 2018-09-03 18:10:28 +02:00
Niccolò Iardella
53c617cdcf Move slicing configuration variables in header files 2018-09-03 18:10:28 +02:00
Niccolò Iardella
490e24560a Split accounting and positioning in pre_processor 2018-09-03 18:10:28 +02:00
Niccolò Iardella
18ade8812a Add positioning support for DL 2018-09-03 18:10:28 +02:00
Raphael Defosseux
1fe75d1f0d CI: little fixes to TDD scenario
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-03 18:08:55 +02:00
Robert Schmidt
4f56f4ee95 Remove comment end
Bug only occurs when compiling without AVX2
2018-09-03 18:06:28 +02:00
Raphael Defosseux
0d67d44e05 CI: running TDD test even if FDD failed
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-03 17:16:51 +02:00
Raphael Defosseux
afa64a0d90 CI: adding TDD setup to main CI on develop
-- Configuration files for a Band-40 test setup
  -- XML file test on band-40 for 5 and 10 MHz in DL only

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-03 16:13:03 +02:00
Raphael Defosseux
9f21c07108 CI : fix
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-03 13:42:55 +02:00
Raphael Defosseux
3698dd7e84 Merge branch 'develop_integration_2018_w35' into 'develop'
Develop integration 2018 w35

See merge request oai/openairinterface5g!378
2018-09-03 13:12:07 +02:00
Raphael Defosseux
966f6392c7 CI: basic-sim, adding a pause between eNB start and UE start
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-09-03 12:31:45 +02:00
Haruki NAOI
0eb747718a Fix: Paging fixes. dlsch->i0 for paging should be configured by PCH scheduler. 2018-09-03 18:30:01 +09:00
Cedric Roux
23e5ca206e fix for CI 2018-09-03 11:09:56 +02:00
Cedric Roux
d67d8617e7 integration fix: fix compilation error 2018-08-31 18:11:45 +02:00
Bing-Kai Hong
3021cf114d F1 & MAC:
1. Fix UE_CONTEXT_SETUP_REQUEST and CONTEXT_MODIFICATION_REQUEST encode/decode
2. Add gNB_DU_CONFIGURATION_UPDATE and gNB_CU_CONFIGURATION_UPDATE procedure
3. Add C_RNTI_TO_BIT_STRING function
4. Add INITIAL_UL_RRC_MESSAGE_TRANSFER procedure and with mac_du_data_ind (MSG3)
5. Add GNB-CUSystemInformation extension part for the F1SetupResponse procedure
2018-08-31 15:55:42 +02:00
Cedric Roux
23ca4cfbbe Merge remote-tracking branch 'origin/T-fixes-w35' into develop_integration_2018_w35 2018-08-31 15:13:03 +02:00
Cedric Roux
4c069754d3 Merge remote-tracking branch 'origin/basic-simulator-fixes' into develop_integration_2018_w35 2018-08-31 14:49:50 +02:00
Louis Adrien Dufrene
80920618e6 Code guidelines 2018-08-31 14:14:28 +02:00
Wang Tsu-Han
ee04caab8a replacing judgment from get_nprocs() and worker flags by paralle_stage and worker_stage 2018-08-31 12:58:49 +02:00
Cedric Roux
c22180ff31 Merge remote-tracking branch 'origin/issue326_LOGreview' into develop_integration_2018_w35
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/eNB_scheduler_phytest.c
2018-08-31 12:55:28 +02:00
Cedric Roux
7654f8a208 Merge remote-tracking branch 'origin/issue_344_segv_trace_wireshark' into develop_integration_2018_w35 2018-08-31 12:43:33 +02:00
Cedric Roux
3f08e4503b Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w35 2018-08-31 12:29:15 +02:00
Cedric Roux
d52de8e482 Merge remote-tracking branch 'origin/341-modulation-bugfix' into develop_integration_2018_w35 2018-08-31 12:12:53 +02:00
Cedric Roux
536b4a88b1 Merge remote-tracking branch 'origin/cqiSchedule' into develop_integration_2018_w35 2018-08-31 12:04:28 +02:00
Cedric Roux
99535adacc integration: remove compilation warning 2018-08-31 12:02:04 +02:00
laurent
5d658c5e82 remove constructor key word 2018-08-31 12:00:15 +02:00
Cedric Roux
4aec4a23a8 Merge remote-tracking branch 'origin/multi-sdr-ip-conf' into develop_integration_2018_w35 2018-08-31 11:50:19 +02:00
laurent
203001318a Merge branch 'generate_sss_tables' of https://gitlab.eurecom.fr/oai/openairinterface5g into generate_sss_tables 2018-08-31 11:48:09 +02:00
laurent
cea4ef5372 generate sss tables 2018-08-31 11:47:53 +02:00
laurent
3740f3d72e remove constructor key word 2018-08-31 11:44:41 +02:00
Cedric Roux
27322602e9 Merge remote-tracking branch 'origin/336-fhg-embms-changes' into develop_integration_2018_w35 2018-08-31 11:42:26 +02:00
Raphael Defosseux
8961e67ef4 CI: fix syntax error in pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-31 11:38:34 +02:00
laurent
0e6804f214 Merge branch 'generate_75KHz_tables' of https://gitlab.eurecom.fr/oai/openairinterface5g into generate_75KHz_tables 2018-08-31 11:20:58 +02:00
laurent
4221816f5e generate 7.5KHz tables 2018-08-31 10:46:36 +02:00
Raphael Defosseux
caa5ad6e4b CI: improvements on basic-simulator testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-30 15:57:42 +02:00
Cedric Roux
b8093f509e T tracer: fix problem with some displays
This commit attempts to fix the error:
    no good visual found
2018-08-30 14:25:20 +02:00
Cedric Roux
31e472d235 T tracer: fix traces for TDD 2018-08-30 14:23:52 +02:00
Haruki NAOI
620d50d798 Fix: ulsim segmentation fault. 2018-08-30 20:47:40 +09:00
Haruki NAOI
92bf2133fc Fix: basic-sim and ue-ethernet compile error. 2018-08-30 18:24:44 +09:00
Raphael Defosseux
8fc3c48d85 CI: better reporting for simulator testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-29 16:53:17 +02:00
Haruki NAOI
3182183860 Fix: --log-mem options is erased. 2018-08-29 21:46:05 +09:00
Louis Adrien Dufrene
ec702c88f3 Commentaries modifications 2018-08-29 14:27:09 +02:00
Raphael Defosseux
16314f041f CI: fix EPC IP address retrieve and zip of test-files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-29 10:27:10 +02:00
Raphael Defosseux
d57024162a CI: fix bypass
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-28 17:27:35 +02:00
Raphael Defosseux
fdea649ddf CI: Adding skeleton to perform basic-simulator testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-28 17:17:06 +02:00
Bing-Kai Hong
a817b54c74 T: generate for PROTO_AGENT and F1U 2018-08-28 17:01:17 +02:00
Bing-Kai Hong
b797dafdc6 1.Update the F1 messages with F1AP spec R15.2.1 and build scripts for proper generation of F1 messages
2.Add SCTP procedure (without ITTI) with F1AP
3.Add F1AP test code
2018-08-28 15:05:05 +02:00
Louis Adrien Dufrene
c12e3234b0 modification of tracer/gui/x.c for T tracer to work on screen 2018-08-28 14:03:37 +02:00
Calvin HSU
b58ef54608 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split 2018-08-28 12:22:59 +02:00
Haruki NAOI
d44ef56e3b Fix: UE dose not respond to paging message. 2018-08-28 16:55:45 +09:00
Raphael Defosseux
24c1c6e18b CI: better reporting
-- URL of jenkins build included in top of HTML report
  -- when one of the needed processes not present, reported in HTML

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-28 09:35:31 +02:00
Cedric Roux
a48c36582f bugfix: fix threading in the UE
Various problems were found with the basic simulator.

Variables used by various threads for synchronization need to
be initialized properly. That is before the various threads
start using them.

This goes for:
- UE->is_synchronized
- UE->proc.instance_cnt_synch
- UE->proc.instance_cnt_rxtx

The function "UE->rfdevice.trx_start_func" was called in
"UE_thread_synch" but should be called in "UE_thread" because
"UE_thread" is the one that calls "UE->rfdevice.trx_read_func"
and there is no guaranty that the call to "UE->rfdevice.trx_start_func"
is done before as it has to (it's in another thread).

And finally "pthread_cond_signal(&proc->cond_rxtx)" was called twice,
which may not be a problem but was certainly not intended. Plus
removing one call simplifies the code by removing some "if" logic,
which is a good thing per se.

This commit was not tested with a real UE and may thus introduce some
issues. Hopefully not!
2018-08-27 17:46:03 +02:00
Cedric Roux
164bbc65eb basic simulator: bugfix: do not put random data in DCI when not used
With 50 RBs and 100 RBs the UE crashes in the basic simulator
because of false detection of DCIs.

Putting nothing in the unused REs in the DCI instead of random
bits solves this issue and let the basic simulator run with 50 RBs
and 100 RBs.

Note that in the real UE the problem needs to be solved because
the channel may lead to false DCI detection and the consequent
crashes have to be solved. This commit sort of "hides" the issue
to have the basic simulator functional.

Note also that putting nothing in the unused REs in the DCI should
be the normal general case. But it has not been tested with anything
but the basic simulator so the previous code is left.
2018-08-27 17:44:01 +02:00
Cedric Roux
97ddf5ea28 basic simulator: bugfix: wait for synch ready at the right time
Before this commit we were checking for UE->is_synchronized == 0
then we were waiting for a potentially active synch routine to
finish and then we were starting the synch routine again but the
synch routine that was running may have set UE->is_synchronized
to 1. This was leading to various problems, most notably the following
message repeated over and over in the UE log and the UE unable to
connect properly:

    [RRC]  [UE 0] Frame 377: OUT OF SYNC FROM eNB 0 (T310 active 0 : T310 0, N310 345, N311 0)

So let's wait for a potentially active synch routine to finish
before anything else.
2018-08-27 17:32:00 +02:00
Cedric Roux
2276996f74 basic simulator: minor bugfix: clear memory before use 2018-08-27 17:28:50 +02:00
Rajeev Gangula
9f6d466fff Uncommemnt rrc_mac remove function. 2018-08-27 14:43:32 +02:00
Louis Adrien Dufrene
ec367c4b36 Merge branch 'develop' into DRX_develop 2018-08-27 14:43:09 +02:00
Louis Adrien Dufrene
a8f6accc9a rm .gitignore for repo consistancy 2018-08-27 14:41:29 +02:00
Rajeev Gangula
0bd400d176 Merge branch 'develop' into cqiSchedule 2018-08-27 13:23:19 +02:00
Haruki NAOI
8ec16092c4 Fix: fairRR scheduler allocates Resource Block only to one UE when multiple UEs are selected. 2018-08-27 19:38:02 +09:00
Haruki NAOI
37bab74e06 Fix: dlcqi re-transmission timing. 2018-08-27 19:26:39 +09:00
Raymond Knopp
9399dd9735 try to merge with issue 341 to pass USRP/FDD test 2018-08-25 02:22:44 +02:00
frtabu
82c3f06da3 fix dlsim tests failures in CI ( log level improperly set due to log modifications) 2018-08-24 23:53:58 +02:00
frtabu
51c86dd49e fix noS1 build failure 2018-08-24 20:06:02 +02:00
frtabu
77f70e77ea MSC logging utility as a config option 2018-08-24 17:43:14 +02:00
frtabu
24f8fcf346 Use common log mechanism in layer 3, mapping specific macros to common ones and extending common log utilities to support specific layer3 requirements 2018-08-24 17:43:14 +02:00
frtabu
79588a494e LOG_F replaced by LOG_DUMPMSG. Add a generic function to dump a buffer or message. Go on with LOG_M implementation improvement. Remove redundant options to enable/disable logs. 2018-08-24 17:43:14 +02:00
Raymond Knopp
b9a06a75ff Merge branch 'ru_rau_enhancement-external-timing' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-08-24 14:49:29 +02:00
Raymond Knopp
bcabf5fe11 tracing for if4p5 fronthaul 2018-08-24 14:49:00 +02:00
Raymond Knopp
671aa4e11a Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-08-24 14:48:04 +02:00
Raphael Defosseux
e469680d80 CI: fix in python
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-24 14:37:40 +02:00
WANG Tsu-Han
b5435440cd bug fix for QPSK modulation with pilot 2018-08-24 12:14:51 +02:00
Raphael Defosseux
8b46aea34d CI: optimization on scripts
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-24 11:57:13 +02:00
Raymond Knopp
b7b48fd6c7 beamforming debugging after fronthaul testing 2018-08-24 10:32:03 +02:00
Louis Adrien Dufrene
7ea7af3ab8 initial commit 2018-08-24 08:56:06 +02:00
WANG Tsu-Han
f65c390226 warning removal 2018-08-23 18:34:50 +02:00
Konstantinos Alexandris
3b3b971807 minor fixes for x2 + modify conf files
The configuration file has now to contain ENB_IPV4_ADDRESS_FOR_X2C and
ENB_PORT_FOR_X2C in the NETWORK_INTERFACES section.

For example:

    NETWORK_INTERFACES :
    {
        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152

        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
    };
2018-08-23 16:15:14 +02:00
laurent
d5f28018ed fix 344 2018-08-23 13:06:17 +02:00
Raphael Defosseux
d12a54a774 Removed unused variable
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-23 10:40:28 +02:00
Raphael Defosseux
0c83df3ff9 CI: added support for extra options to start eNB
added more statistics on iperf server report analysis

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-22 19:15:43 +02:00
Konstantinos Alexandris
d3edb3a095 Merge remote-tracking branch 'origin/develop' into x2 2018-08-22 16:02:24 +02:00
WANG Tsu-Han
4bdf8e60fc Merge branch '341-modulation-bugfix' of https://gitlab.eurecom.fr/oai/openairinterface5g into 341-modulation-bugfix
Conflicts:
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
2018-08-22 15:58:17 +02:00
WANG Tsu-Han
30cc9c1c66 adding half fill mechanism into accelorated modulation 2018-08-22 15:36:43 +02:00
Konstantinos Alexandris
40942e34a0 Initial commit on X2AP (add target eNBs as input) 2018-08-22 15:32:22 +02:00
Raphael Defosseux
4bf6f26d49 CI: inverted last iperf UL @20MHz
fix main.py help message

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-22 10:19:14 +02:00
Florian Kaltenberger
7fed2bec9d disabling new modulation for 25PRB 2018-08-21 08:03:14 -07:00
WANG Tsu-Han
f1e041ad98 bug fix for 25RBs with new modulation scheme and add config for 5 & 10 MHz with phy-test 2018-08-21 15:18:05 +02:00
Raphael Defosseux
ee143ac044 CI: fixing and adding more testcases
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-21 15:04:40 +02:00
Rajeev Gangula
849be5f9f7 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-08-20 16:11:44 +02:00
Rajeev Gangula
86f4d8c18f Remiving CQI scheduling on special SFs. 2018-08-20 14:17:19 +02:00
Raphael Defosseux
dc9c27a330 CI: improvements
-- no more -x option at compilation time
 -- iperf server report crash better handled
   -- python executor retrieve iperf server files in case of failure to analyze
   -- comparison w/ requested bandwidth

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-20 11:09:28 +02:00
Cedric Roux
ade9a6dd76 Merge remote-tracking branch 'origin/develop_integration_2018_w33' into develop
Summary of changes:
- fix compilation on CentOS
- some work on the T tracer:
  - add a 'multi' tracer to connect several tracers at the same time
  - improve 'to_vcd' to be compatible with previous VCD traces
- preliminary work for X2 handover
- various bug fixes

A new version of asn1c is to be used with this commit.
Do:
  cd [top directory of repository]
  source oaienv
  cd cmake_targets
  ./build_oai -I
2018-08-17 17:18:04 +02:00
Raymond Knopp
c3b9328540 Merge remote-tracking branch 'origin/t_tracer_w32' into ru_rau_enhancement-external-timing
Conflicts:
	common/utils/T/T_messages.txt
2018-08-17 16:33:07 +02:00
Cedric Roux
69338c694b bugfix: fix array index
As reported by Konstantinos Alexandris and Robert Schmidt.
2018-08-17 15:55:04 +02:00
Cedric Roux
e74010220d bugfix: fix duplicated code
As reported by Robert Schmidt.
2018-08-17 15:45:38 +02:00
Cedric Roux
dfee206027 Merge remote-tracking branch 'origin/fix_missing_s1ap_15.2.0_asn_module_and_update_asn1c_commit' into develop_integration_2018_w33 2018-08-17 15:38:55 +02:00
Cedric Roux
546cdded78 Merge remote-tracking branch 'origin/fix-missing-break' into develop_integration_2018_w33 2018-08-17 15:38:50 +02:00
Cedric Roux
640b4c1b7d Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w33 2018-08-17 15:38:32 +02:00
Cedric Roux
fa49a0dfb3 Merge remote-tracking branch 'origin/t_tracer_w32' into develop_integration_2018_w33 2018-08-17 15:38:24 +02:00
Cedric Roux
4963c31fc5 Merge remote-tracking branch 'origin/issue-centos-fixes' into develop_integration_2018_w33 2018-08-17 15:37:56 +02:00
Cedric Roux
88724afdf3 T: minor: don't clean tracers on 'make clean' 2018-08-17 15:36:45 +02:00
Cedric Roux
475d5eb827 T: bug fixes for the T cache
- 'busy' has to be handled in a more atomic fashion to avoid crazy
  runtime race conditions
- the basic simulator is too fast sometimes; rewrite the accesses to
  the T cache to avoid there again crazy behaviors

Hopefully that's better...
2018-08-17 12:25:13 +02:00
Cedric Roux
d4a8b5f35e compilation warning "jobserver unavailable" removal
This commit removes the warning:
make[4]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.

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

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

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

If you modify common/utils/LOG/vcd_signal_dumper.[ch] but do not update
common/utils/T/T_messages.txt an error will pop up when you compile the
software. You have to keep both modules synchronized.
2018-08-17 12:24:39 +02:00
cdxu0312
0fd3ca7584 added 2 RRU debugging for vcd 2018-08-17 15:12:26 +08:00
Eino Virtanen
be0e409594 USRP addressess and clock sources can be configured in the configuration file with the RU section with comma separated IP addresses in 'sdr_addrs' and with strings "internal"/"external"/"gpsdo" in 'clock_src'.
TODO: Currently the driver picks the two first RX and TX channels when nb_tx and nb_rx are both set to 2. If a developers wants to force usage of two devices, 'set_rx_subdev_spec' and 'set_tx_subdev_spec' can be used to indicate to the driver so that antennas from separate devices will be used. To rephrase: until 4 antennas are supported by OAI, testing with two devices, so that antennas from both devices are used, requires manual configuration of which subdevices' antennas are used.

Conflicts:
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2018-08-16 16:22:13 +02:00
Bi-Ruei, Chiu
6562577e96 Update asn1c commit with two new fixes 2018-08-16 16:36:41 +08:00
Bi-Ruei, Chiu
79827d6bac Add missing S1AP 15.2.0 ASN.1 S1AP-Containers module 2018-08-16 16:36:41 +08:00
Raymond Knopp
ff0ca09040 changed precoder initialization for cell-specific antenna ports 2018-08-15 05:24:47 +02:00
Raymond Knopp
6bfbb77ebe Merge remote-tracking branch 'origin/340-fix-beamforming-for-multiple-antenna' into ru_rau_enhancement-external-timing
Conflicts:
	openair1/SCHED/ru_procedures.c
2018-08-15 04:23:59 +02:00
Raymond Knopp
1609b21f4b Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-08-15 04:17:25 +02:00
Thomas Schlichter
cd79a52c22 In phy_procedures_UE_RX() really only process the first 5 (not 6) OFDM symbols for S-subframes
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 17:09:08 +02:00
Thomas Schlichter
781fb9b9ca Reduce network latency by using netif_rx_ni() instead of netif_rx() in non-interrupt context
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 17:09:08 +02:00
Thomas Schlichter
93f494f106 Fix channel impulse response peak detection when adjusting the timing sync
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 17:09:08 +02:00
Thomas Schlichter
e239e94154 Fix PDCP and RLC for MBMS
Also add output of MBMS multicast IP packets to the network.

This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de) by Javier Morgade, Ph.D.
2018-08-14 17:09:08 +02:00
Thomas Schlichter
8dd3a1306a Also send MTCH using mac_xface->ue_send_mch_sdu()
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 17:09:08 +02:00
Thomas Schlichter
390c5011a5 Call ue_measurement_procedures() even for last OFDM sybol in second slot.
Also for PMCH subframes, call slot_fep() for first OFDM symbol of next subframe.

This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 17:09:08 +02:00
Thomas Schlichter
96903ed59f Use logical && instead of binary & in phy_procedures_UE_RX()
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 17:09:08 +02:00
Thomas Schlichter
1b53fd402d mcch logical channel properly decoded
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de) by Javier Morgade, Ph.D.
2018-08-14 17:09:08 +02:00
Thomas Schlichter
02f94bf35b Fix 24-bit MBSFN subframe configuration
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de) by Javier Morgade, Ph.D.
2018-08-14 15:55:10 +02:00
Thomas Schlichter
68fae537dd Fixed MBSFN gold sequence generator
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de) by Javier Morgade, Ph.D.
2018-08-14 15:55:10 +02:00
Thomas Schlichter
f935e09bbe Enable RA_RNTI decoding through format1C DCI
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de) by Javier Morgade, Ph.D.
2018-08-14 15:55:10 +02:00
Cedric Roux
53bb1fb091 minor bugfix
Compilation of UE softmodem failed.
2018-08-14 15:54:34 +02:00
Thomas Schlichter
71960795bf Fix DCI format 1C
This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 15:53:04 +02:00
Thomas Schlichter
977b7ebeb9 Perform timing sync adjustment in subframe 5 instead of 6
Subframe 6 may be an MBMS subframe, and timing sync does not (yet) work on MBMS subframes.

This commit was developed at Fraunhofer IIS (https://www.iis.fraunhofer.de).
2018-08-14 15:53:04 +02:00
Raphael Defosseux
bd5b3b1ec7 CI:
- fix when FDD slave job fails, it still retrieves the HTML report
 - improvement in HTML report, stats per UE for attach, ping, iperf

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-13 16:21:30 +02:00
Robert Schmidt
44e444b3a2 Add missing break in switch statement in set_ul_DAI() 2018-08-13 14:38:32 +02:00
Cedric Roux
21481fef71 compilation warning "jobserver unavailable" removal
This commit emoves the warning:
make[4]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.

Basically, inside a Makefile we should use $(MAKE) instead of make.
2018-08-13 12:37:17 +02:00
Cedric Roux
072bb9044f T: improve error reporting
Use "error:" as prefix to error messages in genids.c
to help looking for errors in case of failure of
the build.
2018-08-13 11:29:07 +02:00
Cedric Roux
fd8eb46c6a minor: remove TABs 2018-08-13 11:29:07 +02:00
Cedric Roux
d5da350b06 T: check consistency of T_messages.txt with VCD functions and variables traces
Since VCD has now to go through the T tracer, we enforce the consistency
of data found in common/utils/LOG/vcd_signal_dumper.[ch] with data
found in common/utils/T/T_messages.txt.

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

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

If you modify common/utils/LOG/vcd_signal_dumper.[ch] but do not update
cmake_targets/CMakeLists.txt an error will pop up when you compile the
software. You have to keep both modules synchronized.
2018-08-13 11:29:07 +02:00
Cedric Roux
f18a438c2c T: simplify
Don't use shm anymore. Use mmap directly.
2018-08-13 11:28:56 +02:00
Cedric Roux
bd3fc60ae4 T: update 'to_vcd' tracer to trace all VCD variables and functions
Pass the command line arguemnt -vcd to trace all VCD variables
and functions.
2018-08-10 15:20:36 +02:00
Wang Tsu-Han
2d723c542e adding VCD log for multiple RUs
Conflicts:
	common/utils/T/T_messages.txt
	openair1/SCHED/ru_procedures.c
	targets/RT/USER/lte-enb.c
2018-08-10 15:19:00 +02:00
Konstantinos Alexandris
5c85231782 GPS synchronization 2018-08-10 11:06:21 +02:00
laurent
9dcade262c generate sss tables 2018-08-09 18:13:09 +02:00
Wang Tsu-Han
b8feeef407 VCD log for two ru_thread 2018-08-09 17:06:24 +02:00
Wang Tsu-Han
3fd125257a VCD removal 2018-08-09 16:34:59 +02:00
ISIP CS/NCTU
90c9bfd926 Update ru_procedures.c 2018-08-09 16:05:05 +02:00
ISIP CS/NCTU
f458287a4d Replace ru_procedures.c 2018-08-09 15:47:56 +02:00
ISIP CS/NCTU
5618856ea9 Replace modulation_eNB.h 2018-08-09 15:47:31 +02:00
ISIP CS/NCTU
9d8aecdb3e Replace beamforming.c 2018-08-09 15:47:12 +02:00
ISIP CS/NCTU
c87e00c35c Update beamforming.c 2018-08-09 11:53:00 +02:00
ISIP CS/NCTU
778361685c Update ru_procedures.c 2018-08-09 11:52:27 +02:00
ISIP CS/NCTU
0fbde1bad0 Update lte-enb.c 2018-08-09 11:51:54 +02:00
ISIP CS/NCTU
2e7962be0c Update modulation_eNB.h 2018-08-09 11:48:13 +02:00
ISIP CS/NCTU
cf2f6f58f6 Update beamforming.c 2018-08-09 11:40:53 +02:00
ISIP CS/NCTU
95d6792c12 Update ru_procedures.c 2018-08-09 11:38:51 +02:00
ISIP CS/NCTU
03e91a3d9c Replace modulation_eNB.h 2018-08-09 11:31:09 +02:00
ISIP CS/NCTU
61df625703 Replace beamforming.c 2018-08-09 11:30:44 +02:00
ISIP CS/NCTU
191d36705a Replace lte-enb.c 2018-08-09 11:29:47 +02:00
ISIP CS/NCTU
c4ee45acb3 Replace ru_procedures.c 2018-08-09 11:28:30 +02:00
Cedric Roux
781133b772 T: bugfix in multi
Check result of send_is_on and close connection to tracee on error.
2018-08-09 10:18:38 +02:00
Raymond Knopp
91d23cb31d Merge remote-tracking branch 'origin/ru_rau_enhancement' into ru_rau_enhancement-external-timing
Conflicts:
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.h
2018-08-09 09:45:57 +02:00
Cedric Roux
5b17b036ba T: improve to_vcd tracer
Make it compatible with 'template' gtwave files as found in openair's
repository.

The type VCD_NAME was added to the VCD IDs in T_messages.txt.
The database processing code was adapted to use it.
The tracer to_vcd was adapted to use it and render the produced vcd
output compatible with the 'template' gtkwave files.

When running to_vcd, do not forget to pass -vcd to use this feature.
2018-08-08 15:42:02 +02:00
Cedric Roux
fdd4366daf T: add a 'multi' tracer
This tracer allows the connection of several tracers to one tracee.

To use the multi tracer:
- run the tracee as usual, eg. ./lte-softmodem -O xxxx.conf --T_stdout 0
- run the multi tracer: ./multi -d ../T_messages.txt
- connect other tracers to the multi tracer:
   - ./enb -d ../T_messages.txt -p 2022
   - ./textlog -d ../T_messages.txt -p 2022
   - etc.

By default the multi tracer connects to the tracee to the port 2021,
as for any other tracer.

Then it accepts connections from other tracers on the port 2022.

This can be changed with parameters on the command line.

The tracee and the other tracers can be stopped/started at any time.
2018-08-08 15:41:39 +02:00
Cedric Roux
eb3b87d956 T: bugfix and cleanup
- bug fixed in ue and enb tracer: the socket needs to be closed
  in case of restart
- cleanup: fix spacing in T_messages.txt
2018-08-08 11:58:26 +02:00
Raymond Knopp
70461a3344 initialization of dumpframe variable to 0. 2018-08-08 05:37:16 +02:00
Raymond Knopp
47764ebb58 Merge remote-tracking branch 'origin/issue-centos-fixes' into ru_rau_enhancement 2018-08-08 05:06:35 +02:00
Raymond Knopp
53a31093fa minor modifications to lte-ru.c and ru_control.c. Addition of lte_noS1_buildCMakelists.template which somehow got removed. 2018-08-08 05:01:21 +02:00
Raymond Knopp
f7dfb6c6b2 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.h
2018-08-07 19:44:53 +02:00
Raymond Knopp
11a33bc44c Merge remote-tracking branch 'origin/develop' into issue-centos-fixes 2018-08-07 17:40:18 +02:00
Cedric Roux
e04b8241dc Merge remote-tracking branch 'origin/develop_integration_2018_w31' into develop
Summary of changes:
- bug fixes in various places
2018-08-07 11:28:26 +02:00
Cedric Roux
1cbd60e9c8 remove warning 2018-08-07 10:35:14 +02:00
Cedric Roux
43ffecb1a1 remove warnings 2018-08-07 09:53:57 +02:00
laurent
1603e99d7e fix other targets after CI trial 2018-08-06 17:54:34 +02:00
Cedric Roux
9126c88294 HACK: let the basic simulator work again
A better solution has to be found.
2018-08-06 16:57:15 +02:00
laurent
0a9a636ceb commit new itti code 2018-08-06 16:52:51 +02:00
laurent
4c475c429b first commit new itti 2018-08-06 16:52:27 +02:00
Cedric Roux
19a01f6cb0 minor: bug fix in T tracer 'to_vcd' 2018-08-06 12:26:35 +02:00
Cedric Roux
1752c92980 T: update 'to_vcd' tracer to trace all VCD variables and functions
Pass the command line arguemnt -vcd to trace all VCD variables
and functions.
2018-08-06 11:27:02 +02:00
Raymond Knopp
a2cf8611ed small modifications for CentOS build 2018-08-04 08:39:25 +02:00
laurent
d74bed545a generate 7.5KHz tables 2018-08-03 20:28:34 +02:00
Raphael Defosseux
35ff61118f CI: adding profiling option to iperf:
-- balanced (current version): all UE shares the same BW
 -- single-ue : one UE will use the whole requested BW
 -- unbalanced : all but one UE will use a residual 2% of the requested BW
                 the rest of requested BW will be used by one UE

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-03 15:23:47 +02:00
Cedric Roux
07d1610602 quick hack to avoid a DLSCH regression
One of the optimized RE allocation function does not work properly
and generates some decoding errors with a COTS UE. Let's use the
generic function for the moment, while analyzing what is wrong.
2018-08-03 15:01:49 +02:00
Cedric Roux
15f7ae91be fix single_thread_flag usage 2018-08-03 14:58:18 +02:00
Raphael Defosseux
d885eb5bc2 CI: hotfix in Jenkins pipeline script
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-03 13:24:30 +02:00
Raphael Defosseux
2bccdeb556 Merge branch 'develop-ci' of gitlab.eurecom.fr:oai/openairinterface5g into develop-ci
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-03 13:11:56 +02:00
Raphael Defosseux
4080cfd81f CI: adding UL iperf support
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-03 13:08:48 +02:00
Cedric Roux
ad32a8c923 Merge remote-tracking branch 'origin/338-correcting-changes-made-in-dlsch_demodulation-c-in-8cbe7cf6af8adf63680d6e610b570acf45df40c2' into develop_integration_2018_w31
Conflicts:
	openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
2018-08-03 09:47:29 +02:00
Raphael Defosseux
9db654d61b CI: retrieve HTML report from slave job and archive it
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-03 09:47:02 +02:00
Cedric Roux
d688c99843 Merge remote-tracking branch 'origin/337-fix-t_ids-h-issue-for-phy_mex' into develop_integration_2018_w31
Conflicts:
	cmake_targets/CMakeLists.txt
2018-08-03 09:46:22 +02:00
Cedric Roux
409b3d5c20 Merge remote-tracking branch 'origin/issue326_LOGreview' into develop_integration_2018_w31 2018-08-03 09:45:26 +02:00
Cedric Roux
50815ab6bf Merge remote-tracking branch 'origin/issue332-dft-initializations' into develop_integration_2018_w31 2018-08-03 09:45:11 +02:00
Cedric Roux
37a097cc35 Merge remote-tracking branch 'origin/334-iq-replay-without-mmap-usage' into develop_integration_2018_w31 2018-08-03 09:44:57 +02:00
Cedric Roux
c95b84e9d0 Merge remote-tracking branch 'origin/parallel-phy-test-EMUFH' into develop_integration_2018_w31 2018-08-03 09:44:38 +02:00
Raphael Defosseux
9766eaa1bf CI: Improvements
* adding merge request allow flag:
  -- if false no forced merge to develop
  -- if true and if branch is not develop, then forced merge to develop
 * lowered the ru gains in CI conf files
 * adding on-the-fly HTML summary within python main.py script
 * adding 20 MHz testcases to FDD band 7 scenario
 * adding GitLab status for
  -- centOS build
  -- FDD-band7 tests

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 17:36:52 +02:00
Raphael Defosseux
b6c42575d8 CI: adding 20 MHz testcases to FDD band 7 scenario
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 16:56:57 +02:00
Raphael Defosseux
67796d8420 CI: pipeline fix
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 16:41:40 +02:00
Raphael Defosseux
a867e4ebcc CI: Moving html archiving in case of error
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 16:38:57 +02:00
Raphael Defosseux
2ac9b4ff96 CI: adding on-the-fly HTML summary within python
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 16:28:27 +02:00
Raymond Knopp
44ce13d7de added ru_control.c (extraction of RU state-machine and support functions for fronthaul) 2018-08-02 05:55:50 -07:00
Raphael Defosseux
ceaac8dffb CI: lower ru gains
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 13:52:57 +02:00
Raphael Defosseux
434a0a7d81 CI: adding merge request allow flag:
-- if false no forced merge to develop
 -- if true and if branch is not develop, then forced merge to develop

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 10:28:45 +02:00
Raphael Defosseux
5bc579f05c CI: hotfix in Jenkins pipeline script
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-02 09:17:29 +02:00
Raphael Defosseux
d1dd00b08e CI:
-- Adding script to notify developer when introducing compilation warnings
  -- Fix on the CentOS log archiving / reporting

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-01 17:23:26 +02:00
Cedric Roux
9e8ad4923b fix install on centOS
- install package 'vim-common' to have 'xxd' needed by the compilation
  process of the T tracer
- change the way xxd is called so that no file is created in case
  of error
2018-08-01 16:36:35 +02:00
Raphael Defosseux
86c199e3f7 CI:
Adding a build stage on CentOS (only one variant : -w USRP --eNB)
  Should not trigger a fail for the moment

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-01 14:36:46 +02:00
Raphael Defosseux
75711a8b77 CI: hotfixes
-- log collection on enb log requires a sudo when removing log files
  -- added iperf log collection to jenkins file
  -- corrected iperf detection of packet loss ( added jitter also)
  -- increased iperf DL requested BW for 10 MHz

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-08-01 11:48:09 +02:00
Elena Lukashova
4b4ded0c27 Removing printout in a median function. 2018-07-31 22:45:14 +02:00
Elena Lukashova
eec9f293b1 Making channel and data arrays dimensions in compensation function
more flexible to support 4x4 system.
2018-07-31 22:42:42 +02:00
Raphael Defosseux
71978e71e3 CI: hotfix -- no waiting for got sync
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-31 16:30:16 +02:00
frtabu
cba9d69b4d fix segfault when running with stdout stream caching disabled 2018-07-31 15:24:33 +02:00
Raphael Defosseux
621b73938d CI: hotfix for stability
-- stdbuf -o0 seems to be causing segmentation fault
  -- using daemon instead of nohup
  -- also repeating several time "got sync" message and flushing stdout/stderr

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-31 14:41:19 +02:00
Elena Lukashova
c3e4f68609 1.Adding PHY_MEX to the list of the libraries to be compiled with T_tracer,
otherwise T_IDs.h was not generated.
2.Adding extra files to the PHY_MEX library.
2018-07-31 11:59:18 +02:00
frtabu
6c23bdec60 fix compilation errors in ETHERNET or noS1 mode 2018-07-31 00:42:53 +02:00
frtabu
30509955c2 remove compilation warnings, especially when disabling T_TRACER. enhance LOG_M macro implementation, introduce LOG_DEBUG_XXX macro to replace #ifdef DEBUG_XXX 2018-07-30 20:07:22 +02:00
frtabu
b85cbddeec log.c simplification, fix usefull functionality which never worked, move all log code from openair2 to common 2018-07-30 20:07:22 +02:00
Raphael Defosseux
5798b17737 Dummy push to trigger CI again
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-30 15:12:26 +02:00
Raphael Defosseux
c30a2fa607 CI: little fix in main python script
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-30 14:17:34 +02:00
Raphael Defosseux
ddcab3a6cf CI: fix in executing in python the eNB process
added slave job trigger for testing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-30 13:17:27 +02:00
Wang Tsu-Han
d45fcd6fc2 Merge branch 'develop' into parallel-phy-test-EMUFH
Conflicts:
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/PHY/LTE_UE_TRANSPORT/get_pmi.c
	openair2/LAYER2/MAC/eNB_scheduler_phytest.c
	openair3/S1AP/MESSAGES/ASN1/R8/s1ap-8.10.0.asn1
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/rfsim.h
2018-07-30 11:42:34 +02:00
Wang Tsu-Han
aa00a4734a reset for remerging 2018-07-30 11:24:08 +02:00
Raphael Defosseux
fe70d33002 Merge branch 'develop-ci' into 'develop'
CI: integrating COTS-UE bench scripts

See merge request oai/openairinterface5g!350
2018-07-30 10:26:23 +02:00
Raymond Knopp
ec0b924852 successful testing of all DFTs. added missing 4x768-point DFT. 2018-07-27 18:52:18 +02:00
Raphael Defosseux
b04ef7e289 CI: Adding license banner to python script and xml testcases
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 17:21:25 +02:00
Raphael Defosseux
a2a00d2205 CI: Improvements on the COTS-UE bench script
* added banner to pipeline script
  * added parameters to Jenkins pipeline / python
    * xmlfile and test stage
  * eNB configuration files are located under ci-scripts/conf_files
    * no more correction of MNC
    * still correction of EPC / eNB IP addresses at runtime
    * Initialize_eNB_args is back using the proper "-O " syntax
  * Terminate stage is parallel as in FJU's original pipeline
  * Log collection stage is back fully parallel
  * Console as artifact an option
  * Check if terminate calls ended well, to be repeated at the end
  * Adding back iperf:
    * selection of iperf vs iperf3
    * adding some iperf testcases to test suite
  * Better enb launch

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 15:55:40 +02:00
Raphael Defosseux
f911895b11 CI: added abstraction layer to social messaging
-- a boolean parameter should be added to master eNB job
  -- for slack: pipelineUsesSlack
     if not present or false, no message will be sent

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 15:55:40 +02:00
Raphael Defosseux
2e609df339 CI: adding license banners to master eNB CI script files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 15:55:40 +02:00
Raphael Defosseux
af2877cf59 CI : Improvements to COTS-UE bench scripts
-- Jenkins Pipeline script:
     -- Moved the node to a proper subnetwork
     -- Added ansiColor option
  -- XML testsuite file can now be an option to the main.py python script
     -- Added some examples testsuite templates
  -- main.py python file
     -- Added an option when opening an SSH session: taking care of clients with copied SSH keys
        in that case, verifing that we are on the correct host
     -- BuildeNB method is closer from Fujitsu's original one
        improvement on flexibility for code source path naming
        better clean-up of workspace
     -- LTEBOX EPC (init / termination / logCollection) methods improvements w/ a /tmp path
     -- Checking of processes (EPC / eNB) is parallelized
        also handles LTEBOX EPX vs OAI CN
     -- UE methods added: attach, detach, reboot, ping
        With complete parallelism for multiple UEs
        iperf added but not tested

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 15:55:40 +02:00
Raphael Defosseux
6b38334767 CI: integration of the "test with equipment" script
-- temporary into a separate jenkins job
  -- parameters are not in the pipeline script file
     they have to be set up manually in the Jenkins GUI configuration page
     they are then check if present in pipeline script
  -- call to python script
     -- build on a server with RF HW capabilities
        for the moment USRP B2x0
        also handles merge request process for gitlab
     -- since it is for CI, it is a clean build
     -- connect to an EPC (OAI or LTEBOX)
     -- terminates eNB / EPC
  -- log collection

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 15:55:40 +02:00
Raphael Defosseux
a87a4638b0 CI: improvement
-- Increased allocated memory for the cppcheck VM

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-27 15:55:40 +02:00
Raymond Knopp
a787da5d83 Merge remote-tracking branch 'origin/develop' into issue332-dft-initializations 2018-07-27 09:01:38 +02:00
Raymond Knopp
bd5a8535f1 testing of UL dfts. commit before merge 2018-07-27 08:46:00 +02:00
Cedric Roux
e83a7fca5f Merge remote-tracking branch 'origin/develop_integration_2018_w29' into develop
Summary of changes:
- RF simulator enhancements
- remove oaisim
- use new asn1c
- bug fixes / cleanup
  - TDD fixes
  - IQ replay fixes
  - clean VCD/LOG_XX

The new asn1c requires a reinstallation.
Do:
    ./build_oai -I
2018-07-26 21:34:12 +02:00
Cedric Roux
072cf56720 basic simulator is now functional
The power estimation of the UE has to be debugged (calibrated?).
In the meantime, using "--ue-rxgain 140" lets the UE and eNB
talk to each other in the basic simulator.
2018-07-26 11:37:36 +02:00
Cedric Roux
acff8016ba fix: revert openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf to previous version 2018-07-25 11:17:54 +02:00
Raymond Knopp
11c4cb9b33 1. fixed initialization issues for lte-uesoftmodem when running with non RF simulation target.
2. minor modifications in dlsch_demodulation.c for 2 eNB TX antennas, 1 RX antenna. Inconsistant indexing of some arrays in this case.
3. change in config_load_configmodule.c : removed exit(-1) when no configuration file is used. This makes unitary simulators exit. Effect on lte-XXsoftmodem TBC.
2018-07-25 00:33:04 +02:00
Cedric Roux
a385af0109 better setup for asn1c
- use OAI location to retrieve asn1c
- use a specific commit instead of a branch name
2018-07-24 16:01:54 +02:00
Cedric Roux
1961fd7f20 remove gccxml/castxml
This was used for the ITTI analyzer.

The ITTI analyzer is now to be considered obsolete.
The source code will be removed at some point.
2018-07-24 15:52:04 +02:00
bruno mongazon-cazavet
006fced248 Fix #334 2018-07-23 16:25:34 +02:00
Cedric Roux
0f94c3487d minor 2018-07-23 10:48:05 +02:00
Cedric Roux
8cbe7cf6af Merge remote-tracking branch 'origin/mmse_receiver' into develop_integration_2018_w29 2018-07-23 10:28:20 +02:00
Raymond Knopp
76f15d6249 testing with dlsim 2018-07-22 21:00:41 +02:00
Raymond Knopp
71c8d6b93f initializations for radix-3 FFTs (1536,3072,6144,12288,18432,24576), addition of 3072-point. 2018-07-22 13:26:10 +02:00
Raymond Knopp
ad867af7a0 1024-8192 initializations tested and static initializations removed 2018-07-22 10:39:33 +02:00
Elena Lukashova
340a885036 dlsch_channel_level_core ofthen had overflows if used for an MMSE
receiver. THe proposed solution is to replace the average channel level with
median  = (max+min)>>1.
For these reasons lsch_channel_level_median is introduced.
2018-07-20 17:17:38 +02:00
Cedric Roux
ccdf1aff7a fix 2018-07-20 17:01:48 +02:00
Elena Lukashova
70b838ff38 Fixing a bug in dlsch_channel_level:
instead of _mm_srai_epi16
_mm_srai_epi32 should be used as _mm_madd_epi16
packs multiply-adds 16 bits and packs into 4
blocks of 32 bits.
2018-07-20 17:00:23 +02:00
Cedric Roux
86180447e7 fix 2018-07-20 16:51:53 +02:00
Cedric Roux
d05ec7e826 hot dirty fix - TODO: fix it properly 2018-07-20 16:40:09 +02:00
Cedric Roux
320551124c fix 2018-07-20 16:37:22 +02:00
Cedric Roux
d89009becf fix 2018-07-20 16:04:39 +02:00
Cedric Roux
42c3e6066c fix 2018-07-20 15:57:52 +02:00
Cedric Roux
b1d0287327 Merge remote-tracking branch 'origin/issue321_tdd_config1' into develop_integration_2018_w29
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
2018-07-20 12:26:13 +02:00
Cedric Roux
e7ea9e7611 Merge remote-tracking branch 'origin/issue326_LOGreview' into develop_integration_2018_w29
Conflicts:
	cmake_targets/CMakeLists.txt
2018-07-20 12:11:52 +02:00
Cedric Roux
d89dbb4882 Merge remote-tracking branch 'origin/feature-s1ap-r14-based-on-new-asn1c' into develop_integration_2018_w29
Conflicts:
	targets/SIMU/PROC/channel_sim_proc.c
	targets/SIMU/USER/oaisim_pad.c
2018-07-20 12:10:15 +02:00
Cedric Roux
87f2185431 Merge remote-tracking branch 'origin/mmse_receiver' into develop_integration_2018_w29
Conflicts:
	cmake_targets/CMakeLists.txt
2018-07-20 12:09:32 +02:00
Cedric Roux
c836ef28f4 Merge remote-tracking branch 'origin/enhancement-rfsim' into develop_integration_2018_w29
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/UTIL/LOG/log.c
	targets/RT/USER/lte-uesoftmodem.c
	targets/SIMU/USER/oaisim.c
	targets/SIMU/USER/oaisim_functions.c
2018-07-20 12:06:26 +02:00
Rajeev Gangula
759bd813ac Issue with bad EVM in SF 0 and %. 2018-07-20 10:04:00 +02:00
Haruki NAOI
5198703a6f fix: Error occurs in pdcch_alloc2ul_frame function. 2018-07-17 21:52:51 +09:00
Raymond Knopp
3539761c28 Log review step 1: legacy VCD removal, LOG macro modified, TTracer enabled at build time by default, in a way it, by default configuration, provides console logs, as in previous versions 2018-07-13 16:43:34 +02:00
Bi-Ruei, Chiu
a3e9c48006 Create configure file for asn1c
Add `autoreconf -iv` in build_helper to create configure file for asn1c.
2018-07-13 17:10:27 +08:00
Haruki NAOI
eb030b6a29 fix: compile error using "--mu" build option. 2018-07-13 14:53:14 +09:00
Haruki NAOI
b033317286 Merge remote-tracking branch 'remotes/origin/develop' into issue321_tdd_config1
# Conflicts:
#	openair2/UTIL/LOG/log.c
2018-07-13 14:13:10 +09:00
Bi-Ruei, Chiu
0071fb6173 Add ASN files of LTE-RRC, S1AP and X2AP of 2018 Jun release 2018-07-13 10:04:46 +08:00
Bi-Ruei, Chiu
a247907d3a Use an un-official community collaboration version of asn1c
1. It's no need to modify LTE-RRC's ASN.1 file for enabling option group
   feature in generate_asn1.
2. It's no need to patch the C header files generated from
   LTE-RRC/S1AP/X2AP's ASN.1 in fix_asn1.
3. It's no need to pre-process S1AP/X2AP's ASN.1 for enabling information
   object class feature by asn1tostruct.py.

This commit requires an un-official version of asn1c which are
collaboration of asn1c community members and `build_helper` is modified
in this commit accordingly :

  https://github.com/brchiu/asn1c/tree/velichkov_s1ap_plus_option_group

This asn1c can also convert ASN.1 of 5G NR RRC (38.331, v15.1.0) and
generate C files with -findirect-choice command line option without
tweaking ASN.1 file.

Examples for how to use this asn1c for S1AP are in S1AP files, e.g.
s1ap_eNB_nas_procedures.c and s1ap_eNB_handler.c.

There is an modified openair-cn (based on tag 0.5.0) with this new asn1c at :

  https://github.com/brchiu/openair-cn/tree/new-asn1c

Basic S1AP interaction and data transfer operation between OAI eNB and
this modified openair-cn has been tested.

Note: Community version of asn1c is keeping evolved to provide better usage.
2018-07-13 10:04:46 +08:00
Bi-Ruei, Chiu
df1e5b21c8 Change 'RRC/LITE' to 'RRC/LTE' 2018-07-12 15:33:31 +08:00
Elena Lukashova
759c134276 Fixing a bug in dlsch_channel_level_core. 2018-07-11 18:12:56 +02:00
Elena Lukashova
b4ed5f1d2e Fixing unused variable warning. 2018-07-11 16:31:49 +02:00
Elena Lukashova
e161c30c75 Merge branch 'develop' into mmse_receiver 2018-07-11 16:27:40 +02:00
Raphael Defosseux
10944d4a43 Merge branch 'issue325_itti_assertion' into 'develop'
fix: avoid assertion when terminating lte-softmodem process.

See merge request oai/openairinterface5g!341
2018-07-11 16:11:52 +02:00
Raphael Defosseux
ee8c4e8996 Merge branch 'issue324_gccwarnings' into 'develop'
Remove compilation warnings, also fix telnet server compilation failure and…

See merge request oai/openairinterface5g!340
2018-07-11 15:36:24 +02:00
Raphael Defosseux
3c3e928fb6 Merge remote-tracking branch 'origin/develop' into issue324_gccwarnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-11 15:01:41 +02:00
Raphael Defosseux
e8ea2f10cc Merge branch 'remove_wrong_prototypes_rlc_pdcp' into 'develop'
Remove wrong prototypes rlc pdcp

See merge request oai/openairinterface5g!338
2018-07-11 14:19:09 +02:00
Elena Lukashova
240c429956 1. Adding lapack-dev and lapacke-dev into the build script.
2. Remove get_pmi from  PHY_SRC_UE and add it instead to PHY_SRC_COMMON.
3. Linking lte-uesoftmodem and lte-uesoftmodem-nos1 targets with ${ATLAS_LIBRARIES}.
2018-07-10 17:58:14 +02:00
frtabu
000f5e80ea basic_simulator build should be Ok...this time. 2018-07-10 15:18:24 +02:00
Elena Lukashova
69d9c0f7c3 Adding lapack-dev and lapacke-dev to build script 2018-07-10 15:05:11 +02:00
Raymond Knopp
b2821c1f53 T tracer configuration identical for all executables, no ref to T Tracer config variables (T_port, T_wait...) outside the T tracer 2018-07-09 15:18:27 +02:00
Elena Lukashova
a9f583cd83 Correcting space in CMakeLists.txt 2018-07-08 17:03:31 +02:00
Elena Lukashova
647ed85345 Adapting PHY code to work with mex-functions:
1. Moving get_pmi into a separate file and making corresponding
changes in CMakeLists.txt.
2. Creating PHY_MEX library with functions required for the receiver
mex-functions.
3. Making necessary changes in defs_UE.h so that mex-functions
do not complain about multiple LOG_ calls.
2018-07-08 16:58:33 +02:00
Elena Lukashova
1d765027fe Extracting SISO llr computations in separate fucntions
qpsk_llr, qam16_llr, qam64_llqam64.
2018-07-06 18:38:13 +02:00
Elena Lukashova
0dfcff7504 1. Adding cblast and lapacke-based functions required for mmse computation
to linear_preprocessing_rec.c.
2. Adding linear_preprocessing_rec.c to PHY_SRC_UE library.
3. Adding mmse_flag and mmse functionalities to dlsch_demodulation.
4. For now, dlsim_tm4 will not compile.
2018-07-06 18:23:21 +02:00
Elena Lukashova
fe7ba1e641 Clean up for channel_level_core 2018-07-06 16:39:21 +02:00
Elena Lukashova
b9f9e24928 Extending dlsch_dual_steam_correlation for large number of antennas. 2018-07-06 16:23:35 +02:00
Elena Lukashova
b783554d4d Clean up of the commented code. 2018-07-06 16:22:01 +02:00
Elena Lukashova
0517367a6e Extending dlsch_channel_level to a larger number of
receive and transmit antennas.
2018-07-06 15:54:35 +02:00
Elena Lukashova
2d49ed99ed Extending channel compensation for larger number of receive
and transmit antennas.
2018-07-06 15:49:10 +02:00
Elena Lukashova
053ccd6b06 Extending MRC_TM34 for bigger number of receive and transmit antennas. 2018-07-06 15:31:36 +02:00
oai
719762ccab fix basic_simulator compilation failure 2018-07-06 15:30:02 +02:00
Elena Lukashova
9276a4ae07 1. Intorducing channel_compensation_core and channel_level_core
as more transparent functions independent from the number of
resource elements in RB. They will tream as many resource
elements as there is in the vector that is passed.
2018-07-06 15:22:21 +02:00
Raymond Knopp
230acb9e88 fixes to ulsim/dlsim and system simulator after merge 2018-07-06 07:42:57 +02:00
Raymond Knopp
494348e2f0 Merge remote-tracking branch 'origin/develop' into enhancement-rfsim 2018-07-06 06:24:31 +02:00
Haruki NAOI
80db773737 fix: avoid assertion when terminating lte-softmodem process. 2018-07-06 11:52:32 +09:00
Raymond Knopp
b4be5a4460 fixed ulsim for testcases 2018-07-05 23:09:30 +02:00
oai
bfecc0110b Remove compilation warnings, also fix telnet server compilation failure and NB-IoT shared lib compilation failure introduced when reviewing L1 sources organization 2018-07-05 17:37:38 +02:00
Haruki NAOI
823c838d21 Merge remote-tracking branch 'remotes/origin/develop' into issue321_tdd_config1 2018-07-05 11:15:30 +09:00
Haruki NAOI
4f52f5a748 fix: sync_cond is posted before eNB_thread_rxtx thread is not activated. 2018-07-05 10:13:17 +09:00
Raphael Defosseux
204488f879 Merge branch 'automatic_turbo_interleaver_table' into 'develop'
remove precomputed turbo codec interleaver table, remove useless F1 and F2…

See merge request oai/openairinterface5g!335
2018-07-04 10:00:10 +02:00
laurent
2b74085b21 Merge branch 'automatic_turbo_interleaver_table' of https://gitlab.eurecom.fr/oai/openairinterface5g into automatic_turbo_interleaver_table 2018-07-03 22:42:48 +02:00
laurent
2e3b588477 fix #include 2018-07-03 22:40:44 +02:00
laurent
6468f32c3b remove precomputed turbo codec interleaver table, remove useless F1 and F2 parameters to turbo codec (also remove global var dependancy between libraries) 2018-07-03 22:40:44 +02:00
Raphael Defosseux
4078b57313 Merge branch 'develop' into automatic_turbo_interleaver_table
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-03 16:58:22 +02:00
Raphael Defosseux
668c2d8d9b Merge branch '322-code-cleanup-log_m-to-replace-write_output' into 'develop'
Resolve "Code cleanup - LOG_M to replace write_output"

See merge request oai/openairinterface5g!336
2018-07-03 16:49:51 +02:00
Raphael Defosseux
f3b5f5433c Merge branch 'develop' into '322-code-cleanup-log_m-to-replace-write_output'
# Conflicts:
#   openair1/PHY/LTE_UE_TRANSPORT/srs_modulation.c
2018-07-03 15:48:19 +02:00
laurent
d9bf7c8c6b fix in megre 2018-07-03 15:42:26 +02:00
laurent
912e579100 merge with others 2018-07-03 15:31:29 +02:00
laurent
d76ac32759 remove public/protected macros in lists, mem_blocks 2018-07-03 14:54:55 +02:00
Raphael Defosseux
21fd147cd8 Merge branch '312-minor-modifications-to-crc-code' into 'develop'
Resolve "Minor modifications to CRC code"

See merge request oai/openairinterface5g!319
2018-07-03 14:45:24 +02:00
laurent
45599fe4a2 full remove of prototype macros in rlc and dpcp 2018-07-03 13:50:59 +02:00
Raphael Defosseux
edec2f6c5f CI: hotfix -- bash syntax error
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-03 13:14:53 +02:00
Raphael Defosseux
3cdad2d031 CI: hotfix: stability
-- adding sudo apt-get update for all variants

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-07-03 12:59:04 +02:00
laurent
fcd4aba0de after correct compile 2018-07-03 12:56:20 +02:00
Raphael Defosseux
12a4de374c Merge branch '320-code-cleanup-removal-of-if-0' into 'develop'
Resolve "Code cleanup - removal of "#if 0""

See merge request oai/openairinterface5g!329
2018-07-03 12:01:22 +02:00
Cedric Roux
e5d8179b76 hotfix: clear memory after allocation
(cherry picked from commit 71dacd442d)
2018-07-03 10:21:33 +09:00
Haruki NAOI
ab451412de fix: pdcp_update_stats() function stalls when eNB is compiled with "--mu" options. 2018-07-02 19:15:06 +09:00
Raymond Knopp
dd22040da2 updated to dlsim test cases. Some constraints were relaxed (w.r.t. 3GPP UE performance targets) in order for all tests to pass. 2018-06-30 09:00:12 +02:00
Raymond Knopp
3289526cde compilation ok. 2018-06-29 15:34:19 -07:00
Raymond Knopp
934373e1d9 bugfix in dci_tools_ue.c (check_format1_1a_coherency issue) 2018-06-29 15:31:23 -07:00
Raphael Defosseux
0a9225082f CI: hotfix: syntax error in Jenkins pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-29 17:25:55 +02:00
Raphael Defosseux
70e9b3ef7f Merge branch 'develop-ci' into 'develop'
CI: stability improvement

See merge request oai/openairinterface5g!337
2018-06-29 17:22:13 +02:00
Raphael Defosseux
c3d1aac90a CI: stability / cosmetics improvements
-- Stability issues when installing packages for USRP variants on new VM
     It sometimes timed-out
     Added loop up to 5 tries to add apt-repository
  -- Temporary merge during MergeRequest processing now returns an
     error when there are any conflicts
     Will stop the whole build
  -- Physical simulator now has a XLST for the XML result

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-29 16:43:37 +02:00
Haruki NAOI
9696e229c1 fix: round is not match between layer1 and layer2. 2018-06-29 17:45:15 +09:00
Raymond Knopp
7f2459ed09 testing for TDD (configuration 1) 2018-06-29 01:17:18 -07:00
Raymond Knopp
5a808cb1ca Merge branch 'develop' into enhancement-rfsim
Conflicts:
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/RRC/LTE/rrc_UE.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-uesoftmodem.c
2018-06-28 14:54:15 -07:00
Raymond Knopp
d0926ec041 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop
Conflicts:
	targets/RT/USER/lte-uesoftmodem.c
2018-06-28 14:49:23 -07:00
Raymond Knopp
ecfad451d8 added sample TDD configuration files 2018-06-28 14:45:50 -07:00
Raymond Knopp
27892e0935 Merge remote-tracking branch 'origin/develop' into enhancement-rfsim
Conflicts:
	cmake_targets/build_oai
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-uesoftmodem.c
2018-06-28 14:44:47 -07:00
Raphael Defosseux
e63ff57137 CI: hotfix
-- calling twice phy-sim test

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-28 15:08:53 +02:00
bruno mongazon
f0bb6f8e5d Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into 322-code-cleanup-log_m-to-replace-write_output 2018-06-28 14:17:24 +02:00
Raphael Defosseux
9f299e77e6 CI: hotfix
-- Corrected the long option version for variant in test run script
  -- added proper test in zip command in pipeline

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-28 14:16:50 +02:00
bruno mongazon
08e0571cb5 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into 322-code-cleanup-log_m-to-replace-write_output 2018-06-28 14:16:38 +02:00
bruno mongazon
94611edefe fix issue #322 2018-06-28 14:15:15 +02:00
Haruki NAOI
fa56147570 fix some warnings. 2018-06-28 21:06:31 +09:00
Raphael Defosseux
8b833dfe99 Merge branch 'develop-ci' into 'develop'
CI: running physical simulator tests

See merge request oai/openairinterface5g!334
2018-06-28 13:43:46 +02:00
Raphael Defosseux
a92fbe7c6e CI: Finalize phy-sim test status
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-28 11:39:22 +02:00
Raphael Defosseux
6e28bfe6eb CI: First run of tests
-- on physical simulators
  -- no proper report yet

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-28 11:39:22 +02:00
Cedric Roux
71dacd442d hotfix: clear memory after allocation 2018-06-27 18:02:58 +02:00
yilmazt
8d5a66e537 edci.c minor increment update 2018-06-27 11:46:06 +02:00
Haruki NAOI
c8bff02efa fix: assertion occurs in nack_or_dtx_reported() function when RRCConnectionSetup moves. 2018-06-27 17:39:43 +09:00
Raphael Defosseux
25d36e3a5b Merge branch 'develop-ci' into 'develop'
CI: fixing typos

See merge request oai/openairinterface5g!333
2018-06-26 17:27:29 +02:00
Raphael Defosseux
c0e2a0105b CI: litte syntax / typos
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-26 17:00:57 +02:00
Raphael Defosseux
a6551640e5 CI: hotfix :: Virtual machines are started sequentially to prevent crashes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-26 15:35:35 +02:00
bruno mongazon
7a5c40c130 fix issue #320 after having to merge with develop again since committed in the meantime 2018-06-26 15:08:49 +02:00
Sebastian Wagner
9f85621977 Constant arrays in HEX 2018-06-26 14:29:24 +02:00
Raphael Defosseux
545435370f Merge branch 'develop-ci' into 'develop'
CI: adding Ethernet-transport variants to build

See merge request oai/openairinterface5g!332
2018-06-26 14:12:07 +02:00
Raphael Defosseux
d8560bba2b CI: adding Ethernet-transport variants to build
-- fix cmake file for missing header in --noS1 option

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-26 13:40:06 +02:00
Raphael Defosseux
c64c5b25fb CI: fix in -k option syntax
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-26 13:40:06 +02:00
Raphael Defosseux
348d9aaade CI: enhancements
-- VM are kept alive to prepare for running tests
  -- Added destroy script to kill all VM after run
  -- VM names are now based on jobname and buildid

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-26 13:40:06 +02:00
laurent
948df46d55 remove precomputed turbo codec interleaver table, remove useless F1 and F2 parameters to turbo codec (also remove global var dependancy between libraries) 2018-06-26 13:10:56 +02:00
Sebastian Wagner
467eb9203e Truncated long lines 2018-06-26 12:37:14 +02:00
Cedric Roux
76ff65862a Merge remote-tracking branch 'origin/issue319_fairRR_fdd' into develop 2018-06-26 12:30:24 +02:00
Sebastian Wagner
4a523a394d Arrays for CRC calculation are defined as constants. 2018-06-26 12:05:30 +02:00
Bing-Kai Hong
a21258ece7 Update the F1 messages and build scripts for proper generation of F1 messages 2018-06-26 10:58:46 +02:00
Cedric Roux
d789166d4c hotfix: disable phy_test_mode in default configuration file 2018-06-26 10:49:22 +02:00
Cedric Roux
142fa8f4da hotfix: remove code that deadlocks
We have to not call that function here because
it blocks everything if number of proc > 4.
2018-06-26 10:43:31 +02:00
Haruki NAOI
cbed24fc2b fix: PHY_TX_THREAD option doesn't work if processor has more than 5 cores. 2018-06-26 15:28:43 +09:00
Haruki NAOI
76282a84b8 fix: nb_rbs is not correctly pass to per-prosessor when fairRR scheduler is used. 2018-06-26 15:23:15 +09:00
bruno mongazon
107e256170 fixed #320 issue 2018-06-25 18:42:31 +02:00
bruno mongazon
b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux
923817d863 Merge remote-tracking branch 'origin/fix-nfapi-L2-emulator' into develop 2018-06-22 16:29:38 +02:00
matzakos
27a62710cd Merge remote-tracking branch 'origin/develop' into fix-nfapi-L2-emulator 2018-06-22 10:49:39 +02:00
Raphael Defosseux
b34e6d4537 Merge branch 'develop-ci' into 'develop'
CI: stability fix

See merge request oai/openairinterface5g!328
2018-06-22 10:08:12 +02:00
Raphael Defosseux
1231aa98a1 CI: stability fix
-- when unzip, added --DD option: skip restoration of timestamps for all extracted items.
     should resolve clock skew issues

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-22 09:53:42 +02:00
Raymond Knopp
fb4d10c83a Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-06-21 23:13:47 -07:00
matzakos
74d1853ef6 Minor modifications to make nfapi-L2-emulator work again and redundant logs removal. 2018-06-21 17:56:29 +02:00
Raphael Defosseux
e595ec7c73 Merge branch 'develop-ci' into 'develop'
eNb CI Integration Job builds using temporary virtual machines in parallel

See merge request oai/openairinterface5g!327
2018-06-21 16:48:48 +02:00
Raphael Defosseux
2ac3c5832a CI: improvements
-- remove extra build options (not necessary anymore)
  -- fix in reporting

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Raphael Defosseux
89344c5dab CI: improvements
-- missing phy simulator logs in artifacts
  -- enhancement on HTML report

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Raphael Defosseux
854247d265 CI: Adding Static Code Analysis stage
-- new stage in parallel on a VM
  -- detailed reporting of CPPCHECK
  -- Option to keep vm alive after build (not used yet on jenkins pipeline)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Raphael Defosseux
20db2d2f77 CI: Improvements:
-- Added VM-build support for physical simulators
 -- More details in the reported HTML files

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Raphael Defosseux
29ffb11693 CI: fix on the pass pattern for basic simulator
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Raphael Defosseux
5df3d10dd6 CI: Fixes on the VM-based Jenkins scripts
-- quieter zip of the repository
 -- remove clock skew and flexran.proto in the warning count
 -- increase to 4 CPU on VM
 -- created a new template to use host cpu properties (resolve AXV2 compilation issue)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Raphael Defosseux
edebdf8698 CI: Introducing parallel builds on Virtual Machines
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-21 16:43:51 +02:00
Cedric Roux
59b31dbb2d Merge remote-tracking branch 'origin/develop_integration_2018_w25' into develop
Summary of changes:
- import work from Fujitsu:
    - multiple UEs
    - TDD configuration 1
- several bugs fixed:
    - UE power changes
      this one introduces two new parameters in the configuration file,
      update yours! The new parameters are "puSch10xSnr" and "puCch10xSnr".
      See targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
    - IQ replay module
    - use MAKE_VERSION(x,y,z) instead of RRC_VERSION
    - some UE fixes

Some new problems may happen. The work from Fujitsu was huge
and their branch diverged a lot from develop, leading to a very
complex merge.

The UE power management may also have an impact. It expects the noise
level to be at around 30 (as seen in the enb T tracer, in the
"input signal" view) and asks for an SNR of 20dB (value 200 for puSch10xSnr
and puCch10xSnr in the configuration file). You may want to put a
lower value, say 100 (SNR of 10dB). This is still work in progress
and needs some more work (we need to calculate the noise level at
runtime and not use a hardcoded value of 30).
2018-06-21 15:00:26 +02:00
Cedric Roux
c221af02db minor: update documentation of basic simulator's compilation. 2018-06-21 10:06:42 +02:00
Cedric Roux
b6fd23caaf fix: revert increasing size of MEM_MNGT_MB5_NB_BLOCKS
This commit reverts the change coming from
675fd0af4e.

On a test machine, running the basic simulator (both eNB, UE
and T tracer) with 100 RBs eats too much of memory on a computer
with 8GB of RAM, leading to a reboot because the computer
was not responsive anymore.

Other solutions are needed to solve the memory issues, but
multiplying by 50 this number is not a good one, at least
not in the basic mode of operation. If this value needs
to be that big, a #ifdef #else #endif may be used.
2018-06-20 11:00:56 +02:00
Raymond Knopp
53ca36d244 compilation with 'T' fixed 2018-06-19 10:05:09 -07:00
Raymond Knopp
011818e91e extraction of RU control functions from lte-ru.c. Removal of mobipass fronthaul. 2018-06-19 03:51:52 -07:00
Cedric Roux
45cf2e1b8b set pucch_n1_AN to 0
Same idea as commit cce51f69bc.
2018-06-19 11:33:57 +02:00
Cedric Roux
4dfaf50977 fix compilation of dlsim/ulsim
The following command did not work anymore:
    ./build_oai --phy_simulators
2018-06-19 10:11:15 +02:00
Cedric Roux
b04ff22645 fix compilation of ue_ip kernel module
May not be the best solution. Maybe we can pass -DXX=XX
on the command line somehow.
2018-06-18 17:19:26 +02:00
Cedric Roux
b65af94d47 Merge remote-tracking branch 'origin/311-encapsulate-lte_gold_generic-functionality' into develop 2018-06-18 16:25:57 +02:00
Cedric Roux
0c445bedda Merge remote-tracking branch 'origin/bugfix-310-IQrecplay' into develop 2018-06-18 16:25:48 +02:00
Cedric Roux
d579a74e54 Merge remote-tracking branch 'origin/migrate_rel10_rel14_to_make_version' into develop 2018-06-18 16:25:39 +02:00
Cedric Roux
9adf1999db Merge remote-tracking branch 'origin/oai_ue_fixes' into develop
Conflicts:
	openair2/RRC/LTE/rrc_eNB.c
2018-06-18 16:13:06 +02:00
Cedric Roux
2f639e45b6 Merge remote-tracking branch 'origin/ulSNRs' into develop
Conflicts:
	openair2/ENB_APP/MACRLC_paramdef.h
	openair2/LAYER2/MAC/mac.h
2018-06-18 16:01:25 +02:00
Cedric Roux
68f0027830 Merge remote-tracking branch 'origin/mu_with_tdd1' into develop 2018-06-18 16:00:14 +02:00
Cedric Roux
4ba4d43aa6 set proper default values for puSch10xSnr and puCch10xSnr
20 was wrong, it means 2 dB.

200 is a bit high on my setup. Today the code hardcodes the noise
level as 30dB and a target of 20dB above noise is chosen by default.
Some more work is needed to estimate the real noise level. Some
more work is needed to set proper defaults.
2018-06-18 12:51:02 +02:00
Cedric Roux
437bd9cbe1 minor: cleaner indentation 2018-06-18 11:33:47 +02:00
Cedric Roux
2e389d61a0 bugfix: bzero was not called if allocating memory 2018-06-18 11:32:57 +02:00
Haruki NAOI
0fb553916b Fix: modify temporary disabled code by the commit of 5c6ad3142d. 2018-06-18 15:29:17 +09:00
Bing-Kai Hong
05c0ab1a76 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split 2018-06-15 14:33:25 +02:00
Cedric Roux
a7db85a6c2 put back variables in the local stack 2018-06-15 12:31:56 +02:00
Wang Tsu-Han
0b405e3d2b throughput fix for sdu and config file change back to 93 2018-06-15 12:14:34 +02:00
Raphael Defosseux
49829f6928 Merge branch 'develop-ci' into 'develop'
eNb CI Integration Job builds locally basic simulator

See merge request oai/openairinterface5g!323
2018-06-15 10:12:00 +02:00
Raphael Defosseux
6f6c90cba8 Proper exit status on local build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-15 09:47:16 +02:00
Raphael Defosseux
f9f7e7c5af fix syntax
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-15 09:47:16 +02:00
Raphael Defosseux
4c92d6785e Improvements on Jenkins file:
- comment to GitLab merge-request does not anymore # as number (misinterpreted as issue number)
  - added local build script w/ generation of HTML result file
Improvements on bash scripts:
  - use of proper option parsing

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-15 09:47:16 +02:00
Cedric Roux
cce51f69bc set value of pucch_n1_AN to 0 everywhere by default
Since now pucch_n1_AN is taken from the configuration file,
it has to be set to 0. Value 32 will not work well, at least
in FDD. This has to be handled properly at some point
(do not use uplink resource blocks used by PUCCH for PUSCH).
2018-06-14 16:51:53 +02:00
Cedric Roux
dde219c81b bugfix: fix usage of bundling
Do not set 'bundling' for FDD, that breaks ULSCH decoding.
2018-06-14 16:49:58 +02:00
Haruki NAOI
86802258dd Merge branch 'mu_with_tdd1' of https://gitlab.eurecom.fr/oai/openairinterface5g into mu_with_tdd1 2018-06-14 18:43:00 +09:00
Cedric Roux
6cd761589e bugfix: fix T trace 2018-06-14 10:26:47 +02:00
Haruki NAOI
e84fd27ec1 Fix: build fails when executing build with option "--mu" 2018-06-14 16:49:45 +09:00
Raymond Knopp
bafd6fbe75 removed logging, fixed drs_modulation after recent change 2018-06-12 14:23:35 -07:00
Cedric Roux
5c6ad3142d Merge remote-tracking branch 'origin/develop' into mu_with_tdd1
The monolithic eNodeB is not fully functional in FDD.

The TDD mode has not been tested.

Do not consider this commit as functional.

Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	common/utils/itti/intertask_interface.c
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/pusch_pc.c
	openair2/COMMON/platform_types.h
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/MAC/mac_proto.h
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/RLC/rlc.c
	openair2/LAYER2/RLC/rlc_rrc.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	openair2/UTIL/LOG/log.h
	targets/COMMON/openairinterface5g_limits.h
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
2018-06-12 16:23:36 +02:00
Wang Tsu-Han
e4a7318877 Merge branch 'develop' into parallel-phy-test-EMUFH
Conflicts:
	openair1/PHY/defs_eNB.h
	targets/RT/USER/lte-enb.c
2018-06-12 16:18:45 +02:00
Wang Tsu-Han
0915a0e66b fixes for frequency adjustment at 20MHz and disableing decoding worker 2018-06-12 15:53:15 +02:00
Cedric Roux
c88284da05 bugfix: fix compilation of the basic simulator
We need to build the softmodem first, otherwise
compilation of the lib 'config' fails because
of the T tracer.
2018-06-12 15:51:03 +02:00
Raphael Defosseux
076781915f another script location fix
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-12 15:04:09 +02:00
Raphael Defosseux
9b51d61276 Location of scripts was incorrect
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-12 14:44:27 +02:00
Raphael Defosseux
e4a772965a Fixing pipeline syntax error
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-12 14:42:27 +02:00
Raphael Defosseux
346e8fb719 First draft of the CI scripts
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-12 14:37:42 +02:00
Raymond Knopp
502d6658a0 modification of receive timeout in ethernet library (for fronthaul simulation to setup on slow machines)
removal of some logging in lte-ru
2018-06-12 01:51:06 -07:00
Raymond Knopp
5e991ecc3d fixed compilatiaon issues after merge with develop and enhancement-rfsim. Intitial testing with emulator. 2018-06-10 17:10:16 -07:00
Raymond Knopp
45dc7ed608 Merge branch 'enhancement-rfsim' into ru_rau_enhancement
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/SIMU/USER/channel_sim.c
	targets/SIMU/USER/oaisim.c
	targets/SIMU/USER/oaisim_config.c
	targets/SIMU/USER/oaisim_functions.c
2018-06-10 15:14:09 -07:00
Raymond Knopp
6ecf336ae7 missing declaration 2018-06-10 14:29:45 -07:00
Wang Tsu-Han
bc691f05c5 bug fix for QPSK modulation 2018-06-08 19:29:12 +02:00
Raymond Knopp
cffb083914 Merge branch 'ru_rau_enhancement' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement
Conflicts:
	targets/RT/USER/lte-ru.c
2018-06-06 08:12:41 +02:00
Massive
59a07e2117 testing with 2 RUS (changes in default precoder) 2018-06-06 07:46:16 +02:00
Raymond Knopp
c2ad982b76 vcd debugging for RF simulator 2018-06-05 05:47:43 -07:00
Raymond Knopp
f1ddab49dc Merge branch 'enhancement-rfsim' of https://gitlab.eurecom.fr/oai/openairinterface5g into enhancement-rfsim 2018-06-05 01:36:58 -07:00
Raymond Knopp
74c7d3efc4 Merge branch 'develop' into enhancement-rfsim
Conflicts:
	targets/RT/USER/lte-uesoftmodem.c
2018-06-04 22:33:07 -07:00
Raymond Knopp
6416c6d4ea minor changes to remove global variable in dci handling 2018-06-04 22:31:43 -07:00
Florian Kaltenberger
432ad112c5 fixing implicit declaration warning 2018-06-04 07:45:28 -07:00
Sebastian Wagner
ee91f661fb Added missing file lte_gold_generic.c 2018-06-04 16:27:17 +02:00
Sebastian Wagner
6742d6f471 Encapsulated lte_gold_generic functionality 2018-06-04 16:09:10 +02:00
bruno mongazon
acbd1f1f7d fix issue 310 IQrecplay 2018-06-04 13:05:13 +02:00
sharma
3c1c5a1508 merge in changes from local copy which were made just prior to Orange Research Day demonstration 2018-06-04 08:15:16 +02:00
Raymond Knopp
79de529592 removed undef in lte-softmodem.h 2018-06-04 01:36:11 +02:00
Raymond Knopp
8dd9cf3c86 creation of simulation data structure. some cleanup and testing with multiple UEs 2018-06-04 00:12:48 +02:00
Raymond Knopp
c3c6284b83 Merge remote-tracking branch 'origin/develop' into enhancement-rfsim 2018-06-03 08:57:24 +02:00
Raymond Knopp
b91a763065 removal of dead include 2018-06-03 08:56:33 +02:00
Raymond Knopp
71f0135a89 removal of dead oaisim-related files 2018-06-03 08:51:47 +02:00
Raymond Knopp
293110e2cc cleanup of warnings and default parameters for simulator target 2018-06-03 08:48:42 +02:00
Raymond Knopp
897de9f8e2 testing of rf simulation in UE 2018-06-02 10:10:35 -07:00
Wang Tsu-Han
7e00727ce7 using accelarated modulation 2018-05-31 14:27:54 +02:00
Wang Tsu-Han
b40215665a fixes for printing single thread fep timing measurment 2018-05-31 14:20:18 +02:00
Raymond Knopp
fa8b42c0d5 debugging of --siml1 2018-05-31 13:57:48 +02:00
Raymond Knopp
16b7faaafa added missing .h file 2018-05-30 17:52:49 -07:00
Raymond Knopp
eb363157c6 moved simulation target into lte-uesoftmodem with --simL1 option 2018-05-30 17:49:55 -07:00
Raymond Knopp
6bbe833735 fixing for testing 2018-05-30 16:40:27 +02:00
Bi-Ruei, Chiu
f097cca7a5 Compare RRC_VERSION with MAKE_VERSION(x,y,z) macro to provide better SW configuration
To minimize migration effort, we follow the logic of legacy macro Rel10 and Rel14 used
for conditional compilation of current code.

In the future, they might be changed to accommodate finer software configuration, e.g.
MAKE_VERSION(12,2,0) or MAKE_VERSION(13,1,0) .... etc.
2018-05-29 18:00:58 +08:00
Florian Kaltenberger
9edcd9b961 Merge remote-tracking branch 'origin/develop' into oai_ue_fixes 2018-05-29 01:06:54 -07:00
Rajeev Gangula
c5c66eeb4a Merge branch 'develop' into ulSNRs
Conflicts:
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/mac.h
2018-05-29 09:50:05 +02:00
Cedric Roux
3fd2470533 Merge remote-tracking branch 'origin/fix-unitary-simulations' into develop 2018-05-29 09:38:00 +02:00
Haruki NAOI
a3329b562c Merge commit '8471bd14e2e400887e7419d3307921a1401e2823' into mu_with_tdd1
# Conflicts:
#	common/utils/itti/intertask_interface.c
#	openair1/SCHED/phy_procedures_lte_eNb.c
2018-05-29 14:52:19 +09:00
Haruki NAOI
f5239e0905 Merge remote-tracking branch 'remotes/origin/ues_test' into mu_with_tdd1
# Conflicts:
#	common/utils/itti/intertask_interface.c
#	openair1/SCHED/fapi_l1.c
#	openair1/SCHED/phy_procedures_lte_eNb.c
2018-05-29 14:32:13 +09:00
Masayuki HARADA
8471bd14e2 Merge remote-tracking branch 'origin/sp3_master' into scd_refactoring 2018-05-29 14:30:02 +09:00
Haruki NAOI
18bd37f913 Revert "Fix: TDD uci_procedures misdeal pucch format1a."
This reverts commit c652a883ff.
2018-05-29 14:29:00 +09:00
Masayuki HARADA
fb054e6523 Merge branch 'sp3_master' into scd_refactoring
# Conflicts:
#	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
2018-05-29 14:24:25 +09:00
Raymond Knopp
b036b18afe moved sidlink L1 functions to LTE_UE_TRANSPORT, corrected issue related to "find_dlsch" which is needed to compile UE and creates problem for unitary simulations (moved to lte-ue.c application) 2018-05-28 11:09:38 -07:00
Cedric Roux
4b943d4b7b Merge remote-tracking branch 'origin/develop_integration_2018_w19' into develop
Summary of changes:
- split UE and eNB directories
- nFAPI L2 emulator
- basic simulator
- various bug fixes

The nFAPI L2 emulator is not functional yet. Some code had to be removed
because it made the monolithic eNB non functional.

The unitary simulators (ulsim, dlsim) do not compile anymore. This will
be fixed later.
2018-05-28 17:31:09 +02:00
Raymond Knopp
d9568d2c06 bugfix after merge 2018-05-28 15:31:14 +02:00
Cedric Roux
b66b872928 integration fix: remove warnings
Remove warnings found while running:
    ./build_oai --UE -c -w USRP

And:
    ./build_oai --basic-simulator -c
2018-05-28 12:44:14 +02:00
Raymond Knopp
8a11946f73 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement 2018-05-28 11:53:34 +02:00
Raymond Knopp
a0e193c5e8 fixing conflicts 2018-05-27 05:27:58 +02:00
Raymond Knopp
3864136700 fixing conflicts 2018-05-26 06:30:36 +02:00
Raymond Knopp
285e01943d fixing conflicts 2018-05-26 06:26:33 +02:00
Raymond Knopp
8364b4f97d adding thread_tx from develop 2018-05-26 05:49:49 +02:00
Cedric Roux
ed49592754 integration fix: remove warnings
Remove warnings popping up on:
    ./build_oai --eNB -w USRP

Maybe not always the best solution.
2018-05-24 17:15:42 +02:00
Haruki NAOI
14740aec74 Merge remote-tracking branch 'remotes/origin/rm916_bugfix' into sp3_master 2018-05-24 21:22:38 +09:00
Haruki NAOI
c652a883ff Fix: TDD uci_procedures misdeal pucch format1a. 2018-05-24 20:08:27 +09:00
Haruki NAOI
ab32cefbe2 Revert "fix DLSCH no retransmission"
This reverts commit 24c669f394.
2018-05-24 20:01:37 +09:00
Masayuki HARADA
91db46b6ba Merge branch 'rm917_bugfix' into sp3_master 2018-05-24 17:06:10 +09:00
Wu Jing
a37c29eb80 fix rm971 bug(delete #if 0) 2018-05-24 16:44:28 +09:00
Masayuki HARADA
17c761afbe Merge branch 'rm918_bugfix' into sp3_master 2018-05-24 13:22:59 +09:00
Masayuki HARADA
44210a0a88 Fix PUSCH decode failure when recieve power is too high situation. 2018-05-24 13:21:37 +09:00
Florian Kaltenberger
81ac396187 Merge branch 'develop' into oai_ue_fixes 2018-05-22 06:25:09 -07:00
Wu Jing
fadba8a1ed fix rm917 bug 2018-05-22 18:42:35 +09:00
jftt_wangshanshan
843e7c8fc4 Change SR detection for TDD for compliance with FDD. (try) 2018-05-21 16:43:12 +08:00
Wang Tsu-Han
a34dc257aa diable worning of MAC not having the rnit with phy-test mode 2018-05-18 16:57:15 +02:00
Masayuki HARADA
ff604660fe delete UE_EXPANSION route 2018-05-18 10:58:26 +09:00
Haruki NAOI
8bec50653f Fix: eNB output core dump file when exiting eNB process. 2018-05-18 10:01:07 +09:00
Wang Tsu-Han
c6e8419839 remove print 2018-05-17 11:44:51 +02:00
Masayuki HARADA
f55bd83d55 select scheduler by config file 2018-05-17 18:27:09 +09:00
Wang Tsu-Han
003c4b6cb0 numerology fix 2018-05-17 11:01:58 +02:00
Masayuki HARADA
dc76ce82f3 Fix link error 2018-05-17 11:36:18 +09:00
Masayuki HARADA
677ad4298c Devide source file of scheduler 2018-05-17 10:48:39 +09:00
Wang Tsu-Han
4fdbfc31ee adding timing check for emulate-rf 2018-05-16 16:18:50 +02:00
Cedric Roux
f9aac56e84 fix: let ue_ip.ko compile
MAX_MOBILES_PER_ENB cannot be used to compile ue_ip
because it is defined in platform_constants.h and this
cannot be included to compile a kernel module.

Let's use NUMBER_OF_UE_MAX as it was before instead.
2018-05-15 17:43:35 +02:00
Cedric Roux
343bbbac68 Merge remote-tracking branch 'origin/feature-better-sw-configuration-between-various-version' into develop_integration_2018_w19
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/sched_common.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
	openair2/LAYER2/RLC/rlc.c
	openair2/PHY_INTERFACE/defs.h
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/SIMU/USER/oaisim_functions.c
2018-05-15 17:43:12 +02:00
Cedric Roux
1038590489 Merge remote-tracking branch 'origin/feature-ubuntu-18.04-build-usrp' into develop_integration_2018_w19 2018-05-15 15:33:28 +02:00
Cedric Roux
96b1d47552 Merge remote-tracking branch 'origin/fix-rdtsc' into develop_integration_2018_w19 2018-05-15 15:30:53 +02:00
Cedric Roux
a42e2de0e0 Merge remote-tracking branch 'origin/bugfix-add-error-indication-handling' into develop_integration_2018_w19 2018-05-15 15:23:00 +02:00
Wang Tsu-Han
7e10daaf14 bug fix for phy-test DL 2018-05-15 15:21:32 +02:00
Cedric Roux
bdda76430f Merge remote-tracking branch 'origin/fixes-T-tracer-2018-w17' into develop_integration_2018_w19 2018-05-15 15:20:12 +02:00
Masayuki HARADA
0ffd0ffe18 Change default value of PHY_TX_THREAD and PRE_SCD_THREAD, when UE_EXPANSION is true. 2018-05-15 20:14:58 +09:00
Cedric Roux
f7b3ea03a3 fix: hacks to have the UE functional again
The new 'basic simulator' is now functional.
A proper solution is needed to deal with SIB18/19/21
for the D2D functionality.
2018-05-15 12:09:31 +02:00
Cedric Roux
689f98ea9d fix compilation of lte-uesoftmodem 2018-05-15 12:07:40 +02:00
Masayuki HARADA
de1996ec3e change compile option from UE_EXPANSION to UE_EXPANSION,PHY_TX_THREAD,PRE_SCD_THREAD. 2018-05-15 17:37:43 +09:00
Cedric Roux
11a1dd090c fix: hack to have the UE compile
This is a quick and dirty solution, something better is needed.
2018-05-15 09:55:11 +02:00
Wu Jing
24c669f394 fix DLSCH no retransmission 2018-05-15 14:52:39 +09:00
Wu Jing
38363b10e3 fix rm916 bug 2018-05-15 14:42:33 +09:00
Cedric Roux
5fcc9a6106 bugfix: fix compilation of basic simulator
- conf2uedata compilation was not properly started
- success/failure of compilation of UE and eNB
  was not handled properly
2018-05-14 17:31:30 +02:00
Cedric Roux
351ca5e726 Merge remote-tracking branch 'origin/basic-simulator' into develop_integration_2018_w19
Conflicts:
	openair1/PHY/LTE_TRANSPORT/prach.c
	targets/RT/USER/lte-ue.c
2018-05-14 17:30:18 +02:00
Cedric Roux
7da4367cb7 Merge remote-tracking branch 'origin/fix-remove-lte-ran-file' into develop_integration_2018_w19
Conflicts:
	openair1/PHY/defs_eNB.h
2018-05-14 16:34:50 +02:00
Cedric Roux
68479fa4f8 Merge remote-tracking branch 'origin/develop-uedirectorysplit' into develop_integration_2018_w19
Status so far:
- monolithic eNB compiles and is functional with 1 UE in FDD, 5/10/20MHz.
  For 20MHz we don't have a nice TCP downlink (on haswell).
- oaisim does not compile
- UE does not compile
- phy simulators don't compile
- many new warnings

Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/SCHED/pusch_pc.c
	openair1/SCHED/sched_common.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_mch.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/MAC/ra_procedures.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_defs.h
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-ue.c
2018-05-14 16:28:04 +02:00
Wang Tsu-Han
db7b1f5903 phy test fix 2018-05-14 11:18:41 +02:00
Rajeev Gangula
899f50456e Changed config files to update ul channel SNRs. 2018-05-14 10:28:30 +02:00
Raymond Knopp
0ad9ab947c dmrs-based OTA synchronization for RU 2018-05-13 15:53:59 -07:00
Raymond Knopp
fe861bf49e compilation passes and 1 UE simulation ok. 2018-05-13 05:16:57 -07:00
Raymond Knopp
0b89046a81 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-05-13 00:47:48 -07:00
Bi-Ruei, Chiu
02aeb1c16d Build eNB using USRP on Ubuntu 18.04 2018-05-13 10:45:48 +08:00
Cedric Roux
ad46183e23 fix rdtsc usage
One user had a problem compiling oaisim.
This commit fixes it.

The compilation log was saying:

    targets/RT/USER/lte-ue.c:
    In function UE_thread_rxn_txnp4:

    openair2/UTIL/LOG/log.h:370:3:
    error: inconsistent operand constraints in an asm

         __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d));

         ^
2018-05-11 14:21:05 +02:00
Haruki NAOI
bb6d116551 Merge remote-tracking branch 'remotes/origin/rm902_bugfix_sp3_master_base' into sp3_master 2018-05-10 12:52:43 +09:00
Wu Jing
7807e677e7 fix RM902 base on sp3_master 2018-05-10 11:53:06 +09:00
Haruki NAOI
54a36ff54d Merge remote-tracking branch 'remotes/origin/rm804_bugfix2' into sp3_master 2018-05-10 11:40:16 +09:00
Rajeev Gangula
dc9b0fa53a Added uplink channels SNR in config file. 2018-05-09 15:55:36 +02:00
Cedric Roux
f488673e80 Merge remote-tracking branch 'origin/nfapi-L2-emulator-for-develop' into develop_integration_2018_w19 2018-05-09 14:51:48 +02:00
Haruki NAOI
11d9a286c1 Merge remote-tracking branch 'remotes/origin/rm894_assertion' into sp3_master 2018-05-09 20:29:14 +09:00
jftt_wangshanshan
0928f049bb Fix cqi_req_flag, to prevent continously schedule cqi after set it to 1 and before actually receive it at the right subframe. 2018-05-09 18:22:22 +08:00
Cedric Roux
f254107b24 import work from the branch nfapi-L2-emulator to merge it to develop
It was not possible to merge the branch directly, because the
history of this branch contains files that cannot be in the
repository, namely wireshark from Cisco work on nFAPI.

As for Cisco work on nFAPI, a special commit containing all the
work is thus created.

Below is the output of the command:
git log --graph 184d51c6eabe8d76ee0adaefca4c295393bdeb7d..61276d87106465220b1c27424077f244837b4578

184d51c6ea is the commit ID of the develop
branch prior to the merge.

61276d8710 is the commit ID of the
nfapi-L2-emulator branch prior to the merge.

The commit 61276d8710 (and all its
history) will be removed from the main OAI repository. It is
present in the internal OAI repository for those who have access
to it.

There was also some cleanup done on the code.

Some changes were necessary to have the eNB functional. They may have an
impact on the FAPI L2 simulator, which may be non-functional and requires
some work to be functional (and not break other use cases).

The most critical ones are:
- in openair2/RRC/LITE/MESSAGES/asn1_msg.c, in the function do_SIB23:
  SIB 18/18/21 are not included because they make the MAC message to
  big for the SIB scheduler
- in targets/RT/USER/lte-enb.c, in the function eNB_thread_rxtx,
  the following code has not been included because it breaks the
  regular eNB:
     //Panos: NEW ACHECK FOR VNF HERE!
     //if(nfapi_mode!=2){
     if(get_nprocs() >= 8)      wakeup_tx(eNB,eNB->proc.ru_proc);
     else if(get_nprocs() > 4)
     {
       LOG_I(PHY, "Panos-D: In eNB_thread_rxtx() before re-calling phy_procedures_eNB_TX() and wakeup_txfh() \n");
       phy_procedures_eNB_TX(eNB, proc, no_relay, NULL, 1);
       wakeup_txfh(proc,eNB->proc.ru_proc);
     }

It is possible to see the differences between this commit and the commit
61276d8710 to get all the differences between
the two. Use: git diff 61276d8710 <this commit>

Here is now the output of "git log [...]".

------------------------------------------------------------------------------
* commit 61276d8710
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri May 4 15:10:23 2018 +0200
|
|     Fix before merge
|
* commit 1d3c88cd0b
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri May 4 12:41:22 2018 +0200
|
|     Fixed some warnings and removed redundant files.
|
* commit ea33b91425
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Mon Apr 30 17:40:03 2018 +0200
|
|     Modifications related to using single copies of nfapi config. messages for all the UEs at each subframe.
|
* commit f578c1cf73
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Mon Apr 30 11:13:23 2018 +0200
|
|     Updated instructions file for launching nfapi-L2-emulator and polishing the code.
|
* commit e8180fd633
| Merge: dc3787d37 184d51c6e
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri Apr 27 18:48:49 2018 +0200
|
|     Merge branch develop.
|
* commit dc3787d37b
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Tue Apr 17 14:56:02 2018 +0200
|
|     Added configuration option for nfapi-L2-emulation mode and updated instructions file.
|
* commit 4e5b67c412
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Apr 5 13:36:21 2018 +0200
|
|     Added instructions file for launching nfapi-L2-emulator.
|
* commit 848d5e0aa3
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Mar 29 19:02:49 2018 +0200
|
|     Fixed some more issues for running with multiple UEs. Added configuration option for the number of UEs.
|
* commit 230421bc05
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Tue Mar 27 16:17:32 2018 +0200
|
|     More stable performance of nfapi-L2-emulator with 2 UEs, after dealing with some PNF-VNF synchronization issues.
|
* commit d74c43bd2f
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Wed Mar 21 19:56:26 2018 +0100
|
|     Minor modifications.
|
* commit 4f93ef56d5
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Tue Mar 20 18:14:49 2018 +0100
|
|     Fixed a bug. Now both UEs reaching RRC Connection Reconfiguration state about 90% of the executions. Less frequently appearing issues remain to be fixed.
|
* commit 1ed57bbffc
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Tue Mar 20 12:00:53 2018 +0100
|
|     Extension to multiple UEs. Currently being tested with two UEs. Second UE doesn't always reach the RRC Connection Reconfiguration stage.
|
* commit 6cc3fb72b4
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Tue Mar 6 16:21:55 2018 +0100
|
|     process SidelinkUEInformation/RRCConnectionReconfiguration (partially)
|
* commit b3ecd62f43
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Tue Mar 6 14:17:06 2018 +0100
|
|     add SIB21/SidelinkUEInformation support
|
* commit 93052033e2
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Mar 1 18:35:57 2018 +0100
|
|     [RRC] add sIB19 support (partially)
|
*   commit 907b4f80c6
|\  Merge: 77072adf9 c64f9cd8c
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Wed Feb 28 19:25:52 2018 +0100
| |
| |     [RRC] support SIB18 (partially)
| |
| * commit c64f9cd8ce
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Tue Feb 27 20:02:05 2018 +0100
| |
| |     Minor modifications. Some problem appears rarely that prevents the reception of RRCConnectionSetupComplete message at the eNB.
| |
* | commit 77072adf9a
|/  Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
|   Date:   Wed Feb 28 19:18:20 2018 +0100
|
|       [RRC] support SIB18 (partially)
|
*   commit 709e59742a
|\  Merge: 8b28e71b1 314bf57f5
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Mon Feb 19 12:29:14 2018 +0100
| |
| |     Merge branch 'master' of gitlab.eurecom.fr:matzakos/LTE-D2D
| |
| |     Merge with latest changes of LTE-D2D/master
| |
| * commit 314bf57f5c
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Wed Feb 14 13:30:29 2018 +0100
| |
| |     minor update
| |
| * commit 84177053ce
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Mon Feb 12 12:13:59 2018 +0100
| |
| |     update instructions for 1-1, update multicast_link.c
| |
| * commit c24e4e6d64
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Mon Feb 12 11:32:24 2018 +0100
| |
| |     update control socket for 1-1 scenario
| |
| * commit 9cf15c8088
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Thu Feb 8 16:02:00 2018 +0100
| |
| |     polish the code/update instructions
| |
| * commit f265344390
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Wed Feb 7 13:45:34 2018 +0100
| |
| |     passing S+D from PDCP to lower layers (PC5-S)
| |
| *   commit a76a5a564b
| |\  Merge: ff8d9a814 6823e3aa0
| | | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | | Date:   Wed Feb 7 11:55:50 2018 +0100
| | |
| | |     Merge branch 'master' of gitlab.eurecom.fr:matzakos/LTE-D2D
| | |
| * | commit ff8d9a8142
| | | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | | Date:   Wed Feb 7 11:55:34 2018 +0100
| | |
| | |     separation of SLRB establishment PC5-U/PC5-S
| | |
* | | commit 8b28e71b17
| |/  Merge: 6823e3aa0 be8d32d55
|/|   Author: matzakos <panagiotis.matzakos@eurecom.fr>
| |   Date:   Mon Feb 19 12:27:21 2018 +0100
| |
| |       Merge with develop branch of main OAI repository.
| |
* | commit 6823e3aa09
|/  Author: matzakos <panagiotis.matzakos@eurecom.fr>
|   Date:   Tue Feb 6 18:05:52 2018 +0100
|
|       Successful RRC Connection establishment without any errors, based on testing up to now
|
* commit 97c2aff911
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Tue Feb 6 16:44:58 2018 +0100
|
|     PC5-U - passing (source,destination) down to PDCP/RLC/MAC (first alternative - mapping of L2Ids form IP Addresses
|
* commit 24d5700c7c
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Feb 1 11:53:07 2018 +0100
|
|     change ue-ip.ko to extract L2 Id from IP adress, update PC5-Signalling message
|
* commit 713e31357f
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Wed Jan 31 19:47:22 2018 +0100
|
|     Seemed to have fixed pnf(UE) -vnf(eNB) sync issue. Works up to the reception of RRConnectionReconfigurationComplete message at the eNB but crashing after that.
|
* commit d794f6905a
| Author: William Johnson <wjohnson@vencorelabs.com>
| Date:   Tue Jan 30 11:50:42 2018 -0500
|
|     Merge cleanup
|
* commit ee62792135
| Author: William Johnson <wjohnson@vencorelabs.com>
| Date:   Tue Jan 30 11:10:33 2018 -0500
|
|     Merge cleanup
|
* commit d4102b55a9
| Author: William Johnson <wjohnson@vencorelabs.com>
| Date:   Mon Jan 22 15:20:55 2018 -0500
|
|     Resolved issues with PC5-D implementation.
|
* commit 7fb0902dbc
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Mon Jan 29 18:02:31 2018 +0100
|
|     Works up to the reception of Msg4 at the eNB. Still sometimes SF sync between PNF and VNF is lost.
|
* commit 507c1ea9ab
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Wed Jan 24 20:07:09 2018 +0100
|
|     Added correct handling of HI_DCI0.req + memory management issues
|
* commit 5dc306ec1d
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Wed Jan 24 11:12:53 2018 +0100
|
|     Works up to the reception of HI_DCI0.request at the UE-PNF. Sometimes Msg3 arrives later than expected at the eNB-VNF.
|
* commit 17baaaa132
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Wed Jan 24 09:38:42 2018 +0100
|
|     update instructions regarding PC5-D
|
* commit 2403529e76
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Jan 22 16:52:16 2018 +0100
|
|     fix issues related to PC5D transmission/reception
|
* commit dd3ed7a5c0
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Jan 22 11:03:25 2018 +0100
|
|     minor update PC5DiscoveryAnnouncement -> PC5DiscoveryMessage
|
* commit ad2da99d46
| Author: William Johnson <wjohnson@vencorelabs.com>
| Date:   Thu Jan 18 17:28:36 2018 -0500
|
|     testing of Discovery transmission/reception
|
* commit ccdc09c824
| Author: Rohit Gupta <rohit.gupta@eurecom.fr>
| Date:   Thu Jan 18 14:08:19 2018 +0100
|
|     final pieces for SLDCH emulation
|
* commit a7f212818b
| Author: Rohit Gupta <rohit.gupta@eurecom.fr>
| Date:   Thu Jan 18 13:18:57 2018 +0100
|
|     force instance 0 for PDCP netlink
|
* commit 276556acfd
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Tue Jan 16 09:56:39 2018 +0100
|
|     update instructions
|
* commit 241aa2bbc0
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Jan 15 16:03:48 2018 +0100
|
|     support PC5-D (RRC/MAC)
|
* commit c6aefa310b
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Sun Jan 14 14:59:01 2018 +0100
|
|     minor update to fix issues related to PC5-S
|
* commit 9c00f4b782
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Fri Jan 12 11:43:15 2018 +0100
|
|     update RRC_UE to support PC5-S
|
* commit 952ec555e7
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Jan 11 16:36:37 2018 +0100
|
|     update instructions
|
* commit 153af28dde
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Jan 11 15:17:24 2018 +0100
|
|     first version for supporting PC5-S
|
* commit d5d6ecabd3
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Fri Jan 5 22:32:50 2018 +0100
|
|     minor update - d2d-emulator-setup
|
* commit 7781cd5875
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Fri Jan 5 00:08:49 2018 +0100
|
|     Configure MAC with Source/groupL2Id, add possiblility to filter at MAC layer
|
* commit 2e5af5a92d
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Jan 4 15:50:36 2018 +0100
|
|     add network configuration
|
* commit c5a3e4048e
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Jan 4 15:31:43 2018 +0100
|
|     add instructions to setup emulator
|
* commit a1c1e9ce38
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Wed Jan 3 22:54:38 2018 +0100
|
|     enable control socket
|
* commit ff6c711973
| Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| Date:   Wed Jan 3 07:26:05 2018 -0800
|
|     added MAC header handling for reception.
|
*   commit 532a566c34
|\  Merge: 86a308bbd 109d6bb7a
| | Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| | Date:   Wed Jan 3 06:58:58 2018 -0800
| |
| |     Merge branch 'master' of https://gitlab.eurecom.fr/matzakos/LTE-D2D
| |
| * commit 109d6bb7a1
| | Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| | Date:   Mon Dec 25 19:55:21 2017 +0100
| |
| |     uplink path tested.
| |
* | commit 86a308bbd6
|/  Author: Raymond Knopp <raymond.knopp@eurecom.fr>
|   Date:   Wed Jan 3 06:58:28 2018 -0800
|
|       added MAC header handling for TX
|
* commit 5b59872dff
| Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| Date:   Mon Dec 25 04:32:45 2017 -0800
|
|     added new L1 files for Sidelink
|
* commit b215b431f0
| Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| Date:   Mon Dec 25 04:25:37 2017 -0800
|
|     changes to allow configuring multicast interface on command line
|
*   commit 6434e645c8
|\  Merge: a33802048 f31928926
| | Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| | Date:   Sun Dec 24 12:54:29 2017 -0800
| |
| |     Merge branch 'master' of https://gitlab.eurecom.fr/matzakos/LTE-D2D
| |
| |     Conflicts:
| |             targets/RT/USER/lte-ue.c
| |
| * commit f31928926f
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Wed Dec 20 15:29:40 2017 +0100
| |
| |     Works up to the reception of the RA_RESPONSE at the UE. Crashing at fill_rx_indication_UE_MAC just before sending Msg3.
| |
| * commit ee61cb5164
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Mon Dec 18 16:18:00 2017 +0100
| |
| |     Fixed the issue with synchronization but only for the case o running both eNB (vnf) and UE (pnf) processes in the same machine. Receiving and decoding now all MIBs and SIBs1/2/3.
| |
* | commit a338020482
|/  Author: Raymond Knopp <raymond.knopp@eurecom.fr>
|   Date:   Fri Dec 22 20:22:41 2017 -0800
|
|       addition of Sidelink UE-UE stub and initial MAC scheduling for Sidelink for off-network scenario
|
*   commit d34ac16511
|\  Merge: 7b6a9c445 63ac8b4c5
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Wed Dec 13 23:58:48 2017 +0100
| |
| |     Merge branch 'master' of gitlab.eurecom.fr:matzakos/LTE-D2D
| |
| |     Merge with Thin's last commit
| |
| *   commit 63ac8b4c59
| |\  Merge: c7c8057fa 93627a4c2
| | | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | | Date:   Wed Dec 6 23:05:13 2017 +0100
| | |
| | |     Merge branch 'master' of gitlab.eurecom.fr:matzakos/LTE-D2D
| | |
| * | commit c7c8057fa2
| | | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | | Date:   Wed Dec 6 23:02:39 2017 +0100
| | |
| | |     integrate RRC control socket
| | |
* | | commit 7b6a9c445e
| |/  Author: matzakos <panagiotis.matzakos@eurecom.fr>
|/|   Date:   Wed Dec 13 23:58:15 2017 +0100
| |
| |       Testing works up to the reception of SIB1/2/3 from the UE through nfapi, but there is an issue with missing some of the nfapi messages for some frames.
| |
* |   commit 93627a4c22
|\ \  Merge: db011d28d a2f8a3665
| | | Author: matzakos <matzakos@eurecom.fr>
| | | Date:   Wed Dec 6 14:12:23 2017 +0100
| | |
| | |     Merge branch 'master' of https://gitlab.eurecom.fr/matzakos/LTE-D2D
| | |
| | |     Testing of phy_stub
| | |
| * | commit a2f8a36651
| |/  Author: matzakos <panagiotis.matzakos@eurecom.fr>
| |   Date:   Tue Dec 5 20:27:29 2017 +0100
| |
| |       Testing works until the call of callback function pnf_p7_subframe_ind. There, it never satisfies the condition if(tx_subframe_buffer->sfn_sf == sfn_sf_tx) so both sides (vnf and pnf are hanging).
| |
| * commit b3cc16ba75
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Tue Dec 5 15:41:50 2017 +0100
| |
| |     update RRC for SL
| |
* | commit db011d28dd
|/  Author: matzakos <matzakos@eurecom.fr>
|   Date:   Wed Dec 6 14:11:06 2017 +0100
|
|       Necessary modifications to support noS1 with nfapi and eNB side for testing vnf-pnf up to the stage of previous commit
|
* commit ec67c1c93c
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri Dec 1 20:05:40 2017 +0100
|
|     Introduce new executable for the UE (nfapi pnf in stub mode) lte-softmodem-stub
|
* commit 9de8b0fc94
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Mon Nov 27 16:25:57 2017 +0100
|
|     Added function to extract nfapi address-port from UE specific configuration file
|
* commit 3cced60a00
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Nov 23 17:10:48 2017 +0100
|
|     Connected new callback functions at nfapi_pnf for phy_stub mode + Intorducing new functions initializing UE variables and threads specific to phy_stub mode, instead of extending the existing ones + Direct connection of the timer_thread with UE_phy_stub_thread_rxn_txnp4.
|
*   commit 911ed2280c
|\  Merge: 83394cd3a c42a59329
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Mon Nov 20 11:42:51 2017 +0100
| |
| |     Merge with Cisco nfapi-ru-rau-split remote branch
| |
| * commit c42a593292
| | Author: David Price <davpric2@cisco.com>
| | Date:   Tue Nov 14 14:44:25 2017 +0000
| |
| |     Works in monolithic mode and nFAPI mode
| |
| * commit 4fea20e710
| | Author: David Price <davpric2@cisco.com>
| | Date:   Tue Nov 14 12:34:36 2017 +0000
| |
| |     Get logging working - merge changes from develop branch
| |
| * commit cc02d6c1d0
| | Merge: 673b2e9f3 d915c2089
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Nov 10 12:53:22 2017 +0000
| |
| |     Merge of develop branch as of 10 Nov.  Tested with single UE attach.
| |
| * commit 673b2e9f38
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Nov 10 09:21:30 2017 +0000
| |
| |     Turn down logging
| |
| * commit b9268bc3ad
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Nov 10 09:09:07 2017 +0000
| |
| |     How the hell did that work???
| |
| * commit 6482d18c91
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Nov 6 12:45:58 2017 +0000
| |
| |     Sample attach
| |
| * commit d98502d41e
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Nov 6 11:08:57 2017 +0000
| |
| |     Add wireshark with nfapi
| |
| * commit e59250841a
| | Author: David Price <davpric2@cisco.com>
| | Date:   Sun Nov 5 22:15:50 2017 +0000
| |
| |     He has only gone and done it.  11th hour and it works.  Phone has attached twice
| |
| * commit 4dfbcf5882
| | Author: David Price <davpric2@cisco.com>
| | Date:   Sun Nov 5 21:32:59 2017 +0000
| |
| |     Update open-nfapi patch - has new dissector in it
| |
| * commit bcd998ab12
| | Author: David Price <davpric2@cisco.com>
| | Date:   Sun Nov 5 21:25:57 2017 +0000
| |
| |     Attach accept and then crash
| |
| * commit 91aeda82fb
| | Author: David Price <davpric2@cisco.com>
| | Date:   Sun Nov 5 17:53:09 2017 +0000
| |
| |     Gets late packets during attach
| |
| * commit 25af68d37f
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Nov 3 06:36:45 2017 +0000
| |
| |     Logging...
| |
| * commit 7382d9134f
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Nov 3 06:35:41 2017 +0000
| |
| |     logging...
| |
| * commit f90444a1fc
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Nov 3 06:35:11 2017 +0000
| |
| |     Cannot run vnf 3 ahead it runs out of space with downlink messages and their harq
| |
| * commit ebee0e1220
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Nov 2 16:13:04 2017 +0000
| |
| |     Now seem to be getting uplink data, but it is error'd
| |
| * commit 9f781408af
| | Author: David Price <davpric2@cisco.com>
| | Date:   Wed Nov 1 18:18:12 2017 +0000
| |
| |     Fails at the point core sends Identity Request to UE
| |
| * commit 3a7456df7b
| | Author: David Price <davpric2@cisco.com>
| | Date:   Wed Nov 1 17:36:52 2017 +0000
| |
| |     Bad harq configuration
| |
| * commit 30c76c6d3c
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 30 15:21:39 2017 +0000
| |
| |     Works up to rrc connection setup complete in nfapi mode
| |
| * commit e10c0c085a
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 30 08:40:34 2017 +0000
| |
| |     Crashes due to clearing out the wrong info from subframe buffer
| |
| * commit 2ac91f0533
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 30 07:04:33 2017 +0000
| |
| |     uplink data from ue received, corrected scheduling of DCI0/UPLINK_CFG.  Fails to correctly form (SFNSF) for PHICH ACK
| |
| * commit 22367109da
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Oct 27 06:49:20 2017 +0100
| |
| |     Change +4 for tx to a variable and get it to run at +2, this alllows nFAPI to get the reply back for HI_DCI0 to generate the PHICH in time
| |
| * commit 7a57709478
| | Author: David Price <davpric2@cisco.com>
| | Date:   Wed Oct 25 14:45:37 2017 +0100
| |
| |     Crashes around msg4 time, but understand that need to get the ACK for the UE UL of msg3 back to UE within 4ms
| |
| * commit 74cbde7c2c
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 23 14:16:24 2017 +0100
| |
| |     Add a gtk wave for pnf
| |
| * commit 9d5d78f5db
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 23 14:16:07 2017 +0100
| |
| |     Stack smashing error reported.  Fixed by parameter changing int to uint16_t.  Not obvious!
| |
| * commit f7670c4b67
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Oct 20 10:48:30 2017 +0100
| |
| |     Yet another small tweak still proving that RACH works
| |
| * commit b9fc5e679f
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Oct 20 09:18:24 2017 +0100
| |
| |     Small update mostly tweaking.  Still RACHs
| |
| * commit 80aaca76b4
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Oct 19 16:19:22 2017 +0100
| |
| |     More tidy up
| |
| * commit b6a9bb3399
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Oct 19 16:08:19 2017 +0100
| |
| |     Bit of tidy up, rename variables. change some logs
| |
| * commit 1732217095
| | Merge: 1ec934f9f 599ba826a
| | Author: David Price <davpric2@cisco.com>
| | Date:   Wed Oct 18 09:32:11 2017 +0100
| |
| |     Merged RU-RAU-split as of 18 Oct
| |
| * commit 1ec934f9fc
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 16 14:04:05 2017 +0100
| |
| |     Works up to message 3 reception at VNF
| |
| * commit 5be8cf7b77
| | Author: David Price <davpric2@cisco.com>
| | Date:   Tue Oct 10 08:58:21 2017 +0100
| |
| |     RACH received on VNF.  Message 2 created and sent to PNF.  Got Message 2 received on PNF.  Nothing useful done with it yet
| |
| * commit 6c519f5bcf
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 9 17:11:49 2017 +0100
| |
| |     Merge from RU-RAU-split and fix of frame/subframe handling.  Was very confused with the counter in the main loop, the incrementing from the USRP read library and the nFAPI frame handling.  RACH seen on wireshark and something happens on VNF
| |
| * commit 6559fc199f
| | Merge: 8da3d5cc2 8e6cc0190
| | Author: David Price <davpric2@cisco.com>
| | Date:   Mon Oct 9 07:14:17 2017 +0100
| |
| |     Merge from RU-RAU-split 9th Oct
| |
| * commit 8da3d5cc22
| | Merge: 483cd5cf8 e52c57b89
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Oct 6 11:24:35 2017 +0100
| |
| |     Merge from official RU-RAU-split branch.  Tested with san jole and UE - network is seen.  Not tried RACH
| |
| * commit 483cd5cf82
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Oct 5 11:48:01 2017 +0100
| |
| |     NFAPI RACH now working.  Gets sent to VNF.  VNF cores currently on receipt.  Probably fixed by merge from main RU-RAU-split which I will do next
| |
| * commit de5bec310d
| | Author: David Price <davpric2@cisco.com>
| | Date:   Tue Oct 3 15:12:46 2017 +0100
| |
| |     Over write Raymond's copy of the open nfapi diff with the one that I am using - it re-orders the processing of dl_config and tx_req
| |
| * commit 53e7a57297
| | Author: David Price <davpric2@cisco.com>
| | Date:   Tue Oct 3 15:06:39 2017 +0100
| |
| |     Network search working again.  Now calling generate_dci_top every subframe, using dummy subframe if no data to transmit. MIB and SIB2/3 coming out.  UE sees cell
| |
| * commit 142d96fdc9
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Sep 28 09:05:44 2017 +0100
| |
| |     Store a complete list of DLSCH PDUs because it is possible they might get written over otherwise
| |
| * commit 3cb04fc327
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Sep 22 15:39:30 2017 +0100
| |
| |     Phone sees network on network search.  Need to schedule MIB every frame.  Fixed pdu length. fixed number of dcis
| |
| * commit 0bd5978edc
| | Author: David Price <davpric2@cisco.com>
| | Date:   Fri Sep 22 09:22:39 2017 +0100
| |
| |     Both MIB and SIB1 are coming out on san jole.  SIB2/3 is missing
| |
| * commit fbd450eecc
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Sep 21 12:09:45 2017 +0100
| |
| |     Missing checkin.
| |
| * commit 9496696a5d
| | Author: David Price <davpric2@cisco.com>
| | Date:   Thu Sep 21 11:50:04 2017 +0100
| |
| |     Remove hard coding of my IP address and use config file address
| |
| * commit 7210741113
| | Merge: 17e158f61 b421d467a
| | Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| | Date:   Thu Sep 21 08:48:46 2017 +0200
| |
| |     Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into nfapi-ru-rau-split
| |
| |     Conflicts:
| |             openair2/RRC/LITE/L2_interface.c
| |             targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
| |
| *   commit 17e158f61f
| |\  Merge: 16a36ec84 ca96ede83
| | | Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| | | Date:   Wed Sep 20 14:51:36 2017 +0200
| | |
| | |     Merge branch 'nfapi-ru-rau-split' of https://gitlab.eurecom.fr/daveprice/openairinterface5g into nfapi-ru-rau-split
| | |
| | * commit ca96ede83b
| | | Author: David Price <davpric2@cisco.com>
| | | Date:   Wed Sep 20 11:32:40 2017 +0100
| | |
| | |     NFAPI_DIR was set to my personal directory
| | |
| * | commit 16a36ec849
| |/  Author: Raymond Knopp <raymond.knopp@eurecom.fr>
| |   Date:   Wed Sep 20 12:49:46 2017 +0200
| |
| |       removed ITTI message transfer for MAC->RRC
| |
| * commit 8b12045bcc
|   Author: David Price <davpric2@cisco.com>
|   Date:   Wed Sep 20 10:50:09 2017 +0100
|
|       Trying to get NFAPI working.  BCH not being sent out over the air but is being scheduled
|
* commit 83394cd3a5
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri Nov 17 14:41:34 2017 +0100
|
|     Small correction wrt the UE_MAC state machine in phy_stub_UE
|
* commit 725ad9d9e4
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Nov 16 15:59:22 2017 +0100
|
|     Introduced a new timer_thread within lte-ue. This thread is ticking the subframes and wakes up UE_thread function which is waiting on a condition variable for nfapi_mode=3 (phy_stub)
|
* commit c3f984d0b6
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Tue Nov 14 12:34:55 2017 +0100
|
|     Introduce nfapi_mode variable to differentiate functionality between phy_stub_ue mode (nfapi_mode=3) and normal full stack mode (nfapi_mode!=3).
|
* commit 96f18a06d2
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Mon Nov 13 16:58:11 2017 +0100
|
|     Added functions copying nfapi requests to UE_mac_inst + Substituted calls to phy_procedures_ue rx/tx with phy_stub functions triggering MAC layer Tx/Rx procedures at UE MAC. Changes within UE_thread_rxn_txnp4
|
* commit 66ae679d26
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Thu Nov 9 15:51:45 2017 +0100
|
|     update SidelinkUEInformation (UE's side), RRCConnectionReconfiguration (eNB's side), add rrc_ue_process_radioResourceConfig to process RPs and configure MAC/PHY
|
*   commit 511c48c7a4
|\  Merge: 34f5368cb d91742560
| | Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| | Date:   Tue Nov 7 16:12:03 2017 +0100
| |
| |     XMerge branch 'master' of gitlab.eurecom.fr:matzakos/LTE-D2D
| |
| * commit d917425604
| | Author: matzakos <panagiotis.matzakos@eurecom.fr>
| | Date:   Mon Nov 6 11:58:59 2017 +0100
| |
| |     Added handling of HI_DCI0_config requests at UE MAC. Eliminated calls to PHY functions from utilized UE MAC functions (e.g., ue_send_sdu) to support phy_stub operation mode.
| |
* | commit 34f5368cbc
|/  Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
|   Date:   Tue Nov 7 16:11:28 2017 +0100
|
|       add function to fill MIB_SL
|
* commit 7e77fb674d
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Fri Nov 3 13:56:29 2017 +0100
|
|     support SidelinkUEInformation (eNB) and RRCConnectionReconfiguration (SL)
|
* commit 418da5b401
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Nov 2 19:53:40 2017 +0100
|
|     Updated handling of DL_config and Tx_req pdus in phy_stub_UE to be compliant with nfapi callback functions
|
* commit a37ff36d35
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Nov 2 14:34:58 2017 +0100
|
|     Added MAC level state variable for the UE and control mechanisms to ensure the correct operation of the UE MAC state machine.
|
* commit 4757a1b6da
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Sat Oct 28 14:16:33 2017 +0200
|
|     Added remaining fill_harq indication functions + the functionality to handle ul_config request pdus arriving from nfapi-vnf: trigger the appropriate UE_MAC and fill_indication functions to prepare the UL_indications which will be put into the socket for transfer back to vnf. Main changes within phy_stub_UE().
|
* commit 6719eefbcd
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Oct 23 15:40:02 2017 +0200
|
|     minor update to process SidelinkUEInformation
|
* commit 136c61ac14
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Oct 23 15:31:02 2017 +0200
|
|     receive SidelinkUEInformation (eNB)
|
* commit 7abf122701
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Oct 23 15:07:56 2017 +0200
|
|     generate/process SidelinkUEInformation
|
* commit afa442bbef
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Thu Oct 19 17:20:59 2017 +0200
|
|     Added fill functions for rach and ulsch_cqi indications.
|
* commit 8314a2644e
| Merge: 2d50ccafd 2516216d1
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Wed Oct 18 15:53:49 2017 +0200
|
|     Merge remote-tracking branch 'main/RU-RAU-split'
|
* commit 2d50ccafd2
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Wed Oct 18 15:45:09 2017 +0200
|
|     Added fill functions for rx, crc and sr indications in phy_stub_UE. These functions will be getting called directly from the MAC layer of the UE. Rest of fill functions remain to be added.
|
* commit 22bcc7a513
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Tue Oct 17 15:14:46 2017 +0200
|
|     add SIB19 support - eNB
|
* commit 2de24be284
| Author: Tien-Thinh Nguyen <tien-thinh.nguyen@eurecom.fr>
| Date:   Mon Oct 16 11:14:28 2017 +0200
|
|     add SIB18 support - eNB
|
* commit 931ae71326
| Merge: d4e6d45cb 493110af7
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri Oct 13 11:00:14 2017 +0200
|
|     Merge with RU-RAU-split
|
* commit d4e6d45cb9
| Author: matzakos <panagiotis.matzakos@eurecom.fr>
| Date:   Fri Sep 22 19:57:43 2017 +0200
|
|     Definition of the UE<->eNB MAC to MAC interface based on nFAPI structures: Currently supporting the triggering of MAC layer Rx operations at the UE side based on the reception of NFAPI DL messages. Partial definition of Sidelink MAC subheaders.
|
* commit 0422bf8bb9
  Author: matzakos <panagiotis.matzakos@eurecom.fr>
  Date:   Mon Sep 4 10:12:55 2017 +0200

      Definition of the UE MAC interface: IF_Module_UE.h, IF_Module_UE.c, UE_MAC_interface.h and the supporting functions.
------------------------------------------------------------------------------
2018-05-09 12:16:49 +02:00
Haruki NAOI
a3e1a24947 Merge remote-tracking branch 'remotes/origin/rm912_bugfix' into sp3_master 2018-05-09 17:37:55 +09:00
Haruki NAOI
f2db393923 Merge remote-tracking branch 'remotes/origin/rm804_bugfix2' into sp3_master 2018-05-09 17:36:06 +09:00
jftt_wangshanshan
f1cd05c1e0 Fix ul config pdu info setting missing problem 2018-05-09 11:56:45 +08:00
Wu Jing
6f4ee013d2 fix RM912 SegmentFault in dlsch_coding while using a UE which has been removed 2018-05-07 18:15:42 +09:00
Raymond Knopp
66fe9c5d3b added external-timing option to allow to wait for PPS in usrp_lib.cpp 2018-05-04 17:26:07 +08:00
Raymond Knopp
bb15ec4e4e Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement 2018-05-04 10:30:08 +02:00
Raymond Knopp
0eb2f0175e Support for RAW, not tested yet 2018-05-04 10:29:45 +02:00
Raymond Knopp
9d82d5aebd added command line parameter to set external timing for PPS on USRP. 2018-05-04 15:55:32 +08:00
Bi-Ruei, Chiu
f994140a3c Fix S1AP error indication message sent from MME not handled in eNB 2018-05-02 23:40:11 +08:00
Raymond Knopp
c73cada3f4 added phich_common.c 2018-05-02 07:18:08 -07:00
Cedric Roux
727b368df3 minor: always exit on error 2018-05-02 12:28:02 +02:00
Cedric Roux
57eef276cb bugfix: intialize memory
This is taken from commit 7bc1434733
and is necessary for the UE to function properly.
2018-05-02 12:25:18 +02:00
Florian Kaltenberger
880d768729 removing the 4 bit left shift of TX signal as already done in driver 2018-05-02 12:23:27 +02:00
Cedric Roux
52cf61de97 T tracer: don't depend on T_BUFFER_MAX anymore in the tracers
Whenever the value T_BUFFER_MAX changes, the tracers had to
be recompiled. The only reason why it was needed is because we
used some fixed size buffers to read events. This commit removes
this restriction.

Also, with the basic simulator, this value T_BUFFER_MAX now comes
with an #ifdef which would have required some special hackish-level
tricks in the tracers, which is not good.

Let's just allocate memory when needed.
2018-05-02 12:11:34 +02:00
Cedric Roux
6cb04bb43a basic simulator: initial release
This commit introduces a 'basic simulator'.

This basic simulator is made of:
- the standard eNB code using a special driver that mimics the USRP driver
- the standard UE code using a special driver that mimics the USRP driver
- no channel simulation
- some special code to deal with faster-than-realtime behaviour of this
  basic simulator

It connects one UE to one eNB. It requires an EPC, populated with the
correct configuration for the UE.

This is the initial release and may contain bugs (most probably race
conditions due to the faster-than-realtime behaviour).

To use it, see the documentation at:
    targets/ARCH/tcp_bridge/README.tcp_bridge_oai.

It has been tested with 25, 50 and 100 RBs, FDD mode.
(No check at all has been done to know if it could work in TDD mode.)
2018-05-02 11:27:41 +02:00
Raymond Knopp
e4c44dd0a9 checked compilation/execution of dlsim/ulsim. removal of most warnings. 2018-04-29 11:08:32 -07:00
Raymond Knopp
ea784f2b4b full IF4p5 simulation working 2018-04-29 09:35:23 -07:00
Nikos Makris
3aabed57d2 Applied patch for aper asn1c - Compile with flag --pdcp-split 2018-04-27 15:24:17 +03:00
Haruki NAOI
55ed45df8d Fix: avoid "U" and "L" RF messages during eNB start up. 2018-04-27 09:28:32 +09:00
Masayuki HARADA
30427be126 Fix problem of RF-IF on TDD system. 2018-04-26 13:26:09 +09:00
jftt_wangshanshan
ebbc7fadd0 add previous fix to non-ue-extension 2018-04-26 09:29:29 +08:00
Cedric Roux
2160f8758c cleanup - remove unnecessary calls to get_cpu_freq_GHz
The one in lte-enb.c disrupts the realtime. Using a B200mini with
20MHz bandwidth leads to the UE unable to connect for it seesms like
the UL and DL are not properly time synched because of this sleep
of one second that happens after the USRP streaming has started.
We see some random access attempts but the decoded preamble is
wrong.

This may be dependant on the setup. I had sporadic errors with
a B210, where sometimes the UE could connect and sometimes not.

(cherry picked from commit 5a61f9944c)
2018-04-26 10:05:24 +09:00
Florian Kaltenberger
0604e146ff check on UE TX amplitude 2018-04-25 17:45:33 +02:00
Florian Kaltenberger
e7a221278c removing the 4 bit left shift of TX signal as already done in driver
This reverts commit 9cff72959a.
2018-04-25 16:11:38 +02:00
jftt_wangshanshan
a60ac11320 fix ul config pdu type while there are cqi,harq and ulsch at the same time. 2018-04-25 17:05:12 +08:00
Raymond Knopp
596736afae dlsim/ulsim functional. lte-softmodem/lte-uesoftmodem compile. 2018-04-24 22:14:20 -07:00
Cedric Roux
c14dd7ffbb T: use PID for the SHM name
That allows to run several programs using this mechanism on the
same computer (say both eNB and UE, to debug).
2018-04-24 14:53:12 +02:00
Cedric Roux
7576e3fa52 T: bugfix: fix check on return value of mmap 2018-04-24 14:40:28 +02:00
Raymond Knopp
68b86d5f6f fixes after merge with develop 2018-04-24 02:01:48 -07:00
Raymond Knopp
83b2f1c01c Merge remote-tracking branch 'origin/develop' into develop-uedirectorysplit
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/mac.h
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.h
2018-04-23 23:08:10 -07:00
Haruki NAOI
a3f5e632ea Merge remote-tracking branch 'remotes/origin/rm804_bugfix2' into sp3_master 2018-04-23 19:12:31 +09:00
jftt_wangshanshan
c5b3aaa2dd Fix a bug in log 2018-04-23 14:26:43 +08:00
Haruki NAOI
9a8ea23f9f Merge remote-tracking branch 'remotes/origin/rm804_bugfix2' into sp3_master 2018-04-23 11:21:15 +09:00
Haruki NAOI
20fd63b1e2 Merge remote-tracking branch 'remotes/origin/rm898_bugfix' into sp3_master 2018-04-23 11:20:05 +09:00
jftt_wangshanshan
ef5ff53ecf change log level to debug 2018-04-23 09:58:50 +08:00
jftt_wangshanshan
0889d79969 Modify CQI scheduling strategy 2018-04-23 09:45:08 +08:00
Raymond Knopp
861d06e855 UE directory splits, creation of UE-specific files, common UE/eNB files and extraction of UE/common components from eNodeB files. renaming of files to minimize common names across directories (i.e. defs.h, vars.h, extern.h) 2018-04-22 11:33:43 -07:00
Haruki NAOI
c8267c2cf9 Revert "Merge branch 'rm884_bugfix' into 'sp3_master'"
This reverts commit fad303fe37, reversing
changes made to e35921cf96.
2018-04-20 18:41:35 +09:00
Wu Jing
e2a1b98658 fix rm898 SecurityModeFailure 2018-04-20 17:56:47 +09:00
tomita.y
fad303fe37 Merge branch 'rm884_bugfix' into 'sp3_master'
Rm884 bugfix

See merge request !36
2018-04-19 19:00:02 +09:00
tomita
2bf209e469 Delete LOG_I . 2018-04-19 18:25:34 +09:00
Wu Jing
7813e898ba RM884 fix, when cqi received is 0, don not update dl_cqi 2018-04-19 12:26:20 +09:00
shono.takafumi
e2741d2b3d Merge branch 'sp3_master' into rm894_assertion 2018-04-19 11:38:42 +09:00
naoi.haruki
e35921cf96 Merge branch 'rm886_bugfix' into 'sp3_master'
fix RM886 bug

See merge request !35
2018-04-18 16:34:03 +09:00
Robert Schmidt
72529e6c3a remove useless file/pthread_single declaration 2018-04-17 13:56:19 +02:00
Wu Jing
22da1eac0c fix rm894 bug 2018-04-17 20:12:16 +09:00
Florian Kaltenberger
aca606f90d making init_nas_s1 script executable 2018-04-17 09:24:34 +02:00
Florian Kaltenberger
fd2e093412 RRC will not send second RRCConnectionReconfiguration with additional DRBs in noS1 mode 2018-04-17 09:23:59 +02:00
Cedric Roux
c03650fdc7 minor: fix order of comparisons (easier to understand) 2018-04-16 12:50:34 +02:00
Wu Jing
33b652c5df fix RM886 bug 2018-04-16 19:40:18 +09:00
Bi-Ruei, Chiu
5c23af773a Compare version number using MAKE_VERSION macro to provide better SW configuration:
1. Previous SW configuration for different RRC version relies on whether macro Rel10,
   Rel14 defined or not by checking #ifdef Rel14 or #if defined(Rel10) || defined(R14).
   Whenever there is a newer RRC version, e.g. Rel15, it will be very a tedious and
   error-prone job to add defined(Rel15) in every place.

2. Some RRC messages are defined in release 13 instead of release 14, NB-IoT
   feature is one of such example. Our code shall reflect this fact instead of using
   an afterward version number in software configuration.

3. Some RRC messages or some fields of certain RRC messages are added in the middle
   a release, e.g. SystemInformationBlockType1_v1310_IEs_t defined in RRC 13.1.0
   and RRC 9.2.0 made some changes to SIB12 and SIB13 so we have sib12_v920 and
   sib13_v920 fields in SIB12 and SIB13's struct.
   We need a finer grain of control when using ASN1 from different RRC version.

4. S1AP also has this problem that it use UPDATE_RELEASE_9 and UPDATE_RELEASE_10 to
   differentiate between various S1AP version.

This commit propose using MAKE_VERSION(x,y,z) to designate the version number and
modify current conditional compilation accordingly.

Note: 2018/04/16, Modified based on Cedric's comment.
2018-04-16 12:32:29 +02:00
Cedric Roux
184d51c6ea Merge remote-tracking branch 'origin/develop_integration_2018_w15' into develop
Summary of changes:
- some work on better parallel processing of eNB
  try the eNB with options: --fepw --codingw
- small changes for multi-UE simulation and simulation accuracy
  (UE power levels)
- initial work for the UE to use TUN device instead of ue_ip.ko
  only done for oaisim, default bearer, compile with:
    ./build_oai --ue-nas-use-tun <rest of options>
2018-04-16 12:19:20 +02:00
Cedric Roux
79eb6eb4d2 integration fix: fix UE softmodem compilation 2018-04-16 11:23:05 +02:00
Haruki NAOI
6e7db95981 clean log. 2018-04-16 16:54:02 +09:00
Cedric Roux
17dda7bd70 integration fix: minor fix 2018-04-13 11:59:56 +02:00
Florian Kaltenberger
9cff72959a Revert "removing the 4 bit left shift of TX signal as already done in driver"
This reverts commit 1043313175.
2018-04-12 17:16:11 +02:00
Florian Kaltenberger
1043313175 removing the 4 bit left shift of TX signal as already done in driver 2018-04-12 17:15:31 +02:00
Haruki NAOI
b0798357b9 Merge branch 'sp3_rlc_assertion' into sp3_master 2018-04-12 20:16:01 +09:00
Wu Jing
a8ab765fe5 patch rrc_assertion.patch into closed_item
# Conflicts:
#	openair2/RRC/LITE/rrc_eNB.c
2018-04-12 20:05:04 +09:00
Wu Jing
675fd0af4e patch develop-get-freememblock.patch into closed_item 2018-04-12 20:02:36 +09:00
Cedric Roux
fa4a9a0cb9 integration fix: update T tracer: add new VCD variables 2018-04-12 11:36:31 +02:00
Cedric Roux
a1a60dc19a integration fix: revert target_rx_power to 178 in eNB_scheduler_ulsch.c
158 does not work well with the eNB softmodem.
2018-04-12 11:28:51 +02:00
Wu Jing
5d06a1cabd RLC assert fix ct 2_114 bug 2018-04-12 11:06:35 +09:00
Haruki NAOI
afcdb1e6a9 enb-log-mem_sp2.patch into closed_item
(cherry picked from commit 3432385280c3155ee63a54be7c2e4846a17299de)

# Conflicts:
#	openair2/UTIL/LOG/log.c
2018-04-12 10:53:44 +09:00
Haruki NAOI
7b4298a637 Merge remote-tracking branch 'remotes/origin/sp3_tdd_config1' into sp3_master 2018-04-12 10:13:12 +09:00
Nikos Makris
da7c24b539 Added definitions for F1AP ASN messages
Added asn1c compiler compatible with the F1AP definitions
Compilation fails for the S1AP messages with "error: unknown type name ‘asn_comp_rval_t’"
2018-04-11 20:45:54 +03:00
Cedric Roux
e29d500db6 integration fix: various fixes
- fix compilation of dlsim/ulsim/oaisim by defining some needed
  global variables
- fix compilation of oaisim: compile coding and params_libconfig
- fix running of if4p5 with low CPU count (oaisim was not working
  on the machine 'haswell' because of this)
2018-04-11 17:15:14 +02:00
Cedric Roux
1f446432f6 Merge remote-tracking branch 'origin/develop-simL1-fixes' into develop_integration_2018_w15 2018-04-11 15:15:54 +02:00
Cedric Roux
86599d47a9 Merge remote-tracking branch 'origin/ue-use-tun-for-nas' into develop_integration_2018_w15 2018-04-11 15:15:49 +02:00
Cedric Roux
bf678f7fb0 Merge remote-tracking branch 'origin/RU-RAU-split-parallel-EMUFH-phy-test-merge' into develop_integration_2018_w15 2018-04-11 15:15:39 +02:00
WANG Tsu-Han
68fdd19cb7 fixs for 5-7 core 2018-04-11 15:09:07 +02:00
Haruki NAOI
597890ab61 eNB RLC Assertions(assert macros) skip & fix warning. 2018-04-11 19:01:43 +09:00
Wu Jing
b27984349d fix ct test bug 2_37 2_72 2018-04-11 13:44:56 +09:00
WANG Tsu-Han
658aa00119 bug fix for threading with under 8core 2018-04-10 16:52:05 +02:00
Wu Jing
a32857885a Merge branch 'sp3_tdd_config1' of http://10.37.145.15:8000/gitlab/vran/release_enb into sp3_tdd_config1 2018-04-10 17:32:31 +09:00
Wu Jing
b7a8889741 fix Assertion because of round==8 in extract_harq when re-establishment happen 2018-04-10 17:31:52 +09:00
Wu Jing
aca800dae9 fix SegmentFault by harq_pid==8 after clean_dlsch_eNB 2018-04-10 17:19:52 +09:00
Wu Jing
7b0231f926 Merge branch 'sp3_rlc_assertion' of http://10.37.145.15:8000/gitlab/vran/release_enb into sp3_rlc_assertion 2018-04-10 15:53:55 +09:00
Wu Jing
03232d30c2 RLC assertion 760~796 add 1428 1429 2018-04-10 15:37:30 +09:00
Raymond Knopp
b458c09841 Merge branch 'develop-uedirectorysplit' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-uedirectorysplit
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
	openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
2018-04-09 15:55:08 -07:00
Raymond Knopp
8b1416b862 debugging of new directory structure, file renaming, and eNB/UE splitting. dlsim/ulsim functional. 2018-04-09 15:32:49 -07:00
teramoto.genki
c5310874fa Merge branch 'sp3_rlc_assertion' of http://10.37.145.15:8000/gitlab/vran/release_enb into sp3_rlc_assertion
# Conflicts:
#	openair2/LAYER2/RLC/rlc.c
2018-04-09 21:12:02 +09:00
teramoto.genki
43382defec eNB RLC Assertions skip. 2018-04-09 21:00:13 +09:00
Masayuki HARADA
5e4f0a924d Merge branch 'ues_test' into sp3_tdd_config1
# Conflicts:
#	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
2018-04-09 20:21:24 +09:00
Masayuki HARADA
f8f149fd1b Fix calculation of ul_total_buffer. 2018-04-09 20:05:45 +09:00
Masayuki HARADA
b58ecfc5d8 Change SCH_PAYLOAD_SIZE_MAX from 4096 to 8192. 2018-04-09 20:01:38 +09:00
Haruki NAOI
8b44c8bfb6 modify: skip RLC assertion. 2018-04-09 19:57:33 +09:00
Masayuki HARADA
7ced1a2eb1 Remove nb_rb = 64 form rb_table in SCD. Because PHY UL cannot decode nb_rb = 64. 2018-04-09 19:56:33 +09:00
Masayuki HARADA
901c0da013 Fix attach NG on FDD 10MHz 20MHz. 2018-04-09 15:10:23 +09:00
naoi.haruki
dcf3b235f5 Merge branch 'sp3_tdd_config1' into 'sp3_master'
Sp3 tdd config1

See merge request !31
2018-04-09 10:59:43 +09:00
Raymond Knopp
ef719e7945 Merge remote-tracking branch 'origin/develop' into develop-uedirectorysplit 2018-04-08 13:07:23 -07:00
Raymond Knopp
ac7cbf17e2 band 38 files x310 2018-04-08 13:07:07 -07:00
Raymond Knopp
551f32cc20 more splitting eNB/UE files/directories 2018-04-08 13:00:08 -07:00
Raymond Knopp
0ab2b2b261 modifications for simulator : power normalizations for UE TX, small changes to SNR targets for power control, default UE power (23 dBm now) 2018-04-06 10:27:23 -07:00
Florian Kaltenberger
7bc1434733 various small fixes for UE 2018-04-06 17:00:53 +02:00
Cedric Roux
cf45997110 Use TUN device for NAS for the UE instead of ue_ip.ko
This work is based on work by NTT.

To use the code, do:
./build_oai --oaisim --ue-nas-use-tun -t ETHERNET -c

This commit only handles oaisim in S1 mode.

We won't handle noS1 mode.
2018-04-06 16:53:42 +02:00
Raymond Knopp
eee7673893 warning remove 2018-04-06 15:57:23 +02:00
Raymond Knopp
be816fab6f Merge branch 'develop' into RU-RAU-split-parallel-EMUFH-phy-test-merge 2018-04-06 15:12:46 +02:00
Raymond Knopp
fb4752a2cf default RF configuration 2018-04-06 00:07:23 +02:00
Raymond Knopp
3d8a21636a multi-ue checks in pdcp 2018-04-05 22:32:18 +02:00
Raymond Knopp
497c818b02 removed some logging 2018-04-05 12:26:02 -07:00
Raymond Knopp
0f5470b913 removal of logging in UE 2018-04-05 11:11:58 -07:00
Raymond Knopp
9fa001c3c5 prevent UL_indication from overlapping with tx process which cause the drop 2018-04-05 16:33:08 +02:00
Nikos Makris
4195681fc9 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split
Tested with one UE
Possibly broken FLEXRAN (different methods for configuring the link manager)
2018-04-05 13:22:12 +03:00
Wu Jing
dbddecb775 fix Paging bug when PO=subframe0 and sfn_sf error 2018-04-04 18:56:56 +09:00
jftt_wangshanshan
1846c56d54 Add the missing part of DAI setting and harq_pid calculation to OAI SCD 2018-04-04 15:54:44 +08:00
Wu Jing
6d21972e43 merge ues_test branch 2018-04-03 17:24:27 +09:00
Raymond Knopp
03dfe63a1b reseting in_synch after receiving RU_CONFIG 2018-03-26 16:34:53 +02:00
Haruki NAOI
8f86f38d58 Fix: memory leak occurs when memblock is exhausted.
(cherry picked from commit 0e550a32e46d797d03fd72e54e474762d4db7614)

# Conflicts:
#	openair2/LAYER2/RLC/rlc.c
2018-03-26 19:32:11 +09:00
Masayuki HARADA
5646b07870 Fix ul scd problems.
・Delete double BSR calculation.
・change TBS for mcs setting bit to byte.

(cherry picked from commit 39cd022424ebe98c95be32cbb4127aa9d0e0ff3b)
2018-03-26 19:30:12 +09:00
Raymond Knopp
df9827b5fb changes for TDD 2018-03-25 23:57:33 -07:00
Cedric Roux
1272cabb35 Merge remote-tracking branch 'origin/develop_integration_2018_w12' into develop
Summary of changes:
- free configmodule memory when shutting down
  It is possible to restart the lte-softmodem via the FlexRAN controller.
  For this to work, the end_configmodule() method needs to be called when
  shutting the lte-softmodem down so that the configuration can be read
  again during a restart.
- Feature agent
  Implements an agent ID, consisting of the OAI module ID, the OAI eNB ID
  and the cell ID. The agent reads this information in its configuration
  read function and forwards it to the controller.
  This MR also contains some code forwarding SI info to the controller.
- various bugs fixed
  - remove start_background_system from eNB softmodem
  - fix memory leak when doing traffic
  - disable ITTI dump (does someone uses this?)
  - disable U-plane inactivity timer: it's very simple to put this back,
    but as of now it comes with its own problems that we don't have time
    to check/fix
2018-03-23 16:24:17 +01:00
Cedric Roux
ff3c929ecf fix PHY simulators compilation
Only ulsim and dlsim compile. The others (dlsim_tm4 pucchsim prachsim
pdcchsim pbchsim mbmssim) have been disabled.

Command line to compile: ./build_oai --phy_simulators
2018-03-23 15:15:51 +01:00
Cedric Roux
3288a6bbe4 Merge remote-tracking branch 'origin/bugfixes-2018-w12' into develop_integration_2018_w12 2018-03-23 10:47:43 +01:00
Cedric Roux
f15b446469 Merge remote-tracking branch 'origin/feature-agent-id' into develop_integration_2018_w12 2018-03-23 10:47:36 +01:00
Cedric Roux
b79e6bfb10 Merge remote-tracking branch 'origin/fix-softmodem-restart' into develop_integration_2018_w12 2018-03-23 10:47:31 +01:00
Cedric Roux
16cb7eba64 remove start_background_system from eNB softmodem
This is only needed by the UE code, to setup IP settings.
The eNB does not need this. (To be reverted if this is
wrong.)
2018-03-23 10:44:13 +01:00
Cedric Roux
3a0d9339dc bugfix: fix a memory leak
When doing TCP downlink traffic with iperf for several
hours, the memory consumption of lte-softmodem does not
stop to grow.

After analysis, this commit seems to be the only fix needed.
To be checked somehow.
2018-03-23 10:42:36 +01:00
Cedric Roux
e7bca7fdac Disable ITTI dump
If anyone needs it, it's a simple matter of reverting this
basic commit.
2018-03-23 10:42:36 +01:00
Cedric Roux
5fdc3077db disable U-plane inactivity timer.
It is annoying and does not seem to work properly.
To be checked/reworked if needed.

Keep in mind that we also want oaisim to be functional.
2018-03-23 10:42:30 +01:00
Robert Schmidt
9c47c860bc FlexRAN: RCconfig_flexran(): only read necessary information
if the FlexRAN agent is disabled, do not read all the data and skip reading
of more information
2018-03-23 09:20:19 +01:00
Robert Schmidt
d54d415125 FlexRAN: add Information in enb_config_reply msg 2018-03-22 18:43:15 +01:00
Robert Schmidt
1854826053 FlexRAN: send agent_id (aka enb_id) 2018-03-22 18:43:15 +01:00
Robert Schmidt
e7a60fc992 FlexRAN: make agent_id for identification purposes, discern from mod_id
The agent_id is a uint64 consisting of: module ID (i.e. mod_id, the several
instances of OAI at once, 16 bit), the enb_id from the configuration file (32
bit) and the cell_id from the configuration file (16 bit).

The module ID is part of the agent ID but it is easier to have it directly in
the struct.
2018-03-22 18:41:14 +01:00
Guy De Souza
2c83775087 Fix CMakeLists.txt for lte-uesoftmodem 2018-03-21 15:08:01 +01:00
Guy De Souza
8824d20cd3 Fix CMakeLists.txt for lte-softmodem 2018-03-21 11:34:08 +01:00
Raymond Knopp
846268fdd3 bug fix for qpsk modulation 2018-03-20 18:02:52 +01:00
Robert Schmidt
318e4a345e free configmodule memory when shutting down
It is possible to restart the lte-softmodem via the FlexRAN controller. For
this to work, the end_configmodule() method needs to be called when shutting
the lte-softmodem down so that the configuration can be read again during a
restart.
2018-03-20 14:41:58 +01:00
Haruki NAOI
eaa3f533a5 Fix: segmentation fault happens when clean_eNb_dlsch() function is executed while pdsch procedure running. 2018-03-20 13:00:21 +09:00
Cedric Roux
3fe90157e6 Merge remote-tracking branch 'origin/bugfixes-2018-w11' into develop 2018-03-19 10:57:35 +01:00
Cedric Roux
89201888e3 Merge remote-tracking branch 'origin/cherry-pick-5722d493' into develop 2018-03-19 10:57:16 +01:00
Cedric Roux
d393814772 bugfix: send UL NACK (on PHICH) at the right place
The PHICH was not programmed for the last round (4) because it was
not programmed in rx_sdu but in schedule_ulsch_rnti, only in case
of a programmed retransmission (there is obviously no retransmission
programmed after the last round).

The case of Msg3 is not handled. To be done somehow.
2018-03-19 10:28:16 +01:00
Raymond Knopp
dad93fe297 SCHED_NBIOT directory 2018-03-19 01:38:45 -07:00
Raymond Knopp
6d2158f37a added SCHED_NR directories 2018-03-19 01:34:57 -07:00
Raymond Knopp
ece0996946 added readme for NR_REFSIG directory 2018-03-19 01:24:55 -07:00
Raymond Knopp
bf13e67b55 added README files to NBIoT/NR directories so they appear in gitlab 2018-03-19 01:23:34 -07:00
Raymond Knopp
fe95f0f478 created new directories for NBIoT and NR and split eNB/gNB/UE 2018-03-19 01:13:12 -07:00
Raymond Knopp
d312f9c805 debugging for TDD 2018-03-19 01:10:10 -07:00
Wang Tsu-Han
71a98a977e bug fix for killing thread 2018-03-16 18:18:55 +01:00
Haruki NAOI
dbe3208302 Fix: eNB can not accept attach more than 257 times. 2018-03-16 15:32:14 +09:00
Cedric Roux
f1f3b8a0a8 bugfix: fix issue 285 - connect/disconnect multiple time
As reported by Emad Alizade:

    According to "Issue255 256 257 paging reesta release" that has been
    merged in develop version, we have a question: In rrc_eNB_free_UE()
    function only all ulsch related memory of user has been cleaned, but
    I think not only ulsch memory but also dlsch memory must be cleaned.
    I tested the latest develop version and with repetition UE attach-detach
    procedures we find that the dlsch memory has not been cleaned and after
    repeat this sequence (45 times) assertion with cause UE_id!=-1 (no free
    or exiting dlsch_context, dci_tools.c: fill_dci_and_dlsch() ) occurred
    and no UE will be attached to system.

The fixes in this commit are from Emad Alizade.

(cherry picked from commit 4b5b556493)

# Conflicts:
#	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
#	openair2/LAYER2/MAC/eNB_scheduler.c
#	openair2/RRC/LITE/rrc_eNB.c
2018-03-16 15:25:31 +09:00
Cedric Roux
3da8cac59b bugfix: try to release HARQ processes properly
The code is too complex. This commit may not be enough.
2018-03-15 10:48:16 +01:00
Raymond Knopp
8d90eda600 bug fix after merge 2018-03-14 16:21:51 +01:00
Raymond Knopp
c4a81c2215 changes for TDD signaling. 2018-03-13 16:18:26 +01:00
Raymond Knopp
d943cd281d initial split of UE/eNB directories 2018-03-13 01:17:10 -07:00
Raymond Knopp
6295e57331 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-03-13 00:06:42 -07:00
Eino Virtanen
445524bc87 fix building protobuf when user name is not the same as primary group name 2018-03-12 15:57:58 +01:00
Raymond Knopp
f8f6f003ef Bugfix 2018-03-12 13:54:09 +01:00
Raymond Knopp
1f130faf17 Resolving Merge conflicts 2018-03-12 13:48:12 +01:00
Raymond Knopp
b2cc1252c6 Merge remote-tracking branch 'origin/develop' into RU-RAU-split-parallel-EMUFH-phy-test-merge
Conflicts:
	cmake_targets/build_oai
	common/utils/itti/intertask_interface.c
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/PHY/defs.h
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	targets/ARCH/COMMON/common_lib.c
	targets/COMMON/create_tasks.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.h
2018-03-12 12:10:48 +01:00
Raymond Knopp
ffe2967d81 Split init and config USRP device. It seems to have solved the stop/restart RAU without stopping the RRU 2018-03-12 11:31:08 +01:00
jftt_wangshanshan
2505f15eab Fix previous problem for no-ue-extension version of schedule_ulsch_rnti 2018-03-12 12:49:34 +08:00
jftt_wangshanshan
485b7fc060 Fix the defecitve process while there is an uci scheduled before an ulsch. 2018-03-12 11:07:59 +08:00
Raymond Knopp
9a373b2897 oaisim updates after merge with develop 2018-03-11 19:43:44 +01:00
Raymond Knopp
c42a4f4baa testing monolithic eNodeB after merge with develop. Changes : don't create ru_thread_control and add initalization procedures during configuration instead. 2018-03-11 10:11:19 +01:00
Raymond Knopp
bf846280d1 removal of warnings 2018-03-11 09:20:45 +01:00
Raymond Knopp
4d71261cb9 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/INIT/lte_init_ru.c
	openair1/PHY/defs.h
	openair2/ENB_APP/enb_paramdef.h
	targets/RT/USER/lte-ru.c
2018-03-11 08:45:09 +01:00
Raymond Knopp
79c8d0e0cb updates for IF4p5 to handle >1 nb_rx/nb_tx. Tested with 2x2 2018-03-10 16:19:40 +01:00
Raymond Knopp
49bb8b4cd7 bug fixes in channel simulation routines for multi-UE 2018-03-10 00:02:50 +01:00
Raymond Knopp
6a4abf1464 modifications to default configuration files for oaisim and some minor chanes to lte-ru.c for simulator target 2018-03-09 10:48:32 -08:00
Cedric Roux
e56ae69bc3 Merge remote-tracking branch 'origin/develop_integration_2018_w10' into develop
Summary of changes:
- bug fix in the FlexRAN API (correct a check)
- bug fix for sending the right RNTI in a FlexRAN message
- fixes small bug in ulsim which kills one RX antenna in channel simulation.
  Another simple but bad bug in ulsch_demodulation.c (bad access of avgU
  array). This probably resulted in a performance degradation for non-ideal
  channels, even for 1 antenna. The avgU was read in position 1 instead of
  0 for 1-antenna and in positions 1 and 2 instead of 0 and 1 for 2-antennas.
- work from Nokia:
    1) shared library loader, with integration for oai devices, encoder and telnet server
    2) telnet server (use build-oai --build-telnetsrv option and --telnetsrv softmodem option)
    3) UE/eNB in different executables (lte-uesoftmodem and lte-softmodem + noS1 variants)
    4) config module fixes and extensions
    5) very preliminary NB-IoT integration preparation, using shared lib loader ( use make NB-IoT to build, after building the eNB softmodem)
    6) Rename NB-IoT configuration sources from nbiot_ to NB-IoT_ to be consistent with other NB-IoT developments.
- various bugs fixed:
  - try to avoid "buffer full" problem when pushing DL traffic
  - add a stop_rf function in the RU
  - cleanup - remove unnecessary calls to get_cpu_freq_GHz
    (was disrupting realtime at startup, generating lots of UU and LL)
  - cleanup MAC PDU generation

Compilation with Rel10 is not functional anymore.
Compilation of unitary simulator is not functional anymore.
2018-03-09 16:47:08 +01:00
Cedric Roux
e7cfe377db integration fix: fix file format (dos2unix)
End of line character has to be unix-style, not dos-style.
2018-03-09 16:43:08 +01:00
Cedric Roux
92bb82eb2b integration fix: fix license version to 1.1 2018-03-09 16:40:09 +01:00
Cedric Roux
cd103f7c3d Merge remote-tracking branch 'origin/fixes-flexran' into develop_integration_2018_w10
* bug fix in the FlexRAN API (correct a check)
* bug fix for sending the right RNTI in a FlexRAN message
2018-03-09 14:58:51 +01:00
Cedric Roux
00f234029a Merge remote-tracking branch 'origin/bugfixes-2018-w10' into develop_integration_2018_w10 2018-03-09 14:58:37 +01:00
Cedric Roux
727e29e3c0 Merge remote-tracking branch 'origin/ulsch-rx-2ant-fix' into develop_integration_2018_w10
fixes small bug in ulsim which kills one RX antenna in channel simulation.
Another simple but bad bug in ulsch_demodulation.c (bad access of avgU
array). This probably resulted in a performance degradation for non-ideal
channels, even for 1 antenna. The avgU was read in position 1 instead of
0 for 1-antenna and in positions 1 and 2 instead of 0 and 1 for 2-antennas.
2018-03-09 14:57:32 +01:00
Cedric Roux
3e99c7aa97 Merge remote-tracking branch 'origin/develop-nbiotconf-shlibloader' into develop_integration_2018_w10
1) shared library loader, with integration for oai devices, encoder and telnet server
2) telnet server (use build-oai --build-telnetsrv option and --telnetsrv softmodem option)
3) UE/eNB in different executables (lte-uesoftmodem and lte-softmodem + noS1 variants)
4) config module fixes and extensions
5) very preliminary NB-IoT integration preparation, using shared lib loader ( use make NB-IoT to build, after building the eNB softmodem)
6) Rename NB-IoT configuration sources from nbiot_ to NB-IoT_ to be consistent with other NB-IoT developments.
2018-03-09 14:56:18 +01:00
Cedric Roux
71e7f9713a hack: try to avoid "buffer full" problem when pushing DL traffic
This is hack-level development.

With this commit you can do UDP DL traffic of say 100Mb/s over
a 5MHz link with one connected UE and the eNB should not crash
because of memory exhaustion. Of course on the receiver side
you won't get 100Mb/s and many many lost packets. But the system
should not crash. 1Gb/s does not work. So in any case try to
remain within some reasonable limits. There is no reason to
push more than twice the maximum achievable throughput of
the link.

This work is based on a patch proposed by Francesco Gringoli.
2018-03-09 10:18:12 +01:00
oai
da50d68b06 more NB-IoT integration 2018-03-08 17:35:35 +01:00
oai
b04f3b54a4 introduce distinct executables for ue and eNodeB (lte-uesoftmodem, lte-softmodem) 2018-03-08 17:29:34 +01:00
oai
45302792ee config module fix and extensions for Nb-IoT, shared lib loader and telnet server implementation 2018-03-08 17:24:23 +01:00
Cedric Roux
963805820c add a stop_rf function in the RU
When the program exits it has to stop the streaming of the USRP.
The function exit_fun is supposed to do that. When quitting with
control+c (very common case) this function is not called. The
code is very unclear there, so let's add a stop_rf in the RU,
as there is already a start_rf.

If we don't call trx_end_func, then at the next run the USRP
device may be in an unstable state and behave improperly.

If the program crashes then the USRP device may be in an
unstable state. The only solution to this problem is to reset
the USRP device.

Maybe there is a way to clean the state of the device when we
open it, before we start using it. Sort of a cleanup before
use. That could be a better solution to "bad state after program
crash".

What has been tested:
- monolithic eNB only
2018-03-08 10:29:28 +01:00
Cedric Roux
5a61f9944c cleanup - remove unnecessary calls to get_cpu_freq_GHz
The one in lte-enb.c disrupts the realtime. Using a B200mini with
20MHz bandwidth leads to the UE unable to connect for it seesms like
the UL and DL are not properly time synched because of this sleep
of one second that happens after the USRP streaming has started.
We see some random access attempts but the decoded preamble is
wrong.

This may be dependant on the setup. I had sporadic errors with
a B210, where sometimes the UE could connect and sometimes not.
2018-03-08 10:11:09 +01:00
Cedric Roux
1a8d81ba57 cleanup MAC PDU generation (plus some general cleanup)
The code was very unclear and potentially buggy.
This new version is more robust.

We can waste up to 2 bytes because the last header in the MAC PDU
does not contain a length field and when we request data from RLC
we suppose a 3-bytes MAC header. This might be optimized at some
point, but the benefit would be low.

This commit also contains some general cleanup:
- formatting
- variables' types: let's use 'int' instead of trying to be clever
  by using small types that may generate bugs if the value is
  too big
- remove 'tpc_accumulated' which was globally used for all UEs
  and has no purpose other than logging. We may want to rework
  a bit the TPC machinery at some point. As the code is today
  we may repeatedly send TPC over and over without caring about
  the 3GPP limits, in which case no one knows how the UE is
  supposed to behave: does it clamp the current max value or does
  it accumulate over and over and take the clamped value to compute
  its actual power? If we send a reverse TPC (reduce power instead
  of increase) does it do it immediately or does it have to decrease
  n+1 times if we previously ordered it to increase n times?)

We do not address the problem of prioritizing LCIDs. As of today there
is only one dedicated traffic channel (DTCH), so it's not a problem
at this point.

What has been tested:
- monolithic eNB 5/10/20MHz with one cots UE, TCP/UDP UL/DL. At 20MHz the
  machine used was not capable of keeping up, generating lots of Us
  and Ls when the throughput reaches 60Mb/s. USRP B210 was used.
2018-03-08 10:04:18 +01:00
Wu Jing
d45572446c fix mcs when retranssmission 2018-03-08 12:38:54 +09:00
Wu Jing
f58d4aa05f fix pdcch_alloc2ul_subframe when TDD config1 2018-03-08 12:26:39 +09:00
Wu Jing
8a89a16fde fix issue about att_rx and att_tx config 2018-03-08 12:01:43 +09:00
Wu Jing
45655197eb merge ues_test branch into sp3_tdd_config1 2018-03-07 13:42:05 +09:00
Raymond Knopp
957cdbab48 fixes bug in ulsim for 2 antenna RX. 2018-03-07 01:26:04 +01:00
Raymond Knopp
bcaabe513f bugfix on access of avgU array 2018-03-06 23:32:51 +01:00
Wang Tsu-Han
822416e9e2 fep initialization for less core 2018-03-06 15:41:05 +01:00
Wu Jing
54cf2d9aef fix TBS_UL data_type from uint8_t to uint16_t 2018-03-06 16:15:24 +09:00
Wang Tsu-Han
ac95f89aa5 fixes for fewer core 2018-03-05 11:43:14 +01:00
Wang Tsu-Han
23f5628735 changing into double sided signal for pipeline 2018-03-05 11:20:51 +01:00
Younes
bc0ae0fce9 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-03-05 08:17:10 +01:00
Younes
a4660d322d minor changes in RRU portion for frame resynch 2018-03-05 08:16:55 +01:00
Raymond Knopp
271b761a64 frame resynch completed. to be tested with more than 2 RRU. 2018-03-05 08:15:46 +01:00
Raymond Knopp
4afeaaf2ff Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-03-04 18:39:24 +01:00
Raymond Knopp
570ac353f1 frame resynchronization in RAU and RRU 2018-03-04 18:38:43 +01:00
Younes
e57ecfb7f8 modifications for RU synch 2018-03-03 21:33:15 +01:00
Raymond Knopp
b68e7d76eb fixes for if4p5 RRU 2018-03-03 09:36:31 +01:00
Raymond Knopp
103471e9cc added "is_slave" flag parsing to RAU 2018-03-02 20:08:27 +01:00
Robert Schmidt
4924b18ebd FlexRAN: send RNTI in protobuf mac_stats_reply message 2018-03-02 17:36:43 +01:00
Robert Schmidt
8cace6537e correctly check for MAC presence in FlexRAN RAN API 2018-03-02 17:36:43 +01:00
Raymond Knopp
58fb23757f Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-03-02 17:06:02 +01:00
Younes
cbecc5860c modifications for Synch procedure in RU 2018-03-02 17:02:54 +01:00
Younes
34be055fb3 changes in RAU handling of multiple RRUs 2018-03-02 17:01:20 +01:00
Cedric Roux
307e2f299a Merge remote-tracking branch 'origin/hotfix-rlc-2018-w09' into develop 2018-03-02 15:29:36 +01:00
Cedric Roux
2f8dc35583 Merge remote-tracking branch 'origin/fix-unnecessary-decl' into develop 2018-03-02 15:29:10 +01:00
Younes
96c12c86d9 some conditions for TDD which were asserting after latest NFAPI merge. 2018-03-02 12:19:27 +01:00
Cedric Roux
26d68e9c5e hotfix: fix bad RLC UM packet creation
Running TCP DL traffic with one connected UE showed a lot of
fluctuations in throughput. After analysis it was found that
sometimes the RLC UM PDU was not correct. It contained one byte
more than it should. On the receiver side, the TCP packet
contained in the RLC packet seems to be rejected by the TCP
stack of the UE (it has one byte more than it should),
leading to a brutal reduction of the throughput, probably due
to some congestion detection in the TCP implementation.
Or something.

This hotfix seems to solve the problem. Using iperf in downlink
with a 5MHz eNB, we see no more fluctuations, the traffic is
very steady at 16.8Mb/s, as reported by the iperf server running
on the phone. (17.5 in the PHY plot of the T tracer.)

A rewrite of both the MAC and RLC UM packet generation is needed.
The code is way too complex for what it does and may contain
several similar problems that only trigger in specific rare
conditions.
2018-03-02 12:02:06 +01:00
naoi
7f03a6e32a Fix: log argument issue. 2018-03-01 19:21:21 +09:00
Wang.shanshan
57a9156f88 Fix index used while checking harq result with SR collision 2018-03-01 18:59:19 +09:00
naoi
1f9a6c1369 Fix: improve success rate of lower layer re-establishment. 2018-03-01 17:12:36 +09:00
Robert Schmidt
7d8d1588c3 remove unnecessary function declaration
has been introduced in commit 365ca71a4a
2018-03-01 09:04:41 +01:00
naoi
4b02d81839 Fix: Random access information may not release if msg3_round initial value is not zero. 2018-03-01 16:21:32 +09:00
naoi
95f677f735 Fix: pucch procedures moves after UE removed. 2018-02-28 19:34:20 +09:00
naoi
3d1b8a9cef Fix: S1-U Bearers is generated incorrectly when PDCCH order re-establishment succeeded. 2018-02-28 17:50:10 +09:00
naoi
af6ca15020 Fix: Random access information is not released when Msg3(response to PDCCH order) re-transmission fails. 2018-02-28 17:11:37 +09:00
Cedric Roux
c9f89db89b hotfix: clear DCI padding bits
The problem is the following (as reported by an user):

  "one UE is attached to OAI system. UE is near the antenna. Try to detach
  the UE and attach again. Repeat this procedure for 5-6 times. OAI system
  does not work and any the UE can not attach to this system. I use TEMS
  software and I can see MIB signaling on this UE but UE can not decode SIB1
  and SIB2."

What happens is that the DCI for SIB1 and SIB2 is not cleared before
use. That is the bits in the 'padding' field keep the values that were
set before. If the structure has been used to transmit other DCIs
(eg. for UEs) in the past, it may be reused with some of those bits set
to 1. When receiving this DCI, the UE won't accept it because it
gets some bits at 1 where it expects them to be 0.

The short-term/quick solution is to clear the 'padding' field.
A better solution would be to rewrite this part of the code,
which is way too complicated for what it does. But this takes
too much time.

In dci.h the field 'dummy' of some structures was renamed to 'padding'.
The fields 'padding32' and 'padding64' were also renamed to 'padding'
for consistency.

Some structures (DCI2B_1_5MHz_TDD, DCI2B_10MHz_FDD, DCI2D_1_5MHz_FDD,
DCI2D_5MHz_FDD, DCI2D_10MHz_FDD) had a 'padding' field at the end, which
was renamed to 'padding0'. I don't know if this field should be here at all.
To me this field looks very suspicious. When we test DCIs 2B and 2D we
should be careful.

(cherry picked from commit c5ca2bd862)
2018-02-27 18:37:46 +09:00
jftt_wangshanshan
87fb55c792 Fix a bug in previous commit Fix:harq_pid.... 2018-02-27 11:55:53 +08:00
Xu Bo
dab82a2705 fix for-loop index in pdate_ul_dci 2018-02-27 11:24:44 +09:00
Wang.shanshan
5808ce3934 Fix:harq_pid for TDD is not completely fixed in pre processer. 2018-02-26 20:21:16 +09:00
Cedric Roux
6858b55c60 Merge remote-tracking branch 'origin/develop_integration_2018_w08' into develop
Summary of changes:
- fix dlsim/ulsim
- fix centOS compilation
- Move the accounting phase of the DL pre-processor in a separate procedure
  and fix some issues
- additional Mac stats and Improvements
- minor fix in test setup v2
2018-02-26 11:43:27 +01:00
Cedric Roux
9f1530c3c9 Merge remote-tracking branch 'origin/fix-centos-network-device-compilation' into develop_integration_2018_w08 2018-02-26 11:34:36 +01:00
jftt_wangshanshan
9f31d41b44 Add the setting ofharq_information_rel10_tdd.n_pucch_1_0 for tdd in allocate_CCEs 2018-02-26 17:31:43 +08:00
Raymond Knopp
4695d16cf9 handling of RU_IDLE->RU_RUN->RU_IDLE 2018-02-25 21:58:26 +01:00
Raymond Knopp
1bf4541190 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement
Conflicts:
	targets/SIMU/USER/oaisim.c
2018-02-25 18:24:58 +01:00
Raymond Knopp
5abbdaa39c debugging for RU state control 2018-02-25 18:24:14 +01:00
Raymond Knopp
75325ec79e debbuging for RU state control 2018-02-25 18:23:40 +01:00
jftt_wangshanshan
699bbcb80f simplify source of ulsch_scheduler_pre_processor 2018-02-24 17:27:18 +08:00
Wu Jing
0504659eb8 fix RM778 PRACH failure by adding reset RA when CRNTI_ACK in extract_harq 2018-02-24 15:16:17 +09:00
Raymond Knopp
d4eb54660a indentation of lte-ru.c 2018-02-23 16:10:02 -08:00
Raymond Knopp
1547de9ad8 debugging for simulator target 2018-02-24 01:04:01 +01:00
Raymond Knopp
72cd1b1d7c update lte-softmodem for init_RU 2018-02-23 18:11:58 +01:00
Raymond Knopp
5cb9fcfce7 fixed compilation error in lte-ru.c Added modifications for oaisim from other branch. 2018-02-23 17:18:52 +01:00
Wang Tsu-Han
4b39203763 adding te/td distructure 2018-02-23 16:59:57 +01:00
Younes
3ab54c8a4b gpio fix 2018-02-23 16:50:32 +01:00
khadraou
de5e5beee1 Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement 2018-02-22 17:11:44 +01:00
Raymond Knopp
dc0638d7f6 added compilation directives for nasmesh and ue_ip kernel modules to allow for building on RHEL systems. 2018-02-22 16:45:18 +01:00
Cedric Roux
37425ee967 bugfix: revert bad change
Without this revert, the following does not compile:

    ./build_oai --oaisim
2018-02-22 16:03:45 +01:00
Wang Tsu-Han
cb4dc53042 adding wait stage for every wakeup 2018-02-22 15:59:23 +01:00
Younes
e2ddd50fde Dealing with connection lost case. Now the RRU keeps working but we can't restart it again, a problem with the USRP load 2018-02-22 15:54:27 +01:00
Cedric Roux
b23a8ad0fe integation fix: minor typo 2018-02-22 15:04:09 +01:00
Cedric Roux
84882d9414 Merge remote-tracking branch 'origin/fix-test-setup-2018-w08' into develop_integration_2018_w08 2018-02-22 15:03:57 +01:00
Cedric Roux
365ca71a4a remove compilation warnings 2018-02-22 15:03:45 +01:00
Cedric Roux
8ca5fb4ef2 integration: cleanup
- remove spaces at the end of lines
- remove useless dead code
  use: git show -p <this commit> -w
  to see it clearly
2018-02-22 15:03:09 +01:00
Cedric Roux
58eab7515f integration fix: fix crash
With value 4 when connecting one UE and doing some downlink
iperf TCP there is a crash. Probably due to the multiple wrong
RA detected leading to uplink failure of fake UE that never
sends Msg3 (because, well, there is no other UE).

This is another problem that will be fixed at some point.

Anyway, this value 4 fails. Let's put back 3.
2018-02-22 15:02:30 +01:00
Cedric Roux
d5e179fa1f Merge remote-tracking branch 'origin/flexran-mac-stats' into develop_integration_2018_w08 2018-02-22 15:02:15 +01:00
Cedric Roux
4fb2e609fd Merge remote-tracking branch 'origin/enhancement-preprocessor' into develop_integration_2018_w08 2018-02-22 15:02:04 +01:00
Cedric Roux
7b06a540d8 Merge remote-tracking branch 'origin/fix-centos-compilation-2018-w08' into develop_integration_2018_w08 2018-02-22 15:01:54 +01:00
Cedric Roux
5e581a4b06 Merge remote-tracking branch 'origin/dlsim-ulsim-fix' into develop_integration_2018_w08 2018-02-22 15:01:38 +01:00
Masayuki HARADA
2d975ca61b Change scheduling priority : UL-SCH == MAC-CE 2018-02-22 22:11:44 +09:00
Robert Schmidt
e66bd0e2b1 RAN API: unify style, declare missing function in header 2018-02-22 12:03:10 +01:00
Cedric Roux
1e2a7156e0 test setup v2: minor bugfix 2018-02-22 11:54:16 +01:00
tomita
2f4c21ced3 Fix to avoid Segmemtation Fault in case of physicalConfigDedicated is NULL. 2018-02-22 17:10:21 +09:00
tomita
1008080e31 Bug fix for harq_pid calculation in MAC layer. 2018-02-22 16:40:27 +09:00
Masayuki HARADA
5d91a36ebc Merge branch 'ues_test' of http://10.37.145.15:8000/gitlab/vran/release_enb into ues_test 2018-02-22 11:28:36 +09:00
Masayuki HARADA
59623646cf Avoid NULL access in rrc_eNB_process_RRCConnectionReestablishmentComplete. 2018-02-22 11:11:15 +09:00
naoi
497a3275c6 fix: drop reestablishment request after UL failure is detected in layer2.
eNB should be keep UE context longer than T311 timer after UL failure is detected in layer2.
Configuration file(GENERIC-LTE-EPC) sets T311 to 10s, so eNB keep UE context up to 20s.
2018-02-22 10:17:34 +09:00
Wang Tsu-Han
56a32a22d4 changing emulate-rf into an executional option instead of compiler option 2018-02-21 18:13:34 +01:00
Younes
ecd1f9f3e1 Dealing with the case of keeping RRU working if RAU is down 2018-02-21 15:10:42 +01:00
shahab SHARIAT BAGHERI
9a9c867a75 additional Mac stats and Improvements 2018-02-20 15:09:24 +01:00
Wang Tsu-Han
869b9a5c6f fix for phy-test UL and adding wakeup_txfh 2018-02-20 15:05:00 +01:00
tomita
19509f08eb Changed log level. 2018-02-20 18:40:05 +09:00
Niccolò Iardella
10e91d4e2f Move the accounting phase of the DL pre-processor in a separate procedure 2018-02-19 15:48:17 +01:00
Cedric Roux
62787a8893 fix CentOS compilation
The following was not working properly:

    ./build_oai -I -w USRP

After this commit it works.

And so does:

  ./build_oai --eNB -w USRP
2018-02-19 14:09:09 +01:00
tomita
ea3aecf486 Bug fix about harq_pid calculation (harq_pid is calculated less than 0). 2018-02-19 19:42:06 +09:00
tomita
a53e22c294 Fixed harq_pid calculation. 2018-02-19 19:31:09 +09:00
tomita
c80246a9a5 Changed log level. 2018-02-19 19:18:15 +09:00
Wolfgang A. Mozart
2194bc8564 fixed timing issue for phy-test scheduling UL. UL is broken after first execution of dlsch decoding 2018-02-19 10:45:34 +01:00
Raymond Knopp
1c46dd7c69 updates for oaisim 2018-02-18 17:31:40 +01:00
Raymond Knopp
b42d83bead memory allocation bugs for 2x2 transmission in dlsim 2018-02-18 12:19:31 +01:00
Raymond Knopp
da83df84f1 Merge remote-tracking branch 'origin/develop' into dlsim-ulsim-fix
Conflicts:
	openair1/PHY/INIT/lte_init.c
2018-02-18 01:39:36 -08:00
Raymond Knopp
e6be94eca2 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-02-17 12:51:59 -08:00
Raymond Knopp
a1dc99724b missing file 2018-02-17 11:15:53 -08:00
Raymond Knopp
f7c58f27ca dlsim and ulsim functional. dlsim 1-2 antenna ports, TM1/2. ulsim 1-2 antenna ports. 2018-02-17 11:08:56 -08:00
Wang Tsu-Han
bf601fce71 adding phy-test for UL 2018-02-16 19:15:40 +01:00
Cedric Roux
5357ef2050 Merge remote-tracking branch 'origin/develop_integration_2018_w07' into develop
Summary of changes:
- a lot of work on flexran
- several compilation bugfixes
- some bugfixes for some bad conflict resolutions
- various bugs fixed
2018-02-16 15:30:23 +01:00
Cedric Roux
2d6dd02b95 bugfix: fix bad conflict resolutions from previous commits
Some more fixes for some bad conflict resolutions.

I ran:

    git diff 2018.w04 2018.w05

And saw some problems with config_sib2.

There was also something strange in openair2/LAYER2/openair2_proc.c
in the function dump_eNB_l2_stats. Maybe the fix is wrong for
this one. To be checked.
2018-02-16 11:11:50 +01:00
Cedric Roux
c0be5a129c integration fix: set default max MCS for UL back to 20
Doing an iperf UDP uplink test, we could reach only 6Mb/s
with very good radio conditions instead of around 8Mb/s.

It turns out the MCS was limited to 16.

With this commit, we are back to a bit more than 8Mb/s
as it used to be.

(This is with a 5MHz bandwidth.)
2018-02-15 16:50:30 +01:00
Cedric Roux
b2ac257ef5 integration fix: compilation failed
The following compilation failed before this commit:

    ./build_oai --eNB -w USRP -c --T-tracer
2018-02-15 13:40:34 +01:00
Masayuki HARADA
de35844c42 Change priority of itti thread. 2018-02-15 20:23:54 +09:00
Masayuki HARADA
d82ebce55b If TB buffer's all regments recieved is NOT equal RLC's all regments recieved, discard that TB buffer. 2018-02-15 20:10:08 +09:00
Cedric Roux
e4a5470d47 integration fix: noS1 compilation
The following compilation did not work anymore:

    ./build_oai --eNB -c -w USRP --noS1

Neither did:

    ./build_oai --UE --noS1
2018-02-15 11:34:53 +01:00
naoi
897d3c49df Fix: avoid conflict between pre-scd thread and ru thread. 2018-02-15 18:05:40 +09:00
Cedric Roux
8cab562b9f Merge remote-tracking branch 'origin/feature-merge-merge-f68' into develop_integration_2018_w07 2018-02-15 09:58:26 +01:00
Masayuki HARADA
4c0a8f88f9 Add fail safe when RF TX thread is busy. 2018-02-15 10:58:47 +09:00
Cedric Roux
91332d3906 fixup previous bad merge (UE disconnection did not work properly anymore)
Doing airplane mode off to connect a cots UE followed by airplane mode on
to disconnect it gives very bad results (bad disconnection with lots of
UL failures followed by lots of logs in the eNB). It used to work properly
after the work done by Xu Bo.

It turns out that in 2018.w04 things were still working okay. But
in 2018.w05 no.

So I ran:

    git diff 2018.w04 2018.w05

And I checked all the modifications that I thought were relevant
(everything related to the UE, oaisim, if4 and fapi has not been checked).

This commits takes back the version of 2018.w04.

The modifications in openair2/RRC/LITE/rrc_eNB.c are necessary, I think.

The other modifications may not be necessary or even wrong. To be checked
at some point.
2018-02-14 17:59:04 +01:00
Robert Schmidt
a4f260f5a4 fix: no FLEXRAN_AGENT_SB_IF compilation directive 2018-02-14 17:50:41 +01:00
Niccolò Iardella
7e3b1f5d0a Niccolo: Add sorting policy 2018-02-14 17:06:04 +01:00
Robert Schmidt
7b1afbb0bf provide stop_L1L2()/restart_L1L2() in oaisim
the functions are meant to restart the lte-softmodem (lower layers) and are not
supported in oaisim. They are provided to make oaisim compile.
2018-02-14 16:45:14 +01:00
Robert Schmidt
9dcd1f9b89 bugfix: max_allowed_rbs has been renamed max_rbs_allowed_slice 2018-02-14 16:45:14 +01:00
Robert Schmidt
50f7053159 return 0 for unsigned in RAN API 2018-02-14 16:44:29 +01:00
Robert Schmidt
d741b951fa define&send IMSI in Protobuf 2018-02-13 19:01:47 +01:00
Robert Schmidt
df43d19c35 refactoring of the original IMSI extraction code
- move IMSI extraction code to function, remove FLEXRAN comp. directive
- refactor the code, esp. don't do deep if-nesting
- remove m-tmsi part (does not give correct value)
- copy complete IMSI info to UE context, decode in RAN API
2018-02-13 19:01:47 +01:00
Robert Schmidt
d8a6715395 store IMSI information + provide FlexRAN API to query UE's IMSI 2018-02-13 19:01:47 +01:00
Robert Schmidt
9d05a9a3b1 track IMSIs by decoding NAS messages
Original Author: Xenofon Foukas
Changed formatting
does not compile
RS: cast to get rid of compiler warning
-> ImsiEpsMobileIdentity_t to ImsiMobileIdentity_t which is defined the same
way
2018-02-13 19:01:47 +01:00
Robert Schmidt
ef78dcde55 send UE Capabilities to Flexran RTController 2018-02-13 19:00:34 +01:00
Raymond Knopp
e9d536972c updated dlsim to FAPI interfaces 2018-02-13 07:18:52 -08:00
Cedric Roux
2f1acb16ab Merge remote-tracking branch 'origin/oaisim-compilation-ubuntu-17-10_2018-w07' into develop_integration_2018_w07 2018-02-13 15:33:04 +01:00
Cedric Roux
22742a4c9c hack: get oaisim to compile on Ubuntu 17.10
The following did not work before this commit
on ubuntu 17.10:

    ./build_oai --oaisim -c

oaisim has not been tested. It may fail to work. To be tested.
2018-02-13 15:30:39 +01:00
Robert Schmidt
12ac8b180d prevent warnings: init Protocol__FlexHeader to NULL 2018-02-13 14:29:15 +01:00
Robert Schmidt
c33e184dde bugfix: selectively inform FlexRAN RTController of UE state change 2018-02-13 14:25:50 +01:00
Robert Schmidt
a68d70a13d bugfix: prevent segfault in pre_processor.c 2018-02-13 14:23:54 +01:00
Navid Nikaein
5865c141d0 Improve UL/DL MCS assignment 2018-02-13 11:45:16 +01:00
naoi
1ba0155944 clean: log modification. 2018-02-13 18:22:38 +09:00
jftt_wangshanshan
7b9422a8c5 Merge branch 'sp3_tdd_config1' of http://takoyaki.np1s.css.fujitsu.com:8000/gitlab/vran/release_enb into sp3_tdd_config1 2018-02-13 17:08:57 +08:00
jftt_wangshanshan
831ce2e910 Fix frame_cnt to prevent it from getting too big 2018-02-13 17:08:32 +08:00
naoi
5eac636b34 FIX: E-RAB is removed when UE's status is E_RAB_STATUS_DONE. 2018-02-13 17:57:44 +09:00
Wu Jing
ebecb55733 add if-else case for first_rb=3 when TDD config1 20MHz in ULSCH_pre_processor 2018-02-13 12:30:25 +09:00
Cedric Roux
e794f920c7 integration fix: remove definition of OAI_NW_DRIVER_USE_NETLINK in source file
This is done better by commit 6210eb056f.
2018-02-12 16:15:09 +01:00
Cedric Roux
0b5d0a1761 Merge remote-tracking branch 'origin/fix-ue-compilation-2018-w07' into develop_integration_2018_w07 2018-02-12 16:12:19 +01:00
Cedric Roux
d68ddebe21 Merge branch 'develop-oaisim-ue-hotfix' into develop_integration_2018_w07 2018-02-12 16:11:17 +01:00
Cedric Roux
8d0f964755 Merge remote-tracking branch 'origin/tx_att_rx_att' into develop_integration_2018_w07 2018-02-12 16:09:35 +01:00
Cedric Roux
94a11ee54e Merge branch 'emad72:patch-1' into develop_integration_2018_w07
The branch has been rebased to current origin/develop before merge.
2018-02-12 16:08:13 +01:00
Emad
ddd3e97f14 srb_id must be between [1,3] 2018-02-12 16:07:22 +01:00
Robert Schmidt
4bf4ad8e98 change build scripts: always compile FlexRAN 2018-02-12 15:30:30 +01:00
Cedric Roux
6210eb056f bugfix: fix ue_ip.ko compilation
Not sure that the use of __KERNEL__ is the correct solution.
To be checked at some point.

After this commit, the following works:
./build_oai --UE -c
2018-02-12 15:26:45 +01:00
Robert Schmidt
54e803e71a Sample configuration FlexRAN: Agent is disabled 2018-02-12 15:21:44 +01:00
Robert Schmidt
135b06ae66 bugfix: only send eNB stats to controller if agent enabled 2018-02-12 15:21:02 +01:00
Emad
1056604b25 I tried to change rx and tx attenuation by the config file, but they are not changed. The bug is because att_rx and att_tx do not put in RC.rru when local_rf is "yes" in config file. We need to put att_rx and att_rx for both local_rf = "yes" and "no". Also RF config which send to RF device must be fill by this parameters. 2018-02-12 15:12:22 +01:00
Robert Schmidt
219b5bc92f make FlexRAN Agent activation configurable 2018-02-12 15:11:19 +01:00
Robert Schmidt
adec4e39df remove all conditional FlexRAN-related compilation directives 2018-02-12 14:38:44 +01:00
Robert Schmidt
3768723c62 remove unnecessary comments 2018-02-12 13:50:48 +01:00
Robert Schmidt
ceece5694d rename flexran_slice_member() -> ue_slice_membership() 2018-02-12 13:50:48 +01:00
Robert Schmidt
8108d59a0b no regression, fixes compilation warnings&errors 2018-02-12 13:50:48 +01:00
Robert Schmidt
cf0a5ca920 fix RAN API due to merge + repair functions 2018-02-12 13:50:48 +01:00
Robert Schmidt
a78aaa451c fix slicing capability in ulsch scheduler 2018-02-12 13:50:45 +01:00
Wu Jing
c641f334bb fix total usable RBs when pucch rb=6 2018-02-12 18:38:26 +09:00
jftt_wangshanshan
19a2b37c75 Fix bug in Adaptive Retransmission for ULSCH. Fix Qm,mcs,TBS setting. 2018-02-12 16:52:48 +08:00
jftt_wangshanshan
5a461002a1 Merge branch 'sp3_tdd_config1' of http://takoyaki.np1s.css.fujitsu.com:8000/gitlab/vran/release_enb into sp3_tdd_config1 2018-02-12 14:01:46 +08:00
jftt_wangshanshan
bba24dc2fa Remove comments 2018-02-11 20:33:07 +08:00
jftt_wangshanshan
2974c20c69 Move tdd config case 1 to top 2018-02-11 19:55:52 +08:00
Xu Bo
dcdda7ba35 set UL schedule period to 5Frame for TDD config1 2018-02-11 18:10:11 +09:00
jftt_wangshanshan
4898d609e6 Fix a bug in HI_DCI0_req clear 2018-02-11 16:42:12 +08:00
Raymond Knopp
4070f0bfdf Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop
Conflicts:
	openair2/LAYER2/MAC/config.c
2018-02-09 22:47:29 -08:00
Raymond Knopp
b073445f99 removed NFAPI libraries from oaisim target. added #define to allow ue_ip.ko to compile. This should be revisited, there's a problem in CMakelists.txt, no flags.cmake generate for all 3 kernel modules. 2018-02-09 19:15:30 +01:00
Robert Schmidt
8877b18a9a fix eNB_ulsch_dlsch_scheduler() broken by merge 2c8443121d 2018-02-09 19:05:36 +01:00
Robert Schmidt
e8e58e2594 Merge branch 'develop' into feature-merge-merge-f68 2018-02-09 17:10:41 +01:00
Robert Schmidt
d746ff6127 update comments in restart_L1L2() 2018-02-09 16:29:59 +01:00
Robert Schmidt
1eabadb137 remove unnecessary code from lte-enb.c 2018-02-09 15:47:59 +01:00
Robert Schmidt
386fd21c93 free_eNB_{d,u}lsch(): remove log, complete function dlsch 2018-02-09 15:31:59 +01:00
naoi
0684f6dda1 Fix: All UEs are detached when rf_tx_thread_busy occurs. 2018-02-09 23:27:30 +09:00
Cedric Roux
6868329384 Merge remote-tracking branch 'origin/develop_integration_2018_w06' into develop
Summary of changes:
- fix MAC indentation
- bug fixes:
  - fix uplink over-scheduling
  - fix CQI updating (it was done even when it shouldn't)
  - fix rrc rel10 compilation
  - some minor bug fixes related to ASN.1
2018-02-09 11:20:28 +01:00
Cedric Roux
26073a353b Merge remote-tracking branch 'origin/fix-enb-name-2018-w06' into develop_integration_2018_w06 2018-02-09 11:04:56 +01:00
Robert Schmidt
bb6fd31de6 free all memory for lte_ul_ref* structures 2018-02-09 10:59:59 +01:00
Robert Schmidt
6cff88b9c8 free memory on teardown after all RU/eNB threads have been released 2018-02-09 10:56:14 +01:00
Cedric Roux
11fe5f97c7 bugfix: fix eNB name in configuration files
'_' is not a valid character.

S1AP specs say:

    ENBname ::= PrintableString (SIZE (1..150,...))

And X.680 (08/2015) 41.4 table 10 lists the valid characters for
PrintableString. '_' is not there. We replace by '-' which is there.

Connection of eNB to ppenair-cn has not been tested. There is no reason
why it would fail.
2018-02-09 10:49:50 +01:00
Robert Schmidt
c518ed89e2 bugfix after merge 2018-02-08 19:12:20 +01:00
Robert Schmidt
1a1ad6ed8f remove non-existing files from build description file 2018-02-08 19:11:57 +01:00
Robert Schmidt
c8ae5b7c09 decrease warning 2018-02-08 18:55:23 +01:00
Nikos Makris
73691de7f6 Fixes that were affecting the communication between PDCP and RLC, cleanup 2018-02-08 19:13:34 +02:00
Robert Schmidt
a21bc513bb Merge branch 'develop' into feature-merge-f68 2018-02-08 18:05:28 +01:00
jftt_wangshanshan
1bc258a729 Merge branch 'sp3_tdd_config1' of http://takoyaki.np1s.css.fujitsu.com:8000/gitlab/vran/release_enb into sp3_tdd_config1 2018-02-08 18:09:53 +08:00
jftt_wangshanshan
593ebc4732 Fix bug in subframe2harq_pid. Remove if tdd condition while calling this method since there is already if-else in the method. 2018-02-08 18:08:38 +08:00
Cedric Roux
7ce1621622 Merge remote-tracking branch 'origin/fix-sib3-2018-w06' into develop_integration_2018_w06 2018-02-08 11:04:27 +01:00
jftt_wangshanshan
9ba0355000 add switch tdd config to Msg4 timing setting 2018-02-08 18:04:23 +08:00
Cedric Roux
f3e7a72e55 Merge remote-tracking branch 'origin/fix-cqi-update-2018-w06' into develop_integration_2018_w06
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
2018-02-08 11:03:50 +01:00
Cedric Roux
724970e2ef Merge remote-tracking branch 'origin/fix-ul-buffer-info-2018-w06' into develop_integration_2018_w06
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
2018-02-08 10:59:19 +01:00
jftt_wangshanshan
89b261efe5 Fix bug in schedule_ulsch 2018-02-08 16:28:13 +08:00
Wu Jing
8fffe90dbe fix hundreds_of_ues issue(n1_PUCCH_AN DAI) for TDD cofnig1 2018-02-08 02:24:54 +00:00
Nikos Makris
fc43139e6a Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split
Compile with  ./build_oai --eNB -w USRP --pdcp-split
2018-02-07 19:31:51 +02:00
Cedric Roux
f6345f048e Merge remote-tracking branch 'origin/fix-rrc-rel10-compilation-2018-w06' into develop_integration_2018_w06
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
2018-02-07 15:12:08 +01:00
Cedric Roux
8e3ecf3399 Merge remote-tracking branch 'origin/fix-s1ap-2018-w06' into develop_integration_2018_w06 2018-02-07 15:03:56 +01:00
Cedric Roux
d23b02af56 Merge remote-tracking branch 'origin/mac-indentation-fix' into develop_integration_2018_w06 2018-02-07 15:03:38 +01:00
Cedric Roux
1fce1bbf82 bugfix: fix SIB3 encoding
The unused bits are the lower bits, so we need to shift.

Not sure that the value 1 is what we want though.
2018-02-07 14:51:50 +01:00
naoi
0efa1185f3 fix: UE dosen't respond to pdcch order(contention based) 2018-02-07 20:40:06 +09:00
Cedric Roux
c0bcd78673 bugfix: don't take into account report CQI in case of NACK or DTX
The problem that may happen is that when the UE does not transmit
on PUCCH (for whatever reason) we may get no signal at all, and
thus compute a very low CQI. Later on we may ask the UE to transmit
louder which may lead to saturation and more problems.

The solution is simple: don't care about CQI in case of DTX
(and NACK also, as done for PUSCH).

Only FDD case done.
For TDD it seems that:
- nfapi structures are not correct. See nfapi_harq_indication_tdd_rel13_t
  in nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface.h, all the cases
  (bundling, multiplex, ...) use nfapi_harq_indication_tdd_harq_data_t
- the function extract_harq does not handle TDD
2018-02-07 12:31:26 +01:00
Cedric Roux
9b7364a3ca minor: fix AssertFatal 2018-02-07 12:30:00 +01:00
Cedric Roux
eccb96c4c2 bugfix: fix UL over scheduling
There is too much UL scheduling because the buffer status is
overestimated.

This commit tries to make things simpler.
2018-02-06 14:37:03 +01:00
jftt_wangshanshan
e8300aa944 Don't use assert since the comment above said it's perfectly possible to have this NULL here. 2018-02-06 16:50:27 +08:00
jftt_wangshanshan
367e076347 Fix merge bug in return value of ul_ACK_subframe2_dl_frame 2018-02-06 11:58:25 +08:00
Xu Bo
5c76360c2d Fix special subframe only use 2 symbols to transmit pdcch 2018-02-06 11:01:05 +09:00
Cedric Roux
a21c0b809f bugfix: fix RRC Release 10 compilation
The following compilation did not work anymore:

    ./build_oai --eNB -w USRP -r Rel10 -c

(Rel8 still does not work.)
2018-02-05 17:21:40 +01:00
Cedric Roux
f55cbe475c bugfix: fix initialUEMessage criticality
S1AP specs say:

    initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
        INITIATING MESSAGE      InitialUEMessage
        PROCEDURE CODE          id-initialUEMessage
        CRITICALITY             ignore
    }

So let's use "ignore", not "reject".

The online decoder http://asn1-playground.oss.com/ did
not decode a message encoded by the eNB because of this.

Only the S1AP messages captured while doing a simple connection
of one UE have been tested with the online decoder.

So, not all the S1AP messages have been checked, maybe some
instances of this problem are still there.

It does not seem to harm the actual UE<->eNB<->EPC communication
(because we don't check the integrity of messages or because
asn1c does not do it), so it's not a big deal.
2018-02-05 16:50:52 +01:00
Xu Bo
f9f20c7300 allocate_CCEs only called on dl subframes 2018-02-05 20:17:53 +09:00
jftt_wangshanshan
5ece3937d4 CRS only send on first symbol in special subframe config 0 2018-02-05 17:37:34 +08:00
Xu Bo
4387070cda fix merge bug 2018-02-05 17:25:57 +09:00
jftt_wangshanshan
9c820805fa TDD config1 initial merge 2018-02-05 15:43:20 +08:00
Raymond Knopp
f9aba7ac0f OTA synchronization for TDD. Added PSS position computation for testing on EURECOM CRAN. 2018-02-04 02:18:24 -08:00
Raymond Knopp
01f06bcf09 compilation success 2018-02-03 08:11:48 -08:00
Raymond Knopp
4af41d2a26 more correction of indentation 2018-02-03 07:53:33 -08:00
Raymond Knopp
2c8443121d Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into mac-indentation-fix
Conflicts:
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
2018-02-03 06:23:55 -08:00
Raymond Knopp
1a082041b8 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop
Conflicts:
	openair2/LAYER2/MAC/config.c
2018-02-03 06:03:04 -08:00
Xu Bo
10d7599d08 fix merge error 2018-02-03 17:52:03 +09:00
Wu Jing
069ce49e9c Merge remote-tracking branch 'other/issue289_tdd_config1' into sp3_master 2018-02-03 17:50:53 +09:00
Nikos Makris
bc0f49cea0 Merge remote-tracking branch 'origin/develop' into feature-127-protocol-split
OAISIM NoS1 broken, needs fixing (no linking of libraries for the UE code)
2018-02-02 20:21:34 +02:00
Younes
9e69e729c5 bugfix 2018-02-02 16:51:59 +01:00
Younes
57f02ec182 bugfix 2018-02-02 16:35:30 +01:00
Younes
7c4e75d018 Send RRU_sync_ok once RRU is in sync 2018-02-02 16:32:22 +01:00
Younes
6e3f57cbe1 added msg type RRU_sync 2018-02-02 16:23:32 +01:00
Younes
58948310b3 Slave RU can now synchronize, the problem was in nb_antennas_rx which is init in UE but not in RU. I added it in ru_thread_control, but it should be done somewhere else. Added msg RRU_sync_ok from RRU to RAU to inform the RAU that the RRU is in sync 2018-02-02 16:22:08 +01:00
Cedric Roux
be8d32d55f Merge remote-tracking branch 'origin/develop_integration_2018_w05' into develop
Summary of changes:
- noS1 fixes
- various bugs fixed
2018-02-02 11:43:54 +01:00
Younes
1783066561 removed log 2018-02-02 11:10:08 +01:00
Younes
9d8c205073 Removed some logs 2018-02-02 11:06:49 +01:00
Younes
e0a0f7ed8b Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2018-02-02 10:55:28 +01:00
Younes
785a435fe0 bugfix in configuring ru from file, at_rx was set to att_tx 2018-02-02 10:53:22 +01:00
Cedric Roux
ea0d778176 Merge remote-tracking branch 'origin/develop-nos1-fixes' into develop_integration_2018_w05 2018-02-02 10:18:31 +01:00
naoi
3ea62dbdee modify log. 2018-02-01 21:26:05 +09:00
Wu Jing
ba8a111ea1 merge the latest develop branch into issue289 2018-02-01 19:25:29 +09:00
Xu Bo
d42ddeac56 fix CRNTI process 2018-02-01 01:57:54 +00:00
Eurecom
863c469d35 bug fix for adjustable thread structure 2018-01-31 17:53:54 +01:00
Robert Schmidt
fcddbc2b44 RAN API: add functions using UE_Capability
- flexran_get_half_duplex()
- flexran_get_intra_sf_hopping()
- flexran_get_type2_sb_1()
- flexran_get_ue_category()
- flexran_get_res_alloc_type1()
2018-01-31 16:49:24 +01:00
Robert Schmidt
6eeb257717 add UE_Capability to type eNB_RRC_UE_t and read it when received 2018-01-31 16:49:24 +01:00
Robert Schmidt
dd7d2ef63b Navid: revise RRC 2018-01-31 16:49:24 +01:00
Robert Schmidt
e669f83dc1 Navid: revise RAN API 2018-01-31 16:49:24 +01:00
Robert Schmidt
6dcac9234c Navid: revise FlexRAN 2018-01-31 16:49:24 +01:00
Robert Schmidt
d092231181 free memory when stopping/restarting lte-softmodem
- add function free_td() -> complements init_td() [seems to not be used, added
  for completeness]
- add function free_td8() -> undoes init_td8() [free memory of 8-bit LLR Turbo
  decoder]
- add function free_td16() -> undoes init_td16() [free memory of 16-bit LLR
  Turbo decoder]
- change function free_tdavx216() -> undoes init_tdavx216() [free memory of
  16-bit LLR Turbo decoder, AVX2 version]
- add free_lte_top() -> frees memory allocated by init_lte_top()
- change free_ul_ref_sigs() to set freed pointers to NULL
- add method free_transport() -> frees memory of ULSCH/DLSCH transport channels
- use the above functions when stopping/restarting the lte-softmodem
2018-01-31 16:49:24 +01:00
Robert Schmidt
4f1c51f38c add phy_free_RU() and phy_free_lte_eNB()
this methods free the memory that is allocated by the functions
phy_init_RU() and phy_init_lte_eNB()
2018-01-31 16:49:24 +01:00
shahab SHARIAT BAGHERI
2c8dd796e8 Scheduler must send FlexRAN stats updates 2018-01-31 16:49:24 +01:00
Robert Schmidt
d5b8310fb9 add some logging for RRM command parsing 2018-01-31 16:49:24 +01:00
Robert Schmidt
3f043c7d73 FlexRAN: implement possibilty to await a configuration
Through configuration, the lte-softmodem can be halted to await a
reconfiguration from the lte-softmodem. A mutex and condition variable are used
to implement this.

Furthermore, the dependance of lte-softmodem.c on FlexRAN has been reduced to
one include and the flexran_agent_start() call.
2018-01-31 16:49:24 +01:00
Robert Schmidt
811ada2429 soft-restart (i.e. only layers PHY-RRC) the lte-softmodem 2018-01-31 16:49:24 +01:00
Robert Schmidt
8e9d9807ae lte-ru.c: fct for interface -dependant config, export more functions
- add set_function_spec_param() which configures RU_t instance depending on its
  function(al split)
- export more functions like kill_RU_proc() so that they can be reused by
  restart functionality
2018-01-31 16:49:24 +01:00
Robert Schmidt
a91a35877d join all RU threads 2018-01-31 16:49:24 +01:00
Robert Schmidt
9333c16ecb bugfixes: correctly initialize mutexes, conds of RU_proc_t, unlock RU.mutex after using 2018-01-31 16:49:24 +01:00
Robert Schmidt
1576b7bd08 bugfix: max_rbs_allowed_slice is array over CC, not LCID 2018-01-31 16:49:24 +01:00
Robert Schmidt
6179d9d748 Navid: fix access to non-existent harq_pid_* variables via RC read 2018-01-31 16:49:01 +01:00
Robert Schmidt
356d406cff Navid: remove FlexRAN Agent MAC xface function callbacks for scheduling 2018-01-31 16:48:37 +01:00
Robert Schmidt
3740afecc7 consider changed RAN API 2018-01-31 16:48:36 +01:00
Robert Schmidt
56d4d0ebef Bugfix: avoid cyclic header dependency, use FlexRAN variables instead 2018-01-31 16:48:36 +01:00
Robert Schmidt
6a6729bdac fix various compilaton errors due to merge 2018-01-31 16:48:29 +01:00
Robert Schmidt
dfece3ff58 correct scheduler typedefs 2018-01-31 16:42:01 +01:00
Robert Schmidt
9b4d3bbae7 move scheduler function pointer typedef to proto.h 2018-01-31 16:42:01 +01:00
Robert Schmidt
a03877e7f7 delete unnecessary code 2018-01-31 16:42:01 +01:00
Robert Schmidt
7dfac059b0 Review Navid: UL Scheduler: make slice aware 2018-01-31 16:42:01 +01:00
Robert Schmidt
024904db90 repair enb_app.c after merge, delete unnecessary code 2018-01-31 16:42:01 +01:00
Robert Schmidt
a6098dbf09 delete unnecessary FlexRAN source files
all the FlexRAN scheduling code is now also handled by the general OAI
scheduling code
2018-01-31 16:42:01 +01:00
Robert Schmidt
b45a340b63 RAN API: no set_RC_vars(), check use RC directly, give error messages 2018-01-31 16:42:01 +01:00
Robert Schmidt
cdbf65f5af revise RAN API
- when changing values RC.rrc[i]->configuration should be changed too
- then, RRC_RECONFIGURATION_REQ will pass the changed conf down until PHY
- give warnings at functions that are not implemented

- rename functions
flexran_get_tdd_ack_nack_feedback() -> flexran_get_tdd_ack_nack_feedback_mode()
flexran_get_ue_pmi() -> flexran_get_ue_wpmi()
2018-01-31 16:41:56 +01:00
Eurecom
5f028730cd bug fix for RXTX same thread 2018-01-30 17:22:34 +01:00
Eurecom
f0e10b0d89 bug fix for shared info between threads 2018-01-30 14:56:23 +01:00
Younes
becbaf2006 bugfix in do_ru_synch 2018-01-29 16:04:45 +01:00
Younes
a32775149a commented freq adjustment in do_ru_sync 2018-01-29 16:00:28 +01:00
Younes
4f23f5427c mask adjustment to take into account RRUs not in SYNC 2018-01-29 15:58:12 +01:00
Younes
9255b3b97b Commented MTU tuning 2018-01-29 14:45:55 +01:00
Raymond Knopp
200be2b1ee Merge branch 'develop-nos1-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-nos1-fixes 2018-01-28 13:14:51 +01:00
Raymond Knopp
0d05de6382 minor changes after merge with develop for noS1 simulation 2018-01-28 13:13:59 +01:00
Xu Bo
ef4aee1e28 Merge branch 'issue255_256_257_tmp' into ues_test 2018-01-27 04:14:06 +00:00
Xu Bo
0dcc3dceaf reduce UL failure timer log by change LOG_I to LOG_D 2018-01-27 04:13:12 +00:00
Xu Bo
664d1a4b5f merge issue271_hundreds_of_ues into ues_test and fix conflict in openair2/LAYER2/MAC/defs.h 2018-01-27 02:24:43 +00:00
Xu Bo
098a177d6f Merge branch 'issue271_hundreds_of_ues' into ues_test 2018-01-27 02:12:47 +00:00
Xu Bo
dedd3c6344 fix issue that when RRCConnectionRelease happened by UL failure DL SCD doesn't send DCCH(RRCConnectionRelease) to UE because ul_out_of_sync is set to 1 2018-01-27 02:11:57 +00:00
Xu Bo
b7e2a90ef4 fix release timer by starting timer after SCD DCCH(RRCConnectionRelease) 2018-01-27 02:06:08 +00:00
Raymond Knopp
1b87fe8f51 split of external clock and external time sources 2018-01-26 23:53:02 +01:00
Wang Tsu-Han
3efaa38394 adjustable thread structure 2018-01-26 18:05:17 +01:00
Younes
ba5e3e7463 clock source / timing source split.
MTU tuning removed for now.
2018-01-26 16:06:15 +01:00
Xu Bo
260a2a7d3d Merge branch 'issue255_256_257_tmp' into ues_test 2018-01-26 17:08:09 +09:00
Xu Bo
d9d28e3209 reset release_timer from 200ms to 100ms because of flightmode on/off issue, reduce ul failure timer log 2018-01-26 08:00:57 +00:00
Xu Bo
1547a45eae Merge remote-tracking branch 'remotes/origin/issue255_256_257_tmp' into ues_test 2018-01-26 07:15:45 +00:00
Xu Bo
0105373cdc Merge remote-tracking branch 'remotes/origin/issue271_hundreds_of_ues' into ues_test 2018-01-26 06:43:41 +00:00
Xu Bo
b44c83ef46 add remove ue info of pre_scd thread to freeList and for ru_thread to remove the UE in the freeList 2018-01-26 06:15:28 +00:00
Xu Bo
23b5b6ac20 add remove ue info to freeList when RRCConnectionReestablish occurs and for ru_thread to remove the info 2018-01-26 05:57:37 +00:00
Florian Kaltenberger
13c8931bf2 bugfix in modulation 2018-01-25 16:20:25 +01:00
Raymond Knopp
2d610d95c8 Merge branch 'develop-nos1-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-nos1-fixes 2018-01-25 15:55:24 +01:00
Raymond Knopp
fe1912a193 correcting issues after merge with develop 2018-01-25 06:54:01 -08:00
Raymond Knopp
8b052dadd5 Merge branch 'develop-nos1-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-nos1-fixes
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/RRC/LITE/rrc_UE.c
	openair2/RRC/LITE/rrc_common.c
	targets/SIMU/USER/oaisim_functions.c
2018-01-25 00:00:24 -08:00
Raymond Knopp
ceb4edf7e6 minor changes 2018-01-25 08:53:40 +01:00
Raymond Knopp
f8b0cd5bd4 Merge remote-tracking branch 'origin/develop' into develop-nos1-fixes
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair2/RRC/LITE/rrc_UE.c
2018-01-24 23:36:39 -08:00
Raymond Knopp
866a23a136 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-01-24 23:25:16 -08:00
Massive
a6db17ffcd Merge branch 'RU-RAU-split-parallel-EMUFH' of http://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split-parallel-EMUFH 2018-01-24 15:29:24 +01:00
Robert Schmidt
6198a673f0 correctly instantiate flexran agent 2018-01-24 11:51:35 +01:00
Robert Schmidt
ab3f9dad49 add flexran sample config 2018-01-24 11:51:35 +01:00
Robert Schmidt
fac968246d define FlexRAN data in RAN context and use it
- defines RCconfig data structures
- adds method to read data
- use it in source files
2018-01-24 11:51:35 +01:00
Robert Schmidt
765d6370f6 update FlexRAN configuration definition (paramdef) 2018-01-24 11:51:35 +01:00
Navid Nikaein
0937339a53 Update MAC scheduler for slicing (not tested) 2018-01-24 11:51:35 +01:00
Robert Schmidt
78dd80b086 Merge branch 'feature-68-enb-agent' into feature-merge-f68
Try to merge feature-68-enb-agent into develop
develop should be fast-forwarded later to this branch to complete the merge
This code does not compile yet. Among other things:
- the scheduler structure needs to be reworked for FlexRAN
- the config is structured differently. The files enb_config.{c,h} from develop
  have been copied in here, the files with merge annotations are in
  enb_config.{c,h}.before_merge
- the restart needs to be restructured, since the PHY vars data structure lives
  in RC now
2018-01-24 11:47:28 +01:00
Xu Bo
da94f64c95 Merge remote-tracking branch 'remotes/origin/issue255_256_257_tmp' into ues_test 2018-01-23 09:37:15 +00:00
Xu Bo
573c703cd2 fix issue about nb_rb=0 assertion failed 2018-01-23 09:31:01 +00:00
Cedric Roux
cd8e8458cf Merge remote-tracking branch 'origin/develop_integration_2018_w04' into develop
Summary of changes:
- heavy code cleanup (#ifdef removal)
- bugfixes
2018-01-23 09:30:04 +01:00
Cedric Roux
ecd4aebbe0 Merge remote-tracking branch 'origin/issue-285-connect-disconnect-multiple-time' into develop_integration_2018_w04 2018-01-22 18:44:32 +01:00
Eurecom
30d5f151c3 specified modulation for QPSK 2018-01-22 18:02:02 +01:00
Cedric Roux
97ebc165cc Merge remote-tracking branch 'origin/282-flags-cleanup' into develop_integration_2018_w04
Conflicts:
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/SCHED/defs.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/RRC/LITE/rrc_eNB.c
2018-01-22 17:47:01 +01:00
Cedric Roux
b5513cadf1 hotfix: fix nfapi for correct compilation on ubuntu 17.10 2018-01-22 16:00:21 +01:00
Cedric Roux
4b5b556493 bugfix: fix issue 285 - connect/disconnect multiple time
As reported by Emad Alizade:

    According to "Issue255 256 257 paging reesta release" that has been
    merged in develop version, we have a question: In rrc_eNB_free_UE()
    function only all ulsch related memory of user has been cleaned, but
    I think not only ulsch memory but also dlsch memory must be cleaned.
    I tested the latest develop version and with repetition UE attach-detach
    procedures we find that the dlsch memory has not been cleaned and after
    repeat this sequence (45 times) assertion with cause UE_id!=-1 (no free
    or exiting dlsch_context, dci_tools.c: fill_dci_and_dlsch() ) occurred
    and no UE will be attached to system.

The fixes in this commit are from Emad Alizade.
2018-01-22 15:32:41 +01:00
Massive
5d199f4500 adding an addition error check on harq_pid as it is sometimes not in range. root cause still to be identified 2018-01-22 12:52:37 +01:00
Xu Bo
70371e124d fix issue about Arithmetic exception for pre_scd thread 2018-01-22 10:15:08 +00:00
Xu Bo
2efaf51280 modify pre_scd thread and add phy_tx thread and rf_tx thread 2018-01-22 05:58:14 +00:00
Xu Bo
b67c169145 Merge branch 'issue255_256_257_tmp' into ues_test 2018-01-22 13:58:56 +09:00
Xu Bo
38eacea022 fix noS1 compile error 2018-01-22 04:53:17 +00:00
Xu Bo
70da4b5902 modify pre_scd thread and add phy_tx and rf_tx thread 2018-01-22 03:59:04 +00:00
Xu Bo
f59a509ec7 fix RRCConnectionRelease timer from 100ms to 200ms and clear MSG3_round after schedule_RA 2018-01-22 02:38:17 +00:00
Raymond Knopp
b350f8557e fixes for broken automatic indentation in MAC #1 2018-01-21 16:58:21 -08:00
Raymond Knopp
20c7af9a96 forgot to add a file 2018-01-21 22:21:30 +01:00
Rohit Gupta
046589e76d fixes after merge with develop. Partial UE/eNB separation in build to avoid problems with NFAPI in oaisim UE/RRU.
tested with simulator.
2018-01-21 22:15:45 +01:00
Cedric Roux
91dd7ed4b6 Merge remote-tracking branch 'origin/develop_integration_2018_w03' into develop
Summary of changes:
- Implementation of paging (see issue #255 in gitlab)
- Implementation of RRC RE-ESTABLISHMENT (see issue #256 in gitlab)
- Implementation of RRC CONNECTION RELEASE (see issue #257 in gitlab)

Some modifications with timers have been done.
Expect (and report) problems, thanks.

What has been tested:
- monolithic eNB 5 and 10MHz with one commercial UE. UDP and TCP
  traffic, uplink and downlink, with iperf (with a third party
  EPC, not openair-cn). TCP downlink traffic is not stable.
  Reason yet unknown. Will be fixed later.
2018-01-19 16:32:18 +01:00
Cedric Roux
3a867ac767 integration fix: add T trace 2018-01-19 15:51:38 +01:00
Massive
f0376d1b4f adding uhd network interface 2018-01-19 13:00:51 +01:00
Raymond Knopp
dd3dce8fcf small changes after merge with develop 2018-01-19 00:35:11 -08:00
Eurecom
dea858849e code cleanup 2018-01-17 16:30:50 +01:00
Cedric Roux
282f6a5077 Merge branch 'issue255_256_257_paging_reesta_release' into develop_integration_2018_w03
Conflicts:
	targets/RT/USER/lte-softmodem.c
2018-01-17 11:49:44 +01:00
Wang Tsu-Han
cfec3ffd56 adding EMULATE_RF into CMakelist 2018-01-16 15:50:57 +01:00
bruno mongazon
9c93307ab4 Fix #582, merge from develop 2018-01-16 14:31:23 +01:00
Raymond Knopp
d32cdd1f33 Merge remote-tracking branch 'origin/develop' into develop-nos1-fixes
Conflicts:
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/LAYER2/MAC/config.c
2018-01-16 03:55:37 -08:00
Raymond Knopp
5dc0d7ccea Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop
Conflicts:
	openair2/LAYER2/MAC/config.c
2018-01-16 03:46:24 -08:00
bruno mongazon
d100398658 Fix #582, double check all removed flags in cmake template files 2018-01-16 12:45:06 +01:00
bruno mongazon
8d2f0931a7 Fix #582, NB_ANTENNAS_TXRX removed 2018-01-16 12:35:56 +01:00
bruno mongazon
88d0b68c7b Fix #582, MIH_C_MEDIEVAL_EXTENSIONS removed 2018-01-16 12:24:58 +01:00
bruno mongazon
28497cae6f Fix #582, SPECTRA removed 2018-01-16 12:15:21 +01:00
bruno mongazon
339905d191 Fix #582, OPENAIR1, NO_OPENAIR1 removed 2018-01-16 12:11:33 +01:00
bruno mongazon
da7a4a19cd Fix #582, HARD_RT removed 2018-01-16 11:39:16 +01:00
bruno mongazon
ea3aff84e9 Fix #582, PUCCH removed 2018-01-16 11:33:45 +01:00
bruno mongazon
7943ea92d1 Fix #582, RANDOM_BF removed 2018-01-16 11:27:34 +01:00
bruno mongazon
f4d19c0d63 Fix #582, PERFECT_CE removed 2018-01-16 11:22:45 +01:00
bruno mongazon
f44064a221 Fix #582, NEW_FFT removed 2018-01-16 11:16:49 +01:00
bruno mongazon
2157727f5f Fix #582, PC_TARGET removed 2018-01-16 11:10:05 +01:00
bruno mongazon
dac7888f27 Fix #582, PC_DSP removed 2018-01-16 10:52:41 +01:00
bruno mongazon
f7653f90b0 Fix #582, PBS_SIM removed 2018-01-16 10:44:59 +01:00
bruno mongazon
71a6b5d0f0 Fix #582, ENABLE_FXP removed 2018-01-16 10:35:53 +01:00
bruno mongazon
bbaf588352 Fix #582, DISABLE_USE_NAS removed 2018-01-16 10:26:42 +01:00
bruno mongazon
d62fe071cb Fix #582, ENABLE_PGM_TRANSPORT removed, RRH related removed 2018-01-16 10:15:35 +01:00
Xu Bo
3e550e02ef revert modification of pre_scd and reduce of LC channel number 2018-01-16 16:41:18 +09:00
bruno mongazon
cf0e9175dd Fix #582, RTAI, RTAI_ENABLED, ENABLE_RTAI_CLOCK, RTAI_ISNT_POSIX, _RTAI_MATH_H, CELLULAR, TIMER_ONESHOT_MODE, EMOS, EMOS_CHANNEL, OAI_EMU, OPENAIR_EMU, PHY_ABSTRACTION, PHY_ABSTRACTION_UL removed 2018-01-15 18:47:07 +01:00
Cedric Roux
8489e40659 Merge remote-tracking branch 'origin/develop_integration_2018_w02' into develop
Summary of changes:
- integration of Cisco work on nFAPI.
  See commits 7757b9e7e7
  and 922b5b595a for details.
- support Ubuntu 17.04 and 17.10
- bugfix: DCI padding bits
  This bug made the system non-working because the DCIs for
  SIBs were wrong. See commit c5ca2bd862
  for details.
- fix issue 281: IQ record/playback explicit filename segv.
2018-01-15 17:04:56 +01:00
Cedric Roux
55641754d9 Merge remote-tracking branch 'origin/issue281_iq_filename' into develop_integration_2018_w02 2018-01-15 15:58:48 +01:00
Cedric Roux
c3ba7ba713 Merge remote-tracking branch 'origin/support-ubuntu17' into develop_integration_2018_w02 2018-01-15 15:45:47 +01:00
Cedric Roux
9c8b6e56f2 Merge remote-tracking branch 'origin/hotfix-dci-clear-padding-bits' into develop_integration_2018_w02 2018-01-15 15:45:18 +01:00
Cedric Roux
cb250cba35 Merge remote-tracking branch 'origin/nfapi-integration' into develop_integration_2018_w02 2018-01-15 15:44:41 +01:00
Cedric Roux
922b5b595a Fix NFAPI integration
This commit fixes issues introduced by the previous commit.

Summary of work:
- cleanup:
  - fix LOG_XX to be less verbose
  - fix cmake_targets/CMakeLists.txt
  - fix oaienv
  - remove dead code
- bug fixes:
  - in openair1/SCHED/fapi_l1.c we had:
      eNB->pdcch_vars[subframe&1].num_dci           = number_dci;
    should be:
      eNB->pdcch_vars[subframe&1].num_dci           = 0;
    This bug let the PHY send more DCIs than what should have been
    sent because num_dci is incremented later on in the code.
    This fix may be a problem for fapi mode, to be checked.
  - add new T VCD traces
  - revert openair1/PHY/TOOLS/file_output.c to 'develop' version
  - remove thread_id in logRecord/logRecord_mt
  - revert (and adapt) configuration files
  - be careful when doing frame++, we need to % 1024
  - revert target_rx_power in openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
- NFAPI:
  - the open-nFAPI code has been included in the repository. See nfapi/README.
    Maybe we should "git clone" the Cisco repository instead. We have to be
    careful of availability though.

What has been tested:
- monolithic eNB FDD 5/10MHz with one UE, iperf UDP/TCP uplink/downlink

Anything else may fail to work, especially the FAPI mode, which has not
been tested at all.
2018-01-15 15:24:50 +01:00
Younes
22638ba012 Merge branch 'develop-nos1-fixes' into ru_rau_enhancement 2018-01-15 14:32:57 +01:00
Younes
767621ce28 fixing diffs to merge with develop-nos1-fixes 2018-01-15 14:32:02 +01:00
Cedric Roux
7757b9e7e7 import NFAPI work from David Price from Cisco (non-working commit, do not use it)
It has been chosen to not include the full history of commits
from David. He included a binary version of wireshark, probably
a modified one that understands NFAPI. Wireshark is released under
the GPL license, we cannot include it in the repository. We could
have done a next commit to remove this binary. But then it would
still be present in the history of commits, which may not be allowed.
And it would take space on disk. We could edit the history to remove
wireshark entirely. But this operation is too complicated.

There was also a pcap capture file, which has nothing to do in
the history of commits and would take space on disk. There again,
it's too difficult to edit the history to remove it.

There was a file .gitignore that was also removed.

The original history can be found on David's repository:
https://gitlab.eurecom.fr/daveprice/openairinterface5g/
The branch is: nfapi-ru-rau-split.

A copy of that branch has been included in the internal OAI
repository, for those who have access to it.
The branch is the same. The last commit ID is
9106438239e0bc626ff1fa1d97d911caadd0fbb9.

You can compare the current commit with the commit 9106...
to see what differs.

The current commit has to be considered non-working.
The commit following the current commit will fix problems with
the work in the current commit.

If you use git bisect, don't spend time analyzing the current
commit.
2018-01-15 11:32:30 +01:00
Rohit Gupta
39d33dc4df Merge branch 'develop-nos1-fixes' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-nos1-fixes 2018-01-14 08:56:21 +01:00
Rohit Gupta
3120f16610 changes for noS1 IP addressing (UE side) 2018-01-14 08:55:46 +01:00
Rohit Gupta
8b5a963346 changes for noS1 IP addressing 2018-01-14 08:54:51 +01:00
Xu Bo
6acfbe21e1 fix compiler error generated by merge 2018-01-13 12:33:10 +00:00
Xu Bo
aebb015981 Merge remote-tracking branch 'remotes/origin/issue271_hundreds_of_ues' into ues_test 2018-01-13 12:21:15 +00:00
Xu Bo
d6dfd5f82f fix issues about pre_scd thread,duplication call pucp_run funciton 2018-01-13 11:54:33 +00:00
Xu Bo
1471846030 Merge branch 'issue271_hundreds_of_ues' into ues_test 2018-01-13 10:53:27 +00:00
Xu Bo
296ea0571c Merge branch 'issue255_256_257_tmp' into ues_test 2018-01-13 10:42:37 +00:00
Xu Bo
ac7c131baf seperate scd to pre_scd thread 2018-01-13 10:27:25 +00:00
Xu Bo
cb14cd7bf9 fix RRCConnectionReestablishment issue 2018-01-13 09:56:04 +00:00
Xu Bo
c6169f0fd3 reduce the LC channel number from 11 to 3(DCCH, DCCH1, DTCH) when schedule dlsch 2018-01-13 09:50:17 +00:00
Xu
f459f811f5 Merge branch 'issue271_hundreds_of_ues' of https://gitlab.eurecom.fr/oai/openairinterface5g into issue271_hundreds_of_ues 2018-01-13 09:44:34 +00:00
Xu Bo
04fe22d8e2 set max ue number for each DL and UL: 5MHz(4UE), 10MHz(6UE), 20MHz(10UE) 2018-01-13 09:41:04 +00:00
shono.takafumi
d8c8503234 set max ue number for each DL and UL: 5MHz(4UE), 10MHz(6UE), 20MHz(10UE) 2018-01-13 09:22:54 +00:00
Xu Bo
7d782a4a46 fix n1_pucch issue:50RB/100RB prach_freq_offset 2 ->3 2018-01-13 09:11:47 +00:00
Xu Bo
f6911c934b fix n1_pucch issue: 25RB pucch 2RB;50RB/100RB pucch 4RB 2018-01-13 08:23:22 +00:00
bruno mongazon
afcc9aabd8 Fix #582, USER_MODE flag removed 2018-01-11 16:50:50 +01:00
Xu Bo
61128d7737 Merge branch 'issue271_hundreds_of_ues' into ues_test 2018-01-11 20:26:16 +09:00
Xu Bo
eb610af36b fix DLSCH ACK/NAK cce_index issue 2018-01-11 11:19:57 +00:00
bruno mongazon
1823ce9525 Fix #281 2018-01-11 10:37:17 +01:00
Younes
5a202db54d removal of assertions which failed for TDD 2018-01-10 21:10:35 +01:00
Raymond Knopp
380222eefd timestamp handling for IF4p5, attenuation parameters 2018-01-10 21:07:45 +01:00
Guy De Souza
9d03290858 rx_dump_frame ue_mode fix 2018-01-09 22:15:15 +01:00
Xu Bo
b3ab7bc58f fix ifdef after merge issue255_256_257 into ues_test 2018-01-09 15:35:24 +09:00
Xu Bo
89ea5ed988 fix RRCConnection timer thres when GTPV1U_ENB_DELETE_TUNNEL_RESP 2018-01-09 13:52:41 +09:00
Eurecom
67c37417b6 timing measure for full coding process 2018-01-08 16:31:13 +01:00
Xu Bo
52a3053ac0 Modify Merge branch issue271_hundreds_of_ues into ues_test 2018-01-08 22:28:54 +09:00
Xu Bo
764d6fc068 Merge branch 'issue271_hundreds_of_ues' into ues_test 2018-01-08 19:49:11 +09:00
Xu Bo
baf5926a67 Merge branch issue255_256_257_paging_reesta_release into branch ues_test 2018-01-08 19:39:21 +09:00
Xu Bo
d69390c273 delete unused comment 2018-01-08 19:07:35 +09:00
Xu Bo
0f2cb0aada fix the timer between reestablishment and reestablishmentComplete 2018-01-08 18:53:30 +09:00
Xu Bo
1c1a01adfd fix double free bug 2018-01-08 17:07:40 +09:00
Raymond Knopp
b74bab25b5 Merge remote-tracking branch 'origin/develop' into develop-nos1-fixes 2018-01-07 23:57:17 -08:00
Xu Bo
27c3074ff9 fix RRCConnectionReestablishment issue when multiple RRCConnectionReestablishment happen 2018-01-08 15:27:54 +09:00
Eurecom
d1f7346c08 bug fix for missing wait sync 2018-01-05 17:02:49 +01:00
Cedric Roux
ec56a416b7 Add support for Ubuntu 17.04 and 17.10.
Basically, build_helper has been adapted so that:
  ./buil_oai -I -w USRP
works for Ubuntu 17.04 and 17.10.

Concerning those systems:
- compilation with "--eNB --UE -w USRP" works
- the enb softmodem runs on 17.04 (not tested on 17.10)
- nothing else has been tested.

Users should report any problem.
2018-01-04 16:35:09 +01:00
Wang Tsu-Han
cabb4561d5 seperating rx tx process and fixixng coding threads on different cores 2018-01-03 12:01:48 +01:00
Cedric Roux
c5ca2bd862 hotfix: clear DCI padding bits
The problem is the following (as reported by an user):

  "one UE is attached to OAI system. UE is near the antenna. Try to detach
  the UE and attach again. Repeat this procedure for 5-6 times. OAI system
  does not work and any the UE can not attach to this system. I use TEMS
  software and I can see MIB signaling on this UE but UE can not decode SIB1
  and SIB2."

What happens is that the DCI for SIB1 and SIB2 is not cleared before
use. That is the bits in the 'padding' field keep the values that were
set before. If the structure has been used to transmit other DCIs
(eg. for UEs) in the past, it may be reused with some of those bits set
to 1. When receiving this DCI, the UE won't accept it because it
gets some bits at 1 where it expects them to be 0.

The short-term/quick solution is to clear the 'padding' field.
A better solution would be to rewrite this part of the code,
which is way too complicated for what it does. But this takes
too much time.

In dci.h the field 'dummy' of some structures was renamed to 'padding'.
The fields 'padding32' and 'padding64' were also renamed to 'padding'
for consistency.

Some structures (DCI2B_1_5MHz_TDD, DCI2B_10MHz_FDD, DCI2D_1_5MHz_FDD,
DCI2D_5MHz_FDD, DCI2D_10MHz_FDD) had a 'padding' field at the end, which
was renamed to 'padding0'. I don't know if this field should be here at all.
To me this field looks very suspicious. When we test DCIs 2B and 2D we
should be careful.
2018-01-03 11:19:54 +01:00
Raymond Knopp
b6b86292d0 small changes in tracing 2018-01-02 08:39:08 -08:00
Wolfgang A. Mozart
55af824cc0 some extra logging 2018-01-02 08:06:05 +01:00
Raymond Knopp
840d37edf3 Merge branch 'oaisim_config_module_fix' into develop-nos1-fixes
Includes the following updates:
1. oaisim/lte-softmodem in noS1
2. UE fixes for oaisim
3. IF4p5 fixes (doesn't work on develop)
4. UE fixes for DCI handling (corrects problem introduced in develop)
Conflicts:
	cmake_targets/CMakeLists.txt
	targets/SIMU/USER/oaisim_functions.c
2018-01-01 08:34:02 -08:00
Raymond Knopp
02d18cc583 noS1 will compile and run correctly on develop, also for oaisim/RRU 2017-12-28 17:30:00 -08:00
Xu Bo
da47348373 fix issue271_hundreds_of_ues bugs with issue255_256_257 2017-12-28 22:41:43 +09:00
naoi
9c4f9caa08 fix queue full 2017-12-28 19:36:46 +09:00
Xu Bo
90476be196 Merge branch issue255_256_257_paging_reesta_release into branch ues_test 2017-12-28 15:49:37 +09:00
Xu Bo
663b1d8b7b fix bugs for hundreds_of_ues(UE SCD) 2017-12-27 13:23:06 +09:00
shahab SHARIAT BAGHERI
a09728addb Warning decreasing 2017-12-24 10:17:18 +01:00
shahab SHARIAT BAGHERI
b1acde2007 Neighbouring cell RRC measurement + decrease warning 2017-12-21 13:55:37 +01:00
Eurecom
f3be3c4d7b signal output when sync 2017-12-20 16:20:35 +01:00
Eurecom
384e113660 signal output when sync 2017-12-20 16:02:00 +01:00
Eurecom
d7718fb298 signal output when sync 2017-12-20 15:41:26 +01:00
Eurecom
a564363221 bugfix 2017-12-20 15:04:27 +01:00
Eurecom
92d0610c60 bugfix 2017-12-20 15:01:11 +01:00
Eurecom
0f0204556d added config slave 2017-12-20 14:50:27 +01:00
Eurecom
30857e8d74 bugfix 2017-12-20 14:43:32 +01:00
Eurecom
04230dcaa2 Merge branch 'ru_rau_enhancement' of https://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement 2017-12-20 14:32:04 +01:00
khadraou
7fcb24e6d8 dealing with sync 2017-12-20 14:30:20 +01:00
Eurecom
7be8f7bddc some logs 2017-12-20 14:28:37 +01:00
khadraou
ebb53665d9 dealing with sync 2017-12-20 14:26:10 +01:00
Eurecom
efabb8b687 signal output when sync 2017-12-20 11:40:37 +01:00
Eurecom
80ec6e5e6f signal output when sync 2017-12-20 11:26:45 +01:00
Eurecom
0a953c91d4 signal output when sync 2017-12-20 11:26:08 +01:00
Eurecom
4b69b75b5e signal output when sync 2017-12-20 11:17:58 +01:00
Eurecom
7c5c6e62ba lte_sync_time_eNB logs 2017-12-20 11:06:35 +01:00
Eurecom
eeb399177a lte_sync_time assertFatal added 2017-12-20 11:02:05 +01:00
Eurecom
4c59670399 slave in configfile 2017-12-19 16:45:40 +01:00
Eurecom
70388157af added is_slave to config file 2017-12-19 16:41:07 +01:00
Eurecom
58d9901683 Set RU 0 to master and others to slave. Testing the synch 2017-12-19 15:32:18 +01:00
Eurecom
9d687c8d84 Set RU 0 to master and others to slave. Testing the synch 2017-12-19 15:23:28 +01:00
Eurecom
9b4938293b Set RU 0 to master and others to slave. Testing the synch 2017-12-19 15:13:12 +01:00
Eurecom
f161b406dc Set RU 0 to master and others to slave. Testing the synch 2017-12-19 14:34:36 +01:00
Eurecom
630746e49f Set RU 0 to master and others to slave. Testing the synch 2017-12-19 14:28:27 +01:00
Eurecom
a65a29f91a Bugfix for multiple RRUs. Tested with 2 2017-12-19 10:43:54 +01:00
Eurecom
8414e01f19 VCD logs for frame_number_eNB 2017-12-18 14:51:56 +01:00
navid nikaein
63ba3f9543 Better slice management in FlexRAN UL/DL scheduler 2017-12-15 18:13:18 +01:00
Navid Nikaein
b049f0c820 Ue stats bugfix for dynamic reconfiguration 2017-12-15 18:10:12 +01:00
shahab SHARIAT BAGHERI
ccac021050 Ue stats bugfix for dynamic reconfiguration 2017-12-14 18:34:41 +01:00
Wang Tsu-Han
409eadc937 measuring time for coding worker 2017-12-14 17:17:31 +01:00
Wang Tsu-Han
7c27e09fcd Bug fix for coding worker thread 2017-12-14 15:38:02 +01:00
Wang Tsu-Han
22e7b1e6da extending dlsch_coding into four thread 2017-12-14 15:29:05 +01:00
Navid Nikaein
d35f52a228 Add observation window to the PDCP stats 2017-12-14 15:15:00 +01:00
khadraou
59b77ffcf8 bugfix 2017-12-14 14:00:56 +01:00
Robert Schmidt
359e1528dd refactor: FlexRAN reads eNB configuration automatically 2017-12-14 13:06:05 +01:00
Robert Schmidt
f39dd5df18 bugfix: handle variable start_eNB in restart 2017-12-14 13:06:05 +01:00
Robert Schmidt
fea641220b Start FlexRAN agent directly, lock with mutex&condition
- lock with mutexes
- don't start ENB_APP task, but Agent directly and wait in case of
  reconfiguration
2017-12-14 13:06:05 +01:00
Robert Schmidt
022916305c Fix multiple compilation warnings 2017-12-14 13:06:05 +01:00
Robert Schmidt
730ffc76f4 stop_L1L2(): no sleep, better oai_exit handling 2017-12-14 13:06:05 +01:00
Robert Schmidt
eb2dfa1b70 kill_eNB_proc(): join all PHY threads 2017-12-14 13:06:05 +01:00
Robert Schmidt
c619f6eff7 Feature: Provide restart for lte-softmodem
- {restart,stop}_L1L2() in lte-softmodem.c
- add function start_phy_rrc() in enb_app.{c,h}, accessible from outside
- will be used to restart PHY and RRC when lte-softmodem is restarted

use only one FlexRAN wait function
2017-12-14 13:06:05 +01:00
Robert Schmidt
e88a3cdf46 bugfix ITTI: clean up in itti_exit_task()
- when exiting task, the task is set as "not configured"
- this permits to start a task again
2017-12-14 13:06:05 +01:00
Robert Schmidt
ea65ddad2c fill PHY_vars_eNB_g in own function 2017-12-14 13:06:05 +01:00
Robert Schmidt
1aa5d2930a Handle TERMINATE_MESSAGE in TASK_MAC 2017-12-14 13:06:04 +01:00
Robert Schmidt
c313dff2ad better logging, remove warnings 2017-12-14 13:06:04 +01:00
Robert Schmidt
c62be7a101 Uniform messages of exiting threads 2017-12-14 13:06:04 +01:00
Navid Nikaein
612ab055d7 Add control logic to reconfigure and start eNB 2017-12-14 13:05:34 +01:00
Robert Schmidt
6e6a462dc4 check whether RRC instance is present in RAN API 2017-12-14 12:49:25 +01:00
khadraou
24c84695e5 bugfix 2017-12-14 10:09:53 +01:00
khadraou
e015b521d7 bugfix 2017-12-14 09:31:37 +01:00
khadraou
b5a28996c7 bugfix 2017-12-14 09:09:31 +01:00
khadraou
34b16b004f bugfix 2017-12-13 17:12:11 +01:00
khadraou
e4a3a539a5 bugfix 2017-12-13 17:09:36 +01:00
Navid Nikaein
49ea474807 Fix the compilation issues 2017-12-13 17:00:33 +01:00
khadraou
0dcc9e8284 bugfix 2017-12-13 17:00:09 +01:00
khadraou
a83218a0dd bugfix 2017-12-13 16:39:49 +01:00
khadraou
362e7c1403 bugfix 2017-12-13 16:38:28 +01:00
khadraou
3a84acfe42 bugfix 2017-12-13 16:25:20 +01:00
khadraou
16f9d4974b bugfix 2017-12-13 16:24:27 +01:00
khadraou
e289be953e bugfix 2017-12-13 15:34:45 +01:00
khadraou
0ef072c722 bugfix 2017-12-13 15:29:58 +01:00
khadraou
eda72f0e8a bugfix 2017-12-13 15:28:48 +01:00
khadraou
c41601908e bugfix 2017-12-13 14:28:13 +01:00
khadraou
6d84da68ef bugfix 2017-12-13 14:26:51 +01:00
khadraou
04e37e9ae2 bugfix 2017-12-13 14:19:09 +01:00
khadraou
c935816d6a bugfix 2017-12-13 12:02:34 +01:00
khadraou
5c5c8c4eb2 ru_thread_control: still missing stop ru_thread; not tested 2017-12-13 11:40:37 +01:00
khadraou
c3a7a7286d added some members to RU_proc, RU_struct, other type of msg and states for RU 2017-12-13 11:40:31 +01:00
khadraou
ca0a6820b9 added some members to RU_proc, RU_struct, other type of msg and states for RU 2017-12-13 11:32:09 +01:00
khadraou
3f2df9bb1e added some members to RU_proc, RU_struct, other type of msg and states for RU 2017-12-13 11:23:53 +01:00
khadraou
242beed0e3 ru_thread_control: still missing stop ru_thread; not tested 2017-12-13 11:21:49 +01:00
khadraou
c9908f536c ru_thread_control: still missing stop ru_thread; not tested 2017-12-13 11:05:54 +01:00
Navid Nikaein
33696a4e93 *Update RRC RSRP/RSRQ measurement reports for multiple UEs, and add the corresponding RAN APIs
*Fix the issue with the PDCP UE ID/RNTI management
2017-12-12 20:24:29 +01:00
Wang Tsu-Han
79b11d6b93 Bug fix for ulsch_decoding 2017-12-12 16:23:38 +01:00
shahab SHARIAT BAGHERI
b74c668ddb bug zero division for pdcp stats 2017-12-12 15:57:24 +01:00
Wang Tsu-Han
d82a0d900d adding ulsch_decoding multiy threading 2017-12-12 15:24:00 +01:00
Navid Nikaein
b7a1661855 Better management of frame counter and stats in PDCP 2017-12-12 11:57:24 +01:00
Navid Nikaein
38627c85d0 Minor fix in the PDCP stats update 2017-12-12 10:14:30 +01:00
Navid Nikaein
9601ea66c5 Update PDCP stats 2017-12-11 16:46:22 +01:00
Wang Tsu-Han
7ac9d2ab81 Deadline scheduling for 40MHz 2017-12-11 14:27:26 +01:00
Xu Bo
9d5ae645d0 Merge branch 'issue255_256_257_paging_reesta_release' of https://gitlab.eurecom.fr/oai/openairinterface5g into issue255_256_257_paging_reesta_release 2017-12-11 05:15:11 +00:00
Xu Bo
e108727c80 merge develop 2017.w48 into origin/issue255_256_257_paging_reesta_release 2017-12-11 05:02:51 +00:00
shahab
acd996d2eb ul proto msg 2017-12-10 18:23:21 +01:00
shahab SHARIAT BAGHERI
cd74f4d61b Message balance 2017-12-10 16:19:27 +01:00
shahab
5e20c970e9 warning decreasing 2017-12-09 17:41:06 +01:00
Navid Nikaein
dc9cada6c2 Add PDCP stats and update agent and RAN APIs 2017-12-08 18:05:42 +01:00
Xu Bo
404801ee68 merge develop 2017.w48 into issue255_256_257_paging_reesta_release 2017-12-08 17:34:57 +09:00
khadraou
c5ea577e3d some code in ru_thread_control, still need to remove redundant code in ru_thread, add the state to ru struct, all ru_thread changes still need to be done 2017-12-07 12:03:44 +01:00
Xu Bo
741c87c0d9 fix Segmentation fault issue(pdu_index -1) 2017-12-07 16:41:18 +08:00
Xu Bo
3651852e16 1.NUMBER_OF_UE_MAX 16 -> 256 2.fix type of UE number from uint8_t to uint16_t 2017-12-07 11:40:52 +08:00
jftt
9f1828be32 Merge branch 'issue271_hundreds_of_ues' of https://gitlab.eurecom.fr/oai/openairinterface5g into issue271_hundreds_of_ues 2017-12-07 10:30:09 +08:00
Xu Bo
9c87e73b2d fix Segmentation fault issue 2017-12-07 10:25:21 +08:00
Xu Bo
f5678be960 merge develop branch 2017-12-05 17:09:41 +09:00
Younes
93551181f3 thread control lte-ru 2017-12-04 10:37:15 +01:00
Xu Bo
2407b4afe6 fix issue 274, ulsch mcs 2017-12-04 15:43:29 +08:00
sharma
f32355c7dd added handling of narrowbands for ULSCH scheduling 2017-12-03 03:49:29 +01:00
Raymond Knopp
1a5a029768 minor changes to config.c 2017-12-02 15:15:30 -08:00
sharma
18d996ebd6 addition of UL scheduler for eMTC 2017-12-03 00:08:04 +01:00
Cedric Roux
a2d16b34dd Merge remote-tracking branch 'origin/develop_integration_w48' into develop
Summary of changes:
- bug fixes: random access, crash on physicalConfigDedicated)
- some work on the UE to have it functional again
- IQ record and playback (work from Nokia)
  see documentation at: https://gitlab.eurecom.fr/oai/openairinterface5g/merge_requests/244
2017-12-01 14:54:32 +01:00
Cedric Roux
a7b7de35b9 integration fix: remove compilation warning (not sure -1 is the correct value) 2017-12-01 12:16:01 +01:00
Cedric Roux
e68d6bd4c0 integration fix: remove compilation warning 2017-12-01 12:15:07 +01:00
Cedric Roux
1b4ae8fb2c Merge remote-tracking branch 'origin/bugfixes_w48' into develop 2017-12-01 11:55:52 +01:00
Raymond Knopp
7489644cc1 added .ipe file for L1_L2_procedures slides and updated .pdf file
Conflicts:
	targets/DOCS/oai_L1_L2_procedures.pdf
2017-12-01 11:54:30 +01:00
Cedric Roux
487ef8c2ad Merge branch 'florian.kaltenberger/openairinterface5g-fix_ue' into develop 2017-12-01 11:45:49 +01:00
Cedric Roux
4d4ffac482 Merge remote-tracking branch 'origin/feature-iq-record-playback' into develop 2017-12-01 11:38:42 +01:00
Florian Kaltenberger
87535679f4 Merge branch 'fix_ue' of https://gitlab.eurecom.fr/florian.kaltenberger/openairinterface5g into fix_ue 2017-11-30 11:46:21 +01:00
Florian Kaltenberger
5847a14053 bugfix in phy_procedures_lte_ue
making oaisim_nos1 compile
2017-11-30 11:45:33 +01:00
Florian Kaltenberger
5af3d77890 Merge remote-tracking branch 'origin/oaisim_config_module_fix' into fix_ue 2017-11-30 08:29:27 +01:00
sharma
3a2f4c797a debugging of Msg4 2017-11-29 07:54:41 +01:00
Florian Kaltenberger
b98a98b95b few minor fixes 2017-11-28 14:42:33 +01:00
Xu Bo
d81438cd17 merge the implemention of Paging, RRCConnectionRelease, RRCConnectionReestablishment, E-RAB Modify, E-RAB Release 2017-11-28 11:13:03 +09:00
Cedric Roux
4526622b36 bugfix: don't check for physicalConfigDedicated at the wrong places
physicalConfigDedicated may be legitimately NULL at some places
with the current code.

A cleaner solution is needed (we should always have a dedicated
config, initialized with values from the 3GPP specs, not have
a NULL as we do now).
2017-11-27 16:45:01 +01:00
Wang Tsu-Han
d174e15ac8 Measure timing wait for FEP and FEPTX 2017-11-27 11:27:10 +01:00
Cedric Roux
b0d505d2e8 bugfix: always cancel Random Access Process
Even if the old UE is not found, we have to cancel the random access.
2017-11-27 11:19:12 +01:00
Raymond Knopp
500e826c14 aligned nDMRS1 parameter in LTE and LTE-M sections of SIB2 until L1 uses LTE-M parameters for PUSCH 2017-11-26 08:37:23 -08:00
Raymond Knopp
dd695beb5e functions up to Msg3 reception. Still a bug in decoding, signal is perfect, but decoding fails. probably an issue in the descrambling 2017-11-26 03:22:29 -08:00
Wang Tsu-Han
22911600a8 Adding measurment for waking up the thread 2017-11-24 14:31:19 +01:00
Florian Kaltenberger
1940750a91 fixing -r option for UE 2017-11-23 11:30:42 +01:00
Xu Bo
ac0d39af37 fix ULSCH harq_pid calculate issue 2017-11-23 16:23:08 +09:00
oai
8ada5496c2 Merge branch 'fix_ue' of https://gitlab.eurecom.fr/florian.kaltenberger/openairinterface5g into fix_ue 2017-11-22 19:03:47 +01:00
oai
28c4c6a478 fix config problems preventing UE to start 2017-11-22 18:09:42 +01:00
Florian Kaltenberger
27387ee8c2 fixing -C option 2017-11-22 17:50:04 +01:00
Wolfgang A. Mozart
bc54a0d83f making noS1 mode compile 2017-11-22 10:36:32 +01:00
Florian Kaltenberger
5f25852693 fix UE init sequence 2017-11-22 09:58:06 +01:00
Florian Kaltenberger
bcb6f1715f patch from francois UE config 2017-11-22 09:56:43 +01:00
Raymond Knopp
7db69e3ad5 MPDCCH resource element fix 2017-11-21 17:24:51 +01:00
Wang Tsu-Han
6b99b1b1e4 emulated RF using seperate thread condition signal every time period 2017-11-21 14:41:36 +01:00
Raymond Knopp
7451f4c9f5 fixed MPDDCH resource element mappings and DMRS scrambling initialization 2017-11-21 08:00:48 +01:00
bruno mongazon
98e87ab193 provides feature #272 iq record-playback 2017-11-20 16:21:25 +01:00
Raymond Knopp
2d97eb4b34 more debugging of RA procedure for eMTC 2017-11-19 12:09:52 +01:00
Raymond Knopp
fb9776d2aa adds config module initialization to oaisim target. 2017-11-17 07:55:19 -08:00
Navid Nikaein
e996f5d0f5 Add new RAN APIs form SMA app based on the initial eNb config file 2017-11-17 16:53:58 +01:00
Wang Tsu-Han
8950c6ddd3 Bug fix for UDP loading 2017-11-17 16:42:17 +01:00
Raymond Knopp
65b8e824e1 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop
Conflicts:
	targets/DOCS/oai_L1_L2_procedures.pdf
2017-11-17 07:17:04 -08:00
Cedric Roux
ae0494b0bc Merge remote-tracking branch 'origin/bugfix-tdd-usrp' 2017-11-17 15:59:21 +01:00
Cedric Roux
fc0a60e191 Merge remote-tracking branch 'origin/develop_integration_w46' into develop
Summary of changes:

- minor changes in RA code (functionality not changed, only notation)
- automatic indentation of some files (with indent -kr)
- bugfixes for TDD in RRU (IF4p5) and timing statistics of fronthaul and
  compression
2017-11-17 15:55:40 +01:00
Cedric Roux
e190c4e2bc Merge remote-tracking branch 'origin/RA-notation' into develop_integration_w46 2017-11-17 15:27:38 +01:00
Cedric Roux
4a3489887a Merge remote-tracking branch 'origin/rru-tdd' into develop_integration_w46 2017-11-17 15:27:28 +01:00
Wang Tsu-Han
69e90fa6cb Creating Emulated FH 2017-11-17 11:11:24 +01:00
Raymond Knopp
97097a8c49 more debugging for RA procedures for eMTC 2017-11-16 09:35:39 +01:00
Raymond Knopp
71dbefe981 activated debugging traces for Msg2 MPDCCH/PDSCH 2017-11-16 06:15:45 +01:00
Xu Bo
ad859ddf5e modify for ue expansion 2017-11-16 12:11:21 +09:00
bruno mongazon
90731761e3 This commit provides the IQ record-playback feature know under issue #272 2017-11-14 19:03:46 +01:00
Raymond Knopp
79458ae7c5 added .ipe file for L1_L2_procedures slides and updated .pdf file 2017-11-14 13:57:34 +01:00
Raymond Knopp
7d3ce9bd1d added .ipe file for L1_L2_procedures slides and updated .pdf file 2017-11-13 07:15:08 -08:00
Wang Tsu-Han
81177a8a73 making the numerology into a executional option 2017-11-10 15:42:50 +01:00
Wang Tsu-Han
29bc996641 Merge branch 'RU-RAU-split-parallel' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split-parallel 2017-11-10 14:26:33 +01:00
Wang Tsu-Han
3f6c5430a2 changing back the rxtx thread and add another worker thread for coding 2017-11-10 14:23:18 +01:00
Wolfgang A. Mozart
8d5dc07a15 making noS1 mode compile 2017-11-10 09:04:10 +01:00
Xu Bo
34bc087707 modify function for issue271 2017-11-10 06:56:57 +09:00
Raymond Knopp
d135627884 integration of mpdcch format 2,3,5, wired for format 5 only. integration of mpdcch dmrs signals. 2017-11-05 12:27:46 -08:00
Raymond Knopp
e4f82c5e95 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split
Conflicts:
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
2017-11-05 05:26:01 -08:00
Raymond Knopp
decdded21b debugging for MPDCCH 2017-11-05 05:19:40 -08:00
Raymond Knopp
3a4343708b modifications for MPDCCH 2017-11-05 14:18:19 +01:00
Raymond Knopp
d01aa2d08a changing of notation for Random-Access procedure to match documentation. Function remains the same. Indentation (-kr) run on all files in LAYER2/MAC 2017-11-04 09:55:11 -07:00
Raymond Knopp
8f621c3ed7 bugfixes for TDD in RRU (IF4p5) and timing statistics of fronthaul and compression. 2017-11-04 07:09:10 +01:00
Wang Tsu-Han
c8420152de seperate processing thread into RX thread and TX thread 2017-11-03 14:57:45 +01:00
Wang Tsu-Han
caef8c6e56 fixing the sleep delay problem for tx 2017-11-03 12:27:39 +01:00
Wang Tsu-Han
c84ddacd00 Seperate Front haul RX TX and process into three threads 2017-11-02 16:37:03 +01:00
Raymond Knopp
c8070607a9 small fix on MPDCCH repetition handling and logging 2017-10-28 21:17:30 -07:00
Cedric Roux
d915c20899 Merge remote-tracking branch 'origin/develop_integration_w43' into develop
Summary of changes:
- fix a bug with Timing Advance.
  This should improve the stability of the connection
  (for now, only the scenario with one connected UE works).
- use RRC Release 14.3
- add some T tracers, minor fixes for T
2017-10-27 17:07:27 +02:00
Cedric Roux
047b54da19 Merge remote-tracking branch 'origin/develop_bugfixes_w43' into develop_integration_w43
Conflicts:
	common/utils/T/.gitignore
	common/utils/T/tracer/Makefile
2017-10-27 16:21:49 +02:00
Cedric Roux
9ddae27cf1 Merge remote-tracking branch 'origin/T-add-tracer' into develop_integration_w43 2017-10-27 16:18:20 +02:00
Cedric Roux
fbd5fff7b0 Merge remote-tracking branch 'origin/rrc-rel14-3' into develop_integration_w43 2017-10-27 16:17:55 +02:00
Florian Kaltenberger
ecee5edcce enabling new modulation 2017-10-27 16:16:05 +02:00
Cedric Roux
4d1705e3a5 T: minor: close socket
Sometimes when the user does ctrl+c to quit, it may not quit
if nothing comes on the socket. Closing the socket in the
signal handler fixes this.
2017-10-27 16:14:39 +02:00
Cedric Roux
faae3c8cd5 T: cleanup
Do not link the X stuff for tracers not needing it.
2017-10-27 16:14:39 +02:00
Cedric Roux
7e7fd3c4d5 T tracer: add a tracer to dump to VCD file
Later on, use this file with gtkwave.
To be used to check realtime behaviour of the system.
2017-10-27 16:14:39 +02:00
Cedric Roux
2beac6fed7 T: minor update of .gitignore 2017-10-27 16:14:39 +02:00
Cedric Roux
8dd3a2bdc4 T: add extract_output_subframe
This tracer extracts output subframes generated by the eNodeB,
so they can be analyzed with some external tools.
2017-10-27 16:14:39 +02:00
Cedric Roux
98b5faae47 RRC release 14.3 2017-10-27 16:13:41 +02:00
Cedric Roux
6322010e0a T: add a tracer: extract
This tracer extracts the content of a buffer field of an event
that was previously saved using the tracer 'record'.

For example, to extract the channel estimation done in
frame 924 and subframe 2 as saved in the file input_record.raw
and to store it in the file output.raw, do:

./extract -d ../T_messages.txt -o output.raw input_record.raw ENB_PHY_UL_CHANNEL_ESTIMATE chest_t -f frame 924 -f subframe 2
2017-10-27 16:09:08 +02:00
Wang Tsu-Han
ccba43e2f0 adding phy-test to config. fixing power allocation for phy-test. 2017-10-27 15:47:09 +02:00
Wang Tsu-Han
85ce7de775 added thread for TX streaming 2017-10-27 10:33:30 +02:00
Cedric Roux
6da4265876 bugfix: fix timing advance
- remove global variables in the function lte_est_timing_advance_pusch
- do the smoothing logic that was in lte_est_timing_advance_pusch
  in rx_sdu (is it necessary? is it correct?)
- put back the value 100 in prach_procedures for the test on prach energy
- change the value of timing_advance_update

  it was:

     timing_advance_update                  = sync_pos - eNB->frame_parms.nb_prefix_samples/4; //to check

  it is now:

     timing_advance_update                  = sync_pos; // - eNB->frame_parms.nb_prefix_samples/4; //to check

  this should be checked somehow. The computation looked suspicious. Maybe
  the new one is wrong.
2017-10-25 14:26:49 +02:00
Raymond Knopp
51a9107c14 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.c
	targets/RT/USER/lte-ru.c
2017-10-25 00:40:20 +02:00
Raymond Knopp
1c33d18df1 logging 2017-10-24 19:26:25 +02:00
Cedric Roux
2e5f0a07c7 minor: fix tracing utility (no malloc for it takes too long at startup) 2017-10-24 10:21:57 +02:00
Raymond Knopp
90f0886261 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-24 00:55:40 +02:00
Raymond Knopp
b18f9d6a76 minor chanels for IF4p5 in RRU 2017-10-24 00:55:24 +02:00
Eurecom
ab058059ac minor changes for IF4p5 in RAU. 2017-10-24 00:54:45 +02:00
Raymond Knopp
5d5efb7b74 IF4p5 optimizations for RRU and more inline performance statistics for RRU 2017-10-23 19:48:13 +02:00
Raymond Knopp
0a90e36087 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-23 19:25:25 +02:00
Raymond Knopp
56e74b7886 noise measurements used for PUCCH/PUSCH 2017-10-23 19:24:53 +02:00
Cedric Roux
4b9f58c085 T tracer: fix traces (add/remove to be in synch with VCD module) 2017-10-23 17:40:58 +02:00
Florian Kaltenberger
67df8e0e7b fix to previous commit 2017-10-23 16:42:54 +02:00
Cedric Roux
d413de0ad7 Merge remote-tracking branch 'origin/RU-RAU-split' into develop 2017-10-23 15:29:43 +02:00
Cedric Roux
c0a64ed506 Merge remote-tracking branch 'origin/develop'
New version 0.6.1.

Mostly bugfixes.

Conflicts:
	cmake_targets/tools/build_helper
2017-10-23 15:22:42 +02:00
Cedric Roux
61234aae05 update README for version 0.6.1. 2017-10-23 15:15:56 +02:00
Florian Kaltenberger
2466f16ec3 adding flag for phy-test 2017-10-23 15:02:08 +02:00
Florian Kaltenberger
5487c709b1 adding some missing parameters 2017-10-23 15:02:08 +02:00
Florian Kaltenberger
2dc1a602c6 first phy-test version to be tested 2017-10-23 15:02:07 +02:00
Cedric Roux
1fa317733c Merge remote-tracking branch 'origin/update-license' into develop 2017-10-23 15:02:06 +02:00
Cedric Roux
b4a48e199e Merge remote-tracking branch 'origin/update-license' into RU-RAU-split
Conflicts:
	openair1/PHY/CODING/rate_matching.c
	openair1/PHY/LTE_REFSIG/primary_synch.h
	openair2/LAYER2/layer2_top.c
	openair2/RRC/LITE/rrc_config.c
2017-10-23 15:00:30 +02:00
Wang Tsu-Han
23c54b8db4 added parallelization of fep and encoding
added numerology paramter
2017-10-23 14:47:26 +02:00
Cedric Roux
1b1f941e3c upgrade license to version 1.1 2017-10-23 12:22:13 +02:00
Cedric Roux
5502026ae1 adjust prach detection level
just a quick fix before merge, the real solution
is to disable pusch scheduling in the prach, to be
done later
2017-10-23 10:31:12 +02:00
Raymond Knopp
8846260bdf Added prach background noise detection and threshold dependent on noise measurement. 2017-10-22 21:58:31 +02:00
Raymond Knopp
26d4ad2bb6 don't call fronthaul write on RX in TDD. 2017-10-22 17:28:50 +02:00
Raymond Knopp
761a77fad0 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-20 16:49:10 +02:00
Raymond Knopp
5fefa11234 TDD for RRU IF4p5, modifications and testing. 2017-10-20 15:02:25 +02:00
Cedric Roux
6087ede004 fix asn1_msg.c
- compile with warning enabled (changes in CMakeLists.txt)
- remove warnings that were present
2017-10-20 14:53:35 +02:00
Cedric Roux
5afc71f382 bugfix: fix featureGroup
- allocate memory, memory on stack does not survive the function
- avoid uint32_t, use a char buffer, for endianness neutrality
2017-10-20 14:49:45 +02:00
Raymond Knopp
c090015741 MTU tuning for IF4p5 fronthaul 2017-10-20 14:21:39 +02:00
Cedric Roux
e3d39a0192 bugfix/compilation warning removal (not sure if correct)
basically the T_xx variables are int, not uint
2017-10-20 12:10:19 +02:00
Florian Kaltenberger
4989c0f030 fix for TDD: TX is powered on a few samples earlier to allow it to settle before start of DL 2017-10-19 18:03:01 +02:00
Florian Kaltenberger
55f0fc30bf new config files 2017-10-19 18:02:44 +02:00
Cedric Roux
bf926e3546 bugfix/warning removal
The warning was:

/roux/ru/openairinterface5g/openair1/PHY/LTE_TRANSPORT/pucch.c: In function 'generate_pucch2x':
/roux/ru/openairinterface5g/openair1/PHY/LTE_TRANSPORT/pucch.c:729:73: warning: array subscript is above array bounds [-Warray-bounds]
       AssertFatal(1==0,"Illegal modulation symbol %d for PUCCH %s\n",B2,pucch_format_string[fmt]);
                                                                         ^
/roux/ru/openairinterface5g/common/utils/./itti/assertions.h:52:53: note: in definition of macro '_Assert_'
                 __FUNCTION__, __FILE__, __LINE__, ##aRGS);  \
                                                     ^~~~
/roux/ru/openairinterface5g/openair1/PHY/LTE_TRANSPORT/pucch.c:729:7: note: in expansion of macro 'AssertFatal'
       AssertFatal(1==0,"Illegal modulation symbol %d for PUCCH %s\n",B2,pucch_format_string[fmt]);
       ^
The root cause was that the array pucch_format_string was not in sync with
the structure. (This plus why force its size and put \0 in the string...)
2017-10-19 17:23:15 +02:00
Cedric Roux
f1e8bff3ec remove gcc warnings
phy_init_lte_ue_signal was renamed init_lte_ue_signal in openair1/PHY/INIT/defs.h
maybe it's the opposite that should have been done?

Functions used in one file and defined in another may have been
declared in the wrong header file.
2017-10-19 17:00:30 +02:00
Raymond Knopp
cc47fbed90 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-19 12:27:13 +02:00
Raymond Knopp
b09a281b09 modifications for TDD and IF4p5 (in particular TDD). Both in RRU and RAU components. Monolithic is unchanged. 2017-10-19 12:25:51 +02:00
Cedric Roux
311f439a6a T tracer: add uplink TBS (retransmissions not handled) 2017-10-19 12:05:16 +02:00
Cedric Roux
0ed42440ab bugfix: set max MCS to 10 when UL scheduling a UE with no known uplink data 2017-10-19 10:54:04 +02:00
Cedric Roux
c78351c20e bugfix: clear memory
Old values valid for a previous UE have to be reset for the new UE.
2017-10-19 10:24:50 +02:00
Cedric Roux
1a04ba5bfc bugfix: do not modify dlsch structure at all in case of PDCCH order for RAPROC
introduce a new function to deal with this special case
2017-10-18 17:40:10 +02:00
Cedric Roux
f96491577f bugfix: don't check /usr/include/uhd when compiling with -w USRP
Compilation will fail if UHD is not installed, there is no need
to check. Plus the test is wrong when you install UHD somewhere
else.
2017-10-18 16:28:40 +02:00
Cedric Roux
2516216d14 T tracer: improve a bit enb tracer
- UE_id 0 is for rnti 65535 (sib)
- UE_id 1 is for rnti 65534 (this is a hack)
- UE_id 2 is for rnti 2     (RA RNTI as of today's code/config)
- we start enb by displaying UE_id 3
- there was a bug: we need to lock when resetting UE ids (reset_ue_ids)
2017-10-18 12:06:16 +02:00
Raymond Knopp
73723a56aa Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-18 11:38:46 +02:00
Raymond Knopp
49f86b0aa9 added LUT for finer-grain ULSCH power measurement compensation based on TBS. Still seems too high, to be checked some more. 2017-10-18 11:37:26 +02:00
Cedric Roux
6d3fb2dca0 add some documentation for 3276 USB LTE dongle usage 2017-10-18 10:38:14 +02:00
Cedric Roux
0289b51969 set pucch_nRB_CQI to 0 in configuration files
see commit 622b919b37
2017-10-18 10:26:43 +02:00
Cedric Roux
256c5ab060 improve crnti reception (still not correct, we need to reconfigure the UE)
TODO: if the UE did random access (followed by a MAC uplink with
CRNTI) because none of its scheduling request was granted, then
according to 36.321 5.4.4 the UE's MAC will notify RRC to release
PUCCH/SRS. According to 36.331 5.3.13 the UE will then apply
default configuration for CQI reporting and scheduling requests,
which basically means that the CQI requests won't work anymore and
that the UE won't do any scheduling request anymore as long as the
eNB doesn't reconfigure the UE.
We have to take care of this. As the code is, nothing is done and
the UE state in the eNB is wrong.
2017-10-18 09:56:29 +02:00
Cedric Roux
599ba826a8 add some debug tracing 2017-10-17 16:50:40 +02:00
Cedric Roux
f1f31a7861 minor: cleanup spacing 2017-10-17 16:19:45 +02:00
Cedric Roux
783667552e T: add -rb option to enb tracer 2017-10-17 13:16:44 +02:00
Ahmed Elias
e42505648c Solving minor issue in configuration 2017-10-17 13:05:04 +02:00
Cedric Roux
ac54521aed do not put random bits in DCI, put 0 instead (to avoid false DCI detections) 2017-10-17 12:31:35 +02:00
Cedric Roux
ba11d72b63 minor: add some documentation for bandrich dongle and NetworkManager 2017-10-17 12:26:43 +02:00
Raymond Knopp
ccfe5a0472 removed "short_offset" code from normal_prefix_mod. removed static declaration in PHY_ofdm_mod which was a cause for problems when parallelizing FFTs for FEP TX. 2017-10-17 09:41:27 +02:00
mohamed.said
7cecfa10e3 Stable version of configuration 2017-10-16 19:44:29 +02:00
Cedric Roux
3d14d5716a trying to get better power management
- change target values
- change upper/lower limit to trigger a tpc
- don't use ul_cqi from SR

The value of ul_cqi is not convincing, for both PUSCH and PUCCH,
more work/analysis is required.
2017-10-16 17:23:41 +02:00
mohamed.said
78408cc697 added missing definitions in enb_paramdef.h ,, assigned some br values in enb_config.c 2017-10-15 22:51:24 +02:00
Raymond Knopp
5c60764408 testing FEP parrelization, default set back to single-thread. Reduced logging in MAC 2017-10-15 18:38:24 +02:00
mohamed.said
06e9aacc64 fixed some br parameters in the macro definition 2017-10-15 15:19:04 +02:00
Ahmed Elias
40cbafa757 Reading BR parameters from configuration 2017-10-15 13:23:41 +02:00
Raymond Knopp
8420dce1aa addition of worker thread for fep TX procedures in RU 2017-10-15 01:47:14 -07:00
Ahmed Elias
56eedf67fa semi stablr version still need to add br configuration parameters 2017-10-15 08:47:46 +02:00
Raymond Knopp
667b9f1a88 time profiling for RU and activation of feprx worker thread in RU if get_nprocs()>2 2017-10-15 08:31:10 +02:00
Raymond Knopp
75040edfdb put pucch metric into uci->stat before calling harq_indication. Fixes an issue with PUCCH1 SNR measurements coming from HARQ. 2017-10-14 22:24:37 +02:00
Raymond Knopp
424c1b502a added deactivation of ULSCH harq process after 3rd retransmission. Avoids problem of accumulating failed RA processes. 2017-10-14 21:14:05 +02:00
Raymond Knopp
549a0b61b4 Adjustment for received power calculation in eNB pusch procedures. Added factor to account for mcs (mimic the power control adjustment in UE).
activated periodic trace for PHR/PUSCH SNR/PUCCH SNR in MAC.
2017-10-14 11:17:27 +02:00
Raymond Knopp
1f9ab059f9 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-13 18:06:25 +02:00
Cedric Roux
747372685a bugfix: clear memory 2017-10-13 13:22:15 +02:00
Cedric Roux
00f45ec9f5 bugfix: modulo from frame 2017-10-13 12:19:12 +02:00
Cedric Roux
cf208d4192 bugfix: frame is bigger than 8 bits 2017-10-13 12:11:08 +02:00
Cedric Roux
dd44c82760 bugfix: fix assert 2017-10-13 11:52:34 +02:00
Raymond Knopp
1d8bec80a0 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-12 17:03:12 +02:00
Raymond Knopp
737c3e8ae1 traces for debugging 2017-10-12 17:02:13 +02:00
Cedric Roux
493110af7a bugfix: fix schedule_SRS (not sure this is the correct solution) 2017-10-12 16:33:52 +02:00
Cedric Roux
beaeea740d bugfix: careful when setting harq_mask (didn't work for dci 1a sent to UE to do uplink) 2017-10-12 16:28:37 +02:00
Cedric Roux
f80f1f617d bugfixes
- better ulsch harq management in phy (maybe not over)
- don't do schedule_CSI if UE not in RRC_CONNECTED (not sure if correct)
- don't call find_ulsch in fill_dci0
- some spaces cleaned
- log improved
2017-10-12 14:39:55 +02:00
Cedric Roux
84bd5bd665 put nfapi public include file in the project 2017-10-12 14:34:10 +02:00
Cedric Roux
a85a341cae debug: add an abort() when receiving crnti Control Element
this is not handled correctly as of now, let's crash
2017-10-12 11:44:32 +02:00
Cedric Roux
d6fdbb4da5 bugfix: check UE presence 2017-10-12 11:42:21 +02:00
Cedric Roux
748a0790c9 T: hack for enb tracer 2017-10-12 11:00:33 +02:00
Cedric Roux
df3ebacd88 add an assert 2017-10-12 10:01:38 +02:00
kogo
1ee9b1b684 modified enb_paramdef.h file ,, parameters fixing 2017-10-11 20:03:37 +02:00
Ahmed Elias
d34226c8b2 resolving compilation errors (temp commit) 2017-10-11 19:06:06 +02:00
Cedric Roux
6abbf040be bugfix: test existence before adding a new one 2017-10-11 17:45:53 +02:00
Cedric Roux
c407cdba2d bugfix: use rnti 0 to mean "unused" instead of -1
-1 does not work
2017-10-11 16:44:27 +02:00
Raymond Knopp
cd318b327a filled in parameter definitions 2017-10-11 05:29:19 -07:00
Cedric Roux
b49fd36c15 bugfix: fix calls to CCE_allocation_infeasible (bad format_flag) 2017-10-11 12:18:31 +02:00
Cedric Roux
ac6f09eb2f fix find_dlsch and find_ulsch 2017-10-11 12:08:28 +02:00
Cedric Roux
1f487d6757 fix coment 2017-10-11 12:01:22 +02:00
Raymond Knopp
cb33ca456a partial adaption of configuration parameters 2017-10-11 02:45:26 -07:00
Cedric Roux
6d7a1a1623 minor: improve T tracer logs 2017-10-11 11:40:42 +02:00
Raymond Knopp
4fc7846f13 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/rar_tools.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.c
	openair2/RRC/LITE/rrc_eNB.c
2017-10-10 22:09:13 -07:00
Cedric Roux
6e269b363b bugfix: fix tpc on pusch (maybe not the end of the story) 2017-10-10 17:55:50 +02:00
Cedric Roux
854d2dfbda bugfix: forgot this for timing advance 2017-10-10 17:53:32 +02:00
Cedric Roux
0404f5f3ba minor: add more tracing 2017-10-10 17:52:11 +02:00
Cedric Roux
9b428e5e2f bugfix: fix timing advance
- re-use ta_timer
- when ta_timer is running:
  - no TA sent to UE
  - no TA from UE (for UE to have time to apply previous TA command)
- decrease ta_timer every TTI
- be careful to use correct value of ta_update (31 means no TA)

Maybe not correct, to be checked.
2017-10-10 14:10:32 +02:00
Cedric Roux
a9d6e04cf2 T: modify extract_input_subframe to dump several subframes 2017-10-09 16:33:05 +02:00
Raymond Knopp
8e6cc01905 handling of PDCCH order. stoping UE-specific scheduler during RA procedure. checking for DCI format (resource allocation) to not overwrite resource_block_coding for format 1A DCIs. 2017-10-09 01:25:23 +02:00
Raymond Knopp
6bfc0d63b4 put 50 PRB back in default enb configuration. added handling of UE release in L1/L2. detection of stale ULSCH configuration 2017-10-08 13:04:08 +02:00
Raymond Knopp
c9b8dfabb1 fixes for UE removal (update linked lists) searching of UE lists in schedule_SR/SRS/CSI 2017-10-08 00:06:07 -07:00
Raymond Knopp
7cf40fe877 trace for removing UE in MAC 2017-10-07 02:49:32 -07:00
Raymond Knopp
210754c034 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-07 08:23:17 +02:00
Raymond Knopp
b8235ff707 bugfix in dci generation (padding bits set to 0 in format 0 DCI)
removal of LOG_I put for debugging.
2017-10-07 08:22:02 +02:00
frtabu
3b824c9067 telnet server and shared library loader enhancement 2017-10-07 00:35:23 +02:00
Cedric Roux
5d778a5cec add debugging tool tcp_bridge
internal use, no documentation, no support.
2017-10-06 16:53:18 +02:00
Cedric Roux
43d12970a2 bugfix: fix TX pdu_index usage (maybe still not correct) 2017-10-06 16:41:01 +02:00
Cedric Roux
71cbdf2a56 bugfix 2017-10-06 16:00:48 +02:00
Cedric Roux
e1f19b6c61 rewrite to improve readability 2017-10-06 16:00:02 +02:00
Cedric Roux
ed1714aa63 minor: fix spacing 2017-10-06 14:54:53 +02:00
Cedric Roux
79b7b8ad0f minor 2017-10-06 13:36:13 +02:00
Cedric Roux
a9d0bec8bc add some optional debug tracing code for fapi 2017-10-06 13:34:03 +02:00
Cedric Roux
1485cbda77 bugfix: fix handle_ulsch_harq_pdu
we can't use &ul_config_pdu->ulsch_harq_pdu.harq_information directly,
because that function is called for 2 cases and the substructure
harq_information is not as the same position in both cases.
2017-10-06 12:29:41 +02:00
Cedric Roux
2c9867ff5b spacing cleanup 2017-10-06 12:18:19 +02:00
Cedric Roux
60d10c0a9e bugfix: fix schedule_SR (and some spacing cleanup) 2017-10-06 11:55:46 +02:00
Raymond Knopp
09e683a3be switching some LOG_I to LOG_D, fixes for RRU IF4p5. It was broken after changes in configuration procedures. Some configuration file changes. 2017-10-05 23:24:44 +02:00
Raymond Knopp
2abe404847 deleted more old configuration files 2017-10-05 09:38:24 -07:00
Raymond Knopp
4e10d5a9e5 deleted many old configuration files 2017-10-05 09:29:32 -07:00
Cedric Roux
e52c57b894 bugfix 2017-10-05 12:39:20 +02:00
Cedric Roux
10a63f3d05 add T trace 2017-10-05 11:57:31 +02:00
Cedric Roux
4e7f9312f8 bugfix: alignment for avx2 2017-10-05 09:50:59 +02:00
frtabu
4685536b8c telnet display log level fix 2017-10-05 00:36:29 +02:00
Cedric Roux
f2cb406bfb fix some T traces 2017-10-04 17:58:30 +02:00
Cedric Roux
a993c9588f T: fix trace 2017-10-04 17:27:08 +02:00
Cedric Roux
c97e054691 bugfix: fix CQI reporting
- don't use o_flip anymore in ulsch_decoding
- remove dl_cqi from eNB_UE_STATS
- put dl_cqi[NFAPI_CC_MAX] in UE_sched_ctrl
- adapt code for this dl_cqi change (from eNB_UE_STATS to UE_sched_ctrl)
- extract_pusch_csi has been fixed for CQI_ReportModeAperiodic_rm30,
  the others need to be done. Program will exit if one uses them.
  Not sure if setting sched_ctl->dl_cqi[CC_idP]  has to be done in this
  function...
2017-10-04 16:15:52 +02:00
Cedric Roux
0c6015cfa5 bugfix 2017-10-03 17:16:24 +02:00
Cedric Roux
6eed836f76 bugfix: fix frame/subframe 2017-10-03 16:19:37 +02:00
Cedric Roux
d31ad04cc2 bugfix: fix assert 2017-10-03 15:49:24 +02:00
Cedric Roux
b21b2dada3 bugfix: Msc_initial wrong 2017-10-03 15:31:16 +02:00
Cedric Roux
a2d04934c4 T: add a trace 2017-10-03 13:46:45 +02:00
Cedric Roux
52d4771324 re-enable full UL scheduling 2017-10-03 13:46:20 +02:00
Cedric Roux
ed4b2b74e2 cleanup + fix
- remove old unused code
- check dlsch0 the right way
2017-10-03 13:45:02 +02:00
Cedric Roux
30f8ed2da5 bugfix: fix compilation for T 2017-10-03 13:44:00 +02:00
Cedric Roux
70e30375eb bugfix: compute rhoA and rhoB at the right place 2017-10-03 13:41:44 +02:00
Cedric Roux
95f46eef23 bugfix: += was written as =+ 2017-10-03 13:39:38 +02:00
frtabu
ade874e753 add process related telnet command 2017-10-03 00:25:04 +02:00
Cedric Roux
8b662d7ec9 bugfix: bad pointer 2017-10-02 17:42:48 +02:00
Cedric Roux
ccfbe647aa bgufix: fix config srb1 parsing 2017-10-02 16:51:23 +02:00
Cedric Roux
60d96354ff minor: add warning 2017-10-02 12:10:10 +02:00
Cedric Roux
af6bf08bc1 cleanup CCE_allocation_infeasible 2017-10-02 10:23:29 +02:00
frtabu
8c22204a6c temporary fix undefined symbols in telnet shared lib 2017-10-02 00:07:59 +02:00
Raymond Knopp
502e450973 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-01 15:01:46 -07:00
Raymond Knopp
7fb01d4ea9 NFAPI SNR interfaces for PUCCH1/PUSCH integrated with power control loops. 2017-10-01 15:00:56 -07:00
frtabu
072d9d4350 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-10-01 19:22:37 +02:00
frtabu
d88b72498d remove getopt call in configuration module, it changes the argv order. Fix configuration module bugs (command line arguments sometimes not properly processed 2017-10-01 19:19:36 +02:00
Raymond Knopp
14b2827cec fixed various bugs in NFAPI interface and DCI CCE allocations (eNB_scheduler_primitives.c:allocate_CCEs()) 2017-10-01 02:56:46 -07:00
oai
b5a36dd90c Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-29 16:16:14 +02:00
oai
16eb450927 Add generic shared lib loader 2017-09-29 16:15:04 +02:00
Raymond Knopp
68d9bae1ae Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-28 23:14:13 -07:00
Raymond Knopp
539c8de27d fixed coherency issue across slots for PUCCH 1A/B detection (energy detection component). Introduced a variable scaling for channel matched filter in PUCCH1A/B detector. Current version goes as far on simulator as RU-RAU-split prior to merge with develop 2017-09-28 23:12:14 -07:00
frtabu
30abbdf826 prepare for telnet server integration 2017-09-29 02:07:33 +02:00
oai
4ceb5916ca log utility configuration enhancement 2017-09-28 20:08:47 +02:00
Cedric Roux
4843960fed bugfix: fix ack/nack 2017-09-28 17:17:09 +02:00
Cedric Roux
42667d6a2a bugfix: wrong buffer passed to fill_nfapi_tx_req 2017-09-28 16:43:55 +02:00
Cedric Roux
682823d5b8 bugfix: fix check for 1st round 2017-09-28 16:24:42 +02:00
Raymond Knopp
28707a6948 fixed Msg4 retransmissions. PUCCH still null after merge with develop 2017-09-28 01:05:38 -07:00
Cedric Roux
4aa1a41edc bugfix: fix usrp_lib.cpp 2017-09-27 18:02:21 +02:00
Cedric Roux
e6936f1b7c update T tracer
not finished, UE may not work, many things bad/to fix properly
2017-09-27 17:59:08 +02:00
Cedric Roux
d46dd64f7e bugfix: fix mme address initialization
this and some cleanup, duplicate defs in .h file
2017-09-27 13:49:45 +02:00
Cedric Roux
f2e20c8071 bugfix: fix sctp config params 2017-09-27 12:37:31 +02:00
Cedric Roux
4d07eb1255 bugfix: fix compilation: layer2_init_UE does not exist 2017-09-27 11:10:59 +02:00
Cedric Roux
3d44973c0f bugfix: fix compilation 2017-09-27 11:08:34 +02:00
Raymond Knopp
a5ab75e1f3 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	common/config/config_userapi.h
	openair2/ENB_APP/enb_config.c
	targets/RT/USER/lte-softmodem.c
2017-09-26 22:30:13 -07:00
Raymond Knopp
bc9c587b48 Merge remote-tracking branch 'origin/develop' into RU-RAU-split
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/defs.h
	openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/defs.h
	openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
	openair1/PHY/LTE_TRANSPORT/if5_tools.c
	openair1/PHY/LTE_TRANSPORT/phich.c
	openair1/PHY/LTE_TRANSPORT/proto.h
	openair1/PHY/defs.h
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/phy_procedures_lte_ue.c
	openair1/SCHED/pusch_pc.c
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/MAC/ue_procedures.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-ue.c
	targets/SIMU/USER/init_lte.c
	targets/SIMU/USER/oaisim_functions.c
2017-09-26 21:43:03 -07:00
oai
fe64b14185 Fix default values for RUs section which trigger if4p5 mode 2017-09-26 17:34:58 +02:00
oai
53907d3739 fix command line processing crash 2017-09-26 15:35:26 +02:00
oai
aae10bf0c2 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-26 13:22:30 +02:00
oai
7ce0e45db3 fix process_cmdline error, 2017-09-26 13:21:41 +02:00
oai
d09a0a2a5d Remove legacy configuration mechanism 2017-09-25 17:31:25 +02:00
Raymond Knopp
7e9bff372d Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-25 07:40:58 -07:00
Raymond Knopp
c91d68ae37 ULSCH debugging RK. 2017-09-25 07:40:40 -07:00
Francois TABURET
ada735527a debugging of ULSCH with nFAPI 2017-09-25 16:33:14 +02:00
Raymond Knopp
c1dae3d38f Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-24 16:01:45 -07:00
Raymond Knopp
e750248252 uplink TPC disabled, fixed clearing of uci->active flag after processing uci in eNB RX. 2017-09-24 16:00:41 -07:00
frtabu
6c00bd1aec Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-24 23:47:36 +02:00
frtabu
3e27fc89fd Improve configuration module error management at init time, Fix command line help option processing, remove shotopt field from parameter structure 2017-09-24 23:43:48 +02:00
Raymond Knopp
e2ec5451a7 UL without cqi_req for testing 2017-09-24 13:57:56 -07:00
Raymond Knopp
3e86d30b82 some correction in RA processing for Msg4 harq handling 2017-09-24 11:33:00 -07:00
Raymond Knopp
55a9054ec5 handling of harq_pid in RA procedure and cce_idx in allocate_CCEs 2017-09-22 14:37:32 -07:00
oai
efe1ccf5e5 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-22 12:18:25 +02:00
oai
cc79250fcc Fix configuration module shared library improperly build and not loadable when libconfig version is below 1.5 2017-09-22 12:13:32 +02:00
Cedric Roux
acca14b2ba bugfix:!fix AssertFatal 2017-09-22 11:41:20 +02:00
Raymond Knopp
7ea7891b67 more warning removal 2017-09-21 15:53:54 -07:00
Raymond Knopp
3135647219 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-21 21:29:23 +02:00
Raymond Knopp
d75dc39a32 removal of more compilation warnings 2017-09-21 21:28:49 +02:00
Francois TABURET
ac18ff67ca Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
push 2 hours ago just before i retrieved the branch...
2017-09-21 19:34:16 +02:00
Francois TABURET
32786cc7f7 Integration of configuration module. Temporarily keep the legacy mode.
lte-softmodem -O <config file> will trigger legacy config mode
ltesoftmodem  -O libconfig:<config file> will trigger configuration module usage.
2017-09-21 19:30:00 +02:00
Cedric Roux
e6bf9698ed bugfix: fix do_MIB
- carrier->MIB will be reused, so "spare" has to be allocated
- wrong parameters sent to uper_encode_to_buffer
2017-09-21 17:08:18 +02:00
Raymond Knopp
293bcf1316 removed some warnings 2017-09-21 12:34:47 +02:00
Cedric Roux
94fd0e8320 bugfix: fix feptx_ofdm 2017-09-21 12:14:40 +02:00
Cedric Roux
4ac5d5f8d7 bugfix: fix prach function 2017-09-21 12:05:07 +02:00
Cedric Roux
6c5deb41fd minor: fix T trace 2017-09-21 10:55:07 +02:00
Raymond Knopp
b421d467ad Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-20 23:35:40 -07:00
Raymond Knopp
91f312ebde 12->16bit rescaling (transmission) for USRP device 2017-09-20 23:34:54 -07:00
Raymond Knopp
dbb20c23fa removal of ITTI messages eNB MAC->RRC 2017-09-20 12:52:04 +02:00
Raymond Knopp
0fccd99446 patch for open-nfapi 2017-09-19 04:59:15 -07:00
Raymond Knopp
0b5be18c8a extracted FAPI interface functions into fapi_l1.c 2017-09-16 06:29:07 -07:00
Raymond Knopp
55a39eb2f3 initial version for testing with nFAPI interfaces. Still lots of debugging traces. 2017-09-15 06:09:12 -07:00
Raymond Knopp
d2249d5c56 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-09-14 07:16:10 -07:00
Raymond Knopp
362f584d66 integration of remaining nFAPI messages 2017-09-14 07:15:49 -07:00
Ahmed Elias
3289891e9d Update do_RRCConnectionReconfiguration_BR method 2017-09-07 04:00:55 -07:00
frtabu
cdca16f655 add configuration module, with compilation, but not yet integrated in softmodem 2017-09-04 00:12:35 +02:00
kogo
707f2745ae Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-30 17:00:39 +02:00
kogo
1b429a63da refactored config file, SIB1 & SIB2 are sent/received successfully 2017-08-30 16:59:58 +02:00
Cedric Roux
1fb76157c8 Merge remote-tracking branch 'origin/develop_integration_w34' into develop
Summary of changes:

- USRP driver improvements (GPSDO handling, GPIO for TDD)
- multi-UEs scenario improvements, mostly the MAC scheduler
- mobipass standalone driver
- bug fixes for VCD tracing code
- some cleanup in the installation scripts
- some work on the T tracer

To use the GPSDO with the USRP device (notably B210), use the
command line argument: --gpsdo-clock
2017-08-30 10:10:51 +02:00
Cedric Roux
6f812f7003 fix the prach hack, only deals with fdd prach config 0 2017-08-30 09:38:11 +02:00
Cedric Roux
761bf3c4c2 T: fix VCD traces 2017-08-29 17:18:23 +02:00
Cedric Roux
8575b151fc integration fix: add license text to source files 2017-08-29 12:21:01 +02:00
Cedric Roux
78e0a53d03 integration fix: remove compilation warnings 2017-08-29 12:18:11 +02:00
Cedric Roux
a945f85d6f Merge remote-tracking branch 'internal/T-new-traces' into develop_integration_w34 2017-08-29 10:25:41 +02:00
Cedric Roux
41d16f1696 Merge remote-tracking branch 'internal/mac-multi-ue' into develop_integration_w34 2017-08-29 10:25:33 +02:00
Cedric Roux
a35865b749 Merge remote-tracking branch 'internal/mobipass-standalone' into develop_integration_w34 2017-08-29 10:25:26 +02:00
Cedric Roux
cdcc1d54f4 Merge remote-tracking branch 'internal/usrp-cherry-pick' into develop_integration_w34 2017-08-29 10:25:20 +02:00
Cedric Roux
35f34bbdcc Merge remote-tracking branch 'internal/build_oai_cleanup' into develop_integration_w34 2017-08-29 10:25:13 +02:00
Cedric Roux
121da9468e Merge remote-tracking branch 'internal/T-tracer-extract-input-subframe' into develop_integration_w34 2017-08-29 10:25:06 +02:00
Cedric Roux
e3cc82b9fe Merge remote-tracking branch 'origin/bugfix-vcd' into develop_integration_w34 2017-08-29 10:24:40 +02:00
Cedric Roux
0daf79bfc8 T: add some new traces
- ENB_PHY_OUTPUT_SIGNAL to trace output signal
- ENB_MAC_SCHEDULING_REQUEST to trace scheduling requests
2017-08-29 10:23:06 +02:00
Cedric Roux
f38572b444 add a configuration file for mobipass standalone
Parameters are for Eurecom internal use.
2017-08-29 09:51:01 +02:00
Cedric Roux
622b919b37 improve multi-UEs scenario
This commits contains several fixes to improve a multi-UE scenario.

This is not the end of the story.

Summary of work:
================

1 - improve SR (scheduling requests):

    We configured n1pucch == 3 for scheduling requests, for all
    UEs. We now use 71 - UE_id/10.

    For it to work, it is vital that pucch_nRB_CQI in the configuration
    file is set to 0, otherwise the SR will go to an RB used for
    PUSCH and uplink decoding will fail whenever an UE does SR.

    Note that we will have problems with 20MHz when we use a CCE that
    let the UE send the ACK/NACK using a n1pucch allocated for SR,
    because when the PDCCH is of size 3, we can have 87 CCEs
    and it may lead to an n1pucch colliding with one for SR.

    The work done in this patch is a quick solution, seems to work
    with 10MHz.

    The real solution is to disable the use of those CCEs that would
    lead an UE to use a n1pucch colliding with an SR n1pucch. Then
    we can use whatever n1pucch we want for SR, as long as the
    scheduler protects them.

    Impacted files: configuration files
                    openair2/RRC/LITE/MESSAGES/asn1_msg.c

2 - some fixes for uplink scheduling:

    - Do not use PRACH for PUSCH, that leads to too many false
    PRACH detection. Plus the PUSCH receiving may fail if one
    UE uses the PRACH at the same time.

    - Take care of retransmissions. That was not done at all, so
    we could allocate one RB to several UEs. The current design
    of the code makes it hard to do it properly, so we chose a
    quick and dirty solution, which is to increase "first_rb"
    to skip any RB used for retransmission. In this process we
    may skip a lot of free RBs. A proper solution is needed here.

    - Do not allocate the last RB. This one is used for PUCCH.
    It was sometimes allocated to PUSCH.

    - In the pre-processor we didn't pre-allocate RBs to UEs
    with an empty buffer status. We didn't check if the UE
    sent an SR. For example in a three UEs scenario, we
    could have the third UE never scheduled in the uplink.

    - rb_table_index was not decreased properly, so we allocated
    too much RBs to some UEs and thus not enough to others.

    Impacted files: openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
                    openair2/LAYER2/MAC/pre_processor.c
                    openair1/SCHED/phy_procedures_lte_eNb.c

3 - some fixes for downlink scheduling:

    - The check on CCE allocation was not correct. We did something
    like:

        if (cce allocation is possible) {
          prepare
        }

    We should have done:

        save current cce allocation
        if (cce allocation is possible) {
          allocate cce
          prepare
        }
        reset current cce allocation

    Basically, when we scheduled several UEs, they were checked
    separately, and the totality of them was not checked.

    Impacted file: openair2/LAYER2/MAC/eNB_scheduler_dlsch.c

    - The retransmissions are probably not handled correctly.
    Check in openair2/LAYER2/MAC/pre_processor.c, near
    the comment "// control channel or retransmission",
    the case "round > 0" was added. It's probably not enough,
    even maybe not correct.

    - Change SF05_LIMIT with SF0_LIMIT. We accept to use
    central blocks in SF 5. The code was also not correct,
    vrb_map was not set properly because the loop on j
    was wrong for the last RBG (which can have one less
    RB than the others).

    This is not satisfying. The real solution is to use the
    central RBs and check that the MCS used is compatible
    with the numbers of resource elements allocated (we don't
    want to put too more data bits than what fits).

4 - some fixes in PUCCH decoding:

    See: openair1/PHY/LTE_TRANSPORT/pucch.c

    Probably not enough. Some more work and analysis is
    required for a proper use of the PUCCH. What we see
    is that the PUCCH constellation gets wrong when there
    are several UEs, meaning the received ACK/NACK is
    not properly decoded (this, or something else...).

5 - several fixes/checks added here and there:

    - The final allocate_CCEs in eNB_dlsch_ulsch_scheduler
      is checked and we brutally exit if it fails.

    - We exit in get_num_pdcch_symbols in case of failure
      (this should never happen anyway, no big deal normally).

    - Some logs added or changed to error/warning instead
      of debug.

    - In dlsch_scheduler_pre_processor an abort() was added.
      The code here looks suspicious.

    - In assign_max_mcs_min_rb, rb_table_index was not set
      to 2, the value 0 was used. This was not correct.

What remains to be done:
========================

    - Correct CCE allocation (take into account SR n1pucch,
      check that all the n1pucch that will be used are "compatible").

    - Take into account the PHICH when scheduling uplink. As of
      today it is very possible to have two UEs use the same PHICH
      group and PHICH sequence index. We can use n_DMRS in the DCI
      to have uniqueness (see 36.213 table 9.1.2-2). We can drop an
      allocation if there is no free PHICH group/sequence index for
      a given UE.

    - When there is an uplink retransmission in the PRACH, we have
      to disable PRACH detection. It is possible that one UE does
      PRACH at the same time, but then what to do? We could use
      DCI0-based retransmission in this specific case maybe...

    - Handle free RBs in uplink in a much better way in case of
      a retransmission. We may have a lot of free unused RBs with
      the current code.

    - Check downlink retransmissions. Not much has been done there.

    - Surely more stuff not clear yet. In some situations we don't
      have a good behavior of the system. Hard to describe more
      precisely at this point.
2017-08-24 17:34:18 +02:00
Florian Kaltenberger
30e11cbf53 adding one more dummy ofdm symbol to the TX part of the special subframe to improve EVM 2017-08-23 14:46:54 +02:00
khalidhamdy
c8f960c977 edit scheduler for emtc UE 2017-08-23 13:25:43 +02:00
khalidhamdy
18d57dbbba Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-23 12:59:47 +02:00
Cedric Roux
c866677a8f mobipass standalone driver
How to use:

1 - compilation of softmodem:
  ./build_oai --eNB -t ETHERNET

2 - compilation of mobipass driver:
  cd cmake_targets/lte_build_oai/build
  make oai_mobipass
  ln -sf liboai_mobipass.so liboai_transpro.so

3 - configuration:
  edit the configuration file, set "node_timing" to
  "synch_to_mobipass_standalone"
  that is, have the line:
    node_timing               = "synch_to_mobipass_standalone";

4 - run:
  run as usual: sudo ./lte-softmodem -C <configuration file>
2017-08-23 10:22:08 +02:00
Ahmed Elias
a8e8f14fbb Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-22 08:59:47 -07:00
Ahmed Elias
e0be431a2c minor update in asn file 2017-08-22 08:58:15 -07:00
Florian Kaltenberger
592bcf3867 fix in trx_usrp_start when gpsdo is not used 2017-08-22 15:48:07 +02:00
Xenofon Foukas
c8c4b42317 Merge remote-tracking branch 'origin/develop' into feature-68-enb-agent 2017-08-22 14:44:12 +03:00
kogo
b6bc4bc8ba Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-21 17:56:18 +02:00
kogo
aec3cad8cf rearranged enb_config.c 2017-08-21 17:55:37 +02:00
islam.galal
9d7abfe0b4 Merge branch 'RU-RAU-split' of http://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-21 14:13:19 +02:00
islam.galal
a86f8cdb79 Update RRCConectionSetup_BR 2017-08-21 14:11:09 +02:00
kogo
d45b6c1f20 rearranged conf file - added pdsch_configcommon_v1310 & pusch_configcommon_v1310 2017-08-21 13:34:20 +02:00
Cedric Roux
5df5b70909 cleanup build_oai: do not un-install gnutls and nettle
These steps take time and are not necessary.
2017-08-21 09:48:42 +02:00
Cedric Roux
0293141817 T tracer: add a new tool: extract_input_subframe
This program extracts a given subframe from a recorded trace.
2017-08-20 22:52:35 +02:00
Florian Kaltenberger
c5fd670803 making use of gpsdo optional 2017-08-18 17:18:02 +02:00
Florian Kaltenberger
9c167fc3bf adding GPIO control for TDD to USRP 2017-08-18 11:13:47 +02:00
Florian Kaltenberger
d7096758aa USRP GPS sync 2017-08-18 11:12:15 +02:00
Raymond Knopp
f962c2e371 added configuration file for nFAPI PNF (oaiL1) and modifications in startup procedure to initialize L1 only. When executed, it just waits for configuration, which will never come ... Provides and initial framework to integrate NFAPI PNF modules. 2017-08-17 17:17:32 -07:00
Raymond Knopp
7b650ef1b9 configuration file example for nFAPI VNF (single instance MACRLC + RRC/PDCP/S1AP/GTP), no L1/RU 2017-08-17 16:34:00 -07:00
Raymond Knopp
f374544418 eMTC extensions in L1/L2 after interoperability testing with COTS Cat-M device. 2017-08-17 16:32:44 -07:00
Raymond Knopp
94c433d6a0 integration of RAR and Msg3 programming for eMTC 2017-08-17 18:36:40 +02:00
Raymond Knopp
322f8cbb66 Merge branch 'RU-RAU-split' of http://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-17 16:25:27 +02:00
Raymond Knopp
8f0ba722f6 first half of RA procedure. PRACH reception functional for CElevel0. Up to RAR generation. 2017-08-17 16:22:04 +02:00
khalidhamdy
3c2ee62797 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-17 15:50:45 +02:00
mohamed.said
0a4fd47334 updated fill_rar_brY 2017-08-17 14:06:00 +02:00
mohamed.said
874e0cf9e5 Reviewing do_RRCConnectionSetup_BR 2017-08-17 12:52:20 +02:00
Raymond Knopp
fde6645f5f Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair1/PHY/LTE_TRANSPORT/edci.c
2017-08-17 01:18:27 -07:00
Raymond Knopp
fc283a321f added edci.c, forgotten on last commit 2017-08-17 01:15:46 -07:00
Raymond Knopp
52afb72d29 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair1/PHY/LTE_TRANSPORT/defs.h
	openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
	openair1/SCHED/phy_procedures_lte_eNb.c
2017-08-17 01:04:55 -07:00
Raymond Knopp
5c0ea2b446 addition of MPDCCH format 5. X_u_br sequences for BL/CE UE support and bugfixes in rx_prach0 for eMTC. 2017-08-17 00:51:23 -07:00
khalidhamdy
2278a0ef2b Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-17 09:48:45 +02:00
islam.galal
1ca5c8c405 fixing prach configurations 2017-08-16 18:58:15 +02:00
khalidhamdy
7d7adbac35 adding the vrb map in sceduler of BR 2017-08-16 17:25:09 +02:00
islam.galal
a0f2d4815e eMTC modem receives SIB1 & SIB23 successfully 2017-08-16 16:17:40 +02:00
islam.galal
4d6af68714 added edci.c and minor configuration changes 2017-08-16 15:00:01 +02:00
islam.galal
82cd728edb small changes 2017-08-16 13:40:04 +02:00
islam.galal
91beb110f0 hard-coded PUSCH/PDSCH-Config-Common-v1310, harmonization of configuration file with eMTC config from samples of Verizon network 2017-08-16 13:18:51 +02:00
islam.galal
c0b0ed5a57 SIB2-BR configuration parameters 2017-08-16 12:54:13 +02:00
mohamed.said
8ec2f370b0 added frequncy hopping config in do_SIB23 - ready to test 2017-08-16 12:39:16 +02:00
mohamed.said
defe1ece09 Fixed memory allocation bugs in asn1_msg.c (SIB1 & SIB23) ASN1C issue 2017-08-16 10:43:12 +02:00
Cedric Roux
c453bb9145 fix RSRP_Range allocation in prach_ConfigCommon_v1310 2017-08-16 10:11:54 +02:00
islam.galal
291616328e integration and testing of SIB2 integrity 2017-08-15 19:01:47 +02:00
islam.galal
d4483259bd Merge branch 'RU-RAU-split' of http://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-15 15:51:02 +02:00
islam.galal
44fc7753b6 modifications in SI scheduler during interop testing with Sequans module. Some changes in eMTC config file. 2017-08-15 15:50:18 +02:00
mohamed.said
aeda8e5cec added pcch_config_v1310 to config file and handled in enb_config.c , asn1_msg.c 2017-08-15 15:49:11 +02:00
mohamed.said
3d1adb066e Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split
MAC bug fixe
2017-08-15 14:54:16 +02:00
mohamed.said
5d157436c2 SIB1 system info value tag made optional 2017-08-15 14:53:45 +02:00
khalidhamdy
280d57018e fix mpdcch uespec search space parameters 2017-08-15 14:16:29 +02:00
islam.galal
13cbd3022f Merge branch 'RU-RAU-split' of http://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-15 13:56:16 +02:00
mohamed.said
feaa8e2888 fixed fdd_uplinkBitmap 2017-08-15 13:55:36 +02:00
islam.galal
f2adfceeb7 Merge branch 'RU-RAU-split' of http://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-15 13:34:29 +02:00
islam.galal
32201bf30b commit before merge from repository 2017-08-15 13:34:09 +02:00
mohamed.said
f0376c7e19 updated fdd_DownlinkSubframe in enb_config.c , do_SIB1 and rrc_message_types.h 2017-08-15 13:31:14 +02:00
mohamed.said
3a6a00ac44 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split
Fixing SIB1_BR and do_RRCConnectionSetup_BR
2017-08-15 12:07:32 +02:00
mohamed.said
d160ae244a fixing issues in do_RRCConnectionSetup_BR 2017-08-15 12:00:30 +02:00
khalidhamdy
db9f855b3b add UEspec mpdcch search space subframe rule 2017-08-15 11:48:29 +02:00
islam.galal
4a067bd119 band 13 50 PRB configuration file including eMTC resources 2017-08-15 10:07:04 +02:00
khalidhamdy
8182906564 Adding Schedule UE Spec BR Method 2017-08-15 10:05:54 +02:00
Raymond Knopp
7876b46ff7 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
2017-08-15 00:58:30 -07:00
Raymond Knopp
7356082754 added narrowband to first rb maping for L2 2017-08-15 00:51:50 -07:00
islam.galal
5801bf7cb6 Merge branch 'RU-RAU-split' of http://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-14 18:44:38 +02:00
islam.galal
79d77a4af8 debugging for SIB1-BR 2017-08-14 18:43:49 +02:00
khalidhamdy
8e73bca80f fix some errors while merging BR edit 2017-08-14 15:39:51 +02:00
Ahmed.Elias
3e77b141eb adding br parameters 2017-08-14 15:15:15 +02:00
khalidhamdy
ae598b9488 fix some errors 2017-08-14 13:13:45 +02:00
khalidhamdy
85ef6b894d solving minor issues 2017-08-14 11:40:56 +02:00
khalidhamdy
d847f3cad5 solving some errors 2017-08-14 11:04:50 +02:00
Ahmed.Elias
319372b68a passin BR paraemeter to rrc 2017-08-14 10:39:17 +02:00
Raymond Knopp
6753a7af6b Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/RRC/LITE/L2_interface.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2017-08-13 23:11:23 -07:00
Raymond Knopp
50ebffea97 minor modifications before merge with upstream 2017-08-13 23:06:52 -07:00
Raymond Knopp
828077c2de bugfixes for eNB on usrp, some minor fixes for eMTC 2017-08-13 23:04:16 -07:00
Raymond Knopp
5774b5b452 correction for TBS in NFAPI interface conversion (SIB1-BR and SI-BR) 2017-08-13 11:42:51 -07:00
islam.galal
9b174dd831 integration step 1, breaks in SIB2 generation in L1 (lte-segmentation.c) 2017-08-13 19:33:33 +02:00
Raymond Knopp
db808dddaf Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/ENB_APP/enb_config.c
2017-08-13 05:18:04 -07:00
Raymond Knopp
faa111ecc0 complete programming of Msg2/Msg4 procedures for eMTC. Addition of skeleton for PUCCH UCI (NFAPI) in L1. Some cleanup of eNB_scheduler.c 2017-08-13 05:13:27 -07:00
Raymond Knopp
41f864ef09 modicaitions for rru, initial configuration exchage 2017-08-11 17:43:42 +02:00
Raymond Knopp
c1fff42782 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
2017-08-10 17:27:07 -07:00
Raymond Knopp
01868adee2 repairs after merge from upstream 2017-08-10 17:24:55 -07:00
Raymond Knopp
08f7b212fc Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/ENB_APP/enb_config.c
2017-08-10 16:49:32 -07:00
Raymond.Knopp
ec6236f8c7 tests with monolithic eNB. runs fluidly. No UE stimulus yet 2017-08-11 01:44:22 +02:00
Raymond Knopp
af4b4c3fe5 modification in eNB_scheduler_RA to handle when eMTC is not enables 2017-08-10 12:52:34 -07:00
Raymond Knopp
a9eb51f177 prach.rxsigF allocation 2017-08-10 12:12:39 -07:00
Raymond Knopp
b360afd018 fixes for RRU/RAU function after changes for monolithic eNB (some things during init were broken for RRU) 2017-08-10 10:24:20 -07:00
Raymond Knopp
b219be2e6d added RRU configuration file and more L2 cleanup 2017-08-10 07:56:30 -07:00
shahab SHARIAT BAGHERI
c3adbb9545 warnings 2017-08-09 22:46:42 +02:00
khalid
eaf4c79f8c Delete ray_enb_dev.includes 2017-08-09 16:49:43 +02:00
khalid
ec6874e1ef Delete ray_enb_dev.files 2017-08-09 16:49:33 +02:00
khalid
e9ba8c20ed Delete ray_enb_dev.creator 2017-08-09 16:49:18 +02:00
khalid
0cc55ce97a Delete ray_enb_dev.config 2017-08-09 16:48:55 +02:00
khalidhamdy
46c3d2b5bb copying RA_Template BR parameters to UE_template 2017-08-09 16:13:00 +02:00
shahab SHARIAT BAGHERI
4d3689a56c warning reducing 2017-08-09 13:42:50 +02:00
Cedric Roux
45212d3b2f hotfix: protobuf-c compilation failure
protobuf-c does not compile anymore.

Let's handle this a bit better.

We now install protobuf and protobuf-c only for the
flexran agent. That is, if you want to use the flexran
agent, you need to install protobuf/protobuf-c and
you do it this way:

  ./build_oai -I -a

(you add -a)

Other targets don't need protobuf nor protobuf-c, so
it's not installed by the -I command of build_oai,
unless you pass -a with -I.

Also, we now use protobuf 3.3.0, not 2.6.1. The code
has been adapted, a quick test seems to indicate that
the system works, but it has not been intensively tested.
2017-08-08 10:06:38 +02:00
Cedric Roux
17b9a9e917 hotfix: protobuf-c compilation failure
protobuf-c does not compile anymore.

Let's handle this a bit better.

We now install protobuf and protobuf-c only for the
flexran agent. That is, if you want to use the flexran
agent, you need to install protobuf/protobuf-c and
you do it this way:

  ./build_oai -I -a

(you add -a)

Other targets don't need protobuf nor protobuf-c, so
it's not installed by the -I command of build_oai,
unless you pass -a with -I.

Also, we now use protobuf 3.3.0, not 2.6.1. The code
has been adapted, a quick test seems to indicate that
the system works, but it has not been intensively tested.
2017-08-08 09:58:36 +02:00
Raymond Knopp
e2254984ca Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/ENB_APP/enb_config.c
2017-08-07 23:47:27 -07:00
Raymond Knopp
6aa0ff090b Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split 2017-08-07 23:31:13 -07:00
Raymond Knopp
f613ecfa13 minor change for BL/CE in asn1_msg.c 2017-08-07 23:30:47 -07:00
Raymond Knopp
ad98f5aa9e L1/L2 scheduling extensions for BL/CE operation, BR random-access procedure, BR PRACH detection. Still untested, but compilation succeeds. Missing elements in L2 - PUSCH programming for Msg3, Msg4 retransmission programming for BL/CE. DLSCH/ULSCH programming for UE-specific DLSCH/ULSCH for BL/CE 2017-08-07 23:25:17 -07:00
kogo
74b7b9627b activated SIB1 & SIB23 reading from config files and added BR parameters 2017-08-07 15:21:24 +02:00
Cedric Roux
309ca06685 fix vcd
several problems were present:
- there was no comma after "ue0_trx_write_ns_missing" in the array
  eurecomVariablesNames;
  comma was put, and also commas for the last element in the array,
  which doesn't hurt and will prevent future problems
- bad order of values in eurecomVariablesNames, which
  was different from the enum vcd_signal_dump_variables;
  order was checked and fixed
- strange/wrong use of VCD_SIGNAL_DUMPER_MODULE_END/LAST;
  the whole logic was removed/simplified
2017-08-07 10:41:37 +02:00
shahab SHARIAT BAGHERI
0b3e617089 Merge branch 'feature-68-enb-agent' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-68-enb-agent 2017-08-05 00:21:56 +02:00
Anta Huang
1e857d5ba5 Update the naming of cell config parameters 2017-08-04 18:19:38 +02:00
Anta Huang
863e9404fc Add additional cell config info to flexran API and message 2017-08-04 17:42:32 +02:00
shahab SHARIATBAGHERI
3cc3762ed9 carrier index 2017-08-04 16:27:15 +02:00
shahab SHARIATBAGHERI
d12f55d2ed add operating downlink frequency 2017-08-04 16:22:57 +02:00
shahab SHARIATBAGHERI
8e5b174047 merge to 68 2017-08-04 16:02:17 +02:00
shahab SHARIATBAGHERI
8de28502e1 Merge branch 'feature-68-uplink' into feature-68-enb-agent 2017-08-04 14:49:25 +02:00
Cedric Roux
f7466b0e1a Merge branch 'develop_integration_w30' into 'develop'
Summary of changes:
- UE: new thread idx
- UE: Pdcch optim
- UE: slot0 slot1 parallelization
- bugfixes for RLC AM (see gitlab issue 250)
- fix bug "unknown UE_id for rnti"

Note: due to the new UE threading architecture,
oaisim and the phy simulators may not work properly
anymore. Adaptation in the code has been done, automatic
tests seem to pass, but it may not be enough.

See merge request !215
2017-08-03 12:23:24 +02:00
Cedric Roux
2fbb26789f remove gcc warning when compiling oaisim 2017-08-03 11:51:43 +02:00
Cedric Roux
ebc8cbf4e0 fix oaisim (ue structures changed) 2017-08-03 11:51:16 +02:00
Cedric Roux
8633d6c2df remove compilation warnings 2017-08-03 10:40:04 +02:00
Cedric Roux
9e4f700aae bugfix for phy simulators (not sure if enough)
With the new threading architecture of the UE dlsim
(and others) does not work properly anymore.

When looking at the scope, you see a difference
in PDSCH LLR display. The end is always 0 where
in the current develop branch (tag 2017.w25) it's not.

This commit attempts to fix it.

We still don't have the same behavior as in 2017.w25.
I disabled channel simulation (so that UE RX = eNB TX)
and I have one error where in 2017.w25 I have zero.
For example, here comes the output of a run of "./dlsim":

**********************SNR = 0.000000 dB (tx_lev 51.000000)**************************
Errors (1(0)/1000 0/1 0/0 0/0), Pe = (1.000000e-03,0.000000e+00,-nan,-nan), dci_errors 0/1001, Pe = 0.000000e+00 => effective rate 99.900100, normalized delay 0.001472 (1.001000)

And in 2017.w25 we have (with the same hack to disable
channel simulation):

**********************SNR = 0.000000 dB (tx_lev 51.000000)**************************
Errors (0(0)/1000 0/0 0/0 0/0), Pe = (0.000000e+00,-nan,-nan,-nan), dci_errors 0/1000, Pe = 0.000000e+00 => effective rate 100.000000, normalized delay 0.001471 (1.000000)

There may be a problem somewhere. Or there was one before and we should
have had one error and the new UE architecture fixed things and now
it's as it has to be. Hard to say at this point...

When looking at the scope we quickly see some zeros for the PDSCH
LLR, at the begining this time, not at the end. This is just when
the GUI appears and then all is fine, so this seems to be for the
first frame only. In 2017.w25 this does not happen.
2017-08-03 10:27:06 +02:00
Cedric Roux
2ed9a48d6e more fix for dlsim_tm7 2017-08-03 10:24:16 +02:00
gabrielC
5917cdaff8 correct dlsim execution problem 2017-08-01 16:57:37 +02:00
gabrielC
1661294de5 Correct T-tracer compilation 2017-08-01 10:46:08 +02:00
Cedric Roux
030a345258 bugfix: fix sync for oaisim
With the current implementation of oaisim
(rxdata and channel simulation), we cannot
call trx_read_func on a dummy buffer. The
code will actually modify the rxdata buffers
of the UE.

This is has to be rewritten properly. In the
meantime, let's introduce a simple hack. The
idea of the read at this point is to wait for
the synch to finish and not lose samples from
the hardware in the real UE. In the simulator,
as it is today, we can simply sleep until the
synch code has finished its work.
2017-07-31 16:32:07 +02:00
Cedric Roux
3ed32a77d0 integration fix: let oaisim work again
In case of oaisim, dl_phy_sync_success has to be called
by initial_sync, as it used to be.

We introduce an #if OAISIM, this is not elegant, but will
do it for the moment.
2017-07-31 16:29:46 +02:00
tct-labo4
4c2c1a3631 fix dlsim 2017-07-31 16:18:57 +02:00
tct-labo4
96db5ea596 ue fix 3 threads and add define for slot parallelization function 2017-07-31 14:17:08 +02:00
gabrielC
f5be2be550 Correct DCIFormat and AgregationLevel to put them in pdcch structure 2017-07-28 16:39:25 +02:00
Cedric Roux
10c9d899bb Merge remote-tracking branch 'origin/bugfix-258-unknown-ue-id-for-rnti' into develop_integration_w30 2017-07-28 10:06:39 +02:00
kogo
99dcb4ceb4 added config file + bug fixing 2017-07-27 19:53:39 +02:00
Cedric Roux
8d5901c815 bugfix: fix bug "Unknown UE_id for rnti"
This bug happens when we detect uplink failure for one UE.
In this case, a DCI format 1A is sent to the UE to ask it
to do random acces.

The way this DCI is generated was not compatible with how
the software is organized. It was expected that the DCI are
added (with add_ue_spec_dci and add_common_dci) in a very
specific order: first all DCIs in common space are added
(with add_common_dci) then all DCIs in UE specific space
are added (with add_ue_spec_dci).

The problem was that the DCI format 1A DCI sent to the UE
for it to do random access is added (with add_ue_spec_dci)
before the DCIs in common space.

That totally messed up the logic in add_common_dci and
add_ue_spec_dci.

The solution is to get rid of Num_common_dci and Num_ue_spec_dci,
replace those two counters by only one (Num_dci) and add
"search_space" in the dci_alloc structure to be used later by
the function "allocate_CCEs" when calling "get_nCCE_offset".

The software had to be adapted to the new variables, everywhere.

I am not sure that the simulators work. It seems that some
of them didn't use Num_common_dci and Num_ue_spec_dci to
decide on what space (common or UE specific) to put the DCI,
but relied on the rnti (comparing with SI_RNTI). To be tested
properly.

The modified simulators are:
  - openair1/SIMULATION/LTE_PHY/dlsim.c
  - openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
  - openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
  - openair1/SIMULATION/LTE_PHY/framegen.c
  - openair1/SIMULATION/LTE_PHY/pdcchsim.c
  - openair1/SIMULATION/LTE_PHY/syncsim.c
2017-07-27 17:12:19 +02:00
Raymond Knopp
9a8d277b68 small change in init_SI routine in rrc_eNB.c after merge 2017-07-26 17:39:15 -07:00
Raymond Knopp
05573ced20 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/raymond.knopp/openairinterface5g into RU-RAU-split
Conflicts:
	openair2/ENB_APP/enb_config.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.h
2017-07-26 17:13:30 -07:00
Raymond Knopp
64ee15062f added selection of LTE or BL/CE SIB1/2 configuration 2017-07-26 16:49:17 -07:00
kogo
1d8833c743 updated SIB1 ,, added BR option 2017-07-26 19:52:00 +02:00
kogo
930e5364e9 SIB23 reads successfullt from config file -- done testing 2017-07-26 18:13:31 +02:00
kogo
8717669c92 tested do_SIB1 parameters & config file reading 2017-07-26 17:36:11 +02:00
tct-labo4
a2f37668f1 Merge branch 'ue_new_thread_idx' into develop_integration_w30 2017-07-26 16:11:07 +02:00
tct-labo4
a738eeade4 ue using new thread index instead of modulo 2017-07-26 16:09:03 +02:00
Raymond.Knopp
1fc67381f4 updates for gtkwave 2017-07-25 22:32:55 +02:00
Raymond.Knopp
8ee3f3b353 initial tests with USRP as monolithic eNB, "connectionless" execution is fine. 2017-07-25 22:15:52 +02:00
ahmed elias
33e6766d41 adding all changes from ornage private branch 2017-07-25 20:56:22 +02:00
Raymond Knopp
09a43fae25 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-07-25 11:24:53 -07:00
Raymond Knopp
80c80bb5fe bug fixes for monolithic eNB target 2017-07-25 11:23:46 -07:00
shahab SHARIATBAGHERI
9e7e57de74 DL Fixed Bug get TBS 2017-07-25 19:12:42 +02:00
Raymond.Knopp
cd686fc09a fix bug from faulty merge 2017-07-25 17:45:37 +02:00
Raymond Knopp
89ad7c70d5 added mdci.h 2017-07-25 08:42:02 -07:00
Raymond Knopp
b61a2e0efe small changes to allow for monolithic eNB execution. 2017-07-24 17:18:34 -07:00
Raymond Knopp
ae884afe24 integration of LTE-M SIB1/SI interfaces and scheduling 2017-07-24 16:19:24 -07:00
Nikos Makris
9db40696f7 Added functionality for UDP/TCP/SCTP transferring of data over the ASYNC channel interface.
Added selection of interfaces through the configuration file with a new block of statements as follows:

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

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

        // One of TCP/UDP/SCTP
        F1_U_TRANSPORT_TYPE 		    = "UDP";
    };
2017-07-21 14:02:09 +03:00
Anta Huang
e51d8d3fd7 Add the slice_maxmcs_uplink to flexran agent ulsch 2017-07-20 13:24:16 +02:00
hbilel
767606f9f2 - fix init prach struct + fix TO compensation for 20MHz case 2017-07-20 10:09:43 +02:00
Raymond Knopp
d56525c807 NFAPI UL indications added and full UE connection tested. 2017-07-19 03:07:40 -07:00
fnabet
a64bcb1408 fix warning w/o ue-timing option 2017-07-17 16:49:04 +02:00
fnabet
04b5954f96 Merge Fix Issue 250 RLC AM Tpoll Retx 2017-07-17 16:24:06 +02:00
gabrielC
aae302f15e Merge branch 'pdcch_optim' into develop_integration_w30
Conflicts:
	targets/RT/USER/lte-softmodem.c
2017-07-17 16:20:00 +02:00
tct-labo4
b5eec87e75 Merge branch 'ue_slot0_slot1_parallelization_bis' into develop_integration_w30 2017-07-17 15:16:21 +02:00
tct-labo4
ed145f5799 [OAI-UE] slot0/1 parallelization part2 2017-07-17 15:11:40 +02:00
gabrielC
a2cf0a2295 PDCCH optimisation : Stop reading DCI0 when found 2017-07-17 10:40:38 +02:00
Xenofon Foukas
e2ac251cc6 Merge remote-tracking branch 'origin/develop' into feature-68-enb-agent 2017-07-14 12:53:54 +03:00
Xenofon Foukas
f7e376ed5f Added support of FlexRAN agent compilation for oaisim with S1 enabled 2017-07-14 12:52:51 +03:00
Raymond Knopp
8da1c4b5bb Note: this commit is work in progress. Contains initial integration of NFAPI data structures which are tested for TX path. RX path to follow. 2017-07-06 08:18:32 -07:00
gabrielC
bcdb62e140 Optimisation of rx_pdcch : save some time by reading one symbol pdcch first and read symbol 2 and 3 if needed
Optimisation of nb of candidate when searching DCI
2017-07-06 10:03:27 +02:00
gabrielC
4ac34f7c7c Valid for OAI : Save some processing timing when looking for candidate DCI 2017-07-04 15:06:07 +02:00
fnabet
40e42c4c2d fix Issue 250 RLC AM 2017-06-29 17:15:10 +02:00
gabrielC
33e242de6a PDCCH optimisation to read only the DCI / agregation we have preconfigured 2017-06-29 10:54:50 +02:00
tct-labo4
bf7eb25cf5 [OAI-UE] timing measurements for slot0/slot1 parallelization 2017-06-28 12:15:25 +02:00
tct-labo4
0b332b5536 rebase from 2017.w25 part2 2017-06-27 17:03:16 +02:00
fnabet
cb637c033c rebase from 2017.w25 2017-06-27 15:01:28 +02:00
fnabet
232f56b9e6 prepare for rebase from 2017.w25 2017-06-26 12:16:30 +02:00
Cedric Roux
08b8b3142d Merge branch 'develop_integration_w25' into 'develop'
develop_integration_w25 into develop

Summary of changes:
- UE: configurable thread
- UE: fix in dci format1c decoding
- bladeRF hack
- configuration files for oaisim

See merge request !209
2017-06-26 10:12:41 +02:00
shahab SHARIAT BAGHERI
4b696e9341 Merge branch 'feature-68-uplink' into feature-68-enb-agent 2017-06-24 23:22:13 +02:00
Cedric Roux
4deeb083fc Merge remote-tracking branch 'origin/fix-oaisim-w25' into develop_integration_w25 2017-06-23 11:22:15 +02:00
Cedric Roux
9adfa48de8 fix: let run_enb_ue_virt_s1 work with "default" openair-cn
changes:
- ue mcc/mnc 208.93
- use correct key/opc for user
- change addresses in conf file for them to be easier to understand
  (maybe)

With those changes, running:
   sudo ./run_enb_ue_virt_s1
in cmake_targets/tools should work out of the box

The user still has to configure correct IP addresses in
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf

We supposed oaisim (enb+ue) machine to be on IP address 10.0.1.1
and EPC (hss, mme, spgw) machine to be on IP address 10.0.1.2.
2017-06-23 11:09:04 +02:00
Cedric Roux
28171c1aa7 Merge remote-tracking branch 'origin/hack-bladerf-w24' into develop_integration_w25 2017-06-23 10:36:08 +02:00
Cedric Roux
ef87ec519e Merge remote-tracking branch 'origin/ue_configurable_thread' into develop_integration_w25 2017-06-23 10:35:08 +02:00
Cedric Roux
d102d96431 Merge remote-tracking branch 'origin/ue_fix_dci1c' into develop_integration_w25 2017-06-23 10:34:55 +02:00
Cedric Roux
a8ae85f6ca bladerf: minor: add log for RX overrun 2017-06-23 10:32:28 +02:00
Cedric Roux
0da6027438 bladerf: tentative to have it functional
Several problems are present.

The first is that _write returns 0 instead of the
number of samples. We solve it by returning
nsamps.

The second is that _read may return less samples at
the beginning and we don't want to exit for that.
We solve it also by returning nsamps.
(We still need to log more in this, to be done in the
next commit.)

The third is that after initialization we don't send
anything for a while, time for the softmodem to finish
its init. This generates lots of "RX overrun".
We solve it by disabling TX and RX modules after init
and then in trx_brf_start we activate them again (and
also call bladerf_sync_config, which seems to be
mandatory, and bladerf_calibrate_dc, which may be avoided,
perhaps).

Maybe not the end of the story. Sometimes it works, UE connects,
traffic is fine (tested only with 5MHz). Sometimes it does not,
UE does not connect, or it connects but then traffic is bad,
especially uplink.

To be refined.
2017-06-23 10:32:28 +02:00
Gabriel
bc2a93183d ue fixes slot parallelisation 2017-06-21 17:49:56 +02:00
hbilel
2e559d8237 change back to eurecom test config 2017-06-21 17:15:52 +02:00
hbilel
fdae0065ac Make RX thread number configurable 2017-06-21 16:17:22 +02:00
fnabet
d951795ae4 build fixes 2017-06-21 15:58:12 +02:00
hbilel
5d936f3518 [OAI-UE] fix in dci format1c decoding 2017-06-21 14:11:52 +02:00
hbilel
4aed32e786 [OAI-UE] slot0 / slot1 parallelization 2017-06-13 09:49:17 +02:00
shahab SHARIATBAGHERI
1ecdcba33a uplink VSF 2017-06-08 18:36:25 +02:00
Raymond Knopp
d23697aef3 Merge branch 'develop' into RU-RAU-split
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
	openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/if5_tools.c
	openair1/PHY/LTE_TRANSPORT/if5_tools.h
	openair1/PHY/LTE_TRANSPORT/pcfich.c
	openair1/PHY/LTE_TRANSPORT/phich.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/rar_tools.c
	openair1/PHY/LTE_TRANSPORT/srs_modulation.c
	openair1/PHY/defs.h
	openair1/PHY/impl_defs_lte.h
	openair1/PHY/impl_defs_top.h
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/phy_procedures_lte_ue.c
	openair2/COMMON/mac_rrc_primitives.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_config.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_mch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/main.c
	openair2/LAYER2/MAC/proto.h
	openair2/RRC/LITE/MESSAGES/asn1_msg.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.h
	openair2/RRC/LITE/rrc_UE.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LITE/rrc_eNB.c
	targets/ARCH/COMMON/common_lib.c
	targets/ARCH/COMMON/common_lib.h
	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
	targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
	targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-ue.c
	targets/RT/USER/rt_wrapper.h
	targets/SIMU/USER/channel_sim.c
	targets/SIMU/USER/init_lte.c
	targets/SIMU/USER/oaisim.c
	targets/SIMU/USER/oaisim_functions.c
2017-06-05 15:33:38 -07:00
Raymond Knopp
4d58025ded Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2017-06-04 02:47:10 -07:00
Raymond Knopp
a5d540260e gtkw file for rru 2017-06-04 02:46:39 -07:00
Raymond Knopp
413df163d8 first working version with oaisim. This is prior to MAC interface reworking 2017-06-04 02:44:26 -07:00
Xenofon Foukas
7a86fd3216 Merge remote-tracking branch 'origin/develop' into feature-68-enb-agent
Conflicts:
	openair2/RRC/LITE/rrc_eNB.c
2017-05-31 10:42:40 +00:00
shahab SHARIAT BAGHERI
8458c8fcf8 uplink mac parser 2017-05-23 23:46:31 +02:00
shahab SHARIATBAGHERI
2e2b07ef9e push update load 2017-05-22 19:19:28 +02:00
Cedric Roux
076b2ed2be Merge remote-tracking branch 'origin/develop'
Version 0.6.
2017-05-22 11:50:13 +02:00
shahab SHARIATBAGHERI
042a16d1f6 Fix percentage 2017-05-18 17:26:08 +02:00
shahab SHARIATBAGHERI
5c7377e1c0 Fix bug header 2017-05-18 17:21:07 +02:00
shahab SHARIATBAGHERI
5de045b802 Uplink slices 2017-05-18 15:25:10 +02:00
shahab SHARIATBAGHERI
689eae92ee Fix Bug dl scheduler 2017-05-10 13:11:09 +02:00
shahab SHARIATBAGHERI
eee0c1b84b uplink percentage 2017-04-27 09:29:00 +02:00
shahab SHARIATBAGHERI
b9b45c4ac0 uplink primitives 2017-04-26 19:15:39 +02:00
Xenofon Foukas
897c8da299 Fixed size of arrays for RSRP and RSRQ measurements 2017-04-26 07:50:04 +00:00
Xenofon Foukas
600c64a7f5 Merge remote-tracking branch 'origin/develop' into feature-68-enb-agent 2017-04-26 07:35:39 +00:00
Raymond Knopp
63a18b8193 first time UE connection established 2017-04-25 11:50:15 -07:00
shahab SHARIATBAGHERI
57129bc0af Uplink Slicing 2017-04-25 18:19:47 +02:00
shahab SHARIATBAGHERI
fdac4d178b uplink harq api 2017-04-22 12:43:04 +02:00
shahab SHARIATBAGHERI
5ce9858d63 uplink scheduling 2017-04-21 13:22:20 +02:00
Raymond Knopp
ca2c8357c9 vcd for rru/rau. bug fixing on fronthaul interfaces 2017-04-19 02:51:15 +02:00
shahab SHARIATBAGHERI
169f33464e Uplink Agent Mac function 2017-04-18 18:13:42 +02:00
Raymond Knopp
98cbcf619b vcd modifications for RU-RAU split, gtkw for rau_if4 2017-04-18 04:45:42 -07:00
Raymond Knopp
a63c53530a added rru configuration file for oaisim 2017-04-17 11:19:53 -07:00
Raymond Knopp
2f398d311e added ran_context.h 2017-04-17 11:17:00 -07:00
Raymond Knopp
b42aed9ed9 initial testing version of L1L-L1H split (RRU-RAU) 2017-04-17 10:40:23 -07:00
Xenofon Foukas
7df4a7813f Merge remote-tracking branch 'origin/feature-68-enb-agent' into feature-68-uplink 2017-04-12 15:43:19 +03:00
Xenofon Foukas
3bd3bedcd2 Fixed ue state change notification functionality for deactivation of UEs 2017-04-11 13:25:08 +00:00
Xenofon Foukas
e3df5d3de5 Fixed warnings and bugs 2017-04-11 11:46:34 +00:00
Xenofon Foukas
e36c5b6024 Fixed compilation errors when compiling without agent enabled 2017-04-11 09:28:22 +00:00
Xenofon Foukas
1603d3674d Merge remote-tracking branch 'origin/develop' into feature-68-RRC
Conflicts:
	openair2/ENB_APP/flexran_agent_common.c
2017-04-11 09:12:04 +00:00
Xenofon Foukas
14fb9e2ba2 Changed default scheduler to local 2017-04-11 08:58:20 +00:00
shahab SHARIATBAGHERI
77c4d3742f Wanring Preventing remote-sch 2017-04-07 11:28:51 +02:00
shahab SHARIATBAGHERI
714ad4d774 Warning Decreasing 2017-04-05 16:48:21 +02:00
shahab SHARIATBAGHERI
4cfa87b6b3 downlink throughput enhancement 2017-04-05 10:38:36 +02:00
Xenofon Foukas
a08178fa0e Made modifications to UL scheduling messages 2017-04-04 21:11:16 +00:00
shahab SHARIATBAGHERI
1a516df2db proto uplink mac 2017-03-31 16:40:26 +02:00
shahab SHARIATBAGHERI
0b83862fc2 uplink proto 2017-03-28 18:28:30 +02:00
Cedric Roux
d0e2938baa remove asn1 compilation fixes that went to asn1c (IMPORTANT: reinstall asn1c!)
The files NativeInteger.c.diff and constr_SET_OF.c.diff
from asn1c were generating compilation warnings. We had
local patches applied on generated files by asn1c.

A new version of asn1c has been pushed to
https://gitlab.eurecom.fr/oai/asn1c
(commit 224dc1f991b7e7ad705ce92e171b942f87b7b7e7)
making obsolete the fixes we do here.

So we now remove those fixes.

*************************
* IMPORTANT BEGIN       *
*************************

Everyone should update their asn1c installation.

The simplest is to do:

    source oaienv
    cd cmake_targets
    ./build_oai -I

*************************
* IMPORTANT END         *
*************************
2017-03-25 15:48:36 +01:00
Raymond Knopp
71af8ce824 Merge remote-tracking branch 'origin/develop' into enhancement-10-harmony-RU2
Conflicts:
	openair1/PHY/defs.h
	openair1/PHY/impl_defs_lte.h
	openair1/PHY/vars.h
	targets/RT/USER/lte-enb.c
2017-02-16 05:24:28 -08:00
Raymond Knopp
637fd846b0 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2017-02-14 11:03:23 -08:00
Raymond Knopp
b325d0a1f7 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2017-02-11 11:11:40 -08:00
Raymond Knopp
6b45e869e1 separation of RU 2017-01-18 09:10:10 -08:00
Raymond Knopp
7c3531d39a temporary commit before merge 2016-11-22 07:15:59 -08:00
Nikos Makris
af6af8a90d Cleanup of the messages; sometimes an error is logged 2016-10-10 20:12:46 +03:00
Nikos Makris
e0c3356dbb Fixed memory management issues 2016-10-10 19:43:26 +03:00
Nikos Makris
71cc8fa337 Changed the mem alloc of queue 12 for data; can now work for TCP split with traffic more than 2Mbps 2016-10-04 20:18:15 +03:00
Nikos Makris
2a4fa1da41 Fixed broken UL for data plane split 2016-10-04 18:59:01 +03:00
Nikos Makris
9f3b8cb9f8 Added support for the UL split:
TODO:
1) connection to UEs is broken (tested for oaisim)
2) Memory management problems, oaisim is exiting for large rates of traffic
2016-09-15 18:38:31 +03:00
Nikos Makris
2eb2b5e7ba First working version of the DL split.
TODO list:
1) check the message handler as if the function is not present it does not return msg not handled
2) use and check return arguments from the functions calling the data req
3) parse the config file for the configuration arguments
4) clean up the messy code
5) define and use other protocols than TCP for the communication between RLC and PDCP
2016-09-13 21:02:20 +03:00
Nikos Makris
96e46e77e2 RLC_DATA_REQ Message is created and sent over the async channel, initial functionality preserved 2016-09-08 20:44:33 +03:00
Nikos Makris
70ad5d587e Functionality for a simple protocol agent exchanging echo_request/reply messages 2016-09-05 14:28:58 +03:00
Nikos Makris
bc5e30318f Added proto_agent files for a simple message exchange in oaisim 2016-09-05 14:09:22 +03:00
Navid Nikaein
e508be85d4 add async interface and flexsplit messages 2016-08-29 16:04:07 +02:00
Navid Nikaein
560170a0ee update cmakefile to support split messages and scripts to manage the protobuf 2016-08-29 13:09:05 +02:00
2629 changed files with 558358 additions and 1527068 deletions

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
# vim swp
*.swp
# log and exec file
log/
lte_build_oai/
targets/bin/
cmake_targets/nas_sim_tools/build/

View File

@@ -1,17 +0,0 @@
job1:
script:
- date
- pwd
- echo $OAI_TEST_CASE_GROUP
- echo $MACHINELIST
- echo $MACHINELISTGENERIC
- echo $RESULT_DIR
- echo $NRUNS_LTE_SOFTMODEM
- source oaienv
- rm -rf cmake_targets/autotests/log
- mkdir cmake_targets/autotests/log
- cd cmake_targets/autotests/v2
- python main.py
- date
only:
- triggers

208
LICENSE
View File

@@ -1,94 +1,200 @@
OAI PUBLIC LICENSE V1.0
The OpenAirInterface Software Alliance (OSA)
OAI Public License (Version 1.1)
Copyright (C) 2016 OpenAirInterface Software Alliance, Inc. <http://www.openairinterface.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
LICENSE TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION OF OPENAIR 5G SOFTWARE.
Definitions.
“License” shall mean the terms and conditions for use, reproduction, and distribution set forth in this document.
1. Definitions.
“License” shall mean the terms and conditions for use, reproduction, and distribution set forth
in this document.
“Licensor” shall mean the OpenAirInterface Software Alliance.
“Legal Entity” shall mean the union, at the time an acting entity joins the Alliance, of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
“Legal Entity” shall mean the union, at the time an acting entity joins the Alliance, of the
acting entity and all other entities that control, are controlled by, or are under common control
with that entity. For the purposes of this definition, “control” means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii)
beneficial ownership of such entity.
“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.
“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by
this License.
“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
“Source” form shall mean the preferred form for making modifications, including but not
limited to software source code, documentation source, and configuration files.
“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
“Object” form shall mean any form resulting from mechanical transformation or translation of
a Source form, including but not limited to compiled object code, generated documentation,
and conversions to other media types.
“OpenAirInterface Software Alliance” shall mean the endowment fund established at the initiative of Eurecom, an educational and research establishment located at Campus Sophia Tech, 450 Route des Chappes, 06410 Biot, France, which statutes were signed on 18 November 2014.
“OpenAirInterface Software Alliance” shall mean the endowment fund established at the
initiative of Eurecom, an educational and research establishment located at Campus Sophia
Tech, 450 Route des Chappes, 06410 Biot, France, which statutes were signed on 18
November 2014.
“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
“Work” shall mean the work of authorship, whether in Source or Object form, made available
under the License, as indicated by a copyright notice that is included in or attached to the
work (an example is provided in the Appendix below).
“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
“Derivative Works” shall mean any work, whether in Source or Object form, that is based on
(or derived from) the Work and for which the editorial revisions, annotations, elaborations, or
other modifications represent, as a whole, an original work of authorship. For the purposes of
this License, Derivative Works shall not include works that remain separable from, or merely
link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
“Contribution” shall mean any work of authorship that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, , or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work “Contributor License Agreement” shall mean the agreement signed by any Contributor setting forth the terms and conditions applicable to its Contribution. “Contributor” shall mean any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
“Contribution” shall mean any work of authorship that is intentionally submitted to Licensor
for inclusion in the Work by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner. For the purposes of this definition,
“submitted” means any form of electronic, , or written communication sent to the Licensor or
its representatives, including but not limited to communication on electronic mailing lists,
source code control systems, and issue tracking systems that are managed by, or on behalf of,
the Licensor for the purpose of discussing and improving the Work
Grant of Copyright License.
Subject to the terms and conditions of this License, Licensor and each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form
“Contributor License Agreement” shall mean the agreement signed by any Contributor setting
forth the terms and conditions applicable to its Contribution.
3. Grant of Patent License.
“Contributor” shall mean any individual or Legal Entity on behalf of whom a Contribution
has been received by Licensor and subsequently incorporated within the Work.
3.1 Grant of Patent License for non-commercial purposes:
2. Grant of Copyright License.
Subject to the terms and conditions of this License, Licensor and each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of, publicly display, publicly
perform, and distribute the Work and such Derivative Works in Source or Object form
Subject to the terms and conditions of this License, Licensor and each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, import, and otherwise transfer the Work, for non-commercial purposes, where such license applies only to those patent claims licensable by such Contributor or Licensor that are necessarily infringed by the Work and/or their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.
3. Grant of Patent License.
3.2 Grant of Patent License for commercial purposes:
3.1 Grant of Patent License for study, testing and research purposes:
Subject to the terms and conditions of this License, Licensor and each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made, use, and otherwise
transfer (excluding selling) the Work, solely for study, testing and research purposes, where
such license applies only to those patent claims licensable by Licensor or such Contributor
that are necessarily infringed respectively by the Work and/or the said Contributor
Contribution(s) alone or by combination of their Contribution(s) with the Work to which
such Contribution(s) was submitted (“Essential Patents”).
For commercial purposes, and subject to the terms and conditions of this License, You commits to be prepared to negotiate a patent license with each Contributor and/or the Licensor on Fair, Reasonable and Non-Discriminatory (“FRAND”) terms and conditions for the Work or Contribution(s) incorporated within the Work.
Licensor and/or each Contributor, by submitting a Contribution, will identify any patent it owns related to the Work and/or its Contribution.
3.2 Grant of Patent License for purposes other than study and research:
For purposes other than study, testing and research, and subject to the terms and conditions of
this License, You commit to be prepared to negotiate a non-exclusive, non-transferable, non-
assignable license of Essential Patents with each Contributor and/or the Licensor on Fair,
Reasonable and Non-Discriminatory (“FRAND”) terms and conditions for the use of the
Work or Contribution(s) incorporated within the Work.
Licensor and/or each Contributor, by submitting a Contribution, will identify any of its known
Essential Patent it owns related to the Work and/or its Contribution.
3.3 Patent Litigation
If You institute patent litigation against any entity making use of the Work solely for study,
testing and research purposes (including a cross-claim or counterclaim in a lawsuit) alleging
that the Work or a Contribution incorporated within the Work constitutes direct or
contributory patent infringement, then the patent licenses granted to You under section 3.1 of
this License for that Work shall terminate as of the date such litigation is filed.
If You institute patent litigation against any entity making non-commercial use of the Work (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Sublicensing
You may grant sublicenses under the licenses granted under sections 2 and 3.1 provided that
the sublicense is subject to and inclusive of all the terms of and rights under this License to
which the Work is or was distributed by the OpenAirInterface Software Alliance.
4. Redistibution
5. Redistribution
Subject to terms and conditions set forth in sections 2 and 3, You may reproduce and
distribute copies of the Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You meet the following
conditions:
Subject to terms and conditions set forth in articles 2 and 3, You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
1. You must give any other recipients of the Work or Derivative Works a copy of this
License; and
2. You must cause any modified files by You to carry prominent notices stating that You
changed the files; and
3. You must retain, in the Source form of any Derivative Works that You distribute, all
copyright, patent, trademark, and attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of the Derivative Works; and
4. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative
Works that You distribute must include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not pertain to any part of the
Derivative Works, in at least one of the following places: within a NOTICE text file
distributed as part of the Derivative Works; within the Source form or documentation, if
provided along with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of the
NOTICE file are for informational purposes only and do not modify the License. You may
add Your own attribution notices within Derivative Works that You distribute, alongside or as
an addendum to the NOTICE text from the Work, provided that such additional attribution
notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or distribution of
Your modifications, or for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with the conditions stated in
this License.
1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
6. Submission of Contributions.
Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be
under the terms and conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of any
separate license agreement such as the Contributor License Agreement You may have
executed with Licensor regarding such Contributions.
2. You must cause any modified files by You to carry prominent notices stating that You changed the files; and
7. Trademarks.
This License does not grant permission to use the trade names, trademarks, service marks, or
product names of the Licensor, except as required for reasonable and customary use in
describing the origin of the Work and reproducing the content of the NOTICE file.
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
8. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and
each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
responsible for determining the appropriateness of using or redistributing the Work and
assume any risks associated with your exercise of permissions under this License.
4. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
9. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence), contract, or
otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or
agreed to in writing, shall Licensor and any Contributor, as such, be liable to You for
damages, including any direct, indirect, special, incidental, or consequential damages of any
character arising as a result of this License or out of Your use or inability to use the Work
(including but not limited to damages for loss of goodwill, work stoppage, computer failure or
malfunction, or any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
10. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to offer, and
charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations
and/or rights consistent with this License. However, in accepting such obligations, You may
act only on Your own behalf and on Your sole responsibility, not on behalf of any other
Contributor and/or the Licensor, and only if You agree to indemnify, defend, and hold each
Contributor and/or the Licensor harmless for any liability incurred by, or claims asserted
against, such Contributor and/or Licensor by reason of Your accepting any such warranty or
additional liability.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement such as the Contributor License Agreement You may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall Licensor and any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor and/or the Licensor,and only if You agree to indemnify, defend, and hold each Contributor and/or the Licensor harmless for any liability incurred by, or claims asserted against, such Contributor and/or Licensor by reason of Your accepting any such warranty or additional liability.
10. Applicable law. The present license shall be governed by the laws of France.
11. Applicable law.
The present license shall be governed by the laws of France.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the PRESENT OPENAIR 5G License to your work
To apply the present License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Dont include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
1. APPENDIX: How to apply the PRESENT OPENAIR 5G License to your work
To apply the present License to your work, attach the following boilerplate notice, with the
fields enclosed by brackets “[]” replaced with your own identifying information. (Dont
include the brackets!) The text should be enclosed in the appropriate comment syntax for the
file format. We also recommend that a file or class name and description of purpose be
included on the same “printed page” as the copyright notice for easier identification within
third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the License terms and conditions for use, reproduction, and distribution of OPENAIR 5G software (the “License”);
you may not use this file except in compliance with the License.You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
Licensed under the License terms and conditions for use, reproduction, and distribution of
OPENAIR 5G software (the “License”);
distributed under the License is distributed on an “AS IS” BASIS,
you may not use this file except in compliance with the License. You may obtain a copy of
the License at
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
See the License for the specific language governing permissions and limitations under the
License.
limitations under the License.

View File

@@ -9,37 +9,86 @@ 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
├── 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
├── 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
├── openair1 : 3GPP LTE Rel-10 PHY layer + PHY RF simulation and a subset of Rel 12 Features.
├── openair2 :3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP implementation.
├── 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.
├── RRC/LITE
├── LAYER2/PDCP/PDCP_v10.1.0.
├── NETWORK_DRIVER
├── PHY_INTERFACE
├── RRC/LITE
├── UTIL
├── X2AP
├── ENB_APP
├── openair3: 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
├── COMMON
├── DOCS
├── GTPV1-U
├── NAS
├── NAS
├── S1AP
├── SCTP
├── SECU
├── UDP
└── targets: top level wrapper for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW.
├── 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:
v0.1 -> Last stable commit on develop branch before enhancement-10-harmony
v0.2 -> Merge of enhancement-10-harmony to include NGFI RRH + New Interface for RF/BBU
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.4 -> Merge of feature-131-new-license. It closes issue#131 and changes the license to OAI Public License V1.0
v0.5 -> Merge of enhancement-10-harmony-lts. It includes fixes for Ubuntu 16.04 support
v0.5.1 -> Merge of bugfix-137-uplink-fixes. It includes stablity fixes for eNB
v0.5.2 -> Last version with old code for oaisim (abstraction mode works)
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

View File

@@ -0,0 +1,738 @@
#!/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
}
}
}
def doRedHatBuild = false
def doFlexranCtrlTest = false
// Location of the executor node
def nodeExecutor = params.nodeExecutor
pipeline {
agent {
label nodeExecutor
}
options {
disableConcurrentBuilds()
timestamps()
gitLabConnection('OAI GitLab')
gitlabBuilds(builds: ["Build eNb-USRP", "Build basic-sim", "Build phy-sim", "Build eNb-ethernet", "Build UE-ethernet", "Analysis with cppcheck", "Test phy-sim", "Test basic-sim", "Test L2-sim", "Test-Mono-FDD-Band7", "Test-Mono-TDD-Band40", "Test-IF4p5-FDD-Band7", "Test-IF4p5-TDD-Band40", "Test-Mono-FDD-Band13", "Test-IF4p5-TDD-Band38-Multi-RRU" , "Test-Mono-FDD-Band13-X2-HO"])
ansiColor('xterm')
}
stages {
stage ("Verify Parameters") {
steps {
script {
JOB_TIMESTAMP = sh returnStdout: true, script: 'date --utc --rfc-3339=seconds | sed -e "s#+00:00##"'
JOB_TIMESTAMP = JOB_TIMESTAMP.trim()
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
if (params.RedHatRemoteServer == null) {
allParametersPresent = false
}
if (params.RedHatRemoteCredentials == null) {
allParametersPresent = false
}
if (params.RedHatWorkingPath == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "Performing Red Hat Build"
doRedHatBuild = true
} else {
doRedHatBuild = false
}
if (params.FlexRanRtcGitLabRepository_Credentials != null) {
doFlexranCtrlTest = true
}
if (fileExists("flexran")) {
sh "rm -Rf flexran > /dev/null 2>&1"
}
}
}
}
stage ("Verify Guidelines") {
steps {
echo "Git URL is ${GIT_URL}"
echo "GitLab Act is ${env.gitlabActionType}"
script {
if ("MERGE".equals(env.gitlabActionType)) {
// since a bit, in push events, gitlabUserEmail is not populated
gitCommitAuthorEmailAddr = env.gitlabUserEmail
echo "GitLab Usermail is ${gitCommitAuthorEmailAddr}"
// GitLab-Jenkins plugin integration is lacking to perform the merge by itself
// Doing it manually --> it may have merge conflicts
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
sh "zip -r -qq localZip.zip ."
// Running astyle options on the list of modified files by the merge request
// For the moment, there is no fail criteria. Just a notification of number of files that do not follow
sh "./ci-scripts/checkCodingFormattingRules.sh --src-branch ${env.gitlabSourceBranch} --target-branch ${env.gitlabTargetBranch}"
def res=readFile('./oai_rules_result.txt').trim();
if ("0".equals(res)) {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): All Changed files in Merge Request follow OAI Formatting Rules"
addGitLabMRComment comment: message
} else {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Some Changed files in Merge Request DO NOT follow OAI Formatting Rules"
addGitLabMRComment comment: message
}
} else {
echo "Git Branch is ${GIT_BRANCH}"
echo "Git Commit is ${GIT_COMMIT}"
// since a bit, in push events, gitlabUserEmail is not populated
gitCommitAuthorEmailAddr = sh returnStdout: true, script: 'git log -n1 --pretty=format:%ae ${GIT_COMMIT}'
gitCommitAuthorEmailAddr = gitCommitAuthorEmailAddr.trim()
echo "GitLab Usermail is ${gitCommitAuthorEmailAddr}"
sh "git log -n1 --pretty=format:\"%s\" > .git/CI_COMMIT_MSG"
sh "zip -r -qq localZip.zip ."
// Running astyle options on all C/H files in the repository
// For the moment, there is no fail criteria. Just a notification of number of files that do not follow
sh "./ci-scripts/checkCodingFormattingRules.sh"
}
if (doFlexranCtrlTest) {
sh "mkdir flexran"
dir ('flexran') {
withCredentials([
[$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 "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 ."
}
}
}
}
post {
failure {
script {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Merge Conflicts -- Cannot perform CI"
addGitLabMRComment comment: message
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Start VM -- basic-sim") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Start VM -- enb-usrp") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Start VM -- enb-ethernet") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Start VM -- ue-ethernet") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Start VM -- phy-sim") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Start VM -- cppcheck") {
steps {
timeout (time: 5, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage ("Variant Builds") {
parallel {
stage ("Analysis with cppcheck") {
steps {
gitlabCommitStatus(name: "Analysis with cppcheck") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Build eNb-USRP") {
steps {
gitlabCommitStatus(name: "Build eNb-USRP") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Build basic simulator") {
steps {
gitlabCommitStatus(name: "Build basic-sim") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build eNb-ethernet") {
steps {
gitlabCommitStatus(name: "Build eNb-ethernet") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build UE-ethernet") {
steps {
gitlabCommitStatus(name: "Build UE-ethernet") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build physical simulators") {
steps {
gitlabCommitStatus(name: "Build phy-sim") {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
}
}
}
stage ("Build eNb-USRP on Red Hat") {
when {
expression {doRedHatBuild}
}
steps {
gitlabCommitStatus(name: "Build eNb-USRP-RHE") {
script {
try {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.RedHatRemoteCredentials}", usernameVariable: 'RH_Username', passwordVariable: 'RH_Password']
]) {
timeout (time: 20, unit: 'MINUTES') {
sh "./ci-scripts/buildOnRH.sh --workspace $WORKSPACE --job-name ${JOB_NAME} --build-id ${BUILD_ID} --remote-host ${params.RedHatRemoteServer} --remote-path ${params.RedHatWorkingPath} --remote-user-name ${RH_Username} --remote-password ${RH_Password}"
}
}
} catch (Exception e) {
echo "Red Hat build failed but we could keep running pipeline if all ubuntu-based build passed"
}
}
}
}
}
}
post {
failure {
script {
currentBuild.result = 'FAILURE'
}
}
always {
script {
dir ('archives') {
sh "zip -r -qq vm_build_logs.zip basic_sim enb_usrp phy_sim cppcheck enb_eth ue_eth red_hat"
}
if(fileExists('archives/vm_build_logs.zip')) {
archiveArtifacts artifacts: 'archives/vm_build_logs.zip'
}
if ("MERGE".equals(env.gitlabActionType)) {
sh "./ci-scripts/oai-ci-vm-tool report-build --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
// If the merge request has introduced more CPPCHECK errors or warnings, notifications in GitLab
if (fileExists('oai_cppcheck_added_errors.txt')) {
def ret=readFile('./oai_cppcheck_added_errors.txt').trim();
if ("0".equals(ret)) {
echo "No added cppcheck warnings/errors in this merge request"
} else {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Some modified files in Merge Request MAY have INTRODUCED up to " + ret + " CPPCHECK errors/warnings"
addGitLabMRComment comment: message
}
}
// If the merge request has introduced compilation warnings, notifications in GitLab
sh "./ci-scripts/checkAddedWarnings.sh --src-branch ${env.gitlabSourceBranch} --target-branch ${env.gitlabTargetBranch}"
def res=readFile('./oai_warning_files.txt').trim();
if ("0".equals(res)) {
echo "No issues w/ warnings/errors in this merge request"
} else {
def fileList=readFile('./oai_warning_files_list.txt').trim();
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Some modified files in Merge Request MAY have INTRODUCED WARNINGS (" + fileList + ")"
addGitLabMRComment comment: message
}
} else {
sh "./ci-scripts/oai-ci-vm-tool report-build --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
}
if(fileExists('build_results.html')) {
sh "sed -i -e 's#Build-ID: ${BUILD_ID}#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' build_results.html"
archiveArtifacts artifacts: 'build_results.html'
}
}
}
}
}
stage ("Variant Tests") {
parallel {
stage ("VM-based tests") {
stages {
stage ("Test physical simulators") {
steps {
script {
timeout (time: 20, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test phy-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Build Flexran Controller") {
when {
expression {doFlexranCtrlTest}
}
steps {
script {
timeout (time: 20, unit: 'MINUTES') {
try {
sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant flexran-rtc --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Test basic simulator") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test basic-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Test L1 simulator") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test L1-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l1-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Test RF simulator") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test RF-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant rf-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Test L2 simulator") {
steps {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test L2-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
stage ("Destroy all Virtual Machines") {
steps {
sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage ("Test MONOLITHIC - FDD - Band 7 - B210") {
steps {
script {
triggerSlaveJob ('eNB-CI-FDD-Band7-B210', 'Test-Mono-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test MONOLITHIC - TDD - Band 40 - B210") {
steps {
script {
triggerSlaveJob ('eNB-CI-TDD-Band40-B210', 'Test-Mono-TDD-Band40')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-TDD-Band40-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test IF4p5 - FDD - Band 7 - B210") {
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-IF4p5-FDD-Band7-B210', 'Test-IF4p5-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-IF4p5-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test X2 Handover - FDD - Band 13 - B210") {
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-X2HO-B210', 'Test-Mono-FDD-Band13-X2-HO')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-MONO-FDD-Band13-X2HO-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
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 IF4p5 - TDD - Band 40 - B210") {
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-IF4p5-TDD-Band40-B210', 'Test-IF4p5-TDD-Band40')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-IF4p5-TDD-Band40-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test MONOLITHIC - FDD - Band 13 - B210") {
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-B210', 'Test-Mono-FDD-Band13')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-MONO-FDD-Band13-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - FDD - Band 20 - B200") {
steps {
script {
triggerSlaveJobNoGitLab ('UE-CI-FDD-Band20-B200')
}
}
post {
always {
script {
finalizeSlaveJob('UE-CI-FDD-Band20-B200')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - OAI eNB - FDD - Band 7 - B200") {
steps {
script {
// Delayed trigger on slave job, so it is always the last one to run
sh "sleep 240"
triggerSlaveJob ('eNB-UE-CI-MONO-FDD-Band7-B200', 'Test-eNB-OAI-UE-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-UE-CI-MONO-FDD-Band7-B200')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
}
post {
always {
script {
dir ('archives') {
sh "if [ -d basic_sim/test ] || [ -d phy_sim/test ] || [ -d l2_sim/test ]; then zip -r -qq vm_tests_logs.zip */test ; fi"
}
if(fileExists('archives/vm_tests_logs.zip')) {
archiveArtifacts artifacts: 'archives/vm_tests_logs.zip'
if ("MERGE".equals(env.gitlabActionType)) {
sh "./ci-scripts/oai-ci-vm-tool report-test --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
} else {
sh "./ci-scripts/oai-ci-vm-tool report-test --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
}
if(fileExists('test_simulator_results.html')) {
sh "sed -i -e 's#Build-ID: ${BUILD_ID}#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_simulator_results.html"
archiveArtifacts artifacts: 'test_simulator_results.html'
}
}
}
}
}
}
}
post {
always {
script {
// Stage destroy may not be run if error in previous stage
sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
emailext attachmentsPattern: '*results*.html',
body: '''Hi,
Here are attached HTML report files for $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Regards,
OAI CI Team''',
replyTo: 'no-reply@openairinterface.org',
subject: '$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!',
to: gitCommitAuthorEmailAddr
if (fileExists('.git/CI_COMMIT_MSG')) {
sh "rm -f .git/CI_COMMIT_MSG"
}
}
}
success {
script {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): passed (" + BUILD_URL + ")"
if ("MERGE".equals(env.gitlabActionType)) {
echo "This is a MERGE event"
addGitLabMRComment comment: message
def message2 = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): passed (" + BUILD_URL + ") -- MergeRequest #" + env.gitlabMergeRequestIid + " (" + env.gitlabMergeRequestTitle + ")"
sendSocialMediaMessage('ci-enb', 'good', message2)
} else {
sendSocialMediaMessage('ci-enb', 'good', message)
}
}
}
failure {
script {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): failed (" + BUILD_URL + ")"
if ("MERGE".equals(env.gitlabActionType)) {
echo "This is a MERGE event"
addGitLabMRComment comment: message
def message2 = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): failed (" + BUILD_URL + ") -- MergeRequest #" + env.gitlabMergeRequestIid + " (" + env.gitlabMergeRequestTitle + ")"
sendSocialMediaMessage('ci-enb', 'danger', message2)
} else {
sendSocialMediaMessage('ci-enb', 'danger', message)
}
}
}
}
}
// ---- Slave Job functions
def triggerSlaveJob (jobName, gitlabStatusName) {
if ("MERGE".equals(env.gitlabActionType)) {
gitlabCommitStatus(name: gitlabStatusName) {
build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
booleanParam(name: 'eNB_mergeRequest', value: true),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
]
}
} else {
gitlabCommitStatus(name: gitlabStatusName) {
build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
}
def triggerSlaveJobNoGitLab (jobName) {
if ("MERGE".equals(env.gitlabActionType)) {
build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
booleanParam(name: 'eNB_mergeRequest', value: true),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
]
} else {
build job: jobName,
parameters: [
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
booleanParam(name: 'eNB_mergeRequest', value: false)
]
}
}
def finalizeSlaveJob(jobName) {
// In case of any non-success, we are retrieving the HTML report of the last completed
// slave job. The only drop-back is that we may retrieve the HTML report of a previous build
fileName = "test_results-${jobName}.html"
if (!fileExists(fileName)) {
copyArtifacts(projectName: jobName,
filter: 'test_results*.html',
selector: lastCompleted())
if (fileExists(fileName)) {
sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' ${fileName}"
archiveArtifacts artifacts: fileName
}
}
}

View File

@@ -0,0 +1,430 @@
#!/bin/groovy
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
// Location of the python executor node shall be in the same subnet as the others servers
def pythonExecutor = params.pythonExecutor
// Location of the test XML file to be run
def testXMLFile = params.pythonTestXmlFile
def mainPythonAllXmlFiles = ""
def buildStageStatus = true
// Name of the test stage
def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Name of the phone resource
def oaiUEResource = params.oaiUEResource
// Terminate Status
def termENB = 0
def termOAIUE = 1
def termStatusArray = new Boolean[termOAIUE + 1]
termStatusArray[termENB] = false
termStatusArray[termOAIUE] = false
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
def eNB_Branch
def eNB_CommitID
def eNB_AllowMergeRequestProcess = false
def eNB_TargetBranch
pipeline {
agent {
label pythonExecutor
}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock(extra: [[resource: ciSmartPhoneResource]], resource: ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.smartphonesResource == null) {
allParametersPresent = false
}
if (params.oaiUEResource == null) {
allParametersPresent = false
}
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
if (params.UE_IPAddress == null) {
allParametersPresent = false
}
if (params.UE_SourceCodePath == null) {
allParametersPresent = false
}
if (params.UE_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest != null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TesteNB --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
stage ("Terminate") {
parallel {
stage('Terminate eNB') {
steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
post {
success {
script {
termStatusArray[termENB] = true
}
}
}
}
stage('Terminate OAI-UE') {
steps {
echo '\u2705 \u001B[32mTerminate OAI-UE\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
post {
success {
script {
termStatusArray[termOAIUE] = true
}
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
stage('Log Collection (OAI UE - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (OAI UE - Run)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/ue.log.zip ./ue.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ue.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Ping)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Ping)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectPing --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Ping)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/ping.log.zip ./ping.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ping.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ping.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Iperf)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Iperf)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectIperf --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Iperf)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/iperf.log.zip ./iperf.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("iperf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "iperf.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (SPGW)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (SPGW)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (SPGW)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/spgw.log.zip ./spgw.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("spgw.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "spgw.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (MME)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (MME)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (MME)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/mme.log.zip ./mme.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("mme.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "mme.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (HSS)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (HSS)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (HSS)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/hss.log.zip ./hss.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("hss.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "hss.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}
post {
always {
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
// Making sure that we really shutdown every thing before leaving
failure {
script {
if (!termStatusArray[termENB]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
if (!termStatusArray[termOAIUE]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
}

View File

@@ -0,0 +1,282 @@
#!/bin/groovy
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
// Location of the python executor node shall be in the same subnet as the others servers
def pythonExecutor = params.pythonExecutor
// Location of the test XML file to be run
def testXMLFile = params.pythonTestXmlFile
def mainPythonAllXmlFiles = ""
def buildStageStatus = true
// Name of the test stage
def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
def eNB_Branch
def eNB_CommitID
def eNB_AllowMergeRequestProcess = false
def eNB_TargetBranch
pipeline {
agent {
label pythonExecutor
}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.smartphonesResource == null) {
allParametersPresent = false
}
// 1st eNB parameters
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// 2nd eNB parameters
if (params.eNB1_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB1_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB1_Credentials == null) {
allParametersPresent = false
}
// 3rd eNB parameters
if (params.eNB2_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB2_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB2_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest != null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --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 --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} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Build)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Build)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Build)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (eNB - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
}
}
}
post {
always {
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,520 @@
#!/bin/groovy
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
// Location of the python executor node shall be in the same subnet as the others servers
def pythonExecutor = params.pythonExecutor
// Location of the test XML file to be run
def testXMLFile = params.pythonTestXmlFile
def mainPythonAllXmlFiles = ""
def buildStageStatus = true
// Name of the test stage
def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Terminate Status
def termUE = 0
def termENB = 1
def termSPGW = 2
def termMME = 3
def termHSS = 4
def termStatusArray = new Boolean[termHSS + 1]
termStatusArray[termUE] = false
termStatusArray[termENB] = false
termStatusArray[termSPGW] = false
termStatusArray[termMME] = false
termStatusArray[termHSS] = false
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
def eNB_Branch
def eNB_CommitID
def eNB_AllowMergeRequestProcess = false
def eNB_TargetBranch
pipeline {
agent {
label pythonExecutor
}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
}
// the following parameter options are commented out so it shows the ones
// that you SHALL have to run the job.
// You can use them as template
/*
parameters {
//node-test parameters
string(name: 'pythonExecutor', defaultValue: 'nodea', description: 'Node where the pipeline - python scripts will be executed')
string(name: 'pythonTestXmlFile', defaultValue: 'enb_usrpB210_band7_50PRB.xml', description: 'Location of the Test XML to be run')
string(name: 'pipelineTestStageName', defaultValue: 'Test COTS-UE - OAI eNB - LTEBOX EPC', description: 'Naming of the Test Stage')
booleanParam(name: 'pipelineZipsConsoleLog', defaultValue: 'True', description: 'If true, the pipeline script retrieves the job console log, zips it and archives it as artifact')
string(name: 'smartphonesResource', defaultValue: 'CI-Bench-1-Phones', description: 'Lockeable Resource to prevent multiple jobs to run simultaneously with the same resource')
//eNB parameters
string(name: 'eNB_IPAddress', defaultValue: '192.168.XX.XX', description: 'IP Address of eNB')
credentials(name: 'eNB_Credentials', defaultValue: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', credentialType: "Username with password", required: true, description: 'Credentials for eNB')
string(name: 'eNB_SourceCodePath', defaultValue: '/tmp/CI-enb', description: 'Full path of eNB source code')
//EPC parameters
string(name: 'EPC_IPAddress', defaultValue: '192.168.XX.XX', description: 'IP Address of EPC')
string(name: 'EPC_Type', defaultValue: 'ltebox', description: 'EPC type: OAI or ltebox')
credentials(name: 'EPC_Credentials', defaultValue: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', credentialType: "Username with password", required: true, description: 'Credentials for EPC')
string(name: 'EPC_SourceCodePath', defaultValue: '/tmp/CI-enb', description: 'Full path of EPC source code')
//ADB server parameters
string(name: 'ADB_IPAddress', defaultValue: '192.168.XX.XX', description: 'IP Address of ADB server')
credentials(name: 'ADB_Credentials', defaultValue: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', credentialType: "Username with password", required: true, description: 'Credentials for ADB')
}
*/
stages {
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.smartphonesResource == null) {
allParametersPresent = false
}
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest != null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
}
}
}
stage ("Terminate") {
parallel {
stage('Terminate UE') {
steps {
echo '\u2705 \u001B[32mTerminate UE\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
}
}
post {
success {
script {
termStatusArray[termUE] = true
}
}
}
}
stage('Terminate eNB') {
steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
post {
success {
script {
termStatusArray[termENB] = true
}
}
}
}
stage('Terminate SPGW') {
steps {
echo '\u2705 \u001B[32mTerminate SPGW\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
post {
success {
script {
termStatusArray[termSPGW] = true
}
}
}
}
stage('Terminate MME') {
steps {
echo '\u2705 \u001B[32mTerminate MME\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
post {
success {
script {
termStatusArray[termMME] = true
}
}
}
}
stage('Terminate HSS') {
steps {
echo '\u2705 \u001B[32mTerminate HSS\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
post {
success {
script {
termStatusArray[termHSS] = true
}
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Build)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Build)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Build)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (eNB - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
stage('Log Collection (SPGW)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (SPGW)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (SPGW)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/spgw.log.zip ./spgw.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("spgw.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "spgw.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (MME)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (MME)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (MME)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/mme.log.zip ./mme.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("mme.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "mme.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (HSS)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (HSS)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (HSS)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/hss.log.zip ./hss.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("hss.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "hss.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Ping)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Ping)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectPing --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Ping)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/ping.log.zip ./ping.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ping.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ping.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Iperf)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Iperf)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectIperf --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Iperf)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/iperf.log.zip ./iperf.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("iperf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "iperf.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}
post {
always {
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
// Making sure that we really shutdown every thing before leaving
failure {
script {
if (!termStatusArray[termUE]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
}
}
if (!termStatusArray[termENB]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
if (!termStatusArray[termSPGW]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
if (!termStatusArray[termMME]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
if (!termStatusArray[termHSS]) {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
}
}
}

View File

@@ -0,0 +1,271 @@
#!/bin/groovy
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
// Location of the python executor node shall be in the same subnet as the others servers
def pythonExecutor = params.pythonExecutor
// Location of the test XML file to be run
def testXMLFile = params.pythonTestXmlFile
def mainPythonAllXmlFiles = ""
def buildStageStatus = true
// Name of the test stage
def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Terminate Status
def termUE = 0
def termENB = 1
def termSPGW = 2
def termMME = 3
def termHSS = 4
def termStatusArray = new Boolean[termHSS + 1]
termStatusArray[termUE] = false
termStatusArray[termENB] = false
termStatusArray[termSPGW] = false
termStatusArray[termMME] = false
termStatusArray[termHSS] = false
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
def eNB_Branch
def eNB_CommitID
def eNB_AllowMergeRequestProcess = false
def eNB_TargetBranch
pipeline {
agent {
label pythonExecutor
}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.smartphonesResource == null) {
allParametersPresent = false
}
if (params.UE_IPAddress == null) {
allParametersPresent = false
}
if (params.UE_SourceCodePath == null) {
allParametersPresent = false
}
if (params.UE_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest != null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
/*
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
*/
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/ue_band20_build.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TestUE --UEIPAddress=${params.UE_IPAddress} --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (OAI UE - Build)') {
steps {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Build)\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (UE - Build)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI UE - Run)') {
steps {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Run)\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=LogCollectOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (UE - Run)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/ue.log.zip ./ue.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ue.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
}
}
}
post {
always {
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,21 @@
#/*
# * 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
# */
/inet.*brd/{print "interfaceToUse="$NF"done"}

View File

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

View File

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

View File

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

216
ci-scripts/buildOnRH.sh Executable file
View File

@@ -0,0 +1,216 @@
#!/bin/bash
#/*
# * 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
# */
function usage {
echo "OAI RedHat Build Check script"
echo " Original Author: Raphael Defosseux"
echo ""
echo "Usage:"
echo "------"
echo " buildOnRH.sh [OPTIONS]"
echo ""
echo "Options:"
echo "--------"
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
echo " --workspace #### OR -ws ####"
echo " Specify the workspace."
echo ""
echo " --remote-host #### OR -rh ####"
echo " Specify the RedHat remote server."
echo ""
echo " --remote-user-name #### OR -ru ####"
echo " Specify the RedHat remote server username."
echo ""
echo " --remote-password #### OR -rp ####"
echo " Specify the RedHat remote server password."
echo ""
echo " --remote-path #### OR -ra ####"
echo " Specify the RedHat remote server path to work on."
echo ""
}
if [ $# -lt 1 ] || [ $# -gt 14 ]
then
echo "Syntax Error: not the correct number of arguments"
echo ""
usage
exit 1
fi
RH_HOST=XX
RH_USER=XX
RH_PASSWD=XX
RH_PATH=XX
JOB_NAME=XX
BUILD_ID=XX
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
shift
usage
exit 0
;;
-jn|--job-name)
JOB_NAME="$2"
shift
shift
;;
-id|--build-id)
BUILD_ID="$2"
shift
shift
;;
-ws|--workspace)
JENKINS_WKSP="$2"
shift
shift
;;
-rh|--remote-host)
RH_HOST="$2"
shift
shift
;;
-ru|--remote-user-name)
RH_USER="$2"
shift
shift
;;
-rp|--remote-password)
RH_PASSWD="$2"
shift
shift
;;
-ra|--remote-path)
RH_PATH="$2"
shift
shift
;;
*)
echo "Syntax Error: unknown option: $key"
echo ""
usage
exit 1
esac
done
if [ ! -f $JENKINS_WKSP/localZip.zip ]
then
echo "Missing localZip.zip file!"
exit 1
fi
if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ] || [ "$RH_HOST" == "XX" ] || [ "$RH_USER" == "XX" ] || [ "$RH_PASSWD" == "XX" ] || [ "$RH_PATH" == "XX" ]
then
echo "Missing options"
usage
exit 1
fi
echo "############################################################"
echo "Copying GIT repo into RedHat Server"
echo "############################################################"
echo "rm -Rf ${RH_PATH}" >> rh-cmd.txt
echo "mkdir -p ${RH_PATH}" >> rh-cmd.txt
sshpass -p ${RH_PASSWD} ssh -o 'StrictHostKeyChecking no' ${RH_USER}@${RH_HOST} < rh-cmd.txt
rm -f rh-cmd.txt
echo "############################################################"
echo "Running install and build script on RedHat Server"
echo "############################################################"
sshpass -p ${RH_PASSWD} scp -o 'StrictHostKeyChecking no' $JENKINS_WKSP/localZip.zip ${RH_USER}@${RH_HOST}:${RH_PATH}
echo "cd ${RH_PATH}" > rh-cmd.txt
echo "unzip -qq localZip.zip" >> rh-cmd.txt
echo "source oaienv" >> rh-cmd.txt
echo "cd cmake_targets" >> rh-cmd.txt
echo "mkdir -p log" >> rh-cmd.txt
echo "./build_oai -I -w USRP --eNB > log/install-build.txt 2>&1" >> rh-cmd.txt
sshpass -p ${RH_PASSWD} ssh -o 'StrictHostKeyChecking no' ${RH_USER}@${RH_HOST} < rh-cmd.txt
rm -f rh-cmd.txt
echo "############################################################"
echo "Creating a tmp folder to store results and artifacts"
echo "############################################################"
if [ ! -d $JENKINS_WKSP/archives ]
then
mkdir -p $JENKINS_WKSP/archives
fi
ARCHIVES_LOC=$JENKINS_WKSP/archives/red_hat
if [ ! -d $ARCHIVES_LOC ]
then
mkdir -p $ARCHIVES_LOC
fi
sshpass -p ${RH_PASSWD} scp -o 'StrictHostKeyChecking no' ${RH_USER}@${RH_HOST}:${RH_PATH}/cmake_targets/log/*.txt $ARCHIVES_LOC
echo "############################################################"
echo "Checking build status"
echo "############################################################"
LOG_PATTERN=.Rel14.txt
NB_PATTERN_FILES=7
LOG_FILES=`ls $ARCHIVES_LOC/*.txt`
STATUS=0
NB_FOUND_FILES=0
for FULLFILE in $LOG_FILES
do
if [[ $FULLFILE == *"$LOG_PATTERN"* ]]
then
filename=$(basename -- "$FULLFILE")
PASS_PATTERN=`echo $filename | sed -e "s#$LOG_PATTERN##"`
LOCAL_STAT=`egrep -c "Built target $PASS_PATTERN" $FULLFILE`
if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
NB_FOUND_FILES=$((NB_FOUND_FILES + 1))
fi
done
if [ $NB_PATTERN_FILES -ne $NB_FOUND_FILES ]
then
echo "Expecting $NB_PATTERN_FILES log files and found $NB_FOUND_FILES"
STATUS=-1
fi
echo "COMMAND: build_oai -I -w USRP --eNB" > $ARCHIVES_LOC/build_final_status.log
if [ $STATUS -eq 0 ]
then
echo "BUILD_OK" >> $ARCHIVES_LOC/build_final_status.log
echo "STATUS seems OK"
else
echo "BUILD_KO" >> $ARCHIVES_LOC/build_final_status.log
echo "STATUS failed?"
fi
exit $STATUS

195
ci-scripts/buildOnVM.sh Executable file
View File

@@ -0,0 +1,195 @@
#!/bin/bash
#/*
# * 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
# */
function build_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- $VM_OSREL image already synced"
echo " Default:"
echo " -- eNB with USRP"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool build [OPTIONS]"
echo ""
command_options_usage
}
function build_on_vm {
if [ ! -f $JENKINS_WKSP/localZip.zip ]
then
echo "Missing localZip.zip file!"
STATUS=1
return
fi
if [ ! -f /etc/apt/apt.conf.d/01proxy ]
then
echo "Missing /etc/apt/apt.conf.d/01proxy file!"
echo "Is apt-cacher installed and configured?"
STATUS=1
return
fi
echo "############################################################"
echo "OAI CI VM script"
echo "############################################################"
echo "VM_NAME = $VM_NAME"
echo "VM_CMD_FILE = $VM_CMDS"
echo "JENKINS_WKSP = $JENKINS_WKSP"
echo "ARCHIVES_LOC = $ARCHIVES_LOC"
echo "BUILD_OPTIONS = $BUILD_OPTIONS"
IS_VM_ALIVE=`uvt-kvm list | grep -c $VM_NAME`
if [ $IS_VM_ALIVE -eq 0 ]
then
echo "VM_MEMORY = $VM_MEMORY MBytes"
echo "VM_CPU = $VM_CPU"
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
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
release_vm_create_lock
else
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
fi
echo "############################################################"
echo "Copying GIT repo into VM ($VM_NAME)"
echo "############################################################"
if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
scp -o StrictHostKeyChecking=no $JENKINS_WKSP/flexran/flexran.zip ubuntu@$VM_IP_ADDR:/home/ubuntu/localZip.zip
else
scp -o StrictHostKeyChecking=no $JENKINS_WKSP/localZip.zip ubuntu@$VM_IP_ADDR:/home/ubuntu
fi
scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$VM_IP_ADDR:/home/ubuntu
echo "############################################################"
echo "Running install and build script on VM ($VM_NAME)"
echo "############################################################"
echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $VM_CMDS
echo "touch /home/ubuntu/.hushlogin" >> $VM_CMDS
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
if [ $DAEMON -eq 0 ]
then
echo "echo \"sudo apt-get --yes --quiet install zip cppcheck \"" >> $VM_CMDS
echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
echo "sudo apt-get --yes install zip cppcheck >> zip-install.txt 2>&1" >> $VM_CMDS
else
echo "echo \"sudo apt-get --yes --quiet install zip daemon cppcheck \"" >> $VM_CMDS
echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
echo "sudo apt-get --yes install zip daemon cppcheck >> zip-install.txt 2>&1" >> $VM_CMDS
fi
fi
if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
if [ $DAEMON -eq 0 ]
then
echo "echo \"sudo apt-get --yes --quiet install zip curl jq \"" >> $VM_CMDS
echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
echo "sudo apt-get --yes install zip curl jq >> zip-install.txt 2>&1" >> $VM_CMDS
else
echo "echo \"sudo apt-get --yes --quiet install zip daemon curl jq \"" >> $VM_CMDS
echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
echo "sudo apt-get --yes install zip daemon curl jq >> zip-install.txt 2>&1" >> $VM_CMDS
fi
fi
if [[ "$VM_NAME" != *"-cppcheck"* ]] && [[ "$VM_NAME" != *"-flexran-rtc"* ]]
then
if [ $DAEMON -eq 0 ]
then
echo "echo \"sudo apt-get --yes --quiet install zip subversion libboost-dev \"" >> $VM_CMDS
echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
echo "sudo apt-get --yes install zip subversion libboost-dev >> zip-install.txt 2>&1" >> $VM_CMDS
else
echo "echo \"sudo apt-get --yes --quiet install zip daemon subversion libboost-dev \"" >> $VM_CMDS
echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
echo "sudo apt-get --yes install zip daemon subversion libboost-dev >> zip-install.txt 2>&1" >> $VM_CMDS
fi
fi
echo "mkdir tmp" >> $VM_CMDS
echo "cd tmp" >> $VM_CMDS
echo "echo \"unzip -qq -DD ../localZip.zip\"" >> $VM_CMDS
echo "unzip -qq -DD ../localZip.zip" >> $VM_CMDS
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
echo "mkdir cmake_targets/log" >> $VM_CMDS
echo "chmod 777 cmake_targets/log" >> $VM_CMDS
echo "cp /home/ubuntu/zip-install.txt cmake_targets/log" >> $VM_CMDS
echo "echo \"cppcheck $BUILD_OPTIONS . \"" >> $VM_CMDS
if [ $DAEMON -eq 0 ]
then
echo "cppcheck $BUILD_OPTIONS . 2> cmake_targets/log/cppcheck.xml 1> cmake_targets/log/cppcheck_build.txt" >> $VM_CMDS
else
echo "echo \"cppcheck $BUILD_OPTIONS .\" > ./my-vm-build.sh" >> $VM_CMDS
echo "chmod 775 ./my-vm-build.sh " >> $VM_CMDS
echo "sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp -O /home/ubuntu/tmp/cmake_targets/log/cppcheck_build.txt -E /home/ubuntu/tmp/cmake_targets/log/cppcheck.xml ./my-vm-build.sh" >> $VM_CMDS
fi
fi
if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
echo "mkdir -p cmake_targets/log" >> $VM_CMDS
echo "chmod 777 cmake_targets/log" >> $VM_CMDS
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 \"$BUILD_OPTIONS \"" >> $VM_CMDS
echo "$BUILD_OPTIONS > cmake_targets/log/rt_controller.Rel14.txt 2>&1" >> $VM_CMDS
fi
if [[ "$VM_NAME" != *"-cppcheck"* ]] && [[ "$VM_NAME" != *"-flexran-rtc"* ]]
then
echo "echo \"source oaienv\"" >> $VM_CMDS
echo "source oaienv" >> $VM_CMDS
echo "cd cmake_targets/" >> $VM_CMDS
echo "mkdir log" >> $VM_CMDS
echo "chmod 777 log" >> $VM_CMDS
echo "cp /home/ubuntu/zip-install.txt log" >> $VM_CMDS
if [ $DAEMON -eq 0 ]
then
echo "echo \"./build_oai -I $BUILD_OPTIONS \"" >> $VM_CMDS
echo "./build_oai -I $BUILD_OPTIONS > log/install-build.txt 2>&1" >> $VM_CMDS
else
echo "echo \"./build_oai -I $BUILD_OPTIONS\" > ./my-vm-build.sh" >> $VM_CMDS
echo "chmod 775 ./my-vm-build.sh " >> $VM_CMDS
echo "echo \"sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp/cmake_targets -o /home/ubuntu/tmp/cmake_targets/log/install-build.txt ./my-vm-build.sh\"" >> $VM_CMDS
echo "sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp/cmake_targets -o /home/ubuntu/tmp/cmake_targets/log/install-build.txt ./my-vm-build.sh" >> $VM_CMDS
fi
fi
ssh -T -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
rm -f $VM_CMDS
}

144
ci-scripts/checkAddedWarnings.sh Executable file
View File

@@ -0,0 +1,144 @@
#!/bin/bash
#/*
# * 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
# */
function usage {
echo "OAI Warning Check script"
echo " Original Author: Raphael Defosseux"
echo ""
echo "Usage:"
echo "------"
echo " checkAddedWarnings.sh [OPTIONS]"
echo ""
echo "Options:"
echo "--------"
echo " --src-branch #### OR -sb ####"
echo " Specify the source branch of the merge request."
echo ""
echo " --target-branch #### OR -tb ####"
echo " Specify the target branch of the merge request (usually develop)."
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
}
if [ $# -ne 4 ] && [ $# -ne 1 ]
then
echo "Syntax Error: not the correct number of arguments"
echo ""
usage
exit 1
fi
checker=0
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
shift
usage
exit 0
;;
-sb|--src-branch)
SOURCE_BRANCH="$2"
let "checker|=0x1"
shift
shift
;;
-tb|--target-branch)
TARGET_BRANCH="$2"
let "checker|=0x2"
shift
shift
;;
*)
echo "Syntax Error: unknown option: $key"
echo ""
usage
exit 1
esac
done
if [ $checker -ne 3 ]
then
echo "Source Branch is : $SOURCE_BRANCH"
echo "Target Branch is : $TARGET_BRANCH"
echo ""
echo "Syntax Error: missing option"
echo ""
usage
exit 1
fi
# Merge request scenario
MERGE_COMMMIT=`git log -n1 --pretty=format:%H`
TARGET_INIT_COMMIT=`cat .git/refs/remotes/origin/$TARGET_BRANCH`
echo " ---- Checking the modified files by the merge request ----"
echo ""
echo "Source Branch is : $SOURCE_BRANCH"
echo "Target Branch is : $TARGET_BRANCH"
echo "Merged Commit is : $MERGE_COMMMIT"
echo "Target Init is : $TARGET_INIT_COMMIT"
# Retrieve the list of modified files since the latest develop commit
MODIFIED_FILES=`git log $TARGET_INIT_COMMIT..$MERGE_COMMMIT --oneline --name-status | egrep "^M|^A" | sed -e "s@^M\t*@@" -e "s@^A\t*@@" | sort | uniq`
NB_WARNINGS_FILES=0
# Retrieve list of warnings
LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.Rel14.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`
echo ""
echo "List of files that have been modified by the Merge Request AND"
echo " that have compilation warnings/errors"
echo "--------------------------------------------------------------------"
declare -a ARRAYNAME
for FULLFILE in $MODIFIED_FILES
do
filename=$(basename -- "$FULLFILE")
EXT="${filename##*.}"
if [ $EXT = "c" ] || [ $EXT = "h" ] || [ $EXT = "cpp" ] || [ $EXT = "hpp" ]
then
for WARNING_FILE in $LIST_WARNING_FILES
do
if [ $FULLFILE = $WARNING_FILE ]
then
echo $WARNING_FILE
ARRAYNAME[$NB_WARNINGS_FILES]=$WARNING_FILE
NB_WARNINGS_FILES=$((NB_WARNINGS_FILES + 1))
fi
done
fi
done
echo ""
echo "NB Files impacted by warnings/errors in Merge Request: $NB_WARNINGS_FILES"
echo $NB_WARNINGS_FILES > oai_warning_files.txt
echo ${ARRAYNAME[*]} > oai_warning_files_list.txt
exit 0

View File

@@ -0,0 +1,154 @@
#!/bin/bash
#/*
# * 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
# */
function usage {
echo "OAI Coding / Formatting Guideline Check script"
echo " Original Author: Raphael Defosseux"
echo ""
echo " Requirement: astyle shall be installed"
echo ""
echo " By default (no options) the complete repository will be checked"
echo " In case of merge request, provided source and target branch,"
echo " the script will check only the modified files"
echo ""
echo "Usage:"
echo "------"
echo " checkCodingFormattingRules.sh [OPTIONS]"
echo ""
echo "Options:"
echo "--------"
echo " --src-branch #### OR -sb ####"
echo " Specify the source branch of the merge request."
echo ""
echo " --target-branch #### OR -tb ####"
echo " Specify the target branch of the merge request (usually develop)."
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
}
if [ $# -ne 4 ] && [ $# -ne 1 ] && [ $# -ne 0 ]
then
echo "Syntax Error: not the correct number of arguments"
echo ""
usage
exit 1
fi
if [ $# -eq 0 ]
then
echo " ---- Checking the whole repository ----"
echo ""
NB_FILES_TO_FORMAT=`astyle --dry-run --options=ci-scripts/astyle-options.txt --recursive *.c *.h | grep -c Formatted `
echo "Nb Files that do NOT follow OAI rules: $NB_FILES_TO_FORMAT"
echo $NB_FILES_TO_FORMAT > ./oai_rules_result.txt
exit 0
fi
checker=0
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
shift
usage
exit 0
;;
-sb|--src-branch)
SOURCE_BRANCH="$2"
let "checker|=0x1"
shift
shift
;;
-tb|--target-branch)
TARGET_BRANCH="$2"
let "checker|=0x2"
shift
shift
;;
*)
echo "Syntax Error: unknown option: $key"
echo ""
usage
exit 1
esac
done
if [ $checker -ne 3 ]
then
echo "Source Branch is : $SOURCE_BRANCH"
echo "Target Branch is : $TARGET_BRANCH"
echo ""
echo "Syntax Error: missing option"
echo ""
usage
exit 1
fi
# Merge request scenario
MERGE_COMMMIT=`git log -n1 --pretty=format:%H`
TARGET_INIT_COMMIT=`cat .git/refs/remotes/origin/$TARGET_BRANCH`
echo " ---- Checking the modified files by the merge request ----"
echo ""
echo "Source Branch is : $SOURCE_BRANCH"
echo "Target Branch is : $TARGET_BRANCH"
echo "Merged Commit is : $MERGE_COMMMIT"
echo "Target Init is : $TARGET_INIT_COMMIT"
echo ""
echo " ----------------------------------------------------------"
echo ""
# Retrieve the list of modified files since the latest develop commit
MODIFIED_FILES=`git log $TARGET_INIT_COMMIT..$MERGE_COMMMIT --oneline --name-status | egrep "^M|^A" | sed -e "s@^M\t*@@" -e "s@^A\t*@@" | sort | uniq`
NB_TO_FORMAT=0
if [ -f oai_rules_result_list.txt ]
then
rm -f oai_rules_result_list.txt
fi
for FULLFILE in $MODIFIED_FILES
do
filename=$(basename -- "$FULLFILE")
EXT="${filename##*.}"
if [ $EXT = "c" ] || [ $EXT = "h" ] || [ $EXT = "cpp" ] || [ $EXT = "hpp" ]
then
TO_FORMAT=`astyle --dry-run --options=ci-scripts/astyle-options.txt $FULLFILE | grep -c Formatted `
NB_TO_FORMAT=$((NB_TO_FORMAT + TO_FORMAT))
if [ $TO_FORMAT -ne 0 ]
then
echo $FULLFILE
echo $FULLFILE >> ./oai_rules_result_list.txt
fi
fi
done
echo ""
echo " ----------------------------------------------------------"
echo "Nb Files that do NOT follow OAI rules: $NB_TO_FORMAT"
echo $NB_TO_FORMAT > ./oai_rules_result.txt
exit 0

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,271 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// 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 = 208; mnc = 93; mnc_length = 2; } );
nr_cellid = 98765L;
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 = 13;
downlink_frequency = 751000000L;
uplink_frequency_offset = 31000000;
Nid_cell = 1;
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 = 110;
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;
//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";
}
);
///X2
enable_x2 = "yes";
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 = 200;
puCch10xSnr = 200;
}
);
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];
}
);
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";
};
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";//PARALLEL_RU_L1_TRX_SPLIT";
#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,469 @@
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"
////////// 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 = 13;
downlink_frequency = 751000000L;
uplink_frequency_offset = 31000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 110;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 1;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -24;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_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 = "n64"; #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 = "rf128"; #128
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = "ms1000";
ue_TimersAndConstants_t301 = "ms1000";
ue_TimersAndConstants_t310 = "ms1000";
ue_TimersAndConstants_t311 = "ms10000";
ue_TimersAndConstants_n310 = "n20";
ue_TimersAndConstants_n311 = "n1";
ue_TransmissionMode = "tm1";
# eMTC Parameters
emtc_parameters :
{
eMTC_configured = 1;
#hyperSFN_r13 = 0;
#eDRX_Allowed_r13 = 0;
#q_QualMinRSRQ_CE_r13 = ;
#SIB1
schedulingInfoSIB1_BR_r13 = 4;
#system_info_value_tag_SI =
#(
# {
# systemInfoValueTagSi_r13 = 0;
# }
#);
cellSelectionInfoCE_r13 = "ENABLE";
q_RxLevMinCE_r13 = -70;
bandwidthReducedAccessRelatedInfo_r13 = "ENABLE"
si_WindowLength_BR_r13 = "ms20"; #0
si_RepetitionPattern_r13 = "everyRF"; #0
scheduling_info_br =
(
{
si_Narrowband_r13 = 8;
si_TBS_r13 = 5;
}
);
fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13";
fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF;
startSymbolBR_r13 = 2;
si_HoppingConfigCommon_r13 = "off"; #1; # Note: 1==OFF !
si_ValidityTime_r13 = "true"; #0
freqHoppingParametersDL_r13 = "DISABLE"
mpdcch_pdsch_HoppingNB_r13 = "nb2"; #0
interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13"
interval_DLHoppingConfigCommonModeA_r13_val = 0;
interval_DLHoppingConfigCommonModeB_r13 = "interval-FDD-r13"
interval_DLHoppingConfigCommonModeB_r13_val = 0;
mpdcch_pdsch_HoppingOffset_r13 = 1;
# SIB23
frame_type = "FDD";
preambleTransMax_CE_r13 = 10; #6
rach_numberOfRA_Preambles = 60; #14
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -110;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 64;
rach_maxHARQ_Msg3Tx = 4;
# max size for this array is 4
rach_CE_LevelInfoList_r13 =
(
{
firstPreamble_r13 = 60;
lastPreamble_r13 = 63;
ra_ResponseWindowSize_r13 = 20; #0
mac_ContentionResolutionTimer_r13 = 80; #0
rar_HoppingConfig_r13 = 1; // Note 1 means off
}
);
# BCCH CONFIG
bcch_modificationPeriodCoeff = 2;
#PCCH Config
pcch_default_PagingCycle = "rf128"; #128
pcch_nB = "oneT";
#PRACH Config
prach_root = 89;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 1;
#PDSCH Config Common
pdsch_referenceSignalPower = -24
pdsch_p_b = 0;
# PUSCH Config Common
pusch_n_SB = 1;
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_enable64QAM = "DISABLE";
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
# PUCCH Config Common
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
pucch_deltaF_Format1 = "deltaF0";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
msg3_delta_Preamble = 6;
prach_ConfigCommon_v1310 = "ENABLE";
mpdcch_startSF_CSS_RA_r13 = "fdd-r13";
mpdcch_startSF_CSS_RA_r13_val = "v1"; #0
prach_HoppingOffset_r13 = 0;
pdsch_maxNumRepetitionCEmodeA_r13 = "r16"; #0
#pdsch_maxNumRepetitionCEmodeB_r13 = "r384"; # NULL - 2
pusch_maxNumRepetitionCEmodeA_r13 = "r8"; #0
#pusch_maxNumRepetitionCEmodeB_r13 = "r768"; #4 #NULL
#pusch_HoppingOffset_v1310 = 5; #NULL
# max size for this array is 3
rsrp_range_list =
(
{
rsrp_range_br = 0;
}
);
# max size for this array is 4
prach_parameters_ce_r13 =
(
{
prach_config_index_br = 3;
prach_freq_offset_br = 2;
prach_StartingSubframe_r13 = 2;
maxNumPreambleAttemptCE_r13 = 10; #6
numRepetitionPerPreambleAttempt_r13 = 1; #0
mpdcch_NumRepetition_RA_r13 = 1; #0
prach_HoppingConfig_r13 = 0; #1
max_available_narrow_band = [3];
}
);
n1PUCCH_AN_InfoList_r13 =
(
{
pucch_info_value = 33;
}
);
ue_TimersAndConstants_t300 = "ms1000";
ue_TimersAndConstants_t301 = "ms400";
ue_TimersAndConstants_t310 = "ms50";
ue_TimersAndConstants_t311 = "ms30000";
ue_TimersAndConstants_n310 = "n1";
ue_TimersAndConstants_n311 = "n10";
ue_TransmissionMode = "tm1";
pcch_config_v1310 :
{
paging_narrowbands_r13 = 1;
mpdcch_numrepetition_paging_r13 = "r1"; #0
#nb_v1310 = "one256thT"; #2
}
pucch_NumRepetitionCE_Msg4_Level0_r13 = "n1"; #0
#pucch_NumRepetitionCE_Msg4_Level1_r13 = "n2"; #1
#pucch_NumRepetitionCE_Msg4_Level2_r13 = "n16"; #2
#pucch_NumRepetitionCE_Msg4_Level3_r13 = "n32"; #3
sib2_freq_hoppingParameters_r13 :
{
#sib2_mpdcch_pdsch_hoppingNB_r13 = "nb2"; #0
#sib2_interval_DLHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
#sib2_interval_DLHoppingConfigCommonModeA_r13_val = "int1";
#sib2_interval_DLHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
#sib2_interval_DLHoppingConfigCommonModeB_r13_val = "int2";
sib2_interval_ULHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
sib2_interval_ULHoppingConfigCommonModeA_r13_val = "int4"; #2
# sib2_interval_ULHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD)
# sib2_interval_ULHoppingConfigCommonModeB_r13_val = "int2"; #0
# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1;
}
rach_preamblesGroupAConfig = "DISABLE";
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "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 = "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
};
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";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
puSch10xSnr = 200;
puCch10xSnr = 200;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 200;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [13];
max_pdschReferenceSignalPower = -24;
max_rxgain = 110;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
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

@@ -13,22 +13,19 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
mobile_country_code = "208";
mobile_network_code = "94";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 3;
tdd_config_s = 5;
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
@@ -40,7 +37,7 @@ eNBs =
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
rx_gain = 115;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
@@ -49,8 +46,8 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -24;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-29;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -63,14 +60,14 @@ eNBs =
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -103;
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -80,13 +77,13 @@ eNBs =
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -104;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
@@ -106,6 +103,7 @@ eNBs =
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
@@ -136,27 +134,34 @@ eNBs =
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "127.0.0.3";
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 = "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.4/24";
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
log_config :
{
global_log_level ="info";
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
@@ -171,5 +176,57 @@ eNBs =
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 115;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -13,22 +13,19 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
mobile_country_code = "208";
mobile_network_code = "94";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 5;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
@@ -49,8 +46,8 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -24;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -63,14 +60,14 @@ eNBs =
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -103;
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -80,13 +77,13 @@ eNBs =
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -104;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
@@ -106,6 +103,7 @@ eNBs =
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
@@ -136,27 +134,34 @@ eNBs =
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "127.0.0.3";
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 = "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.4/24";
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
log_config :
{
global_log_level ="info";
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
@@ -171,5 +176,57 @@ eNBs =
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [38];
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 = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -13,10 +13,8 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
mobile_country_code = "208";
mobile_network_code = "92";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
////////// Physical parameters:
@@ -25,20 +23,21 @@ eNBs =
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2660000000L;
uplink_frequency_offset = -120000000;
eutra_band = 40;
downlink_frequency = 2350000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 32;
rx_gain = 118;
tx_gain = 90;
rx_gain = 120;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
@@ -47,8 +46,8 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -19;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -66,9 +65,9 @@ eNBs =
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -90;
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -108;
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -99,6 +98,8 @@ eNBs =
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
}
);
@@ -133,21 +134,29 @@ eNBs =
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.12.26";
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 = "192.168.12.111/24";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24";
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 :
@@ -170,3 +179,54 @@ eNBs =
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 120;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -13,10 +13,8 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
mobile_country_code = "208";
mobile_network_code = "92";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
////////// Physical parameters:
@@ -25,21 +23,21 @@ eNBs =
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2660000000L;
uplink_frequency_offset = -120000000;
eutra_band = 40;
downlink_frequency = 2350000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 50;
N_RB_DL = 25;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 2;
nb_antennas_tx = 2;
nb_antennas_rx = 2;
tx_gain = 32;
rx_gain = 116;
tx_gain = 90;
rx_gain = 125;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
@@ -48,8 +46,8 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -19;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -67,9 +65,9 @@ eNBs =
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -90;
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -108;
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -101,7 +99,7 @@ eNBs =
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 2;
ue_TransmissionMode = 1;
}
);
@@ -136,21 +134,27 @@ eNBs =
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.12.26";
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24";
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 :
@@ -173,3 +177,54 @@ eNBs =
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 150;
puCch10xSnr = 150;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 110;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -0,0 +1,270 @@
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"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 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 = -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 = -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 */
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 = 115;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
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,273 @@
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 = 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 = -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 */
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,278 @@
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"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 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";
drx_Config_present = "prSetup"; //"prSetup" "prRelease"
drx_onDurationTimer = "psf1"; // "psfX": X=1,2,3,4,5,6,8,10,20,30,40,50,60,80,100
drx_InactivityTimer = "psf1"; // "psfX": X=1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300,500,750,1280,1920,2560
drx_RetransmissionTimer = "psf1"; // "psfX": X=1,2,4,6,8,16,24,33
drx_longDrx_CycleStartOffset_present = "prSf128"; // "psfX": X=10,20,32,40,64,80,128,160,256,320,512,640,1024,1280,2048,2560
drx_longDrx_CycleStartOffset = 0; // X >= 0 && X < drx_longDrx_CycleStartOffset_present
drx_shortDrx_Cycle = "sf16"; // "sfX": X=2,5,8,10,16,20,32,40,64,80,128,160,256,320,512,640
drx_shortDrx_ShortCycleTimer = 3; // 1..16 integer. Total duration in short cycle = drx_shortDrx_Cycle*drx_shortDrx_ShortCycleTimer [subframe]
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
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 */
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 = 120;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
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,271 @@
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"
////////// 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 = 2;
nb_antennas_tx = 2;
nb_antennas_rx = 2;
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 = 2;
//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 = 200;
puCch10xSnr = 200;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 115;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
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,276 @@
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; } );
nr_cellid = 123456L;
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 = 13;
downlink_frequency = 751000000L;
uplink_frequency_offset = 31000000;
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 = 110;
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;
//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";
}
);
///X2
enable_x2 = "yes";
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 = 200;
puCch10xSnr = 200;
}
);
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];
}
);
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";
};
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";//PARALLEL_RU_L1_TRX_SPLIT";
#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,270 @@
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;
//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 = 200;
puCch10xSnr = 200;
}
);
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 = "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";
};

View File

@@ -13,22 +13,19 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
mobile_country_code = "208";
mobile_network_code = "94";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 3;
tdd_config_s = 5;
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
@@ -49,8 +46,8 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -24;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -63,14 +60,14 @@ eNBs =
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -103;
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -80,13 +77,13 @@ eNBs =
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -104;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
@@ -106,6 +103,7 @@ eNBs =
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
@@ -136,27 +134,34 @@ eNBs =
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "127.0.0.3";
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 = "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.4/24";
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
log_config :
{
global_log_level ="info";
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
@@ -171,5 +176,57 @@ eNBs =
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
}
);
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 = [38];
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";
};

View File

@@ -5,6 +5,9 @@ Asn1_verbosity = "none";
eNBs =
(
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0xe00;
@@ -13,44 +16,43 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
tr_s_preference = "local_mac"
mobile_country_code = "208";
mobile_network_code = "93";
////////// Physical parameters:
////////// 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;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2680000000L;
uplink_frequency_offset = -120000000;
eutra_band = 38;
downlink_frequency = 2580000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 100;
N_RB_DL = 50; #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 = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -29;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -68,9 +70,9 @@ eNBs =
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -90;
pusch_p0_Nominal = -104; #-96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -96;
pucch_p0_Nominal = -96; #-104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -101,7 +103,7 @@ eNBs =
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
ue_TransmissionMode = 1;
}
);
@@ -137,7 +139,7 @@ eNBs =
////////// MME parameters:
mme_ip_address = ( { ipv4 = "127.0.0.3";
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
@@ -146,33 +148,83 @@ eNBs =
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "enp129s0f0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "enp129s0f0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR"; #"127.0.0.4/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152\
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
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.4/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
rrh_gw_config = (
{
local_if_name = "eth0";
remote_address = "10.10.10.60";
local_address = "10.10.10.215";
local_port = 50000; #for raw option local port must be the same to remote
remote_port = 50000;
rrh_gw_active = "yes";
tr_preference = "udp_if4p5";
rf_preference = "usrp_b200";
iq_txshift = 4;
tx_sample_advance = 80;
tx_scheduling_advance = 9;
if_compression = "alaw";
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 = "enp129s0f0";
local_address = "CI_ENB_IP_ADDR";
remote_address = "CI_RRU1_IP_ADDR";
local_portc = 50002;
remote_portc = 50002;
local_portd = 50003;
remote_portd = 50003;
local_rf = "no"
tr_preference = "udp_if4p5"
nb_tx = 1
nb_rx = 1
att_tx = 20
att_rx = 20;
eNB_instances = [0];
is_slave = "no";
ota_sync_enabled = "yes";
},
{
local_if_name = "enp129s0f0";
local_address = "CI_ENB_IP_ADDR";
remote_address = "CI_RRU2_IP_ADDR";
local_portc = 50010;
remote_portc = 50010;
local_portd = 50011;
remote_portd = 50011;
local_rf = "no"
tr_preference = "udp_if4p5"
nb_tx = 1
nb_rx = 1
att_tx = 20
att_rx = 20;
eNB_instances = [0];
is_slave = "yes";
ota_sync_enabled = "yes";
}
);
);
log_config :
{
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
@@ -187,7 +239,4 @@ eNBs =
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
};

View File

@@ -0,0 +1,239 @@
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 = 92; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "NGFI_RCC_IF4p5";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-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 = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
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
};
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
}
);
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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -0,0 +1,239 @@
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 = 92; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "NGFI_RCC_IF4p5";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 25;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
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
};
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
}
);
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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -5,6 +5,9 @@ Asn1_verbosity = "none";
eNBs =
(
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0xe00;
@@ -13,22 +16,19 @@ eNBs =
eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
mobile_country_code = "208";
mobile_network_code = "94";
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
////////// Physical parameters:
component_carriers = (
{
node_function = "eNodeB_3GPP";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
node_function = "NGFI_RCC_IF4p5";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 3;
tdd_config_s = 5;
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 40;
downlink_frequency = 2350000000L;
@@ -49,8 +49,8 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -24;
pucch_n1_AN = 0;
pdsch_referenceSignalPower =-27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
@@ -63,14 +63,14 @@ eNBs =
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -103;
pucch_p0_Nominal = -106;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
@@ -80,13 +80,13 @@ eNBs =
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -104;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
@@ -106,6 +106,7 @@ eNBs =
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
@@ -136,27 +137,34 @@ eNBs =
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "127.0.0.3";
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 = "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.4/24";
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
log_config :
{
global_log_level ="info";
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
@@ -171,5 +179,61 @@ eNBs =
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
puSch10xSnr = 200;
puCch10xSnr = 200;
}
);
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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};

View File

@@ -0,0 +1,276 @@
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 = 92; 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 = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 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 = -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 = -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 */
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_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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
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,276 @@
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 = 92; 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 = 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 = -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 */
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_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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
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,276 @@
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 = 92; 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 = 2680000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 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;
//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_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 = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
eNB_instances = [0];
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -1,4 +1,4 @@
Active_eNBs = ( "eNB_Eurecom_LTEBox");
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
@@ -10,20 +10,20 @@ eNBs =
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB_Eurecom_LTEBox";
eNB_name = "eNB-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1";
tracking_area_code = 1;
mobile_country_code = "208";
plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2; } );
mobile_network_code = "93";
tr_s_preference = "local_mac"
////////// Physical parameters:
////////// Physical parameters:
component_carriers = (
{
node_function = "NGFI_RCC_IF4p5";
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
@@ -34,22 +34,23 @@ eNBs =
downlink_frequency = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 100;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
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 = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
@@ -101,7 +102,40 @@ eNBs =
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 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;
}
);
@@ -138,41 +172,59 @@ eNBs =
////////// MME parameters:
mme_ip_address = ( { ipv4 = "127.0.0.3";
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 = "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_INTERFACE_NAME_FOR_S1_MME = "ens3";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "ens3";
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
};
}
);
rrh_gw_config = (
{
local_if_name = "eth0";
remote_address = "10.10.10.60";
local_address = "10.10.10.215";
local_port = 50000; #for raw option local port must be the same to remote
remote_port = 50000;
rrh_gw_active = "yes";
tr_preference = "udp_if4p5";
rf_preference = "usrp_b200";
iq_txshift = 4;
tx_sample_advance = 80;
tx_scheduling_advance = 9;
if_compression = "alaw";
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "ens3";
remote_s_address = "CI_UE_IP_ADDR";
local_s_address = "CI_ENB_IP_ADDR";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
);
log_config :
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_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";
global_log_verbosity ="medium";
@@ -189,6 +241,3 @@ eNBs =
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);

View File

@@ -0,0 +1,47 @@
RUs = (
{
local_if_name = "enp1s0";
remote_address = "CI_RCC_IP_ADDR";
local_address = "CI_ENB_IP_ADDR";
local_portc = 50002;
remote_portc = 50002;
local_portd = 50003;
remote_portd = 50003;
local_rf = "yes"
tr_preference = "udp_if4p5";
nb_tx = 1;
nb_rx = 1;
max_pdschReferenceSignalPower = -12;
max_rxgain = 100;
bands = [38];
is_slave = "no";
ota_sync_enabled = "yes";
}
);
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,47 @@
RUs = (
{
local_if_name = "enp1s0";
remote_address = "CI_RCC_IP_ADDR";
local_address = "CI_ENB_IP_ADDR";
local_portc = 50010;
remote_portc = 50010;
local_portd = 50011;
remote_portd = 50011;
local_rf = "yes"
tr_preference = "udp_if4p5";
nb_tx = 1;
nb_rx = 1;
max_pdschReferenceSignalPower = -12;
max_rxgain = 100;
bands = [38];
is_slave = "yes";
ota_sync_enabled = "yes";
}
);
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,44 @@
RUs = (
{
local_if_name = "lo";
remote_address = "127.0.0.1"
local_address = "127.0.0.2";
local_portc = 50000;
remote_portc = 50000;
local_portd = 50001;
remote_portd = 50001;
local_rf = "yes"
tr_preference = "udp_if4p5";
nb_tx = 1;
nb_rx = 1;
max_pdschReferenceSignalPower = -27;
max_rxgain = 115;
bands = [7];
}
);
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 ="error";
global_log_verbosity ="medium";
hw_log_level ="error";
hw_log_verbosity ="medium";
phy_log_level ="error";
phy_log_verbosity ="medium";
mac_log_level ="error";
mac_log_verbosity ="high";
rlc_log_level ="error";
rlc_log_verbosity ="medium";
pdcp_log_level ="error";
pdcp_log_verbosity ="medium";
rrc_log_level ="error";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,44 @@
RUs = (
{
local_if_name = "lo";
remote_address = "127.0.0.1"
local_address = "127.0.0.2";
local_portc = 50000;
remote_portc = 50000;
local_portd = 50001;
remote_portd = 50001;
local_rf = "yes"
tr_preference = "udp_if4p5";
nb_tx = 1;
nb_rx = 1;
max_pdschReferenceSignalPower = -27;
max_rxgain = 115;
bands = [40];
}
);
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 ="error";
global_log_verbosity ="medium";
hw_log_level ="error";
hw_log_verbosity ="medium";
phy_log_level ="error";
phy_log_verbosity ="medium";
mac_log_level ="error";
mac_log_verbosity ="high";
rlc_log_level ="error";
rlc_log_verbosity ="medium";
pdcp_log_level ="error";
pdcp_log_verbosity ="medium";
rrc_log_level ="error";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,44 @@
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="medium";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="full";
};
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "CI_ENB_IP_ADDR";
local_n_address = "CI_UE_IP_ADDR";
local_n_portc = 50000;
remote_n_portc = 50001;
local_n_portd = 50010;
remote_n_portd = 50011;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,101 @@
// *INDENT-OFF* cppcheck doesn't like "astyling" this file!!!!
// /*
// * 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
// */
//*****************************************************************************
//*****************************************************************************
// section for "valid" memory leaks: the related functions are allocators and
// the caller is responsible of freeing the memory. cppcheck has a mechanism
// to check more accuretaly this, by defining callers responsible of freeing
// but tools like valgring might be more suitable
//
//-----------------------------------------------------------------------------
// suppress error about keysP memory leak, free must be done by calling func
memleak:common/utils/hashtable/obj_hashtable.c
//-----------------------------------------------------------------------------
// suppress error about keys memory leak, free must be done by calling func
memleak:openair2/UTIL/OMG/omg_hashtable.c
//-----------------------------------------------------------------------------
// suppress error about data memory leak. This is the buffer where
// _emm_as_encode function creates the encoded buffer
//
memleak:openair3/NAS/UE/EMM/SAP/emm_as.c
//-----------------------------------------------------------------------------
//*****************************************************************************
// section for files not used in oai exec's included in CI.
// Possibly candidates for removal otherwise should be documented and updated
// for project rules enforcement
// ----------------------------------------------------------------------------
// likely sources for test programs, maintained?
invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/ltetest.c
memleak:openair1/PHY/CODING/TESTBENCH/ltetest.c
invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/pdcch_test.c
//
//-----------------------------------------------------------------------------
// oaisim deprecated, remove?
doubleFree:openair3/TEST/oaisim_mme_list_benchmark.c
//
//-----------------------------------------------------------------------------
// is itti analyzer deprecated
nullPointer:common/utils/itti_analyzer/itti_analyzer.c
nullPointerRedundantCheck:common/utils/itti_analyzer/libbuffers/buffers.c
doubleFree:common/utils/itti_analyzer/libbuffers/socket.c
memleak:common/utils/itti_analyzer/libbuffers/socket.c
memleak:common/utils/itti_analyzer/libparser/array_type.c
memleak:common/utils/itti_analyzer/libui/ui_callbacks.c
//-----------------------------------------------------------------------------
// obviously never even compiled!!!
syntaxError:openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
//-----------------------------------------------------------------------------
// omg, otg commented out in cmakelist to be cleaned up definitely?
arrayIndexOutOfBounds:openair2/UTIL/OMG/omg.c
uninitvar:openair2/UTIL/OTG/otg_rx_socket.c
//-----------------------------------------------------------------------------
// cppcheck is not able to understand that buf is initialized at the first
// iteration of the loop.
nullPointer:common/utils/T/local_tracer.c:243
//-----------------------------------------------------------------------------
// once again cppcheck does not understand that fds is initialized in the
// first iteration of the loop
nullPointer:common/utils/T/tracer/multi.c:264
nullPointer:common/utils/T/tracer/multi.c:265
//
//*****************************************************************************
//
// True problems we don't know how to fix, Suppression is commented out,
// as these kind of problem need either to be fixed or can be suppressed
// when fully uderstood
//-----------------------------------------------------------------------------
// the function [nv]fapi_pnf_p7_config_create should return
// _this. _this points to a structure and a dynamically allocated field is
// returned. cppcheck suspects _this will never be released, so do i
// memleak:nfapi/open-nFAPI/pnf/src/pnf_p7_interface.c
// memleak:nfapi/open-nFAPI/vnf/src/vnf_p7_interface.c
//-----------------------------------------------------------------------------
// may be security_data->kenb.value is released from calling functions. But even
// when, for test, freeing it before returning from emm_proc_security_mode_command
// which does the allocation, cppcheck complains. So something might be wrong...
// memleak:openair3/NAS/UE/EMM/SecurityModeControl.c
//-----------------------------------------------------------------------------
// when used, nobody but the original developer can guess if sn_data_cnf is set or not
// cppcheck found that in some cases it is not, code needs cleanup before fixing that...
// uninitvar:openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
//*****************************************************************************
// *INDENT-ON*

100
ci-scripts/createVM.sh Executable file
View File

@@ -0,0 +1,100 @@
#!/bin/bash
#/*
# * 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
# */
function create_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- $VM_OSREL image already synced"
echo " Default:"
echo " -- eNB with USRP"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool create [OPTIONS]"
echo ""
echo "Mandatory Options:"
echo "--------"
echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job."
echo ""
echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job."
echo ""
variant_usage
echo " Specify the variant to build."
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
}
function acquire_vm_create_lock {
local FlockFile="/tmp/vmclone.lck"
local unlocked="0"
touch ${FlockFile} 2>/dev/null
if [[ $? -ne 0 ]]
then
echo "Cannot access lock file ${FlockFile}"
exit 2
fi
while [ $unlocked -eq 0 ]
do
exec 5>${FlockFile}
flock -nx 5
if [[ $? -ne 0 ]]
then
echo "Another instance of VM creation is running"
sleep 10
else
unlocked="1"
fi
done
chmod 666 ${FlockFile} 2>/dev/null
}
function release_vm_create_lock {
local FlockFile="/tmp/vmclone.lck"
rm -Rf ${FlockFile}
}
function create_vm {
echo "############################################################"
echo "OAI CI VM script"
echo "############################################################"
echo "VM_NAME = $VM_NAME"
echo "VM_MEMORY = $VM_MEMORY MBytes"
echo "VM_CPU = $VM_CPU"
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
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
release_vm_create_lock
}

View File

@@ -0,0 +1,51 @@
#!/bin/bash
#/*
# * 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
# */
function destroy_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool destroy [OPTIONS]"
echo ""
command_options_usage
}
function destroy_vm {
echo "############################################################"
echo "OAI CI VM script"
echo "############################################################"
echo "VM_TEMPLATE = $VM_TEMPLATE"
LIST_CI_VM=`uvt-kvm list | grep $VM_TEMPLATE`
for CI_VM in $LIST_CI_VM
do
VM_IP_ADDR=`uvt-kvm ip $CI_VM`
echo "VM to destroy: $CI_VM -- IP $VM_IP_ADDR"
uvt-kvm destroy $CI_VM
ssh-keygen -R $VM_IP_ADDR
done
}

148
ci-scripts/doGitLabMerge.sh Executable file
View File

@@ -0,0 +1,148 @@
#!/bin/bash
#/*
# * 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
# */
function usage {
echo "OAI GitLab merge request applying script"
echo " Original Author: Raphael Defosseux"
echo ""
echo "Usage:"
echo "------"
echo ""
echo " doGitLabMerge.sh [OPTIONS] [MANDATORY_OPTIONS]"
echo ""
echo "Mandatory Options:"
echo "------------------"
echo ""
echo " --src-branch #### OR -sb ####"
echo " Specify the source branch of the merge request."
echo ""
echo " --src-commit #### OR -sc ####"
echo " Specify the source commit ID (SHA-1) of the merge request."
echo ""
echo " --target-branch #### OR -tb ####"
echo " Specify the target branch of the merge request (usually develop)."
echo ""
echo " --target-commit #### OR -tc ####"
echo " Specify the target commit ID (SHA-1) of the merge request."
echo ""
echo "Options:"
echo "--------"
echo " --help OR -h"
echo " Print this help message."
echo ""
}
if [ $# -ne 8 ] && [ $# -ne 1 ]
then
echo "Syntax Error: not the correct number of arguments"
echo ""
usage
exit 1
fi
checker=0
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
shift
usage
exit 0
;;
-sb|--src-branch)
SOURCE_BRANCH="$2"
let "checker|=0x1"
shift
shift
;;
-sc|--src-commit)
SOURCE_COMMIT_ID="$2"
let "checker|=0x2"
shift
shift
;;
-tb|--target-branch)
TARGET_BRANCH="$2"
let "checker|=0x4"
shift
shift
;;
-tc|--target-commit)
TARGET_COMMIT_ID="$2"
let "checker|=0x8"
shift
shift
;;
*)
echo "Syntax Error: unknown option: $key"
echo ""
usage
exit 1
esac
done
if [[ $TARGET_COMMIT_ID == "latest" ]]
then
TARGET_COMMIT_ID=`git log -n1 --pretty=format:%H origin/$TARGET_BRANCH`
fi
echo "Source Branch is : $SOURCE_BRANCH"
echo "Source Commit ID is : $SOURCE_COMMIT_ID"
echo "Target Branch is : $TARGET_BRANCH"
echo "Target Commit ID is : $TARGET_COMMIT_ID"
if [ $checker -ne 15 ]
then
echo ""
echo "Syntax Error: missing option"
echo ""
usage
exit 1
fi
git config user.email "jenkins@openairinterface.org"
git config user.name "OAI Jenkins"
git checkout -f $SOURCE_COMMIT_ID > checkout.txt 2>&1
STATUS=`egrep -c "fatal: reference is not a tree" checkout.txt`
rm -f checkout.txt
if [ $STATUS -ne 0 ]
then
echo "fatal: reference is not a tree --> $SOURCE_COMMIT_ID"
STATUS=-1
exit $STATUS
fi
git log -n1 --pretty=format:\"%s\" > .git/CI_COMMIT_MSG
git merge --ff $TARGET_COMMIT_ID -m "Temporary merge for CI"
STATUS=`git status | egrep -c "You have unmerged paths.|fix conflicts"`
if [ $STATUS -ne 0 ]
then
echo "There are merge conflicts.. Cannot perform further build tasks"
STATUS=-1
fi
exit $STATUS

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

23
ci-scripts/fail.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
#/*
# * 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
# */
exit -1

4498
ci-scripts/main.py Normal file

File diff suppressed because it is too large Load Diff

845
ci-scripts/oai-ci-vm-tool Executable file
View File

@@ -0,0 +1,845 @@
#!/bin/bash
#/*
# * 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
# */
function top_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- $VM_OSREL image already synced"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool (-h|--help) { `for i in "${COMMANDS_NAME[@]}"; do echo -n $i,;done` ..." }
echo ""
}
function variant_usage {
for (( i=0 ; i<${#VARIANTS_LONG[@]} ; i++ ))
do
unset BUILD_OPTIONS
unset VARIANT_INFO
check_set_variant "${VARIANTS_SHORT[$i]}"
printf " --variant %-15s OR -%-3s" "${VARIANTS_LONG[$i]}" "${VARIANTS_SHORT[$i]}"
if [ "$BUILD_OPTIONS" = "" ]
then
echo -n " ( test "
else
echo -n " ( build and test "
fi
echo "$VARIANT_INFO )"
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 " 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
done
}
function command_options_usage {
local -A HELP_MSG
HELP_MSG["jn"]=" Specify the name of the Jenkins job."
HELP_MSG["id"]=" Specify the build ID of the Jenkins job."
HELP_MSG["ws"]=" Specify the workspace"
HELP_MSG["var"]=" Specify the variant to build."
HELP_MSG["k"]=" Keep the VM alive after the build."
HELP_MSG["D"]=" Run as daemon"
HELP_MSG["gu"]=" Specify the URL of the GIT Repository."
HELP_MSG["pu"]=" trigger a push action from the Jenkins job to the specified url, \"--trigger pu\" can also be used"
HELP_MSG["mr"]=" trigger a merge request action from the Jenkins job, \"--trigger mr\" can also be used"
HELP_MSG["sb"]=" Specify the source branch of the merge request."
HELP_MSG["sc"]=" Specify the source commit ID (SHA-1) of the merge request."
HELP_MSG["tb"]=" Specify the target branch of the merge request (usually develop)."
HELP_MSG["tc"]=" Specify the target commit ID (SHA-1) of the merge request."
HELP_MSG["br"]=" Specify the branch of the push event."
HELP_MSG["co"]=" Specify the commit ID (SHA-1) of the push event."
HELP_MSG["epc"]=" (two arguments) Specify the ip addresses of an external EPC, on respectively the core network and the UEs network"
HELP_MSG["sim"]=" Specify the path to the sim file, used to emulate the oai UE sim card "
for (( m=0 ; m<2 ; m++ ))
do
if [[ $m -eq 0 || ( $m > 0 && ${MANDATORY_OPTMASK[$m]} > 0 ) ]]
then
echo "Mandatory Options ($((m+1))):"
echo "---------------------"
for (( i=0 ; i<${#SHORT_OPTIONS[@]} ; i++ ))
do
if [ $(( MANDATORY_OPTMASK[$m] & $(( 2**$i )) )) -ne 0 ]
then
if [ "${LONG_OPTIONS[$i]}" != "" ]
then
local ARGPATTERN
if [[ !("${HELP_MSG[${SHORT_OPTIONS[$i]}]}" =~ "Specify") ]]
then
ARGPATTERN=""
elif [[ "${HELP_MSG[${SHORT_OPTIONS[$i]}]}" =~ "(two arguments)" ]]
then
ARGPATTERN="#### ####"
else
ARGPATTERN="####"
fi
printf " %s %s OR " "--${LONG_OPTIONS[$i]}" "$ARGPATTERN"
fi
printf "%s %s \n" "-${SHORT_OPTIONS[$i]}" "$ARGPATTERN"
printf " %s\n\n" "${HELP_MSG[${SHORT_OPTIONS[$i]}]}"
fi
done
fi
done
echo "Options:"
echo "--------"
for (( i=0 ; i<${#SHORT_OPTIONS[@]} ; i++ ))
do
if [ $(( ALLOWED_OPTMASK & $(( 2**$i )) )) -ne 0 ]
then
if [ "${LONG_OPTIONS[$i]}" != "" ]
then
printf " %s #### OR " "--${LONG_OPTIONS[$i]}"
fi
printf "%s #### \n" "-${SHORT_OPTIONS[$i]}"
printf " %s\n\n" "${HELP_MSG[${SHORT_OPTIONS[$i]}]}"
fi
done
for (( i=0 ; i<${#SHORT_OPTIONS[@]} ; i++ ))
do
if [ $(( ALLOWED_OPTMASK & $(( 2**$i )) )) -ne 0 ]
then
if [ "$(type -t ${LONG_OPTIONS[$i]}_usage)" = 'function' ]
then
${LONG_OPTIONS[$i]}_usage
fi
fi
done
echo " --help OR -h"
echo " Print this help message."
echo ""
}
function setvar_usage {
declare -A HELP_VAR
HELP_VAR["VM_OSREL"]="OS release to use in virtual machines"
HELP_VAR["RUN_EXPERIMENTAL"]="Enforce execution of variants with EXPERIMENTAL variable set to \"true\""
echo "--setvar_<varname> <value> where varname is one of:"
for i in ${AUTHORIZED_VAR[@]}; do printf "%20s : %s\n" "$i" "${HELP_VAR[$i]}" ;done
}
# functions variant__v<n>__<variant name> are used to define build or test variants
# The only thing to do to define a new variant is to add a function which name
# match this template. Note that "_" character in function <varriant name> part
# will be replaced by "-" character in build_variant_arrays function, this is
# for compatibility reasons
function variant__v1__enb_usrp {
NB_PATTERN_FILES=9
BUILD_OPTIONS="--eNB -w USRP --mu"
}
function variant__v2__basic_sim {
NB_PATTERN_FILES=13
BUILD_OPTIONS="--eNB --UE"
VM_MEMORY=8192
RUN_OPTIONS="complex"
}
function variant__v3__phy_sim {
NB_PATTERN_FILES=3
BUILD_OPTIONS="--phy_simulators"
RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
}
function variant__v4__cppcheck {
VM_MEMORY=4096
LOG_PATTERN=cppcheck.xml
NB_PATTERN_FILES=1
BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2 --suppressions-list=ci-scripts/cppcheck_suppressions.list -I common/utils -I openair3/NAS/COMMON/UTIL -j4"
}
function variant__v7__enb_ethernet {
VM_MEMORY=4096
ARCHIVES_LOC=enb_eth
NB_PATTERN_FILES=8
BUILD_OPTIONS="--eNB"
}
function variant__v8__ue_ethernet {
VM_MEMORY=4096
ARCHIVES_LOC=ue_eth
NB_PATTERN_FILES=12
BUILD_OPTIONS="--UE"
}
function variant__v10__flexran_rtc {
ARCHIVES_LOC=flexran
NB_PATTERN_FILES=1
BUILD_OPTIONS="cmake . && make -j2"
VARIANT_INFO="non-OSA"
}
function variant__v20__l1_sim {
ARCHIVES_LOC=l1_sim
RUN_OPTIONS="complex"
EXPERIMENTAL="true"
}
function variant__v21__rf_sim {
RUN_OPTIONS="complex"
EXPERIMENTAL="true"
}
function variant__v22__l2_sim {
RUN_OPTIONS="complex"
}
# Following function lists all variant__v<n>__<variant name> functions
# and set the VARIANTS_SHORT and VARIANTS_LONG arrays from
# the function names
function build_variant_arrays {
VARIANTS=`declare -F`
VARIANTS=${VARIANTS//"declare -f "}
for i in $VARIANTS
do
if [ `expr match "$i" 'variant__v'` -eq 10 ]
then
IDX1=`expr match "$i" 'variant__v[0-9]\+__'`
VARIANTS_SHORT+=(${i:9:$((IDX1-11))})
LONGNAME=${i:$IDX1}
VARIANTS_LONG+=(${LONGNAME//"_"/"-"})
fi
done
}
# check that the passed argument is a valid variant, set
# default values for variant related variables and then execute
# the corresponding variant__v<n>__<variant name> function
function check_set_variant {
for (( i=0 ; i<${#VARIANTS_SHORT[@]} ; i++ ))
do
if [ "$1" = "${VARIANTS_SHORT[$i]}" ] || [ "$1" = "${VARIANTS_LONG[$i]}" ]
then
VM_NAME=ci-${VARIANTS_LONG[$i]}
LOG_PATTERN=.$ASN1VER.txt
ARCHIVES_LOC=${VARIANTS_LONG[$i]//"-"/"_"}
VM_MEMORY=2048
VM_CPU=4
EXPERIMENTAL=""
NBARGS=$[$NBARGS+$VARIANT_OPTID]
variant__${VARIANTS_SHORT[$i]}__${VARIANTS_LONG[$i]//"-"/"_"}
return 0
fi
done
echo "$1" is not a valid variant
variant_usage
exit 1
}
function check_command_options {
GIVEN_OPTIONS=$1
declare -a MANDATORY_OPTIONS=("${!2}")
if [ ${MANDATORY_OPTIONS[1]} -eq 0 ]
then
MANDATORY_OPTIONS[1]=${MANDATORY_OPTIONS[0]}
fi
OPTIONAL_OPTIONS=$3
if [ $(($GIVEN_OPTIONS & ${MANDATORY_OPTIONS[0]} )) -ne ${MANDATORY_OPTIONS[0]} ] && [ $(($GIVEN_OPTIONS & ${MANDATORY_OPTIONS[1]} )) -ne ${MANDATORY_OPTIONS[1]} ]
then
echo "Syntax Error: missing option(s) for $4 command"
${4//-/_}_usage
exit 1
fi
if [ $(( $(($GIVEN_OPTIONS ^ ${MANDATORY_OPTIONS[0]})) | $OPTIONAL_OPTIONS )) -ne $(( $OPTIONAL_OPTIONS )) ] && [ $(( $(($GIVEN_OPTIONS ^ ${MANDATORY_OPTIONS[1]})) | $OPTIONAL_OPTIONS )) -ne $(( $OPTIONAL_OPTIONS )) ]
then
echo "Syntax Error: unknown option(s) for $4 command"
${4//-/_}_usage
exit 1
fi
}
function check_ipv4addr {
local ipaddr=$1
local stat=1
if [[ $ipaddr =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]]
then
OIFS=$IFS
IFS='.'
ipaddr=($ipaddr)
IFS=$OIFS
[[ ${ipaddr[0]} -le 255 && ${ipaddr[1]} -le 255 \
&& ${ipaddr[2]} -le 255 && ${ipaddr[3]} -le 255 ]]
stat=$?
fi
if [ $stat -ne 0 ]
then
echo $ipaddr " is not a valid ip V4 address"
exit 1
fi
}
function check_setvar {
for i in ${AUTHORIZED_VAR[@]}
do
if [ "$1" = "$i" ]
then
echo "Setting $1 to $2..."
export "$1"="$2"
return 0
fi
done
echo " $1 is not a variable you can set"
setvar_usage
exit 1
}
MY_DIR=$(dirname $(readlink -f $0))
. $MY_DIR/createVM.sh
. $MY_DIR/buildOnVM.sh
. $MY_DIR/waitBuildOnVM.sh
. $MY_DIR/destroyAllRunningVM.sh
. $MY_DIR/runTestOnVM.sh
. $MY_DIR/reportBuildLocally.sh
. $MY_DIR/reportTestLocally.sh
if [ $# -lt 1 ]
then
echo "Syntax Error: too few arguments"
echo ""
top_usage
exit 1
fi
VM_TEMPLATE=ci-
# look for default ASN1 release in cmake directives
# It will be the release used when building
ASN1VEROPT=( `grep "add_list2_option(RRC_ASN1_VERSION" cmake_targets/CMakeLists.txt` )
ASN1VER=${ASN1VEROPT[1]//\"}
unset ASN1VEROPT
# variable to identify and store the command (build, create ...)
# command index in the COMMAND and COMMANDS_NAME arrays
HELP_CMD=0
CREATE_CMD=1
BUILD_CMD=2
WAIT_CMD=3
DESTROY_CMD=4
TEST_CMD=5
REPORT_BUILD_CMD=6
REPORT_TEST_CMD=7
COMMANDS_NAME=(help create build wait destroy test report-build report-test)
#COMMAND will be used to save the command entered as argument
declare -A COMMAND
for i in "${COMMANDS_NAME[@]}"
do
COMMAND[$i]=0
done
# build the variant arrays
declare -a VARIANTS_SHORT
declare -a VARIANTS_LONG
build_variant_arrays
#variables to process options, for each option we define a variable to store
# its value and a bit mask, used to check allowed options depending on
# the command
# The two following arrays must be consistent: a given index must point to the long and short options
# of a given command
SHORT_OPTIONS=( "jn" "id" "ws" "k" "D" "gu" "pu" "mr" "var" "notused" "sb" "sc" "tb" "tc" "br" "co" "epc" "sim")
LONG_OPTIONS=( "job-name" "build-id" "workspace" "keep-vm-alive" "daemon" "git-url" "push" "merge-request"
"variant" "notused" "src-branch" "src-commit" "target-branch" "target-commit" "branch" "commit"
"external-epc" "sim-file")
JOB_NAME=XX
JOB_NAME_OPTINDEX=0
JOB_NAME_OPTID=1
BUILD_ID=XX
BUILD_ID_OPTINDEX=1
BUILD_ID_OPTID=2
JENKINS_WKSP_OPTINDEX=2
JENKINS_WKSP_OPTID=4
KEEP_VM_ALIVE_OPTINDEX=3
KEEP_VM_ALIVE_OPTID=8
KEEP_VM_ALIVE=0
DAEMON_OPTINDEX=4
DAEMON_OPTID=$((2**4))
DAEMON=0
GITURL_OPTINDEX=5
GITURL_OPTID=$((2**5))
PU_OPTINDEX=6
PU_OPTID=$((2**6))
PU_TRIG=0
MR_OPTINDEX=7
MR_OPTID=$((2**7))
MR_TRIG=0
VARIANT_OPTINDEX=8
VARIANT_OPTID=$((2**8))
SB_OPTINDEX=10
SB_OPTID=$((2**10))
SC_OPTINDEX=11
SC_OPTID=$((2**11))
TB_OPTINDEX=12
TB_OPTID=$((2**12))
TC_OPTINDEX=13
TC_OPTID=$((2**13))
BR_OPTINDEX=14
BR_OPTID=$((2**14))
CO_OPTINDEX=15
CO_OPTID=$((2**15))
EPC_IPADDR_OPTINDEX=16
EPC_IPADDR_OPTID=$((2**16))
EPC_IPADDR=""
SIM_OPTINDEX=17
SIM_OPTID=$((2**17))
SIMFILE=""
RUN_OPTIONS="none"
# list of variables that can be set via the --setvar option
AUTHORIZED_VAR=("VM_OSREL RUN_EXPERIMENTAL")
#variables to set which OS VM should use
#if [ -f "/etc/os-release" ]
#then
# source /etc/os-release
# VM_OS="$NAME"
# VM_OSREL="$VERSION_CODENAME"
# VM_ARCHI=`uname -m`
#else
VM_OS="ubuntu"
VM_OSREL="xenial"
VM_ARCHI="x86_64"
#fi
# variant option, ie the test variant which will be run triggers the
# variables listed below, used to configure the VM and to define what this
# VM will do. The variant can be specified by the --variant option or by a
# -V<xx> option.
VM_NAME=""
VM_MEMORY=0
VM_CPU=0
ARCHIVES_LOC=""
LOG_PATTERN=""
NB_PATTERN_FILES=0
BUILD_OPTIONS=""
RUN_OPTIONS=""
# NARGS is used to check that only valid options are used for the given command
# It is a bit mask, each bit set to 1 specifies the corresponding option
# has been entered on the command line. MANDATORY_OPTMASK and ALLOWED_OPTMASK define
# respectively the mandatory and optional parameters of the entered command
NBARGS=0
MANDATORY_OPTMASK=(0 0) # some command have two sets of mandatory options
ALLOWED_OPTMASK=0
while [[ $# -gt 0 ]]
do
key="$1"
if [ "$(type -t $funcname)" != 'function' ]; then
funcname=do_it_normal
fi
case $key in
--debug)
set -v
set -x
shift
;;
-h|--help|help)
COMMAND["help"]=1
# following word might specify the topic for the help request
# but help can also be used without argument, so don't shift
if [ "$2" != "" ] && [ "$(type -t ${2//-/_}_usage)" = 'function' ]
then
HELPCMD="${2//-/_}_usage full"
fi
shift
;;
create)
COMMAND[$key]=1
# For create, mandatory options: jn, id. Optional: variant
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID ))
ALLOWED_OPTMASK=$(($VARIANT_OPTID))
# It is implied to keep the VM when creating it
KEEP_VM_ALIVE=1
shift
;;
build)
COMMAND[$key]=1
# For build, mandatory options: jn, id, ws. Optional: variant, k, D
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID))
ALLOWED_OPTMASK=$(($KEEP_VM_ALIVE_OPTID + $DAEMON_OPTID + $VARIANT_OPTID))
shift
;;
wait)
# For test, mandatory options: jn, id, ws. Optional: variant, k
COMMAND[$key]=1
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID))
ALLOWED_OPTMASK=$(($KEEP_VM_ALIVE_OPTID + $VARIANT_OPTID))
shift
;;
test)
COMMAND[$key]=1
# For test, mandatory options: jn, id, ws. Optional: variant, k, epc
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID))
ALLOWED_OPTMASK=$(($KEEP_VM_ALIVE_OPTID + $VARIANT_OPTID + $EPC_IPADDR_OPTID + $SIM_OPTID))
shift
;;
destroy)
COMMAND[$key]=1
# For destroy, mandatory options: jn, id.
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID))
shift
;;
report-build)
COMMAND[$key]=1
# For report-build, mandatory options: jn, id, ws, gu, pu, br,co.
# or: jn, id, ws, gu, mr, sb, sc, tb, tc.
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID + $GITURL_OPTID + $PU_OPTID + $BR_OPTID + $CO_OPTID))
MANDATORY_OPTMASK[1]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID + $GITURL_OPTID + $MR_OPTID + $SB_OPTID + $SC_OPTID))
MANDATORY_OPTMASK[1]=$(( ${MANDATORY_OPTMASK[1]} + $TB_OPTID + $TC_OPTID))
shift
;;
report-test)
COMMAND[$key]=1
# For report-test, mandatory options: jn, id, ws, gu, pu, br,co.
# or: jn, id, ws, gu, mr, sb, sc, tb, tc.
MANDATORY_OPTMASK[0]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID))
MANDATORY_OPTMASK[0]=$((${MANDATORY_OPTMASK[0]} + $GITURL_OPTID + $PU_OPTID + $BR_OPTID + $CO_OPTID))
MANDATORY_OPTMASK[1]=$(($JOB_NAME_OPTID + $BUILD_ID_OPTID + $JENKINS_WKSP_OPTID))
MANDATORY_OPTMASK[1]=$((${MANDATORY_OPTMASK[1]} + GITURL_OPTID + $MR_OPTID + $SB_OPTID + $SC_OPTID))
MANDATORY_OPTMASK[1]=$((${MANDATORY_OPTMASK[1]} + $TB_OPTID + $TC_OPTID))
shift
;;
-jn|--job-name)
JOB_NAME="$2"
NBARGS=$[$NBARGS+$JOB_NAME_OPTID]
shift
shift
;;
-id|--build-id)
BUILD_ID="$2"
NBARGS=$[$NBARGS+$BUILD_ID_OPTID]
shift
shift
;;
-ws|--workspace)
JENKINS_WKSP="$2"
NBARGS=$[$NBARGS+$JENKINS_WKSP_OPTID]
shift
shift
;;
-k|--keep-vm-alive)
KEEP_VM_ALIVE=1
NBARGS=$[$NBARGS+$KEEP_VM_ALIVE_OPTID]
shift
;;
-D|--daemon)
DAEMON=1
NBARGS=$[$NBARGS+$DAEMON_OPTID]
shift
;;
-gu|--git-url)
GIT_URL="$2"
NBARGS=$[$NBARGS+$GITURL_OPTID]
shift
shift
;;
--trigger)
TRIG="$2"
case $TRIG in
merge-request)
MR_TRIG=1
NBARGS=$[$NBARGS+$MR_OPTID]
;;
push)
PU_TRIG=1
NBARGS=$[$NBARGS+$PU_OPTID]
;;
*)
echo ""
echo "Syntax Error: Invalid Trigger option -> $TRIG"
echo ""
trigger_usage
exit
;;
esac
shift
shift
;;
-mr|--merge-request)
MR_TRIG=1
NBARGS=$[$NBARGS+$MR_OPTID]
shift
;;
-pu|--push)
PU_TRIG=1
NBARGS=$[$NBARGS+$PU_OPTID]
shift
;;
-sb|--src-branch)
SOURCE_BRANCH="$2"
NBARGS=$[$NBARGS+$SB_OPTID]
shift
shift
;;
-sc|--src-commit)
SOURCE_COMMIT_ID="$2"
NBARGS=$[$NBARGS+$SC_OPTID]
shift
shift
;;
-tb|--target-branch)
TARGET_BRANCH="$2"
NBARGS=$[$NBARGS+$TB_OPTID]
shift
shift
;;
-tc|--target-commit)
TARGET_COMMIT_ID="$2"
NBARGS=$[$NBARGS+$TC_OPTID]
shift
shift
;;
-br|--branch)
SOURCE_BRANCH="$2"
NBARGS=$[$NBARGS+$BR_OPTID]
shift
shift
;;
-co|--commit)
SOURCE_COMMIT_ID="$2"
NBARGS=$[$NBARGS+$CO_OPTID]
shift
shift
;;
-epc|--external-epc)
check_ipv4addr "$2"
check_ipv4addr "$3"
EPC_IPADDR="$2"
EPC_TUN_IPADDR="$3"
NBARGS=$[$NBARGS+$EPC_IPADDR_OPTID]
shift
shift
shift
;;
-sim|--sim-file)
SIMFILE="$2"
NBARGS=$[$NBARGS+$SIM_OPTID]
shift
shift
;;
--setvar_*)
check_setvar "${key:9}" "$2"
shift
shift
;;
-v[0-9] | -v[0-9][0-9])
check_set_variant ${key//"-"}
shift
;;
-var|--variant)
variant="$2"
check_set_variant ${2}
shift
shift
;;
*)
echo "Syntax Error: unknown option: $key"
echo ""
top_usage
exit 1
esac
done
i=0
for (( COUNT=1 ; COUNT<${#COMMAND[@]} ; COUNT++ ))
do
if [ ${COMMAND[${COMMANDS_NAME[$COUNT]}]} -eq 1 ]
then
COMMAND_KEY[$i]=${COMMANDS_NAME[$COUNT]}
(( i++ ))
fi
done
if [ ${COMMAND["help"]} -eq 1 ]
then
if [ ${#COMMAND_KEY[@]} -ne 1 ] && [ "$HELPCMD" == "" ]
then
top_usage
elif [ "$HELPCMD" != "" ]
then
$HELPCMD
else
${COMMAND_KEY[0]//-/_}_usage
fi
exit 0
else
if [ ${#COMMAND_KEY[@]} -gt 1 ]
then
echo "Syntax Error, too many commands: ${COMMAND_KEY[@]}"
top_usage
exit 1
fi
if [ -z "${COMMAND_KEY[0]}" ]
then
echo "Syntax Error: no command, specify one of: ${COMMANDS_NAME[@]}"
top_usage
exit 1
fi
check_command_options $NBARGS MANDATORY_OPTMASK[@] $ALLOWED_OPTMASK ${COMMAND_KEY[0]}
fi
if [ ${COMMAND[${COMMANDS_NAME[$REPORT_BUILD_CMD]}]} -ne 1 ] && [ ${COMMAND[${COMMANDS_NAME[$REPORT_TEST_CMD]}]} -ne 1 ]
then
# Checking uvt-kvm is installed
UVT_KVM_PATH=`which uvt-kvm | grep -c uvt-kvm`
if [ $UVT_KVM_PATH -eq 0 ]
then
echo "Error: uvt-kvm is not installed"
top_usage
exit 1
fi
fi
if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
then
VM_TEMPLATE=ci-
else
VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
fi
# set default variant
if [ "$VM_NAME" = "" ]
then
check_set_variant "v1"
fi
VM_NAME=`echo $VM_NAME | sed -e "s#ci-#$VM_TEMPLATE#"`
VM_CMDS=${VM_NAME}_cmds.txt
ARCHIVES_LOC=${JENKINS_WKSP}/archives/${ARCHIVES_LOC}
STATUS=0
if [ ${COMMAND[${COMMANDS_NAME[$CREATE_CMD]}]} -eq 1 ]
then
if [[ "$BUILD_OPTIONS" = "" ]]
then
echo "$VM_NAME is not a build variant"
exit 0
else
create_vm
fi
fi
if [ ${COMMAND[${COMMANDS_NAME[$BUILD_CMD]}]} -eq 1 ]
then
if [[ "$BUILD_OPTIONS" = "" ]]
then
echo " $VM_NAME is not a build variant"
exit 0
else
build_on_vm
fi
if [ $DAEMON -eq 0 ] && [ $STATUS -eq 0 ]
then
check_on_vm_build
fi
fi
if [ ${COMMAND[${COMMANDS_NAME[$WAIT_CMD]}]} -eq 1 ]
then
if [[ "$BUILD_OPTIONS" = "" ]]
then
echo "$VM_NAME is not a build variant"
exit 0
else
wait_on_vm_build
fi
if [ $STATUS -eq 0 ]
then
check_on_vm_build
fi
fi
if [ ${COMMAND[${COMMANDS_NAME[$TEST_CMD]}]} -eq 1 ]
then
# variant with EXPERIMENTAL variable set to true won't run and will be
# considered OK, except if --setvar_RUN_EXPERIMENTAL option has been set to true
if [ "$EXPERIMENTAL" = "true" ] && [ "$RUN_EXPERIMENTAL" != "true" ]
then
echo "Currently $VM_NAME Testing is not implemented / enabled"
echo "remove EXPERIMENTAL variable definition from this variant"
echo " or use option --setvar_RUN_EXPERIMENTAL=true to enforce testing it"
echo "STATUS seems OK"
exit $STATUS
fi
ARCHIVES_LOC=${ARCHIVES_LOC}/test
run_test_on_vm
fi
if [ ${COMMAND[${COMMANDS_NAME[$DESTROY_CMD]}]} -eq 1 ]
then
destroy_vm
fi
if [ ${COMMAND[${COMMANDS_NAME[$REPORT_BUILD_CMD]}]} -eq 1 ]
then
report_build
fi
if [ ${COMMAND[${COMMANDS_NAME[$REPORT_TEST_CMD]}]} -eq 1 ]
then
report_test
fi
# Did command pass or fail?
if [ $STATUS -eq 0 ]
then
echo "STATUS seems OK"
else
echo "STATUS failed?"
fi
exit $STATUS

657
ci-scripts/reportBuildLocally.sh Executable file
View File

@@ -0,0 +1,657 @@
#!/bin/bash
#/*
# * 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
# */
function report_build_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool report-build [OPTIONS]"
echo ""
command_options_usage
}
function trigger_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo ""
echo " --trigger merge-request OR -mr"
echo " --trigger push OR -pu"
echo " Specify trigger action of the Jenkins job. Either a merge-request event or a push event."
echo ""
}
function details_table {
echo " <h4>$1</h4>" >> $3
echo " <table border = \"1\">" >> $3
echo " <tr bgcolor = \"#33CCFF\" >" >> $3
echo " <th>File</th>" >> $3
echo " <th>Line Number</th>" >> $3
echo " <th>Status</th>" >> $3
echo " <th>Message</th>" >> $3
echo " </tr>" >> $3
LIST_MESSAGES=`egrep "error:|warning:" $2 | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto"`
COMPLETE_MESSAGE="start"
for MESSAGE in $LIST_MESSAGES
do
if [[ $MESSAGE == *"/home/ubuntu/tmp"* ]] || [[ $MESSAGE == *"/tmp/CI-eNB"* ]]
then
FILENAME=`echo $MESSAGE | sed -e "s#^/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" | awk -F ":" '{print $1}'`
LINENB=`echo $MESSAGE | awk -F ":" '{print $2}'`
if [ "$COMPLETE_MESSAGE" != "start" ]
then
COMPLETE_MESSAGE=`echo $COMPLETE_MESSAGE | sed -e "s##'#g" -e "s##'#g"`
echo " <td>$COMPLETE_MESSAGE</td>" >> $3
echo " </tr>" >> $3
fi
echo " <tr>" >> $3
echo " <td>$FILENAME</td>" >> $3
echo " <td>$LINENB</td>" >> $3
else
if [[ $MESSAGE == *"warning:"* ]] || [[ $MESSAGE == *"error:"* ]]
then
MSGTYPE=`echo $MESSAGE | sed -e "s#:##g"`
echo " <td>$MSGTYPE</td>" >> $3
COMPLETE_MESSAGE=""
else
COMPLETE_MESSAGE=$COMPLETE_MESSAGE" "$MESSAGE
fi
fi
done
if [ "$COMPLETE_MESSAGE" != "start" ]
then
COMPLETE_MESSAGE=`echo $COMPLETE_MESSAGE | sed -e "s##'#g" -e "s##'#g"`
echo " <td>$COMPLETE_MESSAGE</td>" >> $3
echo " </tr>" >> $3
fi
echo " </table>" >> $3
}
function summary_table_header {
echo " <h3>$1</h3>" >> ./build_results.html
if [ -f $2/build_final_status.log ]
then
if [ `grep -c COMMAND $2/build_final_status.log` -eq 1 ]
then
COMMAND=`grep COMMAND $2/build_final_status.log | sed -e "s#COMMAND: ##"`
else
COMMAND="Unknown"
fi
if [ `grep -c BUILD_OK $2/build_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <span class=\"glyphicon glyphicon-arrow-right\"></span> " >> ./build_results.html
echo " <strong>BUILD was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <span class=\"glyphicon glyphicon-arrow-right\"></span> " >> ./build_results.html
echo " <strong>BUILD was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
echo " <strong>COULD NOT DETERMINE BUILD FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
fi
echo " <table border = \"1\">" >> ./build_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Element</th>" >> ./build_results.html
echo " <th>Status</th>" >> ./build_results.html
echo " <th>Nb Errors</th>" >> ./build_results.html
echo " <th>Nb Warnings</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
}
function summary_table_row {
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" >$1</th>" >> ./build_results.html
if [ -f $2 ]
then
BUILD_STATUS=`egrep -c "$3" $2`
if [ $BUILD_STATUS -eq 1 ]
then
echo " <td bgcolor = \"green\" >OK</th>" >> ./build_results.html
else
echo " <td bgcolor = \"red\" >KO</th>" >> ./build_results.html
fi
NB_ERRORS=`egrep -c "error:" $2`
if [ $NB_ERRORS -eq 0 ]
then
echo " <td bgcolor = \"green\" >$NB_ERRORS</th>" >> ./build_results.html
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:"`
if [ $NB_WARNINGS -eq 0 ]
then
echo " <td bgcolor = \"green\" >$NB_WARNINGS</th>" >> ./build_results.html
else
if [ $NB_WARNINGS -gt 20 ]
then
echo " <td bgcolor = \"red\" >$NB_WARNINGS</th>" >> ./build_results.html
else
echo " <td bgcolor = \"orange\" >$NB_WARNINGS</th>" >> ./build_results.html
fi
fi
if [ $NB_ERRORS -ne 0 ] || [ $NB_WARNINGS -ne 0 ]
then
details_table "$1" $2 $4
fi
else
echo " <td bgcolor = \"lightgray\" >Unknown</th>" >> ./build_results.html
echo " <td bgcolor = \"lightgray\" >--</th>" >> ./build_results.html
echo " <td bgcolor = \"lightgray\" >--</th>" >> ./build_results.html
fi
echo " </tr>" >> ./build_results.html
}
function summary_table_footer {
echo " </table>" >> ./build_results.html
}
function sca_summary_table_header {
echo " <h3>$2</h3>" >> ./build_results.html
NB_ERRORS=`egrep -c "severity=\"error\"" $1`
NB_WARNINGS=`egrep -c "severity=\"warning\"" $1`
ADDED_ERRORS="0"
ADDED_WARNINGS="0"
FINAL_LOG=`echo $1 | sed -e "s#cppcheck\.xml#build_final_status.log#"`
if [ `grep -c COMMAND $FINAL_LOG` -eq 1 ]
then
COMMAND=`grep COMMAND $FINAL_LOG | sed -e "s#COMMAND: ##"`
else
COMMAND="Unknown"
fi
if [ $MR_TRIG -eq 1 ]
then
if [ -d ../../cppcheck_archives ]
then
if [ -d ../../cppcheck_archives/$JOB_NAME ]
then
ADDED_ERRORS=`diff $1 ../../cppcheck_archives/$JOB_NAME/cppcheck.xml | egrep --color=never "^<" | egrep -c "severity=\"error"`
ADDED_WARNINGS=`diff $1 ../../cppcheck_archives/$JOB_NAME/cppcheck.xml | egrep --color=never "^<" | egrep -c "severity=\"warning"`
fi
fi
local TOTAL_NUMBER=$[$ADDED_ERRORS+$ADDED_WARNINGS]
if [ -f $JENKINS_WKSP/oai_cppcheck_added_errors.txt ]; then rm -f $JENKINS_WKSP/oai_cppcheck_added_errors.txt; fi
echo "$TOTAL_NUMBER" > $JENKINS_WKSP/oai_cppcheck_added_errors.txt
fi
if [ $NB_ERRORS -eq 0 ] && [ $NB_WARNINGS -eq 0 ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <br><br>" >> ./build_results.html
echo " <strong>CPPCHECK found NO error and NO warning <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html
echo " </div>" >> ./build_results.html
else
if [ $NB_ERRORS -eq 0 ]
then
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <br><br>" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]
then
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
fi
if [ $MR_TRIG -eq 1 ]
then
if [ $ADDED_WARNINGS -eq 0 ]
then
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
else
echo " <strong>CPPCHECK found NO error and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html
fi
fi
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-expand\"></span> $COMMAND <br><br>" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]
then
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
fi
if [ $MR_TRIG -eq 1 ]
then
if [ $ADDED_ERRORS -eq 0 ] && [ $ADDED_WARNINGS -eq 0 ]
then
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./build_results.html
else
echo " <strong>CPPCHECK found $NB_ERRORS errors and $NB_WARNINGS warnings <span class=\"glyphicon glyphicon-ban-circle\"></span>" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <span class=\"glyphicon glyphicon-alert\"></span> This Merge Request may have introduced up to $ADDED_ERRORS errors and $ADDED_WARNINGS warnings. <span class=\"glyphicon glyphicon-alert\"></span></strong>" >> ./build_results.html
fi
fi
echo " </div>" >> ./build_results.html
fi
fi
if [ $PU_TRIG -eq 1 ]
then
if [ -d ../../cppcheck_archives ]
then
if [ -d ../../cppcheck_archives/$JOB_NAME ]
then
cp $1 ../../cppcheck_archives/$JOB_NAME
fi
fi
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-cppcheck-details\">More details on CPPCHECK results</button>" >> ./build_results.html
echo " <div id=\"oai-cppcheck-details\" class=\"collapse\">" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <table border = \"1\">" >> ./build_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Error / Warning Type</th>" >> ./build_results.html
echo " <th>Nb Errors</th>" >> ./build_results.html
echo " <th>Nb Warnings</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo "0" > ccp_error_cnt.txt
}
function sca_summary_table_row {
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" >$2</td>" >> ./build_results.html
if [ -f $1 ]
then
NB_ERRORS=`egrep "severity=\"error\"" $1 | egrep -c "id=\"$3\""`
echo " <td>$NB_ERRORS</td>" >> ./build_results.html
echo " <td>N/A</td>" >> ./build_results.html
if [ -f ccp_error_cnt.txt ]
then
TOTAL_ERRORS=`cat ccp_error_cnt.txt`
TOTAL_ERRORS=$((TOTAL_ERRORS + NB_ERRORS))
echo $TOTAL_ERRORS > ccp_error_cnt.txt
fi
else
echo " <td>Unknown</td>" >> ./build_results.html
echo " <td>Unknown</td>" >> ./build_results.html
fi
echo " </tr>" >> ./build_results.html
}
function sca_summary_table_footer {
if [ -f $1 ]
then
NB_ERRORS=`egrep -c "severity=\"error\"" $1`
NB_WARNINGS=`egrep -c "severity=\"warning\"" $1`
if [ -f ccp_error_cnt.txt ]
then
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" >Others</td>" >> ./build_results.html
TOTAL_ERRORS=`cat ccp_error_cnt.txt`
TOTAL_ERRORS=$((NB_ERRORS - TOTAL_ERRORS))
echo " <td>$TOTAL_ERRORS</td>" >> ./build_results.html
echo " <td>$NB_WARNINGS</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
rm -f ccp_error_cnt.txt
fi
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Total</th>" >> ./build_results.html
echo " <th>$NB_ERRORS</th>" >> ./build_results.html
echo " <th>$NB_WARNINGS</th>" >> ./build_results.html
else
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Total</th>" >> ./build_results.html
echo " <th>Unknown</th>" >> ./build_results.html
echo " <th>Unknown</th>" >> ./build_results.html
if [ -f ccp_error_cnt.txt ]
then
rm -f ccp_error_cnt.txt
fi
fi
echo " </tr>" >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " <p>Full details in zipped artifact (cppcheck/cppcheck.xml) </p>" >> ./build_results.html
echo " <p style=\"margin-left: 30px\">Graphical Interface tool : <strong><code>cppcheck-gui -l cppcheck/cppcheck.xml</code></strong></p>" >> ./build_results.html
if [ $MR_TRIG -eq 1 ]
then
if [ $ADDED_ERRORS -ne 0 ] || [ $ADDED_WARNINGS -ne 0 ]
then
echo " <table border = \"1\">" >> ./build_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./build_results.html
echo " <th>Potential File(s) impacted by added errors/warnings</th>" >> ./build_results.html
echo " <th>Line Number</th>" >> ./build_results.html
echo " <th>Severity</th>" >> ./build_results.html
echo " <th>Message</th>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
SEVERITY="none"
POTENTIAL_FILES=`diff $1 ../../cppcheck_archives/$JOB_NAME/cppcheck.xml | egrep --color=never "^<" | egrep "location file|severity" | sed -e "s# #@#g"`
for POT_FILE in $POTENTIAL_FILES
do
if [ `echo $POT_FILE | grep -c location` -eq 1 ]
then
FILENAME=`echo $POT_FILE | sed -e "s#^.*file=\"##" -e "s#\"@line.*/>##"`
LINE=`echo $POT_FILE | sed -e "s#^.*line=\"##" -e "s#\"/>##"`
if [[ $SEVERITY != *"none" ]]
then
echo " <tr>" >> ./build_results.html
echo " <td>$FILENAME</td>" >> ./build_results.html
echo " <td>$LINE</td>" >> ./build_results.html
echo " <td>$SEVERITY</td>" >> ./build_results.html
echo " <td>$MESSAGE</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
fi
else
SEVERITY=`echo $POT_FILE | sed -e "s#^.*severity=\"##" -e "s#\"@msg=.*##"`
MESSAGE=`echo $POT_FILE | sed -e "s#^.*msg=\"##" -e "s#\"@verbose=.*##" -e "s#@# #g"`
fi
done
echo " </table>" >> ./build_results.html
fi
fi
echo " </div>" >> ./build_results.html
}
function report_build {
echo "############################################################"
echo "OAI CI VM script"
echo "############################################################"
echo "JENKINS_WKSP = $JENKINS_WKSP"
echo "GIT_URL = $GIT_URL"
cd ${JENKINS_WKSP}
echo "<!DOCTYPE html>" > ./build_results.html
echo "<html class=\"no-js\" lang=\"en-US\">" >> ./build_results.html
echo "<head>" >> ./build_results.html
echo " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">" >> ./build_results.html
echo " <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">" >> ./build_results.html
echo " <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>" >> ./build_results.html
echo " <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>" >> ./build_results.html
echo " <title>Build Results for $JOB_NAME job build #$BUILD_ID</title>" >> ./build_results.html
echo " <base href = \"http://www.openairinterface.org/\" />" >> ./build_results.html
echo "</head>" >> ./build_results.html
echo "<body><div class=\"container\">" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <table style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
echo " <tr style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
echo " <td style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
echo " <a href=\"http://www.openairinterface.org/\">" >> ./build_results.html
echo " <img src=\"/wp-content/uploads/2016/03/cropped-oai_final_logo2.png\" alt=\"\" border=\"none\" height=50 width=150>" >> ./build_results.html
echo " </img>" >> ./build_results.html
echo " </a>" >> ./build_results.html
echo " </td>" >> ./build_results.html
echo " <td style=\"border-collapse: collapse; border: none; vertical-align: center;\">" >> ./build_results.html
echo " <b><font size = \"6\">Job Summary -- Job: $JOB_NAME -- Build-ID: $BUILD_ID</font></b>" >> ./build_results.html
echo " </td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " <br>" >> ./build_results.html
echo " <table border = \"1\">" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-time\"></span> Build Start Time (UTC)</td>" >> ./build_results.html
echo " <td>TEMPLATE_BUILD_TIME</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-cloud-upload\"></span> GIT Repository</td>" >> ./build_results.html
echo " <td><a href=\"$GIT_URL\">$GIT_URL</a></td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-wrench\"></span> Job Trigger</td>" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]; then echo " <td>Push Event</td>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <td>Merge-Request</td>" >> ./build_results.html; fi
echo " </tr>" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]
then
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tree-deciduous\"></span> Branch</td>" >> ./build_results.html
echo " <td>$SOURCE_BRANCH</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tag\"></span> Commit ID</td>" >> ./build_results.html
echo " <td>$SOURCE_COMMIT_ID</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
if [ -e .git/CI_COMMIT_MSG ]
then
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-comment\"></span> Commit Message</td>" >> ./build_results.html
MSG=`cat .git/CI_COMMIT_MSG`
echo " <td>$MSG</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
fi
fi
if [ $MR_TRIG -eq 1 ]
then
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-log-out\"></span> Source Branch</td>" >> ./build_results.html
echo " <td>$SOURCE_BRANCH</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tag\"></span> Source Commit ID</td>" >> ./build_results.html
echo " <td>$SOURCE_COMMIT_ID</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
if [ -e .git/CI_COMMIT_MSG ]
then
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-comment\"></span> Source Commit Message</td>" >> ./build_results.html
MSG=`cat .git/CI_COMMIT_MSG`
echo " <td>$MSG</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
fi
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-log-in\"></span> Target Branch</td>" >> ./build_results.html
echo " <td>$TARGET_BRANCH</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
echo " <tr>" >> ./build_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tag\"></span> Target Commit ID</td>" >> ./build_results.html
echo " <td>$TARGET_COMMIT_ID</td>" >> ./build_results.html
echo " </tr>" >> ./build_results.html
fi
echo " </table>" >> ./build_results.html
echo " <h2>Build Summary</h2>" >> ./build_results.html
if [ -f ./oai_rules_result.txt ]
then
echo " <h3>OAI Coding / Formatting Guidelines Check</h3>" >> ./build_results.html
NB_FILES=`cat ./oai_rules_result.txt`
if [ $NB_FILES = "0" ]
then
echo " <div class=\"alert alert-success\">" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]; then echo " <strong>All files in repository follow OAI rules. <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <strong>All modified files in Merge-Request follow OAI rules. <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
else
echo " <div class=\"alert alert-warning\">" >> ./build_results.html
if [ $PU_TRIG -eq 1 ]; then echo " <strong>$NB_FILES files in repository DO NOT follow OAI rules. <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <strong>$NB_FILES modified files in Merge-Request DO NOT follow OAI rules. <span class=\"glyphicon glyphicon-warning-sign\"></span></strong>" >> ./build_results.html; fi
echo " </div>" >> ./build_results.html
fi
if [ -f ./oai_rules_result_list.txt ]
then
echo " <button data-toggle=\"collapse\" data-target=\"#oai-formatting-details\">More details on formatting check</button>" >> ./build_results.html
echo " <div id=\"oai-formatting-details\" class=\"collapse\">" >> ./build_results.html
echo " <p>Please apply the following command to this(ese) file(s): </p>" >> ./build_results.html
echo " <p style=\"margin-left: 30px\"><strong><code>astyle --options=ci-scripts/astyle-options.txt filename(s)</code></strong></p>" >> ./build_results.html
echo " <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>"}' ./oai_rules_result_list.txt >> ./build_results.html
echo " </table>" >> ./build_results.html
echo " </div>" >> ./build_results.html
fi
fi
echo " <h2>Ubuntu 16.04 LTS -- Summary</h2>" >> ./build_results.html
sca_summary_table_header ./archives/cppcheck/cppcheck.xml "OAI Static Code Analysis with CPPCHECK"
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Uninitialized variable" uninitvar
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Uninitialized struct member" uninitStructMember
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Memory leak" memleak
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Memory is freed twice" doubleFree
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Resource leak" resourceLeak
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Possible null pointer dereference" nullPointer
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Array access out of bounds" arrayIndexOutOfBounds
sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Buffer is accessed out of bounds" bufferAccessOutOfBounds
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_row "LTE SoftModem - Release 14" ./archives/enb_usrp/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_row1.html
summary_table_row "Coding - Release 14" ./archives/enb_usrp/coding.Rel14.txt "Built target coding" ./enb_usrp_row2.html
summary_table_row "OAI USRP device if - Release 14" ./archives/enb_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_row3.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/enb_usrp/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_usrp_row4.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_row5.html
summary_table_footer
summary_table_header "OAI Build basic simulator option" ./archives/basic_sim
summary_table_row "LTE SoftModem - Release 14" ./archives/basic_sim/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./basic_sim_row1.html
summary_table_row "LTE UE SoftModem - Release 14" ./archives/basic_sim/lte-uesoftmodem.Rel14.txt "Built target lte-uesoftmodem" ./basic_sim_row2.htm
summary_table_row "Conf 2 UE data - Release 14" ./archives/basic_sim/conf2uedata.Rel14.txt "Built target conf2uedata" ./basic_sim_row3.html
summary_table_row "RB Tool - Release 14" ./archives/basic_sim/rb_tool.Rel14.txt "Built target rb_tool" ./basic_sim_row4.html
summary_table_row "NASMESH - Release 14" ./archives/basic_sim/nasmesh.Rel14.txt "Built target nasmesh" ./basic_sim_row5.html
summary_table_footer
summary_table_header "OAI Build Physical simulators option" ./archives/phy_sim
summary_table_row "DL Simulator - Release 14" ./archives/phy_sim/dlsim.Rel14.txt "Built target dlsim" ./phy_sim_row1.html
summary_table_row "UL Simulator - Release 14" ./archives/phy_sim/ulsim.Rel14.txt "Built target ulsim" ./phy_sim_row2.html
summary_table_row "Coding - Release 14" ./archives/phy_sim/coding.Rel14.txt "Built target coding" ./phy_sim_row3.html
summary_table_footer
if [ -f archives/gnb_usrp/nr-softmodem.Rel14.txt ]
then
summary_table_header "OAI Build gNB -- USRP option" ./archives/gnb_usrp
summary_table_row "LTE SoftModem - Release 14" ./archives/gnb_usrp/nr-softmodem.Rel14.txt "Built target nr-softmodem" ./gnb_usrp_row1.html
summary_table_row "Coding - Release 14" ./archives/gnb_usrp/coding.Rel14.txt "Built target coding" ./gnb_usrp_row2.html
summary_table_row "OAI USRP device if - Release 14" ./archives/gnb_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./gnb_usrp_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/gnb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./gnb_usrp_row4.html
summary_table_footer
fi
if [ -f archives/nrue_usrp/nr-uesoftmodem.Rel14.txt ]
then
summary_table_header "OAI Build 5G NR UE -- USRP option" ./archives/nrue_usrp
summary_table_row "UE SoftModem - Release 14" ./archives/nrue_usrp/nr-uesoftmodem.Rel14.txt "Built target nr-uesoftmodem" ./nrue_usrp_row1.html
summary_table_row "Coding - Release 14" ./archives/nrue_usrp/coding.Rel14.txt "Built target coding" ./nrue_usrp_row2.html
summary_table_row "OAI USRP device if - Release 14" ./archives/nrue_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./nrue_usrp_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/nrue_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./nrue_usrp_row4.html
summary_table_footer
fi
summary_table_header "OAI Build eNB -- ETHERNET transport option" ./archives/enb_eth
summary_table_row "LTE SoftModem - Release 14" ./archives/enb_eth/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_eth_row1.html
summary_table_row "Coding - Release 14" ./archives/enb_eth/coding.Rel14.txt "Built target coding" ./enb_eth_row2.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/enb_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_eth_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_eth_row4.html
summary_table_row "RF Simulator - Release 14" ./archives/enb_eth/rfsimulator.Rel14.txt "Built target rfsimulator" ./enb_eth_row5.html
summary_table_row "TCP OAI Bridge - Release 14" ./archives/enb_eth/tcp_bridge_oai.Rel14.txt "Built target tcp_bridge_oai" ./enb_eth_row6.html
summary_table_footer
summary_table_header "OAI Build UE -- ETHERNET transport option" ./archives/ue_eth
summary_table_row "LTE UE SoftModem - Release 14" ./archives/ue_eth/lte-uesoftmodem.Rel14.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html
summary_table_row "Coding - Release 14" ./archives/ue_eth/coding.Rel14.txt "Built target coding" ./ue_eth_row2.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/ue_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./ue_eth_row3.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/ue_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./ue_eth_row4.html
summary_table_row "RF Simulator - Release 14" ./archives/ue_eth/rfsimulator.Rel14.txt "Built target rfsimulator" ./ue_eth_row5.html
summary_table_row "TCP OAI Bridge - Release 14" ./archives/ue_eth/tcp_bridge_oai.Rel14.txt "Built target tcp_bridge_oai" ./ue_eth_row6.html
summary_table_row "Conf 2 UE Data - Release 14" ./archives/ue_eth/conf2uedata.Rel14.txt "Built target conf2uedata" ./ue_eth_row7.html
summary_table_row "NVRAM - Release 14" ./archives/ue_eth/nvram.Rel14.txt "Built target nvram" ./ue_eth_row8.html
summary_table_row "UE IP - Release 14" ./archives/ue_eth/ue_ip.Rel14.txt "Built target ue_ip" ./ue_eth_row9.html
summary_table_row "USIM - Release 14" ./archives/ue_eth/usim.Rel14.txt "Built target usim" ./ue_eth_row9a.html
summary_table_footer
if [ -e ./archives/red_hat ]
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_row "LTE SoftModem - Release 14" ./archives/red_hat/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html
summary_table_row "Coding - Release 14" ./archives/red_hat/coding.Rel14.txt "Built target coding" ./enb_usrp_rh_row2.html
summary_table_row "OAI USRP device if - Release 14" ./archives/red_hat/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html
summary_table_row "OAI ETHERNET transport - Release 14" ./archives/red_hat/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_usrp_rh_row4.html
summary_table_row "Parameters Lib Config - Release 14" ./archives/red_hat/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_rh_row5.html
summary_table_footer
fi
echo " <h3>Details</h3>" >> ./build_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-compilation-details\">Details for Compilation Errors and Warnings </button>" >> ./build_results.html
echo " <div id=\"oai-compilation-details\" class=\"collapse\">" >> ./build_results.html
if [ -f ./enb_usrp_row1.html ] || [ -f ./enb_usrp_row2.html ] || [ -f ./enb_usrp_row3.html ] || [ -f ./enb_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./enb_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./basic_sim_row1.html ] || [ -f ./basic_sim_row2.html ] || [ -f ./basic_sim_row3.html ] || [ -f ./basic_sim_row4.html ] || [ -f ./basic_sim_row5.html ]
then
for DETAILS_TABLE in `ls ./basic_sim_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./phy_sim_row1.html ] || [ -f ./phy_sim_row2.html ] || [ -f ./phy_sim_row3.html ]
then
for DETAILS_TABLE in `ls ./phy_sim_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./gnb_usrp_row1.html ] || [ -f ./gnb_usrp_row2.html ] || [ -f ./gnb_usrp_row3.html ] || [ -f ./gnb_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./gnb_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./nrue_usrp_row1.html ] || [ -f ./nrue_usrp_row2.html ] || [ -f ./nrue_usrp_row3.html ] || [ -f ./nrue_usrp_row4.html ]
then
for DETAILS_TABLE in `ls ./nrue_usrp_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./enb_eth_row1.html ] || [ -f ./enb_eth_row2.html ] || [ -f ./enb_eth_row3.html ] || [ -f ./enb_eth_row4.html ] || [ -f ./enb_eth_row5.html ] || [ -f ./enb_eth_row6.html ]
then
for DETAILS_TABLE in `ls ./enb_eth_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./ue_eth_row1.html ] || [ -f ./ue_eth_row2.html ] || [ -f ./ue_eth_row3.html ] || [ -f ./ue_eth_row4.html ] || [ -f ./ue_eth_row5.html ] || [ -f ./ue_eth_row6.html ]
then
for DETAILS_TABLE in `ls ./ue_eth_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
if [ -f ./enb_usrp_rh_row1.html ] || [ -f ./enb_usrp_rh_row2.html ] || [ -f ./enb_usrp_rh_row3.html ] || [ -f ./enb_usrp_rh_row4.html ]
then
for DETAILS_TABLE in `ls ./enb_usrp_rh_row*.html`
do
cat $DETAILS_TABLE >> ./build_results.html
done
fi
rm -f ./*_row*.html
echo " </div>" >> ./build_results.html
echo " <p></p>" >> ./build_results.html
echo " <div class=\"well well-lg\">End of Build Report -- Copyright <span class=\"glyphicon glyphicon-copyright-mark\"></span> 2018 <a href=\"http://www.openairinterface.org/\">OpenAirInterface</a>. All Rights Reserved.</div>" >> ./build_results.html
echo "</div></body>" >> ./build_results.html
echo "</html>" >> ./build_results.html
}

621
ci-scripts/reportTestLocally.sh Executable file
View File

@@ -0,0 +1,621 @@
#!/bin/bash
#/*
# * 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
# */
function report_test_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool report-test [OPTIONS]"
echo ""
command_options_usage
}
function analyzePingFiles {
for PING_CASE in $PING_LOGS
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
else
NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
then
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
fi
echo " <td>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
echo "Packet Loss : $STATS" >> ./test_simulator_results.html
RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
done
}
function analyzeIperfFiles {
for IPERF_CASE in $IPERF_TESTS
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
echo " <td>$CMD</td>" >> ./test_simulator_results.html
REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
if [[ $REQ_BITRATE =~ .*K.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
fi
if [[ $REQ_BITRATE =~ .*M.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
fi
if [[ $REQ_BITRATE =~ .*G.* ]]
then
REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
fi
FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
if [ $FILE_COMPLETE -eq 0 ]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
else
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
fi
if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
fi
if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
then
EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
fi
PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
if [[ $PERF_INT -lt 70 ]]
then
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
fi
EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
fi
echo " <td>" >> ./test_simulator_results.html
echo " <pre>" >> ./test_simulator_results.html
echo "Bitrate : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
echo "Jitter : $JITTER" >> ./test_simulator_results.html
echo "Packet Loss : $PACKETLOSS" >> ./test_simulator_results.html
echo " </pre>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
}
function report_test {
echo "############################################################"
echo "OAI CI VM script"
echo "############################################################"
echo "JENKINS_WKSP = $JENKINS_WKSP"
cd ${JENKINS_WKSP}
echo "<!DOCTYPE html>" > ./test_simulator_results.html
echo "<html class=\"no-js\" lang=\"en-US\">" >> ./test_simulator_results.html
echo "<head>" >> ./test_simulator_results.html
echo " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">" >> ./test_simulator_results.html
echo " <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">" >> ./test_simulator_results.html
echo " <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>" >> ./test_simulator_results.html
echo " <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>" >> ./test_simulator_results.html
echo " <title>Simulator Results for $JOB_NAME job build #$BUILD_ID</title>" >> ./test_simulator_results.html
echo " <base href = \"http://www.openairinterface.org/\" />" >> ./test_simulator_results.html
echo "</head>" >> ./test_simulator_results.html
echo "<body><div class=\"container\">" >> ./test_simulator_results.html
echo " <br>" >> ./test_simulator_results.html
echo " <table style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
echo " <tr style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
echo " <td style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
echo " <a href=\"http://www.openairinterface.org/\">" >> ./test_simulator_results.html
echo " <img src=\"/wp-content/uploads/2016/03/cropped-oai_final_logo2.png\" alt=\"\" border=\"none\" height=50 width=150>" >> ./test_simulator_results.html
echo " </img>" >> ./test_simulator_results.html
echo " </a>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
echo " <td style=\"border-collapse: collapse; border: none; vertical-align: center;\">" >> ./test_simulator_results.html
echo " <b><font size = \"6\">Job Summary -- Job: $JOB_NAME -- Build-ID: $BUILD_ID</font></b>" >> ./test_simulator_results.html
echo " </td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
echo " </table>" >> ./test_simulator_results.html
echo " <br>" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-time\"></span> Build Start Time (UTC)</td>" >> ./test_simulator_results.html
echo " <td>TEMPLATE_BUILD_TIME</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-cloud-upload\"></span> GIT Repository</td>" >> ./test_simulator_results.html
echo " <td><a href=\"$GIT_URL\">$GIT_URL</a></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-wrench\"></span> Job Trigger</td>" >> ./test_simulator_results.html
if [ $PU_TRIG -eq 1 ]; then echo " <td>Push Event</td>" >> ./test_simulator_results.html; fi
if [ $MR_TRIG -eq 1 ]; then echo " <td>Merge-Request</td>" >> ./test_simulator_results.html; fi
echo " </tr>" >> ./test_simulator_results.html
if [ $PU_TRIG -eq 1 ]
then
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tree-deciduous\"></span> Branch</td>" >> ./test_simulator_results.html
echo " <td>$SOURCE_BRANCH</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tag\"></span> Commit ID</td>" >> ./test_simulator_results.html
echo " <td>$SOURCE_COMMIT_ID</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
if [ -e .git/CI_COMMIT_MSG ]
then
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-comment\"></span> Commit Message</td>" >> ./test_simulator_results.html
MSG=`cat .git/CI_COMMIT_MSG`
echo " <td>$MSG</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
fi
if [ $MR_TRIG -eq 1 ]
then
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-log-out\"></span> Source Branch</td>" >> ./test_simulator_results.html
echo " <td>$SOURCE_BRANCH</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tag\"></span> Source Commit ID</td>" >> ./test_simulator_results.html
echo " <td>$SOURCE_COMMIT_ID</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
if [ -e .git/CI_COMMIT_MSG ]
then
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-comment\"></span> Commit Message</td>" >> ./test_simulator_results.html
MSG=`cat .git/CI_COMMIT_MSG`
echo " <td>$MSG</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-log-in\"></span> Target Branch</td>" >> ./test_simulator_results.html
echo " <td>$TARGET_BRANCH</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
echo " <tr>" >> ./test_simulator_results.html
echo " <td bgcolor = \"lightcyan\" > <span class=\"glyphicon glyphicon-tag\"></span> Target Commit ID</td>" >> ./test_simulator_results.html
echo " <td>$TARGET_COMMIT_ID</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
echo " </table>" >> ./test_simulator_results.html
echo " <h2>Test Summary</h2>" >> ./test_simulator_results.html
ARCHIVES_LOC=archives/basic_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>Basic Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
if [ `grep -c TEST_OK $ARCHIVES_LOC/test_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>TEST was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>COULD NOT DETERMINE TEST FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-basic-sim-test-details\">More details on Basic Simulator test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-basic-sim-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Log File Name</th>" >> ./test_simulator_results.html
echo " <th>Command</th>" >> ./test_simulator_results.html
echo " <th>Status</th>" >> ./test_simulator_results.html
echo " <th>Statistics</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
TRANS_MODES=("fdd" "tdd")
BW_CASES=(05 10 20)
for TMODE in ${TRANS_MODES[@]}
do
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
if [[ $TMODE =~ .*fdd.* ]]
then
echo " <td align = \"center\" colspan = 4 >Test in FDD</td>" >> ./test_simulator_results.html
else
echo " <td align = \"center\" colspan = 4 >Test in TDD</td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
for BW in ${BW_CASES[@]}
do
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_enb.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
then
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
fi
echo " <td><pre>" >> ./test_simulator_results.html
if [ $NB_ENB_GOT_SYNC -eq 1 ]
then
echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_GOT_SYNC -eq 2 ]
then
echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
then
echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
fi
NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
if [ $NB_SEGFAULT_ENB -ne 0 ]
then
echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
fi
NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
if [ $NB_SEGFAULT_UE -ne 0 ]
then
echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
fi
NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
if [ $NB_ASSERTION_ENB -ne 0 ]
then
echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
awk 'BEGIN{assertion=10}{if(assertion < 3){print " " $0; assertion++};if ($0 ~/Assertion/){print " " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
fi
NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
if [ $NB_ASSERTION_UE -ne 0 ]
then
echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
awk 'BEGIN{assertion=10}{if(assertion < 3){print " " $0; assertion++};if ($0 ~/Assertion/){print " " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt 2> /dev/null`
analyzePingFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt 2> /dev/null`
analyzeIperfFiles
done
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
if [ -e $JENKINS_WKSP/flexran/flexran_build_complete.txt ]
then
echo " <h3>Basic Simulator + FlexRan Controller Check</h3>" >> ./test_simulator_results.html
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-flexran-test-details\">More details on Basic Simulator + Fleran Controller test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-flexran-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Log File Name</th>" >> ./test_simulator_results.html
echo " <th>JSON Query Response</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
FLEXRAN_QUERIES=`ls $ARCHIVES_LOC/flexran_ctl_query_*log`
for QUERY in $FLEXRAN_QUERIES
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $QUERY | sed -e "s#$ARCHIVES_LOC/##"`
echo " <td>$NAME</td>" >> ./test_simulator_results.html
echo " <td><pre><code>" >> ./test_simulator_results.html
egrep -v "LOG_NAME|\-\-\-\-\-" $QUERY >> ./test_simulator_results.html
echo " </code></pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
ARCHIVES_LOC=archives/l2_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>L2-NFAPI Simulator Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
if [ `grep -c TEST_OK $ARCHIVES_LOC/test_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>TEST was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>COULD NOT DETERMINE TEST FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
echo " <button data-toggle=\"collapse\" data-target=\"#oai-l2-sim-test-details\">More details on L2-NFAPI Simulator test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-l2-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)
NB_USERS=(01 04)
for CN_CONFIG in ${EPC_CONFIGS[@]}
do
for TMODE in ${TRANS_MODES[@]}
do
for BW in ${BW_CASES[@]}
do
for UES in ${NB_USERS[@]}
do
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
if [[ $CN_CONFIG =~ .*wS1.* ]]
then
echo " <td align = \"center\" colspan = 4 >Test with EPC (aka withS1): ${TMODE} -- ${BW}MHz -- ${UES} user(s)</td>" >> ./test_simulator_results.html
else
echo " <td align = \"center\" colspan = 4 >Test without EPC (aka noS1): ${TMODE} -- ${BW}MHz -- ${UES} user(s)</td>" >> ./test_simulator_results.html
fi
echo " </tr>" >> ./test_simulator_results.html
ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_enb.log
UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
then
NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
echo " <td>N/A</td>" >> ./test_simulator_results.html
NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
NB_ENB_SYNCED_WITH_UE=`egrep -c "Sending NFAPI_START_RESPONSE" $UE_LOG`
if [ $NB_ENB_GOT_SYNC -gt 0 ] && [ $NB_UE_GOT_SYNC -gt 2 ] && [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
then
echo " <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
fi
echo " <td><pre>" >> ./test_simulator_results.html
if [ $NB_ENB_GOT_SYNC -gt 0 ]
then
echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_UE_GOT_SYNC -gt 2 ]
then
echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
fi
if [ $NB_ENB_SYNCED_WITH_UE -gt 0 ]
then
echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
else
echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
fi
echo " </pre></td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
fi
PING_LOGS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_ping*.log 2> /dev/null`
analyzePingFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_iperf_dl*client*txt 2> /dev/null`
analyzeIperfFiles
IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}MHz_${UES}users_${CN_CONFIG}_iperf_ul*client*txt 2> /dev/null`
analyzeIperfFiles
done
done
done
done
echo " </table>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
ARCHIVES_LOC=archives/phy_sim/test
if [ -d $ARCHIVES_LOC ]
then
echo " <h3>Physical Simulators Check</h3>" >> ./test_simulator_results.html
if [ -f $ARCHIVES_LOC/test_final_status.log ]
then
if [ `grep -c TEST_OK $ARCHIVES_LOC/test_final_status.log` -eq 1 ]
then
echo " <div class=\"alert alert-success\">" >> ./test_simulator_results.html
echo " <strong>TEST was SUCCESSFUL <span class=\"glyphicon glyphicon-ok-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>TEST was a FAILURE! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
else
echo " <div class=\"alert alert-danger\">" >> ./test_simulator_results.html
echo " <strong>COULD NOT DETERMINE TEST FINAL STATUS! <span class=\"glyphicon glyphicon-ban-circle\"></span></strong>" >> ./test_simulator_results.html
echo " </div>" >> ./test_simulator_results.html
fi
echo " <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>Nb Tests</th>" >> ./test_simulator_results.html
echo " <th>Nb Errors</th>" >> ./test_simulator_results.html
echo " <th>Nb Failures</th>" >> ./test_simulator_results.html
echo " <th>Nb Failures</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
XML_TESTS=`ls $ARCHIVES_LOC/*xml`
for XML_FILE in $XML_TESTS
do
echo " <tr>" >> ./test_simulator_results.html
NAME=`echo $XML_FILE | sed -e "s#$ARCHIVES_LOC/##"`
NB_TESTS=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*tests='##" -e "s#' *time=.*##"`
NB_ERRORS=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*errors='##" -e "s#' *failures=.*##"`
NB_FAILURES=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*failures='##" -e "s#' *hostname=.*##"`
NB_SKIPPED=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*skipped='##" -e "s#' *tests=.*##"`
if [ $NB_ERRORS -eq 0 ] && [ $NB_FAILURES -eq 0 ]
then
echo " <td bgcolor = \"green\" >$NAME</td>" >> ./test_simulator_results.html
else
echo " <td bgcolor = \"red\" >$NAME</td>" >> ./test_simulator_results.html
fi
echo " <td>$NB_TESTS</td>" >> ./test_simulator_results.html
echo " <td>$NB_ERRORS</td>" >> ./test_simulator_results.html
echo " <td>$NB_FAILURES</td>" >> ./test_simulator_results.html
echo " <td>$NB_SKIPPED</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
echo " </table>" >> ./test_simulator_results.html
echo " <br>" >> ./test_simulator_results.html
echo " <button data-toggle=\"collapse\" data-target=\"#oai-phy-sim-test-details\">More details on Physical Simulators test results</button>" >> ./test_simulator_results.html
echo " <div id=\"oai-phy-sim-test-details\" class=\"collapse\">" >> ./test_simulator_results.html
echo " <h4>Details</h4>" >> ./test_simulator_results.html
for XML_FILE in $XML_TESTS
do
echo " <table border = \"1\">" >> ./test_simulator_results.html
echo " <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
echo " <th>Test Name</th>" >> ./test_simulator_results.html
echo " <th>Description</th>" >> ./test_simulator_results.html
echo " <th>Result</th>" >> ./test_simulator_results.html
echo " <th>Time</th>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
PREV_SECTION=0
PREV_TIME_IN_SECS=0
TESTCASES_LIST=`sed -e "s# #@#g" $XML_FILE | grep testcase`
for TESTCASE in $TESTCASES_LIST
do
NAME=`echo $TESTCASE | sed -e "s#^.*name='##" -e "s#'@description=.*##" | sed -e "s#@# #g"`
SECTION=`echo $NAME | sed -e "s#\..*##"`
if [ $SECTION != $PREV_SECTION ]
then
echo " <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
echo " <td align = \"center\" colspan = 4 >\"$SECTION\" series</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
PREV_SECTION=$SECTION
PREV_TIME_IN_SECS=0
fi
DESC=`echo $TESTCASE | sed -e "s#^.*description='##" -e "s#'@Run_result=.*##" | sed -e "s#@# #g"`
RESULT=`echo $TESTCASE | sed -e "s#^.*RESULT='##" -e "s#'.*##" | sed -e "s#@# #g"`
TIME_IN_SECS=`echo $TESTCASE | sed -e "s#^.*time='##" -e "s#'@RESULT=.*##" | sed -e "s#@# #g" -e "s# s.*##"`
TIME=`echo "$TIME_IN_SECS - $PREV_TIME_IN_SECS" | bc -l | awk '{printf "%.2f s", $0}'`
PREV_TIME_IN_SECS=$TIME_IN_SECS
echo " <tr>" >> ./test_simulator_results.html
echo " <td>$NAME</td>" >> ./test_simulator_results.html
echo " <td>$DESC</td>" >> ./test_simulator_results.html
if [[ $RESULT =~ .*PASS.* ]]
then
echo " <td bgcolor = \"green\" >$RESULT</td>" >> ./test_simulator_results.html
else
SPLITTED_LINE=`echo -e $TESTCASE | sed -e "s#@#\n#g"`
NB_RUNS=`echo -e "${SPLITTED_LINE}" | grep -v Run_result | egrep -c "Run_"`
NB_FAILS=`echo -e "${SPLITTED_LINE}" | grep -v Run_result | egrep -c "=FAIL"`
echo " <td bgcolor = \"red\" >${RESULT} (${NB_FAILS}/${NB_RUNS})</td>" >> ./test_simulator_results.html
fi
echo " <td>$TIME</td>" >> ./test_simulator_results.html
echo " </tr>" >> ./test_simulator_results.html
done
echo " </table>" >> ./test_simulator_results.html
done
fi
echo " </div>" >> ./test_simulator_results.html
echo " <p></p>" >> ./test_simulator_results.html
echo " <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>" >> ./test_simulator_results.html
echo "</div></body>" >> ./test_simulator_results.html
echo "</html>" >> ./test_simulator_results.html
}

1968
ci-scripts/runTestOnVM.sh Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,34 @@
#/*
# * 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
# */
BEGIN{max=0;min=10000}
{
if ($0 ~/Mbits/) {
split($0,a,"MBytes")
split(a[2],b)
if (b[1]>max) {
max=b[1]
}
if (b[1]<min) {
min=b[1]
}
}
}
END{print "Avg Bitrate : " b[1] " Mbits/sec Max Bitrate : " max " Mbits/sec Min Bitrate : " min " Mbits/sec"}

View File

@@ -0,0 +1,27 @@
<domain type='kvm'>
<os>
<type>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<cpu mode='host-passthrough'>
</cpu>
<devices>
<interface type='network'>
<source network='default'/>
<model type='virtio'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/3'/>
<target port='0'/>
</serial>
<graphics type='vnc' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
</graphics>
<video/>
</devices>
</domain>

65
ci-scripts/template.xsl Normal file
View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
<!-- main body -->
<xsl:template match="/">
<html>
<body>
<h3>TEMPLATE Results Summary</h3>
<table border="1">
<tr bgcolor="lightcyan">
<!--Header only so select first row to get headers-->
<th>Hostname</th>
<th>Nb Tests</th>
<th>Failures</th>
<th>Timestamp</th>
</tr>
<!--Get all the other rows-->
<xsl:for-each select="testsuites/testsuite">
<tr>
<td>
<xsl:value-of select="@hostname"/>
</td>
<td>
<xsl:value-of select="@tests"/>
</td>
<td>
<xsl:value-of select="@failures"/>
</td>
<td>
<xsl:value-of select="@timestamp"/>
</td>
</tr>
</xsl:for-each>
</table>
<h4>Details</h4>
<table border="1">
<tr bgcolor="lightcyan">
<!--Header only so select first row to get headers-->
<th>Test Name</th>
<th>Result</th>
<th>Time</th>
<th>Description</th>
</tr>
<!--Get all the other rows-->
<xsl:for-each select="testsuites/testsuite/testcase">
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<td>
<xsl:value-of select="@RESULT"/>
</td>
<td>
<xsl:value-of select="@time"/>
</td>
<td>
<xsl:value-of select="@description"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

184
ci-scripts/waitBuildOnVM.sh Executable file
View File

@@ -0,0 +1,184 @@
#!/bin/bash
#/*
# * 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
# */
function wait_usage {
echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo " -- $VM_OSREL image already synced"
echo " Default:"
echo " -- eNB with USRP"
echo ""
echo "Usage:"
echo "------"
echo " oai-ci-vm-tool wait [OPTIONS]"
echo ""
command_options_usage
}
function wait_on_vm_build {
echo "############################################################"
echo "OAI CI VM script"
echo "############################################################"
echo "VM_NAME = $VM_NAME"
echo "VM_CMD_FILE = $VM_CMDS"
echo "JENKINS_WKSP = $JENKINS_WKSP"
echo "ARCHIVES_LOC = $ARCHIVES_LOC"
echo "BUILD_OPTIONS = $BUILD_OPTIONS"
IS_VM_ALIVE=`uvt-kvm list | grep -c $VM_NAME`
if [ $IS_VM_ALIVE -eq 0 ]
then
echo "############################################################"
echo "You should have created the VM before doing anything"
echo "############################################################"
STATUS=1
return
fi
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
echo "############################################################"
echo "Waiting build process to end on VM ($VM_NAME)"
echo "############################################################"
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
echo "echo \"ps -aux | grep cppcheck \"" >> $VM_CMDS
echo "while [ \$(ps -aux | grep --color=never cppcheck | grep -v grep | wc -l) -gt 0 ]; do sleep 3; done" >> $VM_CMDS
else
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
ssh -T -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
rm -f $VM_CMDS
}
function check_on_vm_build {
echo "############################################################"
echo "Creating a tmp folder to store results and artifacts"
echo "############################################################"
if [ ! -d $JENKINS_WKSP/archives ]
then
mkdir $JENKINS_WKSP/archives
fi
if [ ! -d $ARCHIVES_LOC ]
then
mkdir $ARCHIVES_LOC
fi
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.txt $ARCHIVES_LOC
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.xml $ARCHIVES_LOC
fi
if [ $KEEP_VM_ALIVE -eq 0 ]
then
if [[ "$VM_NAME" == *"-enb-ethernet"* ]] || [[ "$VM_NAME" == *"-ue-ethernet"* ]]
then
echo "Hack to not destroy in current pipeline"
else
echo "############################################################"
echo "Destroying VM"
echo "############################################################"
uvt-kvm destroy $VM_NAME
ssh-keygen -R $VM_IP_ADDR
fi
fi
rm -f $VM_CMDS
echo "############################################################"
echo "Checking build status"
echo "############################################################"
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
LOG_FILES=`ls $ARCHIVES_LOC/*.txt $ARCHIVES_LOC/*.xml`
else
LOG_FILES=`ls $ARCHIVES_LOC/*.txt`
fi
STATUS=0
NB_FOUND_FILES=0
for FULLFILE in $LOG_FILES
do
if [[ $FULLFILE == *"$LOG_PATTERN"* ]]
then
filename=$(basename -- "$FULLFILE")
if [ "$LOG_PATTERN" == ".Rel14.txt" ]
then
PASS_PATTERN=`echo $filename | sed -e "s#$LOG_PATTERN##"`
fi
if [ "$LOG_PATTERN" == "basic_simulator" ]
then
PASS_PATTERN="lte-"
fi
if [ "$LOG_PATTERN" == "cppcheck.xml" ]
then
PASS_PATTERN="results version"
LOCAL_STAT=`egrep -c "$PASS_PATTERN" $FULLFILE`
else
LOCAL_STAT=`egrep -c "Built target $PASS_PATTERN" $FULLFILE`
fi
if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
NB_FOUND_FILES=$((NB_FOUND_FILES + 1))
fi
done
if [ $NB_PATTERN_FILES -ne $NB_FOUND_FILES ]
then
echo "Expecting $NB_PATTERN_FILES log files and found $NB_FOUND_FILES"
STATUS=-1
fi
# If we were building the FlexRan Controller, flag-touch for basic-simulator to continue
if [[ "$VM_NAME" == *"-flexran-rtc"* ]]
then
if [[ $STATUS -eq 0 ]]
then
touch $JENKINS_WKSP/flexran/flexran_build_complete.txt
fi
fi
if [[ "$VM_NAME" == *"-cppcheck"* ]]
then
echo "COMMAND: cppcheck $BUILD_OPTIONS . 2> cppcheck.xml" > $ARCHIVES_LOC/build_final_status.log
else
echo "COMMAND: build_oai -I $BUILD_OPTIONS" > $ARCHIVES_LOC/build_final_status.log
fi
if [[ $STATUS -eq 0 ]]
then
echo "BUILD_OK" >> $ARCHIVES_LOC/build_final_status.log
else
echo "BUILD_KO" >> $ARCHIVES_LOC/build_final_status.log
fi
}

View File

@@ -0,0 +1,48 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,47 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-start</htmlTabRef>
<htmlTabName>EPC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
050101 060101 070101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050101">
<class>Initialize_HSS</class>
<desc>Initialize HSS</desc>
</testCase>
<testCase id="060101">
<class>Initialize_MME</class>
<desc>Initialize MME</desc>
</testCase>
<testCase id="070101">
<class>Initialize_SPGW</class>
<desc>Initialize SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,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>2</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</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090101">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1</Initialize_OAI_UE_args>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)(from eNB to OAI UE)</desc>
<ping_args>-I oaitun_enb1 -c 20 10.0.1.2</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040502">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)(from OAI UE to eNB)</desc>
<ping_args>-I oaitun_ue1 -c 20 10.0.1.1</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.2 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040602">
<class>Iperf</class>
<desc>iperf (5MHz - DL/14Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.2 -u -b 14M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.1 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040642">
<class>Iperf</class>
<desc>iperf (5MHz - UL/8Mbps/UDP)(30 sec)</desc>
<iperf_args>-c 10.0.1.1 -u -b 8M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,105 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-05-tm1-tunnel</htmlTabRef>
<htmlTabName>Test-05MHz-TM1-tunnel</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201 090109
030102 000001 090102 000002 040503 000001 040603 040604 040643 040644 000001 090109 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030102">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="090102">
<class>Initialize_OAI_UE</class>
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1</Initialize_OAI_UE_args>
</testCase>
<testCase id="090109">
<class>Terminate_OAI_UE</class>
<desc>Terminate OAI UE</desc>
</testCase>
<testCase id="040503">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040604">
<class>Iperf</class>
<desc>iperf (5MHz - DL/14Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 14M -t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040643">
<class>Iperf</class>
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040644">
<class>Iperf</class>
<desc>iperf (5MHz - UL/8Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 8M -t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

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

View File

@@ -0,0 +1,47 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,79 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-10-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040102
030121 000001 040302 000001 040502 000001 040402 040202 000001 030201
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Waiting for a moment...</desc>
<idle_sleep_time_in_sec>15</idle_sleep_time_in_sec>
</testCase>
<testCase id="030121">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band13/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="040102">
<class>Initialize_CatM_module</class>
<desc>Initialize CAT-M Module</desc>
</testCase>
<testCase id="040202">
<class>Terminate_CatM_module</class>
<desc>Terminate CAT-M Module</desc>
</testCase>
<testCase id="040302">
<class>Attach_CatM_module</class>
<desc>Attach CAT-M Module</desc>
</testCase>
<testCase id="040402">
<class>Detach_CatM_module</class>
<desc>Detach CAT-M Module</desc>
</testCase>
<testCase id="040502">
<class>Ping_CatM_module</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
</testCaseList>

View File

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

View File

@@ -0,0 +1,47 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

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

View File

@@ -0,0 +1,152 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
030105 040301 040502 040606 040601 040603 040608 040605 040646 040641 040643 040648 040645 040401 040201 030201
-->
<testCaseList>
<htmlTabRef>test-05-tm2</htmlTabRef>
<htmlTabName>Test-05MHz-TM2</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201
040101
030105 040301 040502 040606 040608 040646 040648 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030105">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm2.25PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate eNB</desc>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040502">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040606">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040608">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040605">
<class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040646">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040643">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040648">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040645">
<class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -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-10-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030114 040301 040511 040612 040611 040613 040614 040615 040652 040651 040653 040654 040655 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030114">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/10MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<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="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040611">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040612">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040613">
<class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040614">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040615">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040651">
<class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040652">
<class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040653">
<class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040654">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040655">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -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</htmlTabRef>
<htmlTabName>Test-20MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030124 040301 040521 040622 040621 040623 040624 040625 040662 040661 040663 040664 040665 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030124">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/20MHz/info)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
</testCase>
<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="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040621">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040622">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040623">
<class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040624">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040625">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
<testCase id="040661">
<class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040662">
<class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040663">
<class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040664">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040665">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,65 @@
<!--
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>tracer-test</htmlTabRef>
<htmlTabName>T-Tracer</htmlTabName>
<htmlTabIcon>duplicate</htmlTabIcon>
<TestCaseRequestedList>
040101
030100 040300 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030100">
<class>Initialize_eNB</class>
<desc>Initialize eNB (TDD/Band40/5MHz) with T Tracer on</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf --T_stdout 0</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="040300">
<class>Attach_UE</class>
<desc>Attach single UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
</testCaseList>

View File

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

View File

@@ -0,0 +1,47 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,268 @@
<!--
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>
<TestCaseRequestedList>
030201
040101
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
030102 000010 040301 040502 000011 040302 000001 000012 040303 000002 000013 040503 040401 040201 030201
050102
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>
</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="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040502">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040503">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040504">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040505">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040603">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase 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,144 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-10-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030111 040301 040511 040613 040614 040615 040616 040617 040651 040652 040653 040654 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030111">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf --eNBs.[0].component_carriers.[0].drx_Config_present prRelease</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="040511">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040613">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040614">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040615">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040616">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040617">
<class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040651">
<class>Iperf</class>
<desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040652">
<class>Iperf</class>
<desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040653">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040654">
<class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,90 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-10-cdrx-tm1</htmlTabRef>
<htmlTabName>Test-10MHz-CDRX-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
030201
040101
030112 040302 040512 040612 040650 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030112">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/10MHz) with CDRX</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf --eNBs.[0].component_carriers.[0].drx_Config_present prSetup</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="040302">
<class>Attach_UE</class>
<desc>Attach UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040512">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040612">
<class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040650">
<class>Iperf</class>
<desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,144 @@
<!--
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</htmlTabRef>
<htmlTabName>Test-20MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030121 040301 040521 040623 040624 040625 040662 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList>040626 040627 040661 040663 040664</TestCaseExclusionList>
<testCase id="030121">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/20MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.100PRB.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="040521">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040623">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040624">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040625">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile>
</testCase>
<testCase id="040626">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040627">
<class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040661">
<class>Iperf</class>
<desc>iperf (20MHz - UL/12Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 12M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
<testCase id="040662">
<class>Iperf</class>
<desc>iperf (20MHz - UL/17Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 17M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040663">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040664">
<class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,65 @@
<!--
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>tracer-test</htmlTabRef>
<htmlTabName>T-Tracer</htmlTabName>
<htmlTabIcon>duplicate</htmlTabIcon>
<TestCaseRequestedList>
040101
030100 040300 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030100">
<class>Initialize_eNB</class>
<desc>Initialize eNB (FDD/Band7/5MHz) with T Tracer on</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --T_stdout 0</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="040300">
<class>Attach_UE</class>
<desc>Attach single UE</desc>
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,65 @@
<!--
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>
<TestCaseRequestedList>030101 040101 040301 040501 040401 040201 030201</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>
<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="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,111 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-f1-05</htmlTabRef>
<htmlTabName>Test-F1-CU-DU-05MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<TestCaseRequestedList>
030201
040101
030142 030141 000002 040301 000002 040541 040601 040641 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030141">
<class>Initialize_eNB</class>
<desc>Initialize DU (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/du.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030142">
<class>Initialize_eNB</class>
<desc>Initialize CU (FDD/Band7/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/cu.band7.tm1.25PRB.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate CU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate DU</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040541">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040601">
<class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040641">
<class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,111 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-f1-10</htmlTabRef>
<htmlTabName>Test-F1-CU-DU-10MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
030201
040101
030152 030151 000002 040301 000002 040551 040611 040651 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030151">
<class>Initialize_eNB</class>
<desc>Initialize DU (FDD/Band7/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/du.band7.tm1.50PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030152">
<class>Initialize_eNB</class>
<desc>Initialize CU (FDD/Band7/10MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/cu.band7.tm1.50PRB.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate CU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate DU</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040551">
<class>Ping</class>
<desc>ping (10MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040611">
<class>Iperf</class>
<desc>iperf (10MHz - DL/32Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 32M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040651">
<class>Iperf</class>
<desc>iperf (10MHz - UL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,111 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-f1-20</htmlTabRef>
<htmlTabName>Test-F1-CU-DU-20MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
030201
040101
030162 030161 000002 040301 000002 040561 040621 040661 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="030161">
<class>Initialize_eNB</class>
<desc>Initialize DU (FDD/Band7/20MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/du.band7.tm1.100PRB.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030162">
<class>Initialize_eNB</class>
<desc>Initialize CU (FDD/Band7/20MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/cu.band7.tm1.100PRB.conf</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate CU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate DU</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040561">
<class>Ping</class>
<desc>ping (20MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="040621">
<class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040661">
<class>Iperf</class>
<desc>iperf (20MHz - UL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>60</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

View File

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

View File

@@ -0,0 +1,48 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="050201">
<class>Terminate_HSS</class>
<desc>Terminate HSS</desc>
</testCase>
<testCase id="060201">
<class>Terminate_MME</class>
<desc>Terminate MME</desc>
</testCase>
<testCase id="070201">
<class>Terminate_SPGW</class>
<desc>Terminate SPGW</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,104 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>test-05</htmlTabRef>
<htmlTabName>Test-05MHz</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030104 030105 040301 040501 040602 040642 040401 040201 030201 030202
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="030104">
<class>Initialize_eNB</class>
<desc>Initialize RRU (TDD/Band40)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --RUs.[0].max_rxgain 125</Initialize_eNB_args>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="030105">
<class>Initialize_eNB</class>
<desc>Initialize RCC (TDD/Band40/5MHz)</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030201">
<class>Terminate_eNB</class>
<desc>Terminate RCC</desc>
<eNB_instance>1</eNB_instance>
</testCase>
<testCase id="030202">
<class>Terminate_eNB</class>
<desc>Terminate RRU</desc>
<eNB_instance>0</eNB_instance>
</testCase>
<testCase id="040101">
<class>Initialize_UE</class>
<desc>Initialize UE</desc>
</testCase>
<testCase id="040201">
<class>Terminate_UE</class>
<desc>Terminate UE</desc>
</testCase>
<testCase id="040301">
<class>Attach_UE</class>
<desc>Attach UE</desc>
</testCase>
<testCase id="040401">
<class>Detach_UE</class>
<desc>Detach UE</desc>
</testCase>
<testCase id="040501">
<class>Ping</class>
<desc>ping (5MHz - 20 sec)</desc>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>25</ping_packetloss_threshold>
</testCase>
<testCase id="040602">
<class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="040642">
<class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
</testCaseList>

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