Commit Graph
53 Commits
Author SHA1 Message Date
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 659a81997b Handle IPv6/IPv4v6 PDU sessions
Handle IPv6 (and IPv4v6) PDU sessions by correctly instructing
nas_config() to set up the interface with provided IP addresses.
Note that as of now, IPv6 PDU sessions have not been fully tested.

Remove a useless assert at the gNB; to my understanding the gNB does not
care about the IP session type (at least for IP), as it just
transparently tunnels the IP packets from/to GTP.

I added a comment in the code where to change to request a PDU session
different from IPv4. Currently it is hardcoded to IPv4, and it seems
that a default OAI 5GC config would reject a PDU session type different
from IPv4.
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 ffcf53fc75 Reintroduce the IP rule&route for OAI UE through setup_ue_ipv4_route()
These rules & route are necessary to properly send packets on oaitun_ue1
interface:

1. This forces the packets coming from a subnet different than the UE's
   subnet to go back through oaitun_ue1 rather than via what the default
   route defined on the system (e.g., important if ping from the
   internet arrives).

2. On machines setting net.ipv4.conf.oaitun_ue1.rp_filter=1 (e.g.
   RHEL), this prevents that source filtering for packets coming back is
   applied and those packets be dropped. By default, many hosts have
   rp_filter=2, so no strict source filtering is applied, and it would
   work; on others, this rule prevents source filter dropping.
2024-08-02 15:29:36 +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
Laurent THOMAS 4de550f040 fix bug for IE cause in pdu session accept 2023-09-25 15:26:51 +02:00
laurent b735f8bec6 ubsan fixes 2023-04-19 22:12:08 +02:00
francescomani 87f603687a fixing most warning when compiling nr-uesoftmodem 2023-03-09 19:01:47 +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
Angelo Athanassopoulos 07abf4329d PSEA - IEI DNN - This is the last IEI in the message.
Before this commit each time the message was captured, it entered the
default switch statement, which is meant to show that  we received an
uknown IEI.

Now after the DNN IEI, we set offset=msg_length, to exit the
switch.
2022-10-28 13:54:13 +02:00
Angelo Athanassopoulos 43f3d03ddb PSEA - IEI DNN - protect code from a bad DNN length received from the network 2022-10-28 13:24:25 +02:00
Angelo Athanassopoulos 8e4ebb078a PSEA - IEI DNN - added macro for min DNN length 2022-10-28 12:55:58 +02:00
Angelo Athanassopoulos d91cfdc6cf PSEA - Remove of unused ASCII macro definition 2022-10-27 20:05:16 +02:00
Angelo Athanassopoulos dbd00175a7 PSEA - SABOX fix - Avoid the infinite loop, when not receiving an APN Operator Identifier 2022-10-27 20:01:08 +02:00
Angelo Athanassopoulos bef72dd747 PSEA - SABOX fix - changed the max accumulated apn length 2022-10-27 18:53:01 +02:00
Angelo Athanassopoulos 3f1d515aaf PSEA - Slight cosmetic changes 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 24241e1b97 PSEA - Log - Change the debug to trace 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos c31b0f8fa0 Use values from PSEA message to set QFI and PDU Session ID from CN 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 5594594c97 PSEA - Handle uknown IE, ommits the rest message length 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 5ebfed3f90 PSEA - Capture - DNN IE 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 844fec61a8 PSEA - Capture - Position of Extended protocol configuration
options (Ommited)
2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 80542f0503 PSEA - Capture - Position of Authorized QoS flow descriptions (Ommited) 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos f001961e4e PSEA - Capture - Position of EAP message (Ommited) 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos ca903df0a8 PSEA - Capture - Position of Mapped EPS bearer contexts (Ommited) 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos ff05fed29c PSEA - Capture - Position of Always-on PDU Session Indication (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 1b89529719 PSEA - Capture - Position of S-NSSAI (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 7707669f97 PSEA - Capture - Position of RQ Timer Value (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos d355b1a7f2 PSEA - Capture - PDU Address IE 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 3fee83e05b PSEA - Capture - Position of 5GSM Cause (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 21c4415a37 PSEA - Prepare the Optional Presence IE capture 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos d9958e4e0f PSEA - Capture - Session AMBR (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 352362ac97 PSEA - Capture - Authorized QoS Rules, but Ommit the Packet Filters 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos fbe010420c PSEA - Capture - PduSessionEstablishmentAccept message 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 7a5e383993 PSEA - Capture - Security Protected NAS header & message 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 0f1d68e2e3 PSEA - Include necessary NAS header files 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 4148e5aae6 PSEA - Init capture function 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 9682ba9bf6 PSEA - Message struct definition 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 724164c395 PSEA - Optional Presence IE 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos b3abb8f64f PSEA - Mandatory Presence IE 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos ff059d7607 PSEA - Macro for DNN ASCII 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 92e01d8346 PSEA - Macros for Rule Operation Codes 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 34e50a2fdf PSEA - Macros for PDU Session type values 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos e057c85e60 PSEA - Macros for Optional IE Identifiers 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos e50ce393c3 PSEA - Initialization of PduSessionEstablishmentAccept message capture 2022-10-10 20:51:53 +02:00
matzakos 52f8506b5c Include PDU session type field in PDU Session Establishment Request NAS message 2021-04-27 13:30:02 +02:00
Xue Song a85f261b54 add license text
fix some problems
2021-02-01 13:59:56 +09:00
He Shanyun d1a055ff70 implement pdusession establishment request 2020-11-12 03:06:10 +00:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux 1b1f941e3c upgrade license to version 1.1 2017-10-23 12:22:13 +02:00
Cedric Roux 74316f6b69 remove COPYING files
Most of them were the GPL.

It is useless to have a copy of the license in every
sub-directory.

From now on, there is only the LICENSE in the top
directory of the distribution.

	deleted:    common/utils/COPYING
	deleted:    common/utils/hashtable/COPYING
	deleted:    common/utils/itti/COPYING
	deleted:    common/utils/itti_analyzer/COPYING
	deleted:    common/utils/itti_analyzer/common/COPYING
	deleted:    common/utils/itti_analyzer/libbuffers/COPYING
	deleted:    common/utils/itti_analyzer/libparser/COPYING
	deleted:    common/utils/itti_analyzer/libresolver/COPYING
	deleted:    common/utils/itti_analyzer/libui/COPYING
	deleted:    openair1/COPYING
	deleted:    openair1/PHY/CODING/COPYING
	deleted:    openair1/PHY/CODING/TESTBENCH/COPYING
	deleted:    openair1/PHY/COPYING
	deleted:    openair1/PHY/INIT/COPYING
	deleted:    openair1/PHY/LTE_ESTIMATION/COPYING
	deleted:    openair1/PHY/LTE_REFSIG/COPYING
	deleted:    openair1/PHY/LTE_TRANSPORT/COPYING
	deleted:    openair1/PHY/MODULATION/COPYING
	deleted:    openair1/PHY/TOOLS/COPYING
	deleted:    openair1/SCHED/COPYING
	deleted:    openair1/SIMULATION/COPYING
	deleted:    openair1/SIMULATION/ETH_TRANSPORT/COPYING
	deleted:    openair1/SIMULATION/LTE_PHY/COPYING
	deleted:    openair1/SIMULATION/RF/COPYING
	deleted:    openair1/SIMULATION/TOOLS/COPYING
	deleted:    openair2/COMMON/COPYING
	deleted:    openair2/DOCS/TEMPLATES/CODE/COPYING
	deleted:    openair2/LAYER2/COPYING
	deleted:    openair2/LAYER2/MAC/COPYING
	deleted:    openair2/LAYER2/PDCP_v10.1.0/COPYING
	deleted:    openair2/LAYER2/RLC/AM_v9.3.0/COPYING
	deleted:    openair2/LAYER2/RLC/COPYING
	deleted:    openair2/LAYER2/RLC/TM_v9.3.0/COPYING
	deleted:    openair2/LAYER2/RLC/UM_v9.3.0/COPYING
	deleted:    openair2/NETWORK_DRIVER/LITE/COPYING
	deleted:    openair2/NETWORK_DRIVER/MESH/COPYING
	deleted:    openair2/NETWORK_DRIVER/UE_IP/COPYING
	deleted:    openair2/PHY_INTERFACE/COPYING
	deleted:    openair2/RRC/L2_INTERFACE/COPYING
	deleted:    openair2/RRC/LITE/COPYING
	deleted:    openair2/RRC/LITE/MESSAGES/COPYING
	deleted:    openair2/RRC/NAS/COPYING
	deleted:    openair2/RRM_4_RRC_LITE/COPYING
	deleted:    openair2/RRM_4_RRC_LITE/src/COPYING
	deleted:    openair2/RRM_4_RRC_LITE/src/radio_resources/COPYING
	deleted:    openair2/UTIL/BIGPHYS/COPYING
	deleted:    openair2/UTIL/CLI/COPYING
	deleted:    openair2/UTIL/FIFO/COPYING
	deleted:    openair2/UTIL/LISTS/COPYING
	deleted:    openair2/UTIL/LOG/COPYING
	deleted:    openair2/UTIL/MATH/COPYING
	deleted:    openair2/UTIL/MEM/COPYING
	deleted:    openair2/UTIL/OCG/COPYING
	deleted:    openair2/UTIL/OMG/COPYING
	deleted:    openair2/UTIL/OMV/COPYING
	deleted:    openair2/UTIL/OPT/COPYING
	deleted:    openair2/UTIL/OSA/COPYING
	deleted:    openair2/UTIL/OSD/COPYING
	deleted:    openair2/UTIL/OTG/COPYING
	deleted:    openair2/UTIL/SCTP/COPYING
	deleted:    openair2/UTIL/TIMER/COPYING
	deleted:    openair2/UTIL/TRACE/COPYING
	deleted:    openair2/X2AP/COPYING
	deleted:    openair3/COPYING
	deleted:    openair3/DOCS/COPYING
	deleted:    openair3/DOCS/DOXYGEN/COPYING
	deleted:    openair3/DOCS/Latex/COPYING
	deleted:    openair3/DOCS/Latex/DefaultBearer/COPYING
	deleted:    openair3/DOCS/Latex/EPC/COPYING
	deleted:    openair3/NAS/COMMON/API/NETWORK/COPYING
	deleted:    openair3/NAS/COMMON/COPYING
	deleted:    openair3/NAS/COMMON/EMM/MSG/COPYING
	deleted:    openair3/NAS/COMMON/ESM/MSG/COPYING
	deleted:    openair3/NAS/COMMON/IES/COPYING
	deleted:    openair3/NAS/COMMON/UTIL/COPYING
	deleted:    openair3/NAS/COPYING
	deleted:    openair3/NAS/TEST/AS_SIMULATOR/COPYING
	deleted:    openair3/NAS/TEST/COPYING
	deleted:    openair3/NAS/TEST/MSC/COPYING
	deleted:    openair3/NAS/TEST/NETWORK/COPYING
	deleted:    openair3/NAS/TEST/USER/COPYING
	deleted:    openair3/NAS/TOOLS/COPYING
	deleted:    openair3/NAS/UE/API/USER/COPYING
	deleted:    openair3/NAS/UE/API/USIM/COPYING
	deleted:    openair3/NAS/UE/EMM/SAP/COPYING
	deleted:    openair3/NAS/UE/ESM/SAP/COPYING
	deleted:    openair3/S1AP/COPYING
	deleted:    openair3/S1AP/MESSAGES/ASN1/COPYING
	deleted:    openair3/S1AP/MESSAGES/ASN1/R10.5/COPYING
	deleted:    openair3/S1AP/MESSAGES/ASN1/R8.10/COPYING
	deleted:    openair3/S1AP/MESSAGES/ASN1/R9.8/COPYING
	deleted:    openair3/S1AP/MESSAGES/COPYING
	deleted:    openair3/SCTP/COPYING
	deleted:    openair3/SECU/COPYING
	deleted:    openair3/TEST/COPYING
	deleted:    openair3/UTILS/COPYING
	deleted:    targets/ARCH/COMMON/COPYING
	deleted:    targets/ARCH/ETHERNET/USERSPACE/LIB/COPYING
	deleted:    targets/ARCH/EXMIMO/DEFS/COPYING
	deleted:    targets/ARCH/EXMIMO/DRIVER/eurecom/COPYING
	deleted:    targets/ARCH/EXMIMO/DRIVER/exmimo3/COPYING
	deleted:    targets/ARCH/EXMIMO/DRIVER/telecomparistech/COPYING
	deleted:    targets/ARCH/EXMIMO/USERSPACE/LIB/COPYING
	deleted:    targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/COPYING
	deleted:    targets/ARCH/EXMIMO/USERSPACE/OCTAVE/COPYING
	deleted:    targets/ARCH/USRP/USERSPACE/LIB/COPYING
	deleted:    targets/COMMON/COPYING
	deleted:    targets/COPYING
	deleted:    targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/COPYING
	deleted:    targets/PROJECTS/COPYING
	deleted:    targets/PROJECTS/GENERIC-LTE-EPC/COPYING
	deleted:    targets/RT/USER/COPYING
	deleted:    targets/SIMU/PROC/COPYING
	deleted:    targets/SIMU/USER/COPYING
2016-09-28 10:45:02 +02:00