Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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 UE
Commits
bf614124
Commit
bf614124
authored
Sep 25, 2020
by
Xue Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add RRCReconfigurationComplete message
Modify compilation warning
parent
37ecf4b0
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
239 additions
and
38 deletions
+239
-38
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+1
-1
openair2/RRC/NR/MESSAGES/asn1_msg.h
openair2/RRC/NR/MESSAGES/asn1_msg.h
+1
-1
openair2/RRC/NR/nr_rrc_defs.h
openair2/RRC/NR/nr_rrc_defs.h
+2
-0
openair2/RRC/NR/nr_rrc_proto.h
openair2/RRC/NR/nr_rrc_proto.h
+6
-0
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+195
-20
openair2/RRC/NR/rrc_gNB_NGAP.c
openair2/RRC/NR/rrc_gNB_NGAP.c
+24
-15
openair2/RRC/NR/rrc_gNB_NGAP.h
openair2/RRC/NR/rrc_gNB_NGAP.h
+9
-0
openair2/RRC/NR/rrc_gNB_UE_context.c
openair2/RRC/NR/rrc_gNB_UE_context.c
+1
-1
No files found.
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
bf614124
...
@@ -639,7 +639,7 @@ uint8_t do_RRCReject(uint8_t Mod_id,
...
@@ -639,7 +639,7 @@ uint8_t do_RRCReject(uint8_t Mod_id,
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
uint8_t
do_RRCSetup
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
do_RRCSetup
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_
e
NB_ue_context_t
*
const
ue_context_pP
,
rrc_
g
NB_ue_context_t
*
const
ue_context_pP
,
int
CC_id
,
int
CC_id
,
uint8_t
*
const
buffer
,
uint8_t
*
const
buffer
,
const
uint8_t
transaction_id
,
const
uint8_t
transaction_id
,
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.h
View file @
bf614124
...
@@ -87,7 +87,7 @@ uint8_t do_RRCReject(uint8_t Mod_id,
...
@@ -87,7 +87,7 @@ uint8_t do_RRCReject(uint8_t Mod_id,
uint8_t
*
const
buffer
);
uint8_t
*
const
buffer
);
uint8_t
do_RRCSetup
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
do_RRCSetup
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_
e
NB_ue_context_t
*
const
ue_context_pP
,
rrc_
g
NB_ue_context_t
*
const
ue_context_pP
,
int
CC_id
,
int
CC_id
,
uint8_t
*
const
buffer
,
uint8_t
*
const
buffer
,
const
uint8_t
transaction_id
,
const
uint8_t
transaction_id
,
...
...
openair2/RRC/NR/nr_rrc_defs.h
View file @
bf614124
...
@@ -134,6 +134,8 @@ typedef enum UE_STATE_NR_e {
...
@@ -134,6 +134,8 @@ typedef enum UE_STATE_NR_e {
/* TS 36.331: RRC-TransactionIdentifier ::= INTEGER (0..3) */
/* TS 36.331: RRC-TransactionIdentifier ::= INTEGER (0..3) */
#define NR_RRC_TRANSACTION_IDENTIFIER_NUMBER 3
#define NR_RRC_TRANSACTION_IDENTIFIER_NUMBER 3
#define ENABLE_SECURITY 1
typedef
struct
{
typedef
struct
{
unsigned
short
transport_block_size
;
/*!< \brief Minimum PDU size in bytes provided by RLC to MAC layer interface */
unsigned
short
transport_block_size
;
/*!< \brief Minimum PDU size in bytes provided by RLC to MAC layer interface */
unsigned
short
max_transport_blocks
;
/*!< \brief Maximum PDU size in bytes provided by RLC to MAC layer interface */
unsigned
short
max_transport_blocks
;
/*!< \brief Maximum PDU size in bytes provided by RLC to MAC layer interface */
...
...
openair2/RRC/NR/nr_rrc_proto.h
View file @
bf614124
...
@@ -102,6 +102,12 @@ rrc_gNB_get_next_transaction_identifier(
...
@@ -102,6 +102,12 @@ rrc_gNB_get_next_transaction_identifier(
module_id_t
gnb_mod_idP
module_id_t
gnb_mod_idP
);
);
void
rrc_gNB_generate_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_gNB_ue_context_t
*
const
ue_context_pP
);
/**\brief RRC eNB task.
/**\brief RRC eNB task.
\param void *args_p Pointer on arguments to start the task. */
\param void *args_p Pointer on arguments to start the task. */
void
*
rrc_gnb_task
(
void
*
args_p
);
void
*
rrc_gnb_task
(
void
*
args_p
);
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
bf614124
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB_NGAP.c
View file @
bf614124
...
@@ -19,6 +19,15 @@
...
@@ -19,6 +19,15 @@
* contact@openairinterface.org
* contact@openairinterface.org
*/
*/
/*! \file rrc_gNB_NGAP.h
* \brief rrc NGAP procedures for gNB
* \author Yoshio INOUE, Masayuki HARADA
* \date 2020
* \version 0.1
* \email: yoshio.inoue@fujitsu.com,masayuki.harada@fujitsu.com
* (yoshio.inoue%40fujitsu.com%2cmasayuki.harada%40fujitsu.com)
*/
#include "rrc_gNB_NGAP.h"
#include "rrc_gNB_NGAP.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "rrc_eNB_S1AP.h"
#include "rrc_eNB_S1AP.h"
...
@@ -118,10 +127,10 @@ rrc_gNB_send_NGAP_NAS_FIRST_REQ(
...
@@ -118,10 +127,10 @@ rrc_gNB_send_NGAP_NAS_FIRST_REQ(
)
)
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
{
{
gNB_RRC_INST
*
rrc
=
RC
.
nrrrc
[
ctxt_pP
->
module_id
];
//
gNB_RRC_INST *rrc = RC.nrrrc[ctxt_pP->module_id];
MessageDef
*
message_p
=
NULL
;
MessageDef
*
message_p
=
NULL
;
rrc_ue_ngap_ids_t
*
rrc_ue_ngap_ids_p
=
NULL
;
rrc_ue_ngap_ids_t
*
rrc_ue_ngap_ids_p
=
NULL
;
hashtable_rc_t
h_rc
;
//
hashtable_rc_t h_rc;
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB
,
NGAP_NAS_FIRST_REQ
);
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB
,
NGAP_NAS_FIRST_REQ
);
memset
(
&
message_p
->
ittiMsg
.
ngap_nas_first_req
,
0
,
sizeof
(
ngap_nas_first_req_t
));
memset
(
&
message_p
->
ittiMsg
.
ngap_nas_first_req
,
0
,
sizeof
(
ngap_nas_first_req_t
));
...
@@ -267,32 +276,32 @@ rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ(
...
@@ -267,32 +276,32 @@ rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ(
}
}
/* TODO security */
/* TODO security */
rrc_gNB_process_security
(
&
ctxt
,
ue_context_p
,
&
(
NGAP_INITIAL_CONTEXT_SETUP_REQ
(
msg_p
).
security_capabilities
));
uint8_t
send_security_mode_command
=
TRUE
;
uint8_t
send_security_mode_command
=
TRUE
;
/* TODO rrc_pdcp_config_security */
rrc_pdcp_config_security
(
// rrc_pdcp_config_security(
&
ctxt
,
// &ctxt,
ue_context_p
,
// ue_context_p,
send_security_mode_command
);
// send_security_mode_command);
if
(
send_security_mode_command
)
{
if
(
send_security_mode_command
)
{
rrc_gNB_generate_SecurityModeCommand
(
&
ctxt
,
ue_context_p
);
rrc_gNB_generate_SecurityModeCommand
(
&
ctxt
,
ue_context_p
);
send_security_mode_command
=
FALSE
;
send_security_mode_command
=
FALSE
;
/* TODO rrc_pdcp_config_security */
rrc_pdcp_config_security
(
// rrc_pdcp_config_security(
&
ctxt
,
// &ctxt,
ue_context_p
,
// ue_context_p,
send_security_mode_command
);
// send_security_mode_command);
}
else
{
}
else
{
/*
TODO
rrc_gNB_generate_UECapabilityEnquiry */
/* rrc_gNB_generate_UECapabilityEnquiry */
// rrc_gNB_generate_UECapabilityEnquiry
(&ctxt, ue_context_p);
rrc_gNB_generate_UECapabilityEnquiry
(
&
ctxt
,
ue_context_p
);
}
}
// in case, send the S1SP initial context response if it is not sent with the attach complete message
// in case, send the S1SP initial context response if it is not sent with the attach complete message
if
(
ue_context_p
->
ue_context
.
Status
==
NR_RRC_RECONFIGURED
)
{
if
(
ue_context_p
->
ue_context
.
Status
==
NR_RRC_RECONFIGURED
)
{
LOG_I
(
NR_RRC
,
"Sending rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP, cause %ld
\n
"
,
ue_context_p
->
ue_context
.
reestablishment_cause
);
LOG_I
(
NR_RRC
,
"Sending rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP, cause %ld
\n
"
,
ue_context_p
->
ue_context
.
reestablishment_cause
);
//
rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP(&ctxt,ue_context_p);
rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP
(
&
ctxt
,
ue_context_p
);
}
}
return
0
;
return
0
;
...
...
openair2/RRC/NR/rrc_gNB_NGAP.h
View file @
bf614124
...
@@ -19,6 +19,15 @@
...
@@ -19,6 +19,15 @@
* contact@openairinterface.org
* contact@openairinterface.org
*/
*/
/*! \file rrc_gNB_NGAP.h
* \brief rrc NGAP procedures for gNB
* \author Yoshio INOUE, Masayuki HARADA
* \date 2020
* \version 0.1
* \email: yoshio.inoue@fujitsu.com,masayuki.harada@fujitsu.com
* (yoshio.inoue%40fujitsu.com%2cmasayuki.harada%40fujitsu.com)
*/
#ifndef RRC_GNB_NGAP_H_
#ifndef RRC_GNB_NGAP_H_
#define RRC_GNB_NGAP_H_
#define RRC_GNB_NGAP_H_
...
...
openair2/RRC/NR/rrc_gNB_UE_context.c
View file @
bf614124
...
@@ -248,7 +248,7 @@ rrc_gNB_ue_context_5g_s_tmsi_exist(
...
@@ -248,7 +248,7 @@ rrc_gNB_ue_context_5g_s_tmsi_exist(
{
{
struct
rrc_gNB_ue_context_s
*
ue_context_p
=
NULL
;
struct
rrc_gNB_ue_context_s
*
ue_context_p
=
NULL
;
RB_FOREACH
(
ue_context_p
,
rrc_nr_ue_tree_s
,
&
rrc_instance_pP
->
rrc_ue_head
)
{
RB_FOREACH
(
ue_context_p
,
rrc_nr_ue_tree_s
,
&
rrc_instance_pP
->
rrc_ue_head
)
{
LOG_I
(
NR_RRC
,
"checking for UE 5G S-TMSI %
x: rnti %x
\n
"
,
LOG_I
(
NR_RRC
,
"checking for UE 5G S-TMSI %
ld: rnti %d
\n
"
,
s_TMSI
,
ue_context_p
->
ue_context
.
rnti
);
s_TMSI
,
ue_context_p
->
ue_context
.
rnti
);
if
(
ue_context_p
->
ue_context
.
ng_5G_S_TMSI_Part1
==
s_TMSI
)
{
if
(
ue_context_p
->
ue_context
.
ng_5G_S_TMSI_Part1
==
s_TMSI
)
{
...
...
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