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
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
Michael Black
OpenXG-RAN
Commits
dd124b72
Commit
dd124b72
authored
Jun 07, 2023
by
mir
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug and compilation flag added
parent
1327efee
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
14 deletions
+59
-14
CMakeLists.txt
CMakeLists.txt
+11
-2
openair2/RRC/NR/cucp_cuup_direct.c
openair2/RRC/NR/cucp_cuup_direct.c
+40
-12
openair2/SDAP/nr_sdap/nr_sdap_entity.c
openair2/SDAP/nr_sdap/nr_sdap_entity.c
+8
-0
No files found.
CMakeLists.txt
View file @
dd124b72
...
...
@@ -1583,6 +1583,8 @@ add_library(L2_NR
${
GNB_APP_SRC
}
)
target_link_libraries
(
L2_NR PRIVATE f1ap x2ap s1ap ngap nr_rrc e1ap
)
add_library
(
e1_if
${
NR_RRC_DIR
}
/cucp_cuup_direct.c
${
NR_RRC_DIR
}
/cucp_cuup_e1ap.c
...
...
@@ -1596,7 +1598,6 @@ add_library(e1_pdcp_if
target_link_libraries
(
e1_pdcp_if PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs
)
target_link_libraries
(
L2_NR PRIVATE f1ap x2ap s1ap ngap nr_rrc e1ap
)
add_library
(
L2_LTE_NR
${
L2_RRC_SRC
}
...
...
@@ -2262,6 +2263,10 @@ add_executable(nr-softmodem
${
OPENAIR1_DIR
}
/PHY/TOOLS/phy_scope_interface.c
${
T_SOURCE
}
${
SHLIB_LOADER_SOURCES
}
#L2_NR
${
L2_NR_SRC
}
${
MAC_NR_SRC
}
${
GNB_APP_SRC
}
)
target_link_libraries
(
nr-softmodem PRIVATE
...
...
@@ -2270,7 +2275,7 @@ target_link_libraries(nr-softmodem PRIVATE
ITTI
${
NAS_UE_LIB
}
lte_rrc nr_rrc
ngap s1ap L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU SIMU_ETH
x2ap f1ap m2ap m3ap e1ap
-Wl,--end-group z dl
)
-Wl,--end-group z dl
f1ap x2ap s1ap ngap nr_rrc
)
target_link_libraries
(
nr-softmodem PRIVATE pthread m CONFIG_LIB rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
sctp
${
ATLAS_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem PRIVATE
${
T_LIB
}
)
...
...
@@ -2286,6 +2291,10 @@ endif()
target_link_libraries
(
nr-softmodem PRIVATE
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp
)
target_compile_definitions
(
nr-softmodem PRIVATE MIR_FLAG
)
add_executable
(
nr-cuup
executables/nr-cuup.c
executables/softmodem-common.c
...
...
openair2/RRC/NR/cucp_cuup_direct.c
View file @
dd124b72
...
...
@@ -124,14 +124,14 @@ int drb_config_gtpu_create(const protocol_ctxt_t *const ctxt_p,
create_tunnel_req
.
num_tunnels
=
UE
->
nb_of_pdusessions
;
create_tunnel_req
.
ue_id
=
UE
->
rnti
;
int
ret
=
gtpv1u_create_ngu_tunnel
(
getCxtE1
(
instance
)
->
gtpInstN3
,
&
create_tunnel_req
,
&
create_tunnel_resp
,
nr_pdcp_data_req_drb
,
sdap_data_req
);
&
create_tunnel_req
,
&
create_tunnel_resp
,
nr_pdcp_data_req_drb
,
sdap_data_req
);
if
(
ret
!=
0
)
{
LOG_E
(
NR_RRC
,
"rrc_gNB_process_NGAP_PDUSESSION_SETUP_REQ : gtpv1u_create_ngu_tunnel failed,start to release UE rnti %ld
\n
"
,
create_tunnel_req
.
ue_id
);
create_tunnel_req
.
ue_id
);
return
ret
;
}
...
...
@@ -154,17 +154,18 @@ int drb_config_gtpu_create(const protocol_ctxt_t *const ctxt_p,
LOG_D
(
NR_RRC
,
"Configuring PDCP DRBs for UE %x
\n
"
,
UE
->
rnti
);
nr_pdcp_add_drbs
(
ctxt_p
->
enb_flag
,
ctxt_p
->
rntiMaybeUEid
,
0
,
DRB_configList
,
(
UE
->
integrity_algorithm
<<
4
)
|
UE
->
ciphering_algorithm
,
kUPenc
,
kUPint
,
rlc_bearer2add_list
);
ctxt_p
->
rntiMaybeUEid
,
0
,
DRB_configList
,
(
UE
->
integrity_algorithm
<<
4
)
|
UE
->
ciphering_algorithm
,
kUPenc
,
kUPint
,
get_softmodem_params
()
->
sa
?
UE
->
masterCellGroup
->
rlc_BearerToAddModList
:
NULL
);
return
ret
;
}
/*
static NR_SRB_ToAddModList_t **generateSRB2_confList(gNB_RRC_UE_t *ue, NR_SRB_ToAddModList_t *SRB_configList, uint8_t xid)
{
NR_SRB_ToAddModList_t **SRB_configList2 = NULL;
...
...
@@ -180,10 +181,12 @@ static NR_SRB_ToAddModList_t **generateSRB2_confList(gNB_RRC_UE_t *ue, NR_SRB_To
return SRB_configList2;
}
*/
static
void
cucp_cuup_bearer_context_setup_direct
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
,
uint8_t
xid
)
{
/*
rrc_gNB_ue_context_t *ue_context_p = rrc_gNB_get_ue_context_by_rnti(RC.nrrrc[instance], req->rnti);
gNB_RRC_UE_t *UE = &ue_context_p->ue_context;
...
...
@@ -202,6 +205,31 @@ void cucp_cuup_bearer_context_setup_direct(e1ap_bearer_setup_req_t *const req, i
assert(UE->DRB_configList->list.count == UE->masterCellGroup->rlc_BearerToAddModList->list.count);
}
*/
rrc_gNB_ue_context_t
*
ue_context_p
=
rrc_gNB_get_ue_context_by_rnti
(
RC
.
nrrrc
[
instance
],
req
->
rnti
);
gNB_RRC_UE_t
*
UE
=
&
ue_context_p
->
ue_context
;
protocol_ctxt_t
ctxt
=
{
0
};
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
0
,
GNB_FLAG_YES
,
UE
->
rnti
,
0
,
0
,
0
);
fill_DRB_configList
(
&
ctxt
,
ue_context_p
,
xid
);
e1ap_bearer_setup_resp_t
resp
=
{
0
};
resp
.
numPDUSessions
=
req
->
numPDUSessions
;
for
(
int
i
=
0
;
i
<
resp
.
numPDUSessions
;
++
i
)
{
resp
.
pduSession
[
i
].
numDRBSetup
=
req
->
pduSession
[
i
].
numDRB2Setup
;
for
(
int
j
=
0
;
j
<
req
->
pduSession
[
i
].
numDRB2Setup
;
j
++
)
{
DRB_nGRAN_to_setup_t
*
req_drb
=
req
->
pduSession
[
i
].
DRBnGRanList
+
j
;
DRB_nGRAN_setup_t
*
resp_drb
=
resp
.
pduSession
[
i
].
DRBnGRanList
+
j
;
resp_drb
->
id
=
req_drb
->
id
;
resp_drb
->
numQosFlowSetup
=
req_drb
->
numQosFlow2Setup
;
for
(
int
k
=
0
;
k
<
resp_drb
->
numQosFlowSetup
;
k
++
)
resp_drb
->
qosFlows
[
k
].
id
=
req_drb
->
qosFlows
[
k
].
id
;
}
}
gNB_RRC_INST
*
rrc
=
RC
.
nrrrc
[
ctxt
.
module_id
];
// GTP tunnel for UL
int
ret
=
drb_config_gtpu_create
(
&
ctxt
,
ue_context_p
,
req
,
UE
->
DRB_configList
,
rrc
->
e1_inst
);
...
...
openair2/SDAP/nr_sdap/nr_sdap_entity.c
View file @
dd124b72
...
...
@@ -86,6 +86,11 @@ static int get_single_ue_rnti(void)
return
ue
->
rnti
;
}
#ifdef MIR_FLAG
//static_assert(0!=0, "Compiled");
static
pthread_once_t
once_bearer
=
PTHREAD_ONCE_INIT
;
// Forward declaration. Forget my sins.
...
...
@@ -108,6 +113,7 @@ void create_bearer(void)
rrc_gNB_trigger_new_bearer
(
rnti
);
}
#endif
static
bool
nr_sdap_tx_entity
(
nr_sdap_entity_t
*
entity
,
protocol_ctxt_t
*
ctxt_p
,
...
...
@@ -146,6 +152,7 @@ static bool nr_sdap_tx_entity(nr_sdap_entity_t *entity,
if
(
!
pdcp_ent_has_sdap
){
LOG_D
(
SDAP
,
"TX - DRB ID: %ld does not have SDAP
\n
"
,
entity
->
qfi2drb_table
[
qfi
].
drb_id
);
#ifdef MIR_FLAG
// mir
// Naive L4/L3 packet classifier
struct
iphdr
*
hdr
=
(
struct
iphdr
*
)
sdu_buffer
;
...
...
@@ -160,6 +167,7 @@ static bool nr_sdap_tx_entity(nr_sdap_entity_t *entity,
sdap_drb_id
+=
1
;
//cnt%2;
//cnt++;
}
#endif
ret
=
nr_pdcp_data_req_drb
(
ctxt_p
,
srb_flag
,
...
...
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