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
lizhongxiao
OpenXG-RAN
Commits
9546166e
Commit
9546166e
authored
Oct 05, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create files to handle E1AP messages at CU-UP
parent
70ddc0e7
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
191 additions
and
7 deletions
+191
-7
CMakeLists.txt
CMakeLists.txt
+4
-0
executables/nr-cuup.c
executables/nr-cuup.c
+1
-1
executables/nr-softmodem.c
executables/nr-softmodem.c
+1
-1
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+1
-1
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/main.c
openair2/LAYER2/NR_MAC_gNB/main.c
+1
-1
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c
+22
-0
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.h
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.h
+29
-0
openair2/LAYER2/nr_pdcp/cuup_cucp_direct.c
openair2/LAYER2/nr_pdcp/cuup_cucp_direct.c
+27
-0
openair2/LAYER2/nr_pdcp/cuup_cucp_e1ap.c
openair2/LAYER2/nr_pdcp/cuup_cucp_e1ap.c
+27
-0
openair2/LAYER2/nr_pdcp/cuup_cucp_if.c
openair2/LAYER2/nr_pdcp/cuup_cucp_if.c
+37
-0
openair2/LAYER2/nr_pdcp/cuup_cucp_if.h
openair2/LAYER2/nr_pdcp/cuup_cucp_if.h
+36
-0
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+3
-1
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h
+1
-1
No files found.
CMakeLists.txt
View file @
9546166e
...
...
@@ -1216,6 +1216,10 @@ set(NR_PDCP_SRC
${
OPENAIR2_DIR
}
/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c
${
OPENAIR2_DIR
}
/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c
${
OPENAIR2_DIR
}
/LAYER2/nr_pdcp/asn1_utils.c
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c
openair2/LAYER2/nr_pdcp/cuup_cucp_if.c
openair2/LAYER2/nr_pdcp/cuup_cucp_direct.c
openair2/LAYER2/nr_pdcp/cuup_cucp_e1ap.c
)
set
(
NR_SDAP_SRC
...
...
executables/nr-cuup.c
View file @
9546166e
...
...
@@ -134,7 +134,7 @@ int main(int argc, char **argv)
AssertFatal
(
rc
>=
0
,
"Create task for GTPV1U failed
\n
"
);
rc
=
itti_create_task
(
TASK_CUUP_E1
,
E1AP_CUUP_task
,
NULL
);
AssertFatal
(
rc
>=
0
,
"Create task for CUUP E1 failed
\n
"
);
nr_pdcp_layer_init
();
nr_pdcp_layer_init
(
true
);
cu_init_f1_ue_data
();
// for CU-UP/CP mapping: we use the same
MessageDef
*
msg
=
RCconfig_NR_CU_E1
(
true
);
AssertFatal
(
msg
!=
NULL
,
"Send init to task for E1AP UP failed
\n
"
);
...
...
executables/nr-softmodem.c
View file @
9546166e
...
...
@@ -566,7 +566,7 @@ void init_pdcp(void) {
LINK_ENB_PDCP_TO_GTPV1U_BIT
;
if
(
!
NODE_IS_DU
(
get_node_type
()))
{
nr_pdcp_layer_init
();
nr_pdcp_layer_init
(
get_node_type
()
==
ngran_gNB_CUCP
);
nr_pdcp_module_init
(
pdcp_initmask
,
0
);
}
}
...
...
executables/nr-uesoftmodem.c
View file @
9546166e
...
...
@@ -380,7 +380,7 @@ static void init_pdcp(int ue_id) {
if
(
get_softmodem_params
()
->
nsa
&&
rlc_module_init
(
0
)
!=
0
)
{
LOG_I
(
RLC
,
"Problem at RLC initiation
\n
"
);
}
nr_pdcp_layer_init
();
nr_pdcp_layer_init
(
false
);
nr_pdcp_module_init
(
pdcp_initmask
,
ue_id
);
pdcp_set_rlc_data_req_func
((
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
((
pdcp_data_ind_func_t
)
pdcp_data_ind
);
...
...
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
View file @
9546166e
...
...
@@ -96,7 +96,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) {
fill_nr_noS1_bearer_config
(
&
rbconfig
,
&
rlc_rbconfig
);
// set up PDCP, RLC, MAC
nr_pdcp_layer_init
();
nr_pdcp_layer_init
(
false
);
nr_pdcp_add_drbs
(
ENB_FLAG_NO
,
nr_ue_mac_inst
->
crnti
,
rbconfig
->
drb_ToAddModList
,
0
,
NULL
,
NULL
);
nr_rlc_add_drb
(
nr_ue_mac_inst
->
crnti
,
rbconfig
->
drb_ToAddModList
->
list
.
array
[
0
]
->
drb_Identity
,
rlc_rbconfig
);
struct
NR_CellGroupConfig__rlc_BearerToAddModList
rlc_toadd_list
;
...
...
openair2/LAYER2/NR_MAC_gNB/main.c
View file @
9546166e
...
...
@@ -271,7 +271,7 @@ void mac_top_init_gNB(ngran_node_t node_type,
AssertFatal
(
rlc_module_init
(
1
)
==
0
,
"Could not initialize RLC layer
\n
"
);
// These should be out of here later
if
(
get_softmodem_params
()
->
usim_test
==
0
)
nr_pdcp_layer_init
();
if
(
get_softmodem_params
()
->
usim_test
==
0
)
nr_pdcp_layer_init
(
false
);
if
(
IS_SOFTMODEM_NOS1
&&
get_softmodem_params
()
->
phy_test
)
{
// get default noS1 configuration
...
...
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c
0 → 100644
View file @
9546166e
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "cucp_cuup_handler.h"
openair2/LAYER2/nr_pdcp/cucp_cuup_handler.h
0 → 100644
View file @
9546166e
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#ifndef CUCP_CUUP_HANDLER_H
#define CUCP_CUUP_HANDLER_H
#include <stdbool.h>
void
nr_pdcp_e1_if_init
(
bool
uses_e1
);
#endif
/* CUCP_CUUP_HANDLER_H */
openair2/LAYER2/nr_pdcp/cuup_cucp_direct.c
0 → 100644
View file @
9546166e
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "cuup_cucp_if.h"
void
cuup_cucp_init_direct
(
e1_if_t
*
iface
)
{
(
void
)
iface
;
}
openair2/LAYER2/nr_pdcp/cuup_cucp_e1ap.c
0 → 100644
View file @
9546166e
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "cuup_cucp_if.h"
void
cuup_cucp_init_e1ap
(
e1_if_t
*
iface
)
{
(
void
)
iface
;
}
openair2/LAYER2/nr_pdcp/cuup_cucp_if.c
0 → 100644
View file @
9546166e
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "cuup_cucp_if.h"
static
e1_if_t
e1_if
;
e1_if_t
*
get_e1_if
(
void
)
{
return
&
e1_if
;
}
void
nr_pdcp_e1_if_init
(
bool
uses_e1
)
{
if
(
uses_e1
)
cuup_cucp_init_e1ap
(
&
e1_if
);
else
cuup_cucp_init_direct
(
&
e1_if
);
}
openair2/LAYER2/nr_pdcp/cuup_cucp_if.h
0 → 100644
View file @
9546166e
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#ifndef CUUP_CUCP_IF_H
#define CUUP_CUCP_IF_H
#include <stdbool.h>
typedef
struct
e1_if_t
{
}
e1_if_t
;
e1_if_t
*
get_e1_if
(
void
);
void
nr_pdcp_e1_if_init
(
bool
uses_e1
);
void
cuup_cucp_init_direct
(
e1_if_t
*
iface
);
void
cuup_cucp_init_e1ap
(
e1_if_t
*
iface
);
#endif
/* CUUP_CUCP_IF_H */
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
9546166e
...
...
@@ -42,6 +42,7 @@
#include "nr_pdcp_e1_api.h"
#include "gnb_config.h"
#include "executables/softmodem-common.h"
#include "cuup_cucp_if.h"
#define TODO do { \
printf("%s:%d:%s: todo\n", __FILE__, __LINE__, __FUNCTION__); \
...
...
@@ -538,7 +539,7 @@ void pdcp_layer_init(void)
abort
();
}
void
nr_pdcp_layer_init
(
void
)
void
nr_pdcp_layer_init
(
bool
uses_e1
)
{
/* hack: be sure to initialize only once */
static
pthread_mutex_t
m
=
PTHREAD_MUTEX_INITIALIZER
;
...
...
@@ -559,6 +560,7 @@ void nr_pdcp_layer_init(void)
init_nr_rlc_data_req_queue
();
}
nr_pdcp_e1_if_init
(
uses_e1
);
init_nr_pdcp_data_ind_queue
();
nr_pdcp_init_timer_thread
(
nr_pdcp_ue_manager
);
}
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h
View file @
9546166e
...
...
@@ -25,7 +25,7 @@
#include "pdcp.h"
#include "nr_pdcp_ue_manager.h"
void
nr_pdcp_layer_init
(
void
);
void
nr_pdcp_layer_init
(
bool
uses_e1
);
uint64_t
nr_pdcp_module_init
(
uint64_t
_pdcp_optmask
,
int
id
);
void
du_rlc_data_req
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
...
...
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