Guido Casati
dbd2d8574e
Use PDU Session Establish Accept IEI text definition
...
* replace multiple log lines with one
2025-01-08 20:11:12 +01:00
Guido Casati
047b4eea8b
Refactor PDU Session Establish Accept IEI
...
* use NAS macro to define enums and text description
2025-01-08 20:11:12 +01:00
Guido Casati
eb39836b0a
Refactor includes in RRC files
...
* used open source IWYU tool + manual review
* deleted unused nr_rrc_common.c
2024-11-18 11:25:02 +01:00
Robert Schmidt
7b2e4a8ce7
Merge remote-tracking branch 'origin/nr-nas-issue-841' into integration_2024_w43 ( !2980 )
...
Refactor NAS 5GS PDU Session Establishment Accept handling
- Closes #841
- address minor code issues
2024-10-28 11:53:00 +01:00
Guido Casati
9a67c5e5b5
Fix scoping issues for variable declarations in switch-case blocks (capture_pdu_session_establishment_accept_msg)
2024-10-25 11:52:28 +02:00
Guido Casati
66231badaf
Refactor PDU address IE in PDU Session Establishment Accept
...
* take 3 bits for PDU session type value
* add define for SMF's IPv6 link local address
2024-10-25 11:44:14 +02:00
Guido Casati
a85be06c72
Add defines for IPv4 and IPv6 PDU address header fields
2024-10-25 11:42:22 +02:00
Laurent THOMAS
345bd9cc82
remove duplicated code, add registration reject cause
2024-10-23 10:51:17 +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
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