Commit Graph
2713 Commits
Author SHA1 Message Date
Thomas Schlichter 3152df445e Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-16 13:37:07 +01:00
Raymond Knopp 94085a41cd Merge remote-tracking branch 'origin/develop' into oairu 2021-03-16 08:07:16 +01:00
luis_pereira87 5ab73a228f Merge remote-tracking branch 'origin/NR_SA_F1AP_RFSIMULATOR_w5GCN' into develop-SA-CBRA-CUDU
# Conflicts:
#	executables/nr-softmodem.c
#	executables/nr-uesoftmodem.c
#	openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/main.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
#	openair2/RRC/NR_UE/rrc_UE.c
2021-03-15 12:44:16 +00:00
Laurent THOMAS d659ceb849 merge develop
Merge branch 'develop' of gitlab.eurecom.fr:oai/openairinterface5g into sim-channels
2021-03-15 09:44:33 +01:00
hardy de32d6d555 Merge remote-tracking branch 'origin/rohan_ulsim2RxFix' into integration_2021_wk11 2021-03-15 09:31:57 +01:00
Remi Hardy fe49a22572 Integration 2021 wk10
MR !1054 : gNB_multi-threading_rework
-Replacing the existing multi-threading pipeline with threadPool library, simpler and more robust
-Updated dlsim to print stats to matlab file.
-Small fix for UE Ulsch coding.


MR !1063 : T_tracer__add_gnb_tracer
Minimalist gnb tracer to trace (for the moment) rxdataF when some decoding for PUCCH or PUSCH has been done

MR !1070 : nr_pdcp_improvements
Implement data transfer (38.331 5.2): - transmit operation (in nr_pdcp_entity_recv_sdu) - receive operation (in nr_pdcp_entity_recv_pdu) - t-Reordering expiration

MR !1076 : PBCHNRTCFIX
Issue Details: If bchPayload is changed to non-zero value, then the test case used to fail.
Solution: While final check against UE decoded bchpayload and input bchpayload, the AND operation with 0xff is missing along with RIGHT SHIFT operation for input bchpayload.


MR !973 : s1_subnormal
LTE update in S1 functions from Fujitsu.
-NNSF
-S1AP auto recovery.
-Handling unexpected messages.
-Fix memory leak.


MR !1048 : develop_SA_RA
-Draft and initial trigger of RA procedures upon SIB1 reception. 
-Improvements on SA SIB1 reception.
-Get Msg3 from RRC to MAC layer (this fixes random Msg3). 
-Fix Tables 7.4.1.1.2-1/2 from 38.211.
2021-03-15 07:16:26 +01:00
Florian Kaltenberger fc4e1a4f1e adding Benetel RRUs to build script. 2021-03-14 23:17:11 +01:00
Michael Cook bd0359c3bd Enable assert for RelWithDebInfo builds
assert() statements were enabled for C code but disabled for C++
code.  With this commit, assert() is enabled for both C and C++
for RelWithDebInfo builds.
2021-03-14 09:13:50 -07:00
Michael Cook 092caec8ca Merge branch 'episys-merge' into episys/trial-merge-to-master 2021-03-14 10:58:46 -04:00
Raymond Knopp f5fcd5687d small changes in main-ocp to reflect initialization differences int phy_init_lte_eNB(). 2021-03-14 09:28:06 +01:00
David Kim c68de3ba8c Merge remote-tracking branch 'eurocom/episys-merge' into episys-merge 2021-03-12 19:24:29 -08:00
Melissa Elkadi 10519da95f Merge remote-tracking branch 'eurecom/develop' into eurecom-episys-merge 2021-03-12 15:30:38 -08:00
rohan eaed521bec Update test_case_list.xml with test14 tag for nr_ulsim 2021-03-12 13:07:21 +01:00
rohan 6d195d7399 Updated nr_ulsim to support 2 RX Antenna.
(Test14: MCS 16 50 PRBs 2 RX_Antenna)
2021-03-12 11:15:05 +01:00
Remi Hardy c775073aad Merge remote-tracking branch 'origin/nr-pdcp-improvements' into integration_2021_wk10 2021-03-12 11:07:44 +01:00
Raphael Defosseux 3f6df6b9ad CI: try to optimize the file system usage when building in the CI VM env. Increased the VM memory of one to allow linking
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-03-11 16:13:13 +01:00
He Shanyun 8965dd782b Merge remote-tracking branch 'remotes/origin/develop_SA_CUDU_rfsim_with_5gc' into integration_w5GC
Conflicts:
	cmake_targets/CMakeLists.txt
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
2021-03-11 14:39:36 +09:00
Xue Song 834d6f1055 Merge branch 'master' into NR_SA_F1AP_RFSIMULATOR3_Lo
Conflicts:
	cmake_targets/CMakeLists.txt
	executables/nr-softmodem.c
	executables/nr-uesoftmodem.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_entity_drb_am.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
2021-03-05 19:07:43 +09:00
Laurent THOMAS 3b1b74cfd2 starting 2021-03-04 13:22:14 +01:00
Cedric Roux 9edc8cce0a nr pdcp: improvements
Implement data transfer (38.331 5.2):
    - transmit operation (in nr_pdcp_entity_recv_sdu)
    - receive operation (in nr_pdcp_entity_recv_pdu)
    - t-Reordering expiration

To keep track of time the function nr_pdcp_wakeup_timer_thread has been
added and is called by the gNB's MAC scheduler via nr_pdcp_tick.

(The UE has not been modified.)

A thread has been introduced to set time of all the existing PDCP
entities in the system. This probably does not scale well with many
PDCP entities (many UEs connected to the gNB). To be changed at some
point when needed. Hopefully, with a few UEs this mechanism won't be
too problematic (ie. won't cause realtime problems).

The problem with time in PDCP is that SDUs are kept if some are
missing, to do reordering. A timer is started and when it expires
we have to transmit the SDUs even if some are still missing. We
want to do that as soon as possible. So we have to check timers
often (every millisecond).

In RLC the time is set when there is some activity (SDU or PDU
received). In PDCP we cannot wait for this kind of activity. We
would keep packets longer than necessary, which may disturb
upper layers (think: TCP). That is why we introduced the thread,
as a simple mechanism to keep packets no longer than necessary.

The locking done by this thread may create realtime issues.

The whole logic of time keeping can be changed later if it turns
out that it is not efficient.

The functions dealing with DRB AM have been removed. All the types
of PDCP entities (DRB AM, DRB UM, SRB) use the same mechanism for
transmit and receive operations. So the code has been made common
for all those types.

We don't deal with:
    - entity re-establishment, entity release or entity suspend
    - SDU discard (the timer is present but not used)
    - status reporting
    - data recovery
    - data volume calculation
    - header compression / decompression

There is no plan to implement those features in a near future.

Integrity protection is not done yet, and will be implemented soon.
2021-03-03 14:06:31 +01:00
rmagueta 5f66269a8b Merge remote-tracking branch 'origin/develop' into develop-SA-RA
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2021-03-02 12:01:11 +00:00
Michael Cook 27c40d563f build_oai: Add --sanitize-address option
To enable -fsanitize=address option to the compiler
which enables run-time checks for some kinds of memory
mismanagement.
2021-03-01 09:10:50 -08:00
Michael Cook 8988d8ef8c Revert change that enabled -fsanituze=address 2021-03-01 08:26:59 -08:00
Michael Cook 706f0e4421 pdcp_fifo_flush_sdus: Fix message size calculation
-fsanitize=address detected that we were trying to access bytes
past the end of a block of malloc'ed memory.

Specifically, in this code:

```
    } else if (ENB_NAS_USE_TUN) {
      if( LOG_DEBUGFLAG(DEBUG_PDCP) )
        log_dump(PDCP, pdcpData, sizeToWrite, LOG_DUMP_CHAR,"PDCP
      output to be sent to TUN interface: \n");
      ret = write(nas_sock_fd[0], pdcpData, sizeToWrite);
```

-fsanitize=address said:

```
==80==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x61100004ffdc at pc 0x7f57c5f576a5 bp 0x7f57bb53c240 sp
0x7f57bb53b9e8
READ of size 108 at 0x61100004ffdc thread T7

0x61100004ffdc is located 0 bytes to the right of 220-byte region
[0x61100004ff00,0x61100004ffdc)
```

So, the code was trying to access the first byte after a block of
heap memory.

sizeToWrite was calculated like this:

```
    int sizeToWrite= sizeof (pdcp_data_ind_header_t) +
      pdcpHead->data_size;
```

There were a few other similar invocations of write() in the same
function used the wrong size.  That sizeToWrite calculation
should be used only when the header is being sent, too, which
happens in only one place in this function.

With this commit, our tests pass and -fsanitize=address is happy.
2021-02-28 07:39:33 -08:00
Melissa Elkadi 8b2b78e477 Fixed remote_addr.sin_port
For some reason the htons invocation got deleted which broke
the VNF P7 interface.

Also fixed some build issues, not sure how these got onto the
develop branch to begin with.
2021-02-26 15:57:35 -08:00
Raymond Knopp 11c3a26414 Merge remote-tracking branch 'origin/develop' into oairu
Conflicts:
	openair2/RRC/LTE/rrc_eNB.c
2021-02-24 21:52:14 +01:00
Melissa Elkadi 98c8ddb673 Merge remote-tracking branch 'origin/develop' into episys-merge
Removing references to memcpy_dl_config_req and
memcpy_tx_req because these functions are leaking
memory. For our standalone mode we have created
new/modified memcpy_dl/tx_req functions.
2021-02-24 11:49:17 -08:00
rmagueta 910154c7af Merge branch 'develop' into develop-SA-RA
# Conflicts:
#	cmake_targets/CMakeLists.txt
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
2021-02-23 13:04:01 +00:00
Raymond Knopp a6e16e7c8a Merge remote-tracking branch 'origin/develop' into oairu 2021-02-23 11:51:29 +01:00
hardy accae67113 Merge remote-tracking branch 'origin/nr-pdcp-nea2-security' into integration_2021_wk08 2021-02-23 09:31:05 +01:00
hardy 90d6a57a3c Merge remote-tracking branch 'origin/NR_UL_SCFDMA_100MHz' into integration_2021_wk08 2021-02-23 09:30:22 +01:00
Xue Song bd765c7505 C-plane for rfsim with Free5GC + CU/DU separation is OK 2021-02-16 14:14:55 +09:00
Cedric Roux 10e021e96d NSA: first draft of nea2 security for gNB
The code is forced to use nea2, no matter what the UE supports.

After 2^18 PDCP packets, it will fail to work (we don't use HFN yet).

These limitations will be fixed in later commits.

The existing security function was not reused, because it does too
much memory allocation and initializes the security context at each
ciphering. So here comes nr_pdcp_security_nea2_cipher(). And also
the ciphering is done inplace. To be changed if necessary.
2021-02-15 15:25:47 +01:00
Raymond Knopp d77f9ad096 build oairu ok 2021-02-15 08:13:15 +01:00
Raymond Knopp a135f261b2 adjust includes for oairu target. Now test X-Ysoftmodem on another machine 2021-02-14 17:59:28 +01:00
Raymond Knopp a446eb0ebc Merge branch 'episys/master' into episys-merge
Conflicts:
	common/utils/LOG/log.h
	common/utils/ocp_itti/intertask_interface.cpp
	nfapi/oai_integration/nfapi_vnf.c
	nfapi/open-nFAPI/nfapi/src/nfapi.c
	openair2/LAYER2/MAC/main_ue.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
	openair2/PHY_INTERFACE/phy_stub_UE.c
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	openair3/NAS/UE/ESM/esm_ebr_context.c
	targets/COMMON/openairinterface5g_limits.h
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-uesoftmodem.c
2021-02-13 22:52:33 +01:00
Raymond Knopp a30eabbe21 OTA testing 4G, configuration parameters for fairRR scheduler and common parameters for both fairRR and default 2021-02-11 13:43:25 +01:00
Thomas Schlichter 13086925c9 Add tests for 80 and 100 MHz SC-FDMA to nr_ulsim autotests for CI 2021-02-10 11:21:40 +01:00
Xue Song e1a92eadba Merge branch 'master' into develop_SA_rfsim_for_F1
Conflicts:
	openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
	openair2/RRC/NR/rrc_gNB.c
	openair2/RRC/NR/rrc_gNB_NGAP.c
	openair2/RRC/NR_UE/rrc_UE.c
	openair3/NGAP/ngap_gNB.c
	openair3/NGAP/ngap_gNB_nas_procedures.c
2021-02-10 15:56:50 +09:00
Thomas Schlichter 14e84f8782 Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-02-09 10:02:54 +01:00
Mahesh 2d58536c52 Phy simulators build error fixed 2021-02-09 02:11:54 +05:30
rmagueta 5b7ae1228f Fix develop merge conflicts 2021-02-08 19:18:00 +00:00
Mahesh 0e6f1e6ad6 Merge conflicts resolved 2021-02-08 18:05:29 +05:30
Laurent Thomas fa63d9a4e6 merge develop 2021-02-08 11:56:42 +01:00
Raymond Knopp 846c67b9bd Merge remote-tracking branch 'origin/develop' into oairu
Conflicts:
	openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
2021-02-07 18:23:46 +01:00
Raymond Knopp d06018d1e3 Merge branch 'four_antenna_eNB' into oairu 2021-02-07 17:46:23 +01:00
hardy 663dd1251c Merge remote-tracking branch 'origin/NR_RA_cleanup' into integration_2021_wk05 2021-02-05 12:00:38 +01:00
Xue Song 52edf0c123 Merge branch 'master' into develop_SA_rfsim_for_F1
Conflicts:
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
	openair2/F1AP/f1ap_cu_interface_management.c
	openair2/F1AP/f1ap_cu_rrc_message_transfer.c
	openair2/F1AP/f1ap_cu_task.c
	openair2/F1AP/f1ap_du_interface_management.c
	openair2/F1AP/f1ap_du_task.c
	openair2/GNB_APP/gnb_app.c
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
	openair2/RRC/NR/L2_nr_interface.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/rrc_gNB.c
	openair2/RRC/NR/rrc_gNB_NGAP.c
	openair2/RRC/NR_UE/L2_interface_ue.c
	openair2/RRC/NR_UE/rrc_UE.c
	openair3/NGAP/ngap_gNB.c
2021-02-04 18:16:37 +09:00
Xue Song 6a3b7b40a5 Merge branch 'master' into develop_SA_L3
Conflicts:
	openair2/GNB_APP/gnb_config.c
	openair2/RRC/NR/rrc_gNB.c
	openair2/RRC/NR/rrc_gNB_NGAP.c
	openair2/RRC/NR_UE/rrc_UE.c
2021-02-03 14:58:07 +09:00
Raymond Knopp 4e9afb30b0 Merge remote-tracking branch 'origin/develop' into oairu 2021-02-02 12:09:56 +01:00