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
0a5e2ce8
Commit
0a5e2ce8
authored
Jan 20, 2021
by
Xue Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify INITIAL_UL_RRC_MESSAGE_TRANSFER
fix build errors about nrUE c-plane is ok
parent
fba34b2a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
69 additions
and
25 deletions
+69
-25
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+3
-0
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
+38
-12
openair2/F1AP/f1ap_du_task.c
openair2/F1AP/f1ap_du_task.c
+9
-0
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+1
-2
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+5
-9
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+13
-2
No files found.
executables/nr-uesoftmodem.c
View file @
0a5e2ce8
...
...
@@ -601,6 +601,9 @@ int main( int argc, char **argv ) {
protocol_ctxt_t
ctxt_pP
=
{
0
};
ctxt_pP
.
enb_flag
=
ENB_FLAG_NO
;
ctxt_pP
.
rnti
=
0x1234
;
RC
.
nrrrc
=
(
gNB_RRC_INST
**
)
malloc
(
1
*
sizeof
(
gNB_RRC_INST
*
));
RC
.
nrrrc
[
0
]
=
(
gNB_RRC_INST
*
)
malloc
(
sizeof
(
gNB_RRC_INST
));
RC
.
nrrrc
[
0
]
->
node_type
=
ngran_gNB
;
rrc_ue_generate_RRCSetupRequest
(
&
ctxt_pP
,
0
);
if
(
create_tasks_nrue
(
1
)
<
0
)
{
printf
(
"cannot create ITTI tasks
\n
"
);
...
...
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
View file @
0a5e2ce8
...
...
@@ -169,6 +169,7 @@ int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
f1ap_cu_inst
[
rrc_inst
].
f1ap_ue
[
f1ap_uid
].
du_ue_f1ap_id
=
du_ue_f1ap_id
;
if
(
RC
.
nrrrc
[
GNB_INSTANCE_TO_MODULE_ID
(
instance
)]
->
node_type
==
ngran_gNB_CU
)
{
if
(
0
)
{
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
frame
=
0
;
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sub_frame
=
0
;
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu_size
=
ccch_sdu_len
;
...
...
@@ -176,6 +177,31 @@ int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
rnti
=
rnti
;
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
CC_id
=
CC_id
;
itti_send_msg_to_task
(
TASK_RRC_GNB
,
instance
,
message_p
);
}
protocol_ctxt_t
ctxt
;
ctxt
.
module_id
=
instance
;
ctxt
.
instance
=
instance
;
ctxt
.
rnti
=
0x1234
;
//f1ap_get_rnti_by_cu_id(&f1ap_cu_inst[instance], cu_ue_f1ap_id);
ctxt
.
enb_flag
=
1
;
ctxt
.
eNB_index
=
0
;
ctxt
.
configured
=
1
;
mem_block_t
*
mb
=
get_free_mem_block
(
ie
->
value
.
choice
.
RRCContainer
.
size
,
__func__
);
memcpy
((
void
*
)
mb
->
data
,(
void
*
)
ie
->
value
.
choice
.
RRCContainer
.
buf
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
LOG_I
(
F1AP
,
"Calling pdcp_data_ind for UE RNTI %x srb_id %lu with size %ld (DCCH)
\n
"
,
ctxt
.
rnti
,
1
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
LOG_I
(
F1AP
,
"%s() RRCContainer size %lu: "
,
__func__
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
for
(
int
i
=
0
;
i
<
ie
->
value
.
choice
.
RRCContainer
.
size
;
i
++
)
printf
(
"%02x "
,
mb
->
data
[
i
]);
printf
(
"
\n
"
);
pdcp_data_ind
(
&
ctxt
,
1
,
// srb_flag
0
,
// embms_flag
1
,
ie
->
value
.
choice
.
RRCContainer
.
size
,
mb
);
return
0
;
}
else
{
RRC_MAC_CCCH_DATA_IND
(
message_p
).
frame
=
0
;
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sub_frame
=
0
;
...
...
openair2/F1AP/f1ap_du_task.c
View file @
0a5e2ce8
...
...
@@ -175,6 +175,15 @@ void *F1AP_DU_task(void *arg) {
&
received_msg
->
ittiMsg
.
sctp_data_ind
);
break
;
case
F1AP_INITIAL_UL_RRC_MESSAGE
:
// to rrc
LOG_I
(
F1AP
,
"DU Task Received F1AP_INITIAL_UL_RRC_MESSAGE
\n
"
);
f1ap_initial_ul_rrc_message_t
*
msg
=
&
F1AP_INITIAL_UL_RRC_MESSAGE
(
received_msg
);
DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER
(
0
,
0
,
0
,
msg
->
crnti
,
msg
->
rrc_container
,
msg
->
rrc_container_length
);
break
;
case
F1AP_UL_RRC_MESSAGE
:
// to rrc
LOG_I
(
F1AP
,
"DU Task Received F1AP_UL_RRC_MESSAGE
\n
"
);
if
(
RC
.
nrrrc
[
0
]
->
node_type
==
ngran_gNB_DU
)
{
...
...
openair2/GNB_APP/gnb_config.c
View file @
0a5e2ce8
...
...
@@ -80,7 +80,7 @@
extern
uint16_t
sf_ahead
;
int
macrlc_has_f1
=
0
;
ngran_node_t
node_type
=
ngran_gNB
;
extern
ngran_node_t
node_type
;
extern
int
config_check_band_frequencies
(
int
ind
,
int16_t
band
,
uint64_t
downlink_frequency
,
int32_t
uplink_frequency_offset
,
uint32_t
frame_type
);
...
...
@@ -1477,7 +1477,6 @@ void gNB_app_handle_f1ap_setup_resp(f1ap_setup_resp_t *resp) {
void
set_node_type
(
void
)
{
int
j
;
// ngran_node_t node_type;
paramdef_t
MacRLC_Params
[]
=
MACRLCPARAMS_DESC
;
paramlist_def_t
MacRLC_ParamList
=
{
CONFIG_STRING_MACRLC_LIST
,
NULL
,
0
};
paramdef_t
GNBParams
[]
=
GNBPARAMS_DESC
;
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
0a5e2ce8
...
...
@@ -47,7 +47,7 @@ hash_table_t *pdcp_coll_p;
static
uint64_t
pdcp_optmask
;
#include "common/ran_context.h"
extern
RAN_CONTEXT_t
RC
;
extern
ngran_node_t
node_type
;
ngran_node_t
node_type
=
ngran_gNB
;
uint8_t
first_dcch
=
0
;
/****************************************************************************/
...
...
@@ -623,16 +623,12 @@ static void deliver_sdu_srb(protocol_ctxt_t *ctxt_pP, void *_ue, nr_pdcp_entity_
int
srb_id
;
int
i
;
if
(
NODE_IS_CU
(
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
node_type
))
{
nr_rrc_data_ind
(
ctxt_pP
,
1
,
size
,
buf
);
}
else
{
if
(
ccch_or_dcch
==
0
)
{
nr_rrc_data_ind_ccch
(
ctxt_pP
,
1
,
size
,
buf
);
ccch_or_dcch
=
1
;
}
else
{
nr_rrc_data_ind
(
ctxt_pP
,
1
,
size
,
buf
);
}
}
return
;
}
...
...
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
View file @
0a5e2ce8
...
...
@@ -474,6 +474,7 @@ rb_found:
"Can't be CU, bad node type %d
\n
"
,
type
);
if
(
NODE_IS_DU
(
type
)
&&
is_srb
==
1
)
{
MessageDef
*
msg
;
if
(
ccch_flag
)
{
/* for rfsim, because UE send RRCSetupRequest in SRB1 */
asn_dec_rval_t
dec_rval
;
...
...
@@ -493,7 +494,17 @@ rb_found:
if
(
ul_ccch_msg
->
message
.
present
==
NR_UL_CCCH_MessageType_PR_c1
)
{
if
(
ul_ccch_msg
->
message
.
choice
.
c1
->
present
==
NR_UL_CCCH_MessageType__c1_PR_rrcSetupRequest
)
{
LOG_I
(
RLC
,
"[MSG] RRC Setup Request
\n
"
);
DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER
(
0
,
0
,
0
,
ue
->
rnti
,(
uint8_t
*
)
buf
,
size
);
// DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER(0,0,0,ue->rnti,(uint8_t *)buf,size);
msg
=
itti_alloc_new_message
(
TASK_RLC_ENB
,
F1AP_INITIAL_UL_RRC_MESSAGE
);
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
gNB_DU_ue_id
=
0
;
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
mcc
=
RC
.
nrrrc
[
0
]
->
configuration
.
mcc
[
0
];
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
mnc
=
RC
.
nrrrc
[
0
]
->
configuration
.
mnc
[
0
];
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
mnc_digit_length
=
RC
.
nrrrc
[
0
]
->
configuration
.
mnc_digit_length
[
0
];
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
nr_cellid
=
RC
.
nrrrc
[
0
]
->
nr_cellid
;
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
crnti
=
ue
->
rnti
;
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
rrc_container
=
(
unsigned
char
*
)
buf
;
F1AP_INITIAL_UL_RRC_MESSAGE
(
msg
).
rrc_container_length
=
size
;
itti_send_msg_to_task
(
TASK_DU_F1
,
ENB_MODULE_ID_TO_INSTANCE
(
0
),
msg
);
ccch_flag
=
0
;
return
;
}
...
...
@@ -501,7 +512,7 @@ rb_found:
}
}
MessageDef
*
msg
=
itti_alloc_new_message
(
TASK_RLC_ENB
,
F1AP_UL_RRC_MESSAGE
);
msg
=
itti_alloc_new_message
(
TASK_RLC_ENB
,
F1AP_UL_RRC_MESSAGE
);
F1AP_UL_RRC_MESSAGE
(
msg
).
rnti
=
ue
->
rnti
;
F1AP_UL_RRC_MESSAGE
(
msg
).
srb_id
=
rb_id
;
F1AP_UL_RRC_MESSAGE
(
msg
).
rrc_container
=
(
unsigned
char
*
)
buf
;
...
...
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