Commit Graph
15775 Commits
Author SHA1 Message Date
David Kim 58894c58cf resolving conflict 2021-03-18 11:43:10 -07:00
David Kim 7c6e4ed01d adding nfapi_new update 2021-03-18 11:22:06 -07:00
David Kim aaf50cbb80 revert to previous openair3/S1AP/s1ap_eNB_handlers.c version due to compile error 2021-03-17 23:31:40 -07:00
David Kim b90c0680ec adding x2c setting with epc 2021-03-17 21:08:41 -07:00
Melissa Elkadi 9f3a2a1a85 Demoted a few error logs 2021-03-17 09:24:19 -07:00
Melissa Elkadi c08743907a Updated the eNB conf file for EPC 2021-03-16 07:43:56 -07:00
David Kim 2948a2445e Merge branch 'episys/master' into episys/david/episys-merge-2nd-x2c 2021-03-15 11:05:35 -07:00
Michael Cook 8120c7978c Merge branch 'episys-merge-future' into episys/master 2021-03-14 09:17:34 -07: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 176a52f581 pnf.c: Disable some printfs 2021-03-14 08:44:42 -07:00
Michael Cook 39fbe322aa Fix #include 2021-03-14 10:59:05 -04:00
Michael Cook 092caec8ca Merge branch 'episys-merge' into episys/trial-merge-to-master 2021-03-14 10:58:46 -04:00
David Kim 94c9866b7e adding nfapi_nr_develop_new changes 2021-03-13 13:09:34 -08:00
Michael Cook c5ff3376ef Size asserts for harq_pdu_list, sr_pdu_list, cqi_pdu_list 2021-03-13 11:56:55 -08:00
Michael Cook 6d2590906c Assert NFAPI_CRC_IND_MAX_PDU 2021-03-13 10:58:33 -08:00
Michael Cook df81c0de14 Add asserts for size of rx_indication_body.rx_pdu_list 2021-03-13 10:26:33 -08:00
Michael Cook b726053982 find_ulsch: Skip past null uslch[i]
With a small number of runs with 16 UEs, I've seen this
AssertFatal fail twice.

There are many other places in the code that simply skip over
ulsch[i] values that are NULL.
2021-03-13 10:24:00 -08: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
David Kim 765f516a9f Merge remote-tracking branch 'eurocom/episys-merge' into episys-merge 2021-03-12 15:17:27 -08: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
Melissa Elkadi e5b0c26549 Changed sf_ahead based on NFAPI_MODE 2021-03-10 16:20:55 -08:00
Melissa Elkadi 34b53ea9b4 Merge branch 'episys-merge' of https://gitlab.eurecom.fr/oai/openairinterface5g into eurecom-episys-merge 2021-03-10 08:59:22 -08:00
Raphael Defosseux ea3f924632 Merge branch 'ci-reduce-nb-vms' into 'develop'
CI: removing 1 VM in the pipeline

See merge request oai/openairinterface5g!1078
2021-03-07 18:09:03 +01:00
Melissa Elkadi e50de8be02 Demoting logs and removing duplicate #define
Commented out an abort(); used for debugging.
An incoming merge request will properly handle
the issue of multiple CQIs.
2021-03-06 12:22:52 -08:00
Raphael Defosseux 11755fc473 CI: remove --mu option
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-03-06 10:50:49 +01:00
Raphael Defosseux 7c6213ba47 CI: increase timeout for wait stages and fix wait on v1
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-03-05 14:47:26 +01:00
Raphael Defosseux 2f23751a88 CI: try some sleeps
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-03-05 13:57:57 +01:00
Raphael Defosseux 7cb8acf6ca CI: removing 1 VM in the pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-03-05 10:50:53 +01:00
Melissa Elkadi e3168a7d8c Merge remote-tracking branch 'eurecom/develop' into eurecom-episys-merge 2021-03-03 16:12:04 -08:00
Melissa 47f006d9e0 Update README.md 2021-03-03 17:07:49 +01:00
Melissa Elkadi 9fe1167f29 Remove cppcheck-suppressions that were prev added
These cppcheck errors are occuring in code
that is untouched by this merge request.
2021-03-02 13:10:09 -08:00
Florian Kaltenberger fdc818bc06 Update TESTING_GNB_W_COTS_UE.md 2021-03-02 21:39:19 +01:00
Melissa Elkadi d3891eb108 Merge remote-tracking branch 'eurecom/episys-merge' into origin-episys-merge 2021-03-01 15:22:36 -08:00
Melissa Elkadi 15905c746d Fixing cppcheck issues 2021-03-01 15:13:50 -08:00
Remi Hardy a494950b0b Integration 2021 wk09
MR1029 : Benetel driver update  
This MR fixes an issue with the driver for the 4G Benetel RRUs.
Power levels on the 5G side were adapted to avoid saturation of the signals. 
5G performance is now the same as with USRP. 
Support for 2 antennas for both 4G and 5G was added

MR1062 : fixing the RE offset for each Rx antenna in pusch channel estimation
2021-03-01 21:08:19 +01: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 034d2cfed6 lte-ue.c: Allocate bigger arrays
This code allocates memory from the heap:

```
static void *UE_phy_stub_standalone_pnf_task(void *arg)
{
...
  UL_INFO->crc_ind.crc_indication_body.crc_pdu_list =
  calloc(NB_UE_INST, sizeof(nfapi_crc_indication_pdu_t));
```

I see NB_UE_INST==1.

Then this code:

```
void fill_crc_indication_UE_MAC(int Mod_id,
                                int frame,
                                int subframe,
                                UL_IND_t *UL_INFO,
                                uint8_t crc_flag,
                                int index,
                                uint16_t rnti,
                                nfapi_ul_config_request_t
                                *ul_config_req) {
...
  nfapi_crc_indication_pdu_t *pdu =
      &UL_INFO->crc_ind.crc_indication_body
           .crc_pdu_list[UL_INFO->crc_ind.crc_indication_body.number_of_crcs];
```

used .number_of_crcs to index into .crc_pdu_list without first
checking if .number_of_crcs is in range.

When run with multiple UEs, sometimes .number_of_crcs==1 and then
-fsanitize=address complains.

Change is to use NUMBER_OF_UE_MAX instead of NB_UE_INST.

With this change, -fsanitize=address stopping complaining.
2021-02-28 09:45:31 -08:00
Michael Cook 11270af81e eNB_scheduler_ulsch.c: Range checking on array access
-fsanitize=address complained about this code.
2021-02-28 09:29:29 -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
Michael Cook b6766ee8ae decode_SIB1: Was reading past the end of plmn_data
Found by -fsanitize=address
2021-02-27 09:29:09 -08:00
Michael Cook d8a7414e48 eNB_scheduler_mch.c: Memory corruption
The global mbms_rab_id was defined as `uint16_t` in
eNB_scheduler_mch.c but `int` in other places.  So, code that
wrotes this global would clobber the two bytes that follow the
variable in memory.

Found by `-fsanitize=address`.
2021-02-27 09:16:27 -08:00
Michael Cook 414d3794fd netlink_init.c: Memory leak
Found by `-fsanitize=address`.
2021-02-27 09:15:38 -08:00
Michael Cook 2520d111da Fix shutdown crashes
In phy_free_lte_eNB in lte_init.c, the lte-uesoftmodem would
crash during shutdown because it was dereferencing null pointers.
This commit adds checks to avoid that.
2021-02-27 07:20:43 -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
hardy d143cec5ba Merge remote-tracking branch 'origin/sarma_pvnp_oai' into integration_2021_wk09_b 2021-02-26 16:09:17 +01:00
hardy 8d05695722 Merge remote-tracking branch 'origin/benetel_driver_update' into integration_2021_wk09_b 2021-02-26 16:09:05 +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
Remi Hardy 17d4c5c2f4 Integration 2021 wk08
MR1046 : Add support for NR UL SC-FDMA up to 100 MHz

MR1053Nr : pdcp nea2 security

MR1049 : improve rfsim
-Fix a regression 
Earlier parameter reading was moved to an external thread,  
Eventually the check at the end of the main was too early, 
Declaration of  some extra parameters are now on command line
-Enhancement: 
use the rfsim as a server on UE side, so we can connect two xNB to one UE
-Simplification: 
remove rfsim flags that have been made for convergence with replay function in usrp driver, but this is useless as they changed their code
-Fix a bug in ubuntu 20.04 (now the code is ready in whole OAI)


MR1056 : Bugfix: NR BSR calculation
Fixes a bug in the scheduler for BSR calculation. 
Before, we might wrongly track the BSR of a UE and not schedule it anymore although it has data. 
Should be fixed now and improve UL throughput. 

MR963 : Nr mac multi rach global edge
-Handling of Multiple Users triggering RACH request in different RACH Occasions in same slot
-Providing Random Access Response according to RACH request
2021-02-24 18:47:54 +01:00