200 Commits
Author SHA1 Message Date
Laurent THOMAS 0f970326c2 Remove unused UESIM_EXPANSION compile option 2025-01-23 14:10:50 +01:00
Bartosz Podrygajlo 01066a3f0d Fix some sizeof and switch-case errors reported by CodeChecker
CodeChecker is a python application that collects reports from static analyzers like
clang-tidy, clangsa, cppcheck.
2024-10-07 09:35:24 +02:00
Robert Schmidt 39e7839f19 Cleanup netlink_init.c and pdcp_fifo.c
- Remove globals, declare where they are used
- Cleanup pdcp_fifo.c
- Remove unnecessary headers from netlink_init.c
- Reformat netlink_init.c
2024-08-02 15:31:04 +02:00
Robert Schmidt 6b21dea1ee Remove legacy 4G kernel modules
I don't know about any user of the kernel modules. It is effectively
legacy code we carry around, for no good reason. Remove it for the
moment. If we ever need it, we can revert.
2024-08-01 18:22:46 +02:00
Robert Schmidt cf950dfa86 Remove netlink/PDCP_USE_NETLINK: it's not used
Remove netlink code, and the PDCP_USE_NETLINK macro, as there is no
known use, it makes the code more complicated, and is simply "technical
debt".

In 4G PDCP, a subtle change has been introduced, in pdcp_module_init()
of pdcp.c. Looking at the diff of this commit, it can be seen that there
is now a new "else-if (ENB_NAS_USE_TUN_W_MBMS_BIT)" branch that is under
what was the "if (PDCP_USE_NETLINK)" branch, while the code fragment was
actually inside the "else" branch of PDCP_USE_NETLINK. This seems to be
necessary: previously, if we did not use noS1 mode and we don't use any
TUN (i.e., the eNB), the else block would set up this interface. It is
important that this interface is brought up, because if we omit it,
RFsim will not work. It seems to me that this interface will regularly
create some traffic; without it, RFsim will be blocked, and the UE
cannot connect.

In short, it seems to be important to have the MBMS interface, which
injects traffic in the RFsim side, which will unblock RFsim. The change
in pdcp_module_init() preserves the total changes of the if-else
(PDCP_USE_NETLINK).
2024-08-01 18:22:45 +02:00
Robert Schmidt 6791974004 Remove unused OCG (OpenAir Config Generator) 2023-03-11 15:50:50 +01:00
laurent b74ba0fb92 cleaning only 2023-01-19 14:52:39 +01:00
laurent 75a18c33cd change name of single var that may be corenetwork ue id or RAN rnti 2022-12-14 15:46:53 +01:00
Sakthivel Velumani ec21db63eb GTP PDCP change rnti to ue id 2022-12-13 12:42:32 +01:00
Robert Schmidt 72a4ed80da Merge remote-tracking branch 'origin/msc-removal' into integration_2022_wk08 2022-02-19 19:43:11 +01:00
Robert Schmidt 00e058537d Remove MSC library, it is not used anywhere 2022-01-27 10:53:07 +01:00
Laurent THOMAS 3e7c22e7c6 gtp-u old code delete 2022-01-26 11:27:02 +01:00
Melissa Elkadi 4eb0aceab6 Merge remote-tracking branch 'eurecom/develop' into episys/master-nsa 2021-10-27 15:05:05 -07:00
frtabu c3c02bbd91 Use same port number for source and destination number in new gtp implementation. 2021-10-20 17:09:46 +02:00
Melissa Elkadi 82ba5a3531 Code clean up part one.
This commit includes about 1/3 of the code clean up
in preparation for the merge to the OAI develop
branch. Several of the changes are white space changes,
removing of logs, comment removals, and updating any
changed code for our use-case to be clear for NSA mode.
2021-09-23 12:53:38 -07:00
Melissa Elkadi 9b16c1d860 Merge branch 'eurecom-develop' into episys/merge_nsa_w_develop
At this point we are successfully able to build.
Additionally, we can run the scenario,
however, it does not pass. It seems that the gNB
is not connecting to the proxy correctly. Just
wanted to push the progress so far. FYI, the items
that had to be changed to correct the linking issues
were the following:

 - mac_rrc_data_ind_ue vs. nr_mac_rrc_data_ind_ue
 - rrc_data_req vs. nr_rrc_data_req
 - mac_rrc_data_req_ue vs. nr_mac_rrc_data_req_ue
 - rrc_data_req_ue vs. rrc_data_req_nr_ue
 - rrc_data_req vs. nr_rrc_data_req

The listed functions should be declard in the LTE/NR
UE directory depending on the functionality. Several
were mixed. i.e.: LTE functions being called in NR UE.

Also, removing siWindowLength, siWindowLength_int,
SIBType, SIBPeriod, and siPeriod_int from the NR UE RRC.
These variable were not used in the NR UE and are defined
for LTE only.

Lastly, in the NR_IF_Module.c of the NR UE, the global
variable def_dci_pdu_rel15 is not accessible. Need to
revisit this. For not it is commented out.
2021-08-11 10:23:42 -07:00
Xenofon Foukas db4769bc35 Fixes to L2NFAPI_NOS1 dataplane traffic forwarding
This commit fixes a bug that makes the dataplane traffic of all the
emulated UEs to go through the interface of the first UE (oaitun_ue1).

The fix uses the last octet of the IP assigned to each UE to map it to its
UE_id, which is then used to get its RNTI and the correct PDCP queue.
For the emulator to work properly, the routing tables of the emulated UEs
must also be set. This patch introduces a script (setup_routes.sh) in
cmake_targets/tools that configures the routing tables. This script
must be run at the UE host machine once the UEs have successfully attached,
passing the number of emulated UEs as the argument. For example, in the
case of 16 emulated UEs, one must run "./setup_routes.sh 16".
2021-05-24 16:33:12 +01:00
Melissa Elkadi e1a77b2d82 Add NSA mode to working dl_tti messages from gNB
This commit is not currently building, but I wanted
to be able to save the changes that I have added.
2021-04-30 13:36:18 -07:00
hardy c4745c3e46 Merge remote-tracking branch 'origin/new-gtpu' into integration_2020_wk15
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/TOOLS/time_meas.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
	openair2/LAYER2/RLC/rlc.h
2021-04-14 14:56:04 +02:00
Laurent OpenCells 4511e70fac fix from ci results 2021-04-05 12:56:52 +02:00
Laurent THOMAS 738728142f merge develop 2021-03-29 15:33:45 +02:00
Laurent THOMAS 818c9b2c88 first pass 2021-03-25 20:13:50 +01:00
Michael Cook 092caec8ca Merge branch 'episys-merge' into episys/trial-merge-to-master 2021-03-14 10:58:46 -04: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 bc524ea192 Minor fixes and new definitions for build success 2021-02-15 09:00:22 -08: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
Melissa 3a5912a00a Updated non-blocking PDCP socket
More accurately, we changed the do/while infinite
loop to be an infinite for loop for the read command of
the socket. The socket file descriptor choice is more clear now.
2021-02-12 08:59:00 -08:00
Melissa 9fa09f530f Updated non-blocking PDCP socket
More accurately, we changed the do/while infinite
loop to be an infinite for loop for the read command of
the socket. The socket file descriptor choice is more clear now.
2021-02-09 14:09:39 -08:00
Laurent Thomas 6b37681854 merge develop, minor code addition 2021-02-01 09:02:57 +01:00
laurent 4b345f1589 tested with one UE, better intergration with legacy gtpu 2021-01-27 15:09:00 +01:00
Deokseong "David" Kim b220ed29c4 Updating PDCP module for proxy
Adding ue id parameter to pdcp_init
Updating tun interface functions for proxy
2021-01-12 14:45:52 -08:00
Melissa Elkadi 42ae8207ee NFAPI_MODE logic to include standalone mode
Every if statement that includes a check for
the NFAPI_MODE that did not check for the new
PNF_STANDALONE_MODE now has been updated. Also
changed the tx_req and dl_config_req logs
when they are received at the OAI UE to be
info logs instead of error logs.
2021-01-12 06:54:16 -08:00
Laurent 42a110338c itti dynamic queue creation, and 64 bits instance id 2020-12-23 13:56:01 +01:00
Laurent 7d603191db merge develop 2020-10-29 16:29:32 +01:00
Robert Schmidt 4c7035e6e3 Remove UESIM_EXPANSION
This completely removes the UESIM_EXPANSION define: it does not compile
at the moment. Its function was to multiplex multiple UEs on the same
TUN interface. However, this functionality is not needed since it is
possible to allocate many TUN devices (i.e., >= 32).
2020-10-13 09:07:46 +02:00
Laurent 4772f7f6e4 for push to OSA git 2020-10-04 19:35:41 +02:00
laurent 5cb8e9e14d Reduce difference with OSA develop branch for merge 2020-10-02 11:26:46 +02:00
Laurent 19c6229049 merge develop, compile ok 2020-09-22 16:24:49 +02:00
Laurent a3367e58ea Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into main5G 2020-08-29 09:35:47 +02:00
laurent e52948a0a5 merge develop 2020-07-29 18:21:25 +02:00
Javier Morgade a8e2a8d4b0 Merge remote-tracking branch 'origin/develop' into fembms-enb-ue 2020-07-29 10:54:38 +02:00
Javier Morgade 3aaa152e4e fembms: new FeMBMS/eMBMS MCH eNB/UE scheduler implemented
- MBMS scheduler re-worked to enable dedicated MBMS serving cells
	- added support for multiple eMBMS MCH sessions
	- added support for multiple FeMBMS MCH sessions

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-21 18:16:46 +02:00
Robert Schmidt 6eb00a0895 Enable multi-module support in pdcp_fifo_flush_sdus() 2020-07-20 09:33:35 +02:00
laurent 4d6e647aaa fixes pushed also in develop 2020-07-06 14:07:46 +02:00
laurent ada39bb238 scope round 2, merge develop branch 2020-06-24 17:04:46 +02:00
laurent aad868d8fa 5G scope cleaning round 2 2020-06-24 09:48:35 +02:00
laurent e4b2689e29 continue scope rebuild 2020-06-19 20:35:32 +02:00
laurent 2eb799c3b6 fix pdcp race condition 2020-06-18 15:52:54 +02:00
laurent 36fab59e1c fix pdcp race condition 2020-06-18 15:41:10 +02:00
Robert Schmidt 0de3c73475 Place MBMS tun fd into single int 2020-03-10 17:38:24 +01:00