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
42d9ab50
Commit
42d9ab50
authored
Sep 26, 2022
by
Manu Agrawal
Browse files
Options
Browse Files
Download
Plain Diff
5G Enquire Timing Changes
parents
2a2769c0
9a7d4426
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
771 additions
and
1 deletion
+771
-1
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+2
-0
common/utils/ocp_itti/intertask_interface.h
common/utils/ocp_itti/intertask_interface.h
+2
-0
executables/nr-gnb.c
executables/nr-gnb.c
+1
-0
executables/nr-softmodem.c
executables/nr-softmodem.c
+17
-1
openair2/COMMON/ss_messages_def.h
openair2/COMMON/ss_messages_def.h
+5
-0
openair2/COMMON/ss_messages_types.h
openair2/COMMON/ss_messages_types.h
+21
-0
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+1
-0
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+18
-0
openair3/SS/ss_gNB_port_man_task.c
openair3/SS/ss_gNB_port_man_task.c
+344
-0
openair3/SS/ss_gNB_port_man_task.h
openair3/SS/ss_gNB_port_man_task.h
+7
-0
openair3/SS/ss_gNB_sys_task.c
openair3/SS/ss_gNB_sys_task.c
+324
-0
openair3/SS/ss_gNB_sys_task.h
openair3/SS/ss_gNB_sys_task.h
+26
-0
targets/ARCH/SS/ss_config.h
targets/ARCH/SS/ss_config.h
+3
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
42d9ab50
...
...
@@ -2083,6 +2083,8 @@ set(SS_SRC
${
OPENAIR3_DIR
}
/SS/ss_eNB_drb_task.c
${
OPENAIR3_DIR
}
/SS/ss_eNB_vt_timer_task.c
${
OPENAIR3_DIR
}
/SS/ss_gNB_srb_task.c
${
OPENAIR3_DIR
}
/SS/ss_gNB_port_man_task.c
${
OPENAIR3_DIR
}
/SS/ss_gNB_sys_task.c
)
file
(
GLOB ss_sidl
${
SIDL_CMPLR
}
/src/*.c
)
file
(
GLOB ss_acp
${
SIDL_DIR
}
/acp/src/*.c
)
...
...
common/utils/ocp_itti/intertask_interface.h
View file @
42d9ab50
...
...
@@ -327,7 +327,9 @@ void *rrc_enb_process_msg(void *);
TASK_DEF(TASK_M3AP_MCE, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SCTP, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_PORTMAN, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_PORTMAN_GNB, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SYS, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SYS_GNB, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_SYSIND, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_SYSIND_ACP, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_SRB, TASK_PRIORITY_MED, 200, NULL, NULL) \
...
...
executables/nr-gnb.c
View file @
42d9ab50
...
...
@@ -244,6 +244,7 @@ void rx_func(void *param) {
gNB
->
if_inst
->
NR_UL_indication
(
&
gNB
->
UL_INFO
);
pthread_mutex_unlock
(
&
gNB
->
UL_INFO_mutex
);
stop_meas
(
&
gNB
->
ul_indication_stats
);
if
(
tx_slot_type
==
NR_DOWNLINK_SLOT
||
tx_slot_type
==
NR_MIXED_SLOT
)
{
notifiedFIFO_elt_t
*
res
;
...
...
executables/nr-softmodem.c
View file @
42d9ab50
...
...
@@ -80,6 +80,8 @@ unsigned short config_frames[4] = {2,9,11,13};
#include "gnb_paramdef.h"
#include <openair3/ocp-gtpu/gtp_itf.h>
#include "nfapi/oai_integration/vendor_ext.h"
#include "ss_gNB_sys_task.h"
#include "ss_gNB_port_man_task.h"
#include "ss_gNB_srb_task.h"
pthread_cond_t
nfapi_sync_cond
;
...
...
@@ -352,12 +354,26 @@ int create_gNB_tasks(uint32_t gnb_nb) {
LOG_E
(
GNB_APP
,
"Create task for gNB APP failed
\n
"
);
return
-
1
;
}
if
(
RC
.
ss
.
mode
>=
SS_SOFTMODEM
)
{
if
(
itti_create_task
(
TASK_SS_PORTMAN_GNB
,
ss_gNB_port_man_task
,
NULL
)
<
0
)
{
LOG_E
(
GNB_APP
,
"Create task for SS Port manager GNB failed
\n
"
);
return
-
1
;
}
/* This sleep is for gNB_app_task to load the RRC configuration */
usleep
(
1000
);
if
(
itti_create_task
(
TASK_SYS_GNB
,
ss_gNB_sys_task
,
NULL
)
<
0
)
{
LOG_E
(
GNB_APP
,
"Create task for SS GNB failed
\n
"
);
return
-
1
;
}
}
if
(
itti_create_task
(
TASK_SS_SRB
,
ss_gNB_srb_task
,
NULL
)
<
0
)
{
LOG_E
(
SCTP
,
"Create task for SS SRB failed
\n
"
);
return
-
1
;
}
LOG_I
(
NR_RRC
,
"Creating NR RRC gNB Task
\n
"
);
if
(
itti_create_task
(
TASK_RRC_GNB
,
rrc_gnb_task
,
NULL
)
<
0
)
{
...
...
openair2/COMMON/ss_messages_def.h
View file @
42d9ab50
...
...
@@ -21,15 +21,20 @@
MESSAGE_DEF
(
SS_GET_TIM_INFO
,
MESSAGE_PRIORITY_MED
,
ss_get_timinfo_t
,
ss_get_timinfo
)
MESSAGE_DEF
(
SS_SET_TIM_INFO
,
MESSAGE_PRIORITY_MED
,
ss_set_timinfo_t
,
ss_set_timinfo
)
MESSAGE_DEF
(
SS_NRSET_TIM_INFO
,
MESSAGE_PRIORITY_MED
,
ss_nrset_timinfo_t
,
ss_nrset_timinfo
)
MESSAGE_DEF
(
SS_RRC_PDU_REQ
,
MESSAGE_PRIORITY_MED
,
ss_rrc_pdu_req_t
,
ss_rrc_pdu_req
)
MESSAGE_DEF
(
SS_RRC_PDU_IND
,
MESSAGE_PRIORITY_MED
,
ss_rrc_pdu_ind_t
,
ss_rrc_pdu_ind
)
MESSAGE_DEF
(
SS_DRB_PDU_REQ
,
MESSAGE_PRIORITY_MED
,
ss_drb_pdu_req_t
,
ss_drb_pdu_req
)
MESSAGE_DEF
(
SS_DRB_PDU_IND
,
MESSAGE_PRIORITY_MED
,
ss_drb_pdu_ind_t
,
ss_drb_pdu_ind
)
MESSAGE_DEF
(
SS_UPD_TIM_INFO
,
MESSAGE_PRIORITY_MED
,
ss_upd_timinfo_t
,
ss_upd_timinfo
)
MESSAGE_DEF
(
SS_NRUPD_TIM_INFO
,
MESSAGE_PRIORITY_MED
,
ss_nrupd_timinfo_t
,
ss_nrupd_timinfo
)
MESSAGE_DEF
(
SS_SYS_PORT_MSG_IND
,
MESSAGE_PRIORITY_MED
,
ss_sys_port_msg_ind_t
,
ss_sys_port_msg_ind
)
MESSAGE_DEF
(
SS_SYS_PORT_MSG_CNF
,
MESSAGE_PRIORITY_MED
,
ss_sys_port_msg_cnf_t
,
ss_sys_port_msg_cnf
)
MESSAGE_DEF
(
SS_NR_SYS_PORT_MSG_IND
,
MESSAGE_PRIORITY_MED
,
ss_nr_sys_port_msg_ind_t
,
ss_nr_sys_port_msg_ind
)
MESSAGE_DEF
(
SS_NR_SYS_PORT_MSG_CNF
,
MESSAGE_PRIORITY_MED
,
ss_nr_sys_port_msg_cnf_t
,
ss_nr_sys_port_msg_cnf
)
MESSAGE_DEF
(
SS_GET_PDCP_CNT
,
MESSAGE_PRIORITY_MED
,
ss_get_pdcp_cnt_t
,
ss_get_pdcp_cnt
)
MESSAGE_DEF
(
SS_SET_PDCP_CNT
,
MESSAGE_PRIORITY_MED
,
ss_set_pdcp_cnt_t
,
ss_set_pdcp_cnt
)
MESSAGE_DEF
(
SS_REQ_PDCP_CNT
,
MESSAGE_PRIORITY_MED
,
ss_req_pdcp_cnt_t
,
ss_req_pdcp_cnt
)
...
...
openair2/COMMON/ss_messages_types.h
View file @
42d9ab50
...
...
@@ -25,9 +25,14 @@
#define SS_SYS_PORT_MSG_IND(mSGpTR) (mSGpTR)->ittiMsg.ss_sys_port_msg_ind
#define SS_SYS_PORT_MSG_CNF(mSGpTR) (mSGpTR)->ittiMsg.ss_sys_port_msg_cnf
#define SS_NR_SYS_PORT_MSG_IND(mSGpTR) (mSGpTR)->ittiMsg.ss_nr_sys_port_msg_ind
#define SS_NR_SYS_PORT_MSG_CNF(mSGpTR) (mSGpTR)->ittiMsg.ss_nr_sys_port_msg_cnf
#define SS_GET_TIM_INFO(mSGpTR) (mSGpTR)->ittiMsg.ss_get_timinfo
#define SS_SET_TIM_INFO(mSGpTR) (mSGpTR)->ittiMsg.ss_set_timinfo
#define SS_NRSET_TIM_INFO(mSGpTR) (mSGpTR)->ittiMsg.ss_nrset_timinfo
#define SS_UPD_TIM_INFO(mSGpTR) (mSGpTR)->ittiMsg.ss_upd_timinfo
#define SS_NRUPD_TIM_INFO(mSGpTR) (mSGpTR)->ittiMsg.ss_nrupd_timinfo
#define SS_CELL_ATTN_LIST_IND(mSGpTR) (mSGpTR)->ittiMsg.ss_cell_attn_list_ind
#define SS_CELL_ATTN_LIST_CNF(mSGpTR) (mSGpTR)->ittiMsg.ss_cell_attn_list_cnf
...
...
@@ -75,6 +80,15 @@ typedef struct ss_sys_port_msg_cnf {
struct
SYSTEM_CTRL_CNF
*
cnf
;
}
ss_sys_port_msg_cnf_t
;
typedef
struct
ss_nr_sys_port_msg_ind
{
struct
NR_SYSTEM_CTRL_REQ
*
req
;
int
userId
;
}
ss_nr_sys_port_msg_ind_t
;
typedef
struct
ss_nr_sys_port_msg_cnf
{
struct
NR_SYSTEM_CTRL_CNF
*
cnf
;
}
ss_nr_sys_port_msg_cnf_t
;
/** SYS */
typedef
struct
ss_set_timinfo_s
{
uint16_t
sfn
;
...
...
@@ -83,6 +97,13 @@ typedef struct ss_set_timinfo_s {
typedef
ss_set_timinfo_t
ss_upd_timinfo_t
;
typedef
struct
ss_nrset_timinfo_s
{
uint16_t
sfn
;
uint32_t
slot
;
}
ss_nrset_timinfo_t
;
typedef
ss_nrset_timinfo_t
ss_nrupd_timinfo_t
;
typedef
struct
ss_get_timinfo_s
{
uint8_t
EnquireTiming
;
}
ss_get_timinfo_t
;
...
...
openair2/GNB_APP/gnb_config.c
View file @
42d9ab50
...
...
@@ -732,6 +732,7 @@ void RCconfig_nr_ssparam(void) {
RC
.
ss
.
Srbport
=
*
(
SSConfig_ParamList
.
paramarray
[
0
][
GNB_CONFIG_SS_SRBPORT_IDX
].
iptr
);
RC
.
ss
.
Vngport
=
*
(
SSConfig_ParamList
.
paramarray
[
0
][
GNB_CONFIG_SS_VNGPORT_IDX
].
iptr
);
RC
.
ss
.
mode
=
*
(
SSConfig_ParamList
.
paramarray
[
0
][
GNB_CONFIG_SS_MODE_IDX
].
iptr
);
RC
.
ss
.
SysportNR
=
*
(
SSConfig_ParamList
.
paramarray
[
0
][
GNB_CONFIG_SS_SYSPORT_IDX
].
iptr
);
}
LOG_A
(
GNB_APP
,
"SS_Config:SSMode %d, hostIp=%s, Sysport=%d, Srbport=%d Vngport=%d
\n
"
,
RC
.
ss
.
mode
,
RC
.
ss
.
hostIp
,
RC
.
ss
.
Sysport
,
RC
.
ss
.
Srbport
,
RC
.
ss
.
Vngport
);
...
...
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
42d9ab50
...
...
@@ -389,6 +389,24 @@ void NR_UL_indication(NR_UL_IND_t *UL_info) {
gnb_rx_ind_queue
.
num_items
,
gnb_crc_ind_queue
.
num_items
);
if
(
RC
.
ss
.
mode
>=
SS_SOFTMODEM
)
{
MessageDef
*
message_p
=
itti_alloc_new_message
(
TASK_SYS_GNB
,
INSTANCE_DEFAULT
,
SS_NRUPD_TIM_INFO
);
if
(
message_p
)
{
SS_NRUPD_TIM_INFO
(
message_p
).
slot
=
UL_info
->
slot
;
SS_NRUPD_TIM_INFO
(
message_p
).
sfn
=
UL_info
->
frame
;
int
send_res
=
itti_send_msg_to_task
(
TASK_SYS_GNB
,
INSTANCE_DEFAULT
,
message_p
);
if
(
send_res
<
0
)
{
LOG_E
(
NR_PHY
,
"[SS] Error in L1_Thread itti_send_msg_to_task"
);
}
LOG_D
(
NR_PHY
,
"[SS] SS_NRUPD_TIM_INFO from L1_Thread to SYS task itti_send_msg_to_task sfn %d slot %d"
,
UL_info
->
frame
,
UL_info
->
slot
);
}
}
nfapi_nr_rach_indication_t
*
rach_ind
=
NULL
;
nfapi_nr_uci_indication_t
*
uci_ind
=
NULL
;
nfapi_nr_rx_data_indication_t
*
rx_ind
=
NULL
;
...
...
openair3/SS/ss_gNB_port_man_task.c
0 → 100644
View file @
42d9ab50
This diff is collapsed.
Click to expand it.
openair3/SS/ss_gNB_port_man_task.h
0 → 100644
View file @
42d9ab50
#ifndef SS_GNB_TASK_PORT_MAN_H_
#define SS_GNB_TASK_PORT_MAN_H_
void
ss_gNB_port_man_init
(
void
);
void
*
ss_gNB_port_man_task
(
void
*
arg
);
#endif
/* SS_ENB_TASK_PORT_MAN_H_ */
openair3/SS/ss_gNB_sys_task.c
0 → 100644
View file @
42d9ab50
This diff is collapsed.
Click to expand it.
openair3/SS/ss_gNB_sys_task.h
0 → 100644
View file @
42d9ab50
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#ifndef SS_GNB_TASK_H_
#define SS_GNB_TASK_H_
// void ss_eNB_init(void);
void
*
ss_gNB_sys_process_itti_msg
(
void
*
);
void
*
ss_gNB_sys_task
(
void
*
arg
);
enum
Proxy_Msg_Id
{
Cell_Attenuation_Req
=
1
,
Cell_Attenuation_Cnf
=
2
,
Cell_Config_Req
=
3
,
Cell_Config_Cnf
=
4
,
Max_Msg_Id
=
5
};
typedef
struct
udpSockReq_s
{
uint32_t
port
;
char
*
address
;
}
udpSockReq_t
;
#endif
/* SS_ENB_TASK_H_ */
targets/ARCH/SS/ss_config.h
View file @
42d9ab50
...
...
@@ -61,6 +61,9 @@ typedef struct ss_config_s {
int
SysIndport
;
/** DRB port number */
int
Drbport
;
/** SYS Port NR number */
int
SysportNR
;
uint8_t
configured
;
/** State info */
int
State
;
int
vtp_ready
;
...
...
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