118 Commits
Author SHA1 Message Date
Robert Schmidt 2e804f53c0 Remove useless LINK_ENB_PDCP_TO_IP_DRIVER option 2024-08-02 15:31:04 +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 e50978e7de 4G RLC/PDCP interface: remove function pointers
Remove function pointers that were used in the past to implement the
F1(-U) interface in 4G, i.e., to have different functions to handle
split/monolithic operations. As we don't have F1 in 4G anymore (see
commit 9dc2282249), we don't need the
function pointers anymore.

On that occasion, rename the 5G functions by prepending nr_ to them;
this allows to refactor the interface in 5G further (which is not the
focus of this changeset).
2024-07-30 20:00:40 +02:00
Cedric Roux d7931ea412 bugfix: speedup integrity computation
The main work of this commit is to rewrite cipher_aes_128_cbc_cmac()
which was too slow and created issues when running the 4G eNB on some
machines (LLL when using a b210).

Instead of creating the security context, use it, and delete it, all in
cipher_aes_128_cbc_cmac(), we introduce the function init_aes_128_cbc_cmac()
to create it, and we change cipher_aes_128_cbc_cmac() to just use it,
and we also adapt free_aes_128_cbc_cmac(). The function aes_128_cbc_cmac()
is removed, it does not follow the new init/use/free API.

Doing so, on the primary test machine used to do this work (a powerful
and fast machine where it is possible to set the CPUs' frequencies)
it was possible to limit the CPUs' frequencies to 500 MHz (it was not
possible to go lower) without any LLL (using a b210, quectel UE in
idle, no data traffic, only periodic measurement reports). Before this
commit, it was necessary to set a frequency of at least 1.8 GHz
otherwise some LLL would appear.

Then we need to adapt the rest of the code to take into account those
changes.

A notion of security container (stream_security_container_t) containing
ciphering and integrity contexts is introduced.

And the code is harmonized for, hopefully, better readability.

The (opaque) type stream_security_context_t is introduced, used by
both integrity and ciphering contexts. The idea is to use a
init()/use()/free() API for all the security procedures, identical for
all the ciphering and integrity procedures.
2024-04-26 23:31:06 +02:00
Laurent THOMAS 63b64d4fce move common code file in common directory
remove several unused files
remove mem_block_t that is never used in a different way than a simple heap buffer
move up IP address type and remove duplications of the same struct declaration
2023-12-19 10:37:10 +01:00
Laurent THOMAS bba9aac079 fix most of doxygen warnings and errors 2023-10-26 16:47:19 +02:00
Laurent THOMAS 7bbc46dbac pdcp_config_req_asn1 bug fix 2023-07-24 11:30:07 +02:00
mir c9012298de OSA SECU harmonization 2023-05-26 12:35:33 +02:00
Robert Schmidt 2ac2a7f074 Make separate header for nr_pdcp instead of using 4G pdcp
Creates function that have nr_pdcp_ prepended to their name, and change
the signature of some functions for the 5G PDCP:

- nr_pdcp_layer_init()
- nr_pdcp_data_req()
- nr_pdcp_remove_UE()
- nr_pdcp_config_set_security()
- nr_pdcp_remove_UE()
- Make separate functions for nr_pdcp_data_req_srb/drb()
2023-03-27 16:39:24 +02:00
Robert Schmidt 9dc2282249 Remove 4G F1 2023-02-20 11:38:53 +01:00
laurent b74ba0fb92 cleaning only 2023-01-19 14:52:39 +01:00
laurent 1e8719c183 first-fix-rrc-mac-interface 2022-12-02 16:47:21 +01:00
Robert Schmidt 0b91791f67 Use (std) bool instead of custom bool types
OAI is riddled with boolean_t, FALSE, TRUE, etc. This makes no sense, as
there is a standard bool type, and could lead to nasty bugs if a
definition of a bool is non-standard (0 == false, true == !false). This
commit removes all non-standard bools in the whole project.
2022-06-27 10:07:48 +02:00
Robert Schmidt 6c823168fe Merge remote-tracking branch 'origin/episys-merge-nsa' into integration_2021_wk51_d 2021-12-24 10:13:27 +01:00
Laurent THOMAS 66073d50fc merge develop 2021-11-15 10:25:52 +01:00
Melissa Elkadi 046258f1ba Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-09 15:17:58 -08:00
Laurent THOMAS e3f9fd6b01 code cleanup, no feature 2021-10-24 14:47:24 +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
Laurent THOMAS 9b691b3ecf fix old code errors, add CU to DU, 4G F1-U 2021-09-21 20:33:35 +02:00
Laurent THOMAS af19655763 Compile all targets to fix compilation regression 2021-09-14 09:37:06 +02:00
matzakos 4e667929b7 Add gtp-u tunnel creation at the CU side
- Change some elements names inside create_tunnel structure so that they are more generic to capture both N3 and F1-U use cases
2021-08-31 11:18:30 +02: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
Melissa Elkadi e50ca02957 Chaging NR functions to be properly named
This commit removed all the linking errors
between the NR UE and the LTE UE. This was done by
changing:
-      rrc_data_req_ue
+      rrc_data_req_nr_ue
2021-05-01 11:32:26 -07: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 c0ef3e6f88 fix gcc reported issues 2021-04-03 23:37:58 +02:00
Michael Cook 092caec8ca Merge branch 'episys-merge' into episys/trial-merge-to-master 2021-03-14 10:58:46 -04: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 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 954b0f559d new gtp before tests 2021-01-25 12:59:38 +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
Robert Schmidt a6126a39a5 Remove MAX_NUMBER_NETIF and use num UE 2020-10-13 09:07:46 +02:00
laurent aad868d8fa 5G scope cleaning round 2 2020-06-24 09:48:35 +02:00
laurent 2eb799c3b6 fix pdcp race condition 2020-06-18 15:52:54 +02:00
Raphael Defosseux e7aa071e1b Merge remote-tracking branch 'origin/develop' into merging-2019-w51-to-develop-nr 2020-01-10 15:35:54 +01:00
laurent 80cd6940af modifications 2019-12-05 04:53:56 +01:00
Raymond Knopp dfbe9fc1fd nr-ip-over-LTE: Synch with develop-nr and modification of max limits on number of UEs and eNBs 2019-10-04 12:07:39 +02:00
Raymond Knopp 024a41424c nr-ip-over-LTE: Debug logs rearrangements 2019-09-26 19:45:28 +02:00
frtabu b9b4d05e41 remove RRC_VERSION macros, simplify build-oai and CMakefile.txt accordingly, get rid of remaining compilation warnings (opt module improperly merged and patch asn1c files with tests against max 64 bits integer value) 2019-09-23 19:46:44 +02:00
Javier Morgade 3fbaf01eb3 Minor changes to also nable MBMS TUN interfaces with S1
ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-18 12:57:22 +02:00
Raymond Knopp ec627f7c55 nr-ip-over-LTE: Add checks for noS1 use case (gNB side) 2019-09-16 18:26:59 +02:00
Javier Morgade dc14cdc665 *L2 procedures to enable mixed unicast/broadcast operation at ENB implemeted:
-MBMS scheduler developed (oneFrame allocations implemented at this time)
	-UE DSLCH schedulers updated: if an eMBMS session running UE DTCH, DCCH will be only scheduled at non MBSFN sufbframes
	-eMBMS L2 procedures implemented
	-Dedicated MBMS PDCP pipes src/sink enabled (only for TUN)
	-BUGFIX eMBMS MAC procedures (wrong indexing at few loops)
	-ENB FAPI updated to enable dynamic MBSFN configurations through M2AP (RRC<->MCE)

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

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-09-14 13:23:30 +02:00
yilmazt f37a17e540 develop&-nr current as of 22.7.19 & OAI fully ready for testing 2019-07-22 21:56:44 +02:00
yilmazt ccd60195e0 Merging test-x310, ci-dev-nr-add-gnb-nr-ur-uspr-testing and nr-mimo-mode-clean branches 2019-05-20 21:32:34 +02:00
Laurent 4d787625ab still to compile 2019-04-30 14:25:42 +02:00
Robert Schmidt 82db432191 Make separate func_ptr setters for PDCP Ind/RLC Req 2019-04-19 14:06:48 +02:00
frtabu 30b7c973e0 merge nfapi_cleanup 2019-04-05 18:43:40 +02:00
Robert Schmidt 62d9b8cf36 Merge branch 'develop' into feature-127-protocol-split 2019-03-14 13:10:21 +01:00
frtabu c9dcaa53af noS1 woking with tun interfaces and basic simu 2019-03-08 16:00:09 +01:00
Robert Schmidt f9c4c501e3 Merge branch 'develop' into feature-127-protocol-split 2019-03-05 14:17:38 +01:00