Commit Graph
169 Commits
Author SHA1 Message Date
Rúben Soares Silva 00b5eba192 Change PNF to use functions pointers to pack/unpack messages.
Adds 3 new function pointers to the P5 and P7 PNF structures, allowing to configure which function to use to pack/unpack the messages, as well as unpack the message header, being then used seamlessly regardless of using the FAPI or nFAPI functions.

Changes the header unpack and message unpack functions to return true on success and false on failure, instead of an int
2025-06-26 16:57:08 +01:00
Cedric Roux b815c8648c bugfix: pass correct buffer 2025-05-23 16:57:38 +02:00
Bartosz Podrygajlo e61bf5132d Refactor tun_if.h
Use a common function for generating interface name. Use full interface
name in tun_if.h functions.
2025-02-07 12:25:35 +01:00
Laurent THOMAS 17bb19c7be Remove unused LOCALIZATION compile option 2025-01-23 14:10:33 +01:00
Laurent THOMAS b0734604e9 Remove useless RRC states 2025-01-23 14:10:16 +01:00
Laurent THOMAS 279d49415f remove un-necessary global variables 2024-12-04 12:26:36 +01:00
Laurent THOMAS e48e38650d Fix various problems in 4G NAS handling
- rename as_nas_info_t member data to nas_data to have a uniq name to
  trace between complex malloc/free of this pointer
- fix, maybe not perfect, these pais od malloc/free
- remove typedef name changes across transmission of these as_nas_info_t
  over itti, as name changing makes it even more confusing
- remove globals that are likely possible races
- in as_message_decode() fix memcpy size, it is hard to understand the
  initial idea, likely the author beleives a struct of struct makes a
  intermediate pointer
- in network_api.c remove globals (static but used globally)
- remove casts that are there to hide gcc warnings on probable unaligned
  access
- remain a weird mix of packed/unpacked versions of the same typedef,
  but gcc is happy
2024-10-22 11:05:20 +02:00
Laurent THOMAS a1fc1972e1 one old bug, one regression 2024-10-22 11:05:20 +02:00
Robert Schmidt 89d89a7564 Create tun_if module for TUN interface handling
Move openair3/RRC/NAS/nas_config.c to common/utils/tun_if.c, and remove
the former from all targets.
2024-08-02 15:31:04 +02:00
Robert Schmidt ae5702d014 nas_config(): change API to handle both IPv4 and IPv6
Implement handling of IPv4 and IPv6 (on the same interface) in
nas_config().
2024-08-02 15:30:15 +02:00
Robert Schmidt 2da09aba80 nas_config(): provide entire IP address to configure
Prior to this commit, there was a global variable baseNetAddress that
could be set independently through a setter and also through the
configuration module. This baseNetAddress (16 bits IPv4) would then be
complemented with two more bytes in nas_config().

However, this is counter-productive, as not only we have a global
variable that is avoidable (we can give the entire address to
nas_config() directly), but it also would not work with IPv6. Hence,
modify to give nas_config() the entire address. A follow-up commit will
add IPv6 support.
2024-08-02 15:29:36 +02:00
Robert Schmidt 5acfa47325 nas_config()/netlink_init_tun(): use entire interface name (prefix)
Instead of implicitly using a hardcoded prefix "oaitun_" interface
name, move that out to the callers of these functions to make it clear.
The ID still remains outside.

The "sister functions" nas_config_mbms()/netlink_init_tun_mbms() will do
the same change in the next commit.
2024-08-02 15:29:36 +02:00
Robert Schmidt 8f549a5433 Remove rb_config: it's not used by any code currently in use 2024-08-01 18:22:46 +02:00
Cedric Roux 18e59d3c2e lte: switch to RRC release 16.13.0
A COTS UE is sending UE capabilities with accessStratumRelease "rel16"
which is not decoded by our RRC. Switching to RRC 16.13.0 lets our RRC
accept these capabilities (and as a positive side effect lets this
particular UE work nicely in NSA fr1).
2023-11-24 12:32:48 +01:00
Laurent THOMAS dd059343d9 ue-rrc-coarse-cleaning 2023-11-10 17:43:59 +01:00
mir c9012298de OSA SECU harmonization 2023-05-26 12:35:33 +02:00
Robert Schmidt 8198272571 Review remarks 2023-03-09 19:10:59 +01:00
francescomani 931cf0a868 more review fixes 2023-03-09 19:10:39 +01:00
francescomani 87f603687a fixing most warning when compiling nr-uesoftmodem 2023-03-09 19:01:47 +01:00
Robert Schmidt 8a15fb7c63 RC: forward declarations and link physims better
The simulators have been changed: due to linker errors that would arise
otherwise, a lot of functions are defined in them to avoid such errors.
Some functions are also defined in header files; in this commit, we
define most functoins in nr_dummy_functions.c, which is compiled in, not
by including the C file, but by adding it to the target in
CMakeLists.txt

- nr_dlsim+nr_ulsim need NR_IF_Module_init(), so it cannot be in
  nr_dummy_functions, but the others need it
- Link correcr NR_IF_Module_init() into these simulators, and reduce
  overall link list
- Correctly link remaining simulators
2023-03-06 20:04:38 +01:00
Robert Schmidt 8fc58e2f00 Remove legacy 4G RLC 2023-01-21 12:14:18 +01:00
laurent b74ba0fb92 cleaning only 2023-01-19 14:52:39 +01:00
laurent 9a789dbb8a ASN_SEQUENCE_ADD return code was checked only in 0.5% of calls, existing errors not detected by sanitize address 2023-01-11 09:59:39 +01:00
Robert Schmidt 6ecf3db1e5 Merge remote-tracking branch 'origin/move_user_execs' into integration_2022_wk50 2022-12-15 16:17:29 +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
Anurag Asokan 215bb1b02c Moving to execuatbles (incorporating comments) 2022-12-13 09:21:01 +01:00
Robert Schmidt 287c182925 Remove FlexRAN
- Remove any FlexRAN code
- Cleanup config files
- Remove LFDS7, libyaml dependencies
2022-11-30 14:30:18 +01:00
laurent 5fcd8b6f9f fix direct memory bugs in lte mbms 2022-09-02 11:36:47 +02: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
Laurent THOMAS c0568a997a fix bugs, delete dead code 2022-03-28 12:05:18 +02:00
Robert Schmidt 00e058537d Remove MSC library, it is not used anywhere 2022-01-27 10:53:07 +01:00
Melissa Elkadi 046258f1ba Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-09 15:17:58 -08:00
hardy 4c2c7f92a5 Merge remote-tracking branch 'origin/code-cleanup-2021oct24' into integration_2021_wk45_b 2021-11-08 13:12:52 +01:00
Melissa Elkadi 4eb0aceab6 Merge remote-tracking branch 'eurecom/develop' into episys/master-nsa 2021-10-27 15:05:05 -07:00
Laurent THOMAS e3f9fd6b01 code cleanup, no feature 2021-10-24 14:47:24 +02:00
frtabu c3c02bbd91 Use same port number for source and destination number in new gtp implementation. 2021-10-20 17:09:46 +02:00
frtabu 9707cb9910 rebase on develop 2021-10-20 17:09:46 +02:00
Melissa Elkadi 70be674227 Code clean up part 2.
This commit continues to clean up the reminader
of the changed files in the merge req 1274.
The changes include log updates, comment removals,
etc.
2021-09-23 14:19:55 -07:00
Melissa Elkadi 1c248bcf49 Successfully writing to TUN if and removed usleep 2021-08-31 15:53:14 -07:00
Melissa Elkadi 512e76dee8 Error checking and meas sending wait for EPC only 2021-08-26 17:37:51 -07:00
Melissa Elkadi 1b49e7e2ef Additions to get UE connected to EPC 2021-08-25 12:10:12 -07:00
Michael Cook d768522466 Be more careful about buffer sizes 2021-08-23 21:06:09 +00:00
Melissa Elkadi 0ee8f20d54 Updated gNB conf file & last RRC msg in LTE/NR UE 2021-08-19 13:53:12 -07:00
Melissa Elkadi 3a51e7c352 Successfully encoding meas report! Woohoo!
However, when we free after we encode, fsanitize isnt happy.
Need to clean that up. Also, found an actual bug in LTE.
For the random value issue from fall 2020, we added a fix.
This fix uses ctxt and we were getting ctxt properly.
Lastly, we allocated some memory in processing of the
NR Meas report in the eNB.
2021-08-12 13:21:58 -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
Melissa Elkadi 4e6e7519af Semicolon in RRC NR UE incorrect 2021-08-09 15:54:59 -07:00
Melissa Elkadi 97a648e35f IP Traffic not working, tun if established by NRUE
Updated the configuration files. Added a sleep to
ensure that the LTE UE gets attached to the EPC
before the bearer is modified to be gNB. Updated
the ifconfig tunnel up command to be brought up
by the NR UE socket when in NSA mode. Lastly,
started the gNB PDCP layer in S1 mode.
2021-07-28 15:36:11 -07:00
Melissa Elkadi 7f2e622b0e Sending tunnel interface 'up' command to NR UE
Once the LTE UE's tunnel interface with the EPC
is ready to be established, if we are in NSA mode,
we do not want to launch the tunnel interface
from the LTE UE side, but in the NR UE. Via itti_msgs
we send the string containing the tunnel interface
'up' command to the NR UE and bring it up from the NR UE.
2021-07-07 11:55:34 -07:00
Deokseong "David" Kim 591e0e1f36 Adjusted UDP port ids for multiple UE connection with proxy 2021-06-16 16:06:38 -07:00
Melissa Elkadi 7db52420bf Created new fill_rach function in the NR UE
Also calling the new L1_nsa_prach_procedures()
function after using the nr_ue_scheduler. Added
some error checking in the nr_ue_scheduler. Added
some error checking in the process_nsa_msg in both
the NR and LTE UE
2021-05-28 15:30:56 -07:00