Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
532b854c
Commit
532b854c
authored
May 20, 2024
by
Guido Casati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Introduced 5GMM state machine
* according to 5.1.3.2.1 of 3GPP TS 24.501
parent
25d61353
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
1 deletion
+18
-1
openair3/NAS/NR_UE/nr_nas_msg_sim.c
openair3/NAS/NR_UE/nr_nas_msg_sim.c
+8
-1
openair3/NAS/NR_UE/nr_nas_msg_sim.h
openair3/NAS/NR_UE/nr_nas_msg_sim.h
+10
-0
No files found.
openair3/NAS/NR_UE/nr_nas_msg_sim.c
View file @
532b854c
...
...
@@ -478,7 +478,8 @@ void generateRegistrationRequest(as_nas_info_t *initialNasMsg, nr_ue_nas_t *nas)
initialNasMsg
->
length
=
mm_msg_encode
(
mm_msg
,
(
uint8_t
*
)(
initialNasMsg
->
data
),
size
);
registration_request_len
=
initialNasMsg
->
length
;
/* set NAS 5GMM state */
nas
->
fiveGMM_state
=
FGS_REGISTERED_INITIATED
;
}
void
generateIdentityResponse
(
as_nas_info_t
*
initialNasMsg
,
uint8_t
identitytype
,
uicc_t
*
uicc
)
{
...
...
@@ -717,6 +718,8 @@ static void generateRegistrationComplete(nr_ue_nas_t *nas, as_nas_info_t *initia
for
(
int
i
=
0
;
i
<
4
;
i
++
){
initialNasMsg
->
data
[
2
+
i
]
=
mac
[
i
];
}
/* Set NAS 5GMM state */
nas
->
fiveGMM_state
=
FGS_REGISTERED
;
}
void
decodeDownlinkNASTransport
(
as_nas_info_t
*
initialNasMsg
,
uint8_t
*
pdu_buffer
){
...
...
@@ -776,6 +779,8 @@ static void generateDeregistrationRequest(nr_ue_nas_t *nas, as_nas_info_t *initi
for
(
int
i
=
0
;
i
<
4
;
i
++
)
initialNasMsg
->
data
[
2
+
i
]
=
mac
[
i
];
/* Set NAS 5GMM state */
nas
->
fiveGMM_state
=
FGS_DEREGISTERED_INITIATED
;
}
static
void
generatePduSessionEstablishRequest
(
nr_ue_nas_t
*
nas
,
as_nas_info_t
*
initialNasMsg
,
nas_pdu_session_req_t
*
pdu_req
)
...
...
@@ -1225,6 +1230,8 @@ void *nas_nrue(void *args_p)
break
;
case
FGS_DEREGISTRATION_ACCEPT
:
LOG_I
(
NAS
,
"received deregistration accept
\n
"
);
/* Set NAS 5GMM state */
nas
->
fiveGMM_state
=
FGS_DEREGISTERED
;
break
;
case
FGS_PDU_SESSION_ESTABLISHMENT_ACC
:
{
uint8_t
offset
=
0
;
...
...
openair3/NAS/NR_UE/nr_nas_msg_sim.h
View file @
532b854c
...
...
@@ -83,6 +83,14 @@ typedef struct {
int
hplmn_sd
;
}
nr_nas_msg_snssai_t
;
typedef
enum
fgs_mm_state_e
{
FGS_DEREGISTERED
=
0
,
FGS_DEREGISTERED_INITIATED
,
FGS_REGISTERED_INITIATED
,
FGS_REGISTERED
,
FGS_SERVICE_REQUEST_INITIATED
,
}
fgs_mm_state_t
;
/* Security Key for SA UE */
typedef
struct
{
uint8_t
kausf
[
32
];
...
...
@@ -97,6 +105,8 @@ typedef struct {
}
ue_sa_security_key_t
;
typedef
struct
{
/* 5GS Mobility Management States (5.1.3.2.1 of 3GPP TS 24.501) */
fgs_mm_state_t
fiveGMM_state
;
uicc_t
*
uicc
;
ue_sa_security_key_t
security
;
stream_security_container_t
*
security_container
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment