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
7e8fb445
Commit
7e8fb445
authored
Apr 17, 2023
by
Swetank Srivastava
Committed by
Vijay C
May 23, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TC passed with intermittent success
parent
841d00d5
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
486 additions
and
436 deletions
+486
-436
common/utils/LOG/log.c
common/utils/LOG/log.c
+11
-0
common/utils/LOG/log.h
common/utils/LOG/log.h
+11
-0
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+22
-0
openair3/SS/ss_eNB_drb_task.c
openair3/SS/ss_eNB_drb_task.c
+31
-31
openair3/SS/ss_eNB_port_man_task.c
openair3/SS/ss_eNB_port_man_task.c
+50
-45
openair3/SS/ss_eNB_srb_task.c
openair3/SS/ss_eNB_srb_task.c
+29
-29
openair3/SS/ss_eNB_sys_task.c
openair3/SS/ss_eNB_sys_task.c
+247
-245
openair3/SS/ss_eNB_sysind_task.c
openair3/SS/ss_eNB_sysind_task.c
+18
-18
openair3/SS/ss_eNB_vng_task.c
openair3/SS/ss_eNB_vng_task.c
+20
-20
openair3/SS/ss_eNB_vt_timer_task.c
openair3/SS/ss_eNB_vt_timer_task.c
+15
-15
openair3/SS/ss_eNB_vtp_task.c
openair3/SS/ss_eNB_vtp_task.c
+32
-33
No files found.
common/utils/LOG/log.c
View file @
7e8fb445
...
@@ -471,6 +471,17 @@ int logInit (void)
...
@@ -471,6 +471,17 @@ int logInit (void)
register_log_component
(
"mRAL"
,
""
,
RAL_UE
);
register_log_component
(
"mRAL"
,
""
,
RAL_UE
);
register_log_component
(
"ENB_APP"
,
"log"
,
ENB_APP
);
register_log_component
(
"ENB_APP"
,
"log"
,
ENB_APP
);
register_log_component
(
"ENB_SS"
,
"log"
,
ENB_SS
);
register_log_component
(
"ENB_SS"
,
"log"
,
ENB_SS
);
register_log_component
(
"ENB_SS_PORTMAN"
,
"log"
,
ENB_SS_PORTMAN
);
register_log_component
(
"ENB_SS_SYS_TASK"
,
"log"
,
ENB_SS_SYS_TASK
);
register_log_component
(
"ENB_SS_SRB_ACP"
,
"log"
,
ENB_SS_SRB_ACP
);
register_log_component
(
"ENB_SS_SYSIND"
,
"log"
,
ENB_SS_SYSIND
);
register_log_component
(
"ENB_SS_SYSIND_ACP"
,
"log"
,
ENB_SS_SYSIND_ACP
);
register_log_component
(
"ENB_SS_SRB"
,
"log"
,
ENB_SS_SRB
);
register_log_component
(
"ENB_SS_DRB"
,
"log"
,
ENB_SS_DRB
);
register_log_component
(
"ENB_SS_DRB_ACP"
,
"log"
,
ENB_SS_DRB_ACP
);
register_log_component
(
"ENB_SS_VNG"
,
"log"
,
ENB_SS_VNG
);
register_log_component
(
"ENB_SS_VTP"
,
"log"
,
ENB_SS_VTP
);
register_log_component
(
"ENB_SS_VT_TIMER"
,
"log"
,
ENB_SS_VT_TIMER
);
register_log_component
(
"MCE_APP"
,
"log"
,
MCE_APP
);
register_log_component
(
"MCE_APP"
,
"log"
,
MCE_APP
);
register_log_component
(
"MME_APP"
,
"log"
,
MME_APP
);
register_log_component
(
"MME_APP"
,
"log"
,
MME_APP
);
register_log_component
(
"FLEXRAN_AGENT"
,
"log"
,
FLEXRAN_AGENT
);
register_log_component
(
"FLEXRAN_AGENT"
,
"log"
,
FLEXRAN_AGENT
);
...
...
common/utils/LOG/log.h
View file @
7e8fb445
...
@@ -230,6 +230,17 @@ typedef enum {
...
@@ -230,6 +230,17 @@ typedef enum {
RAL_UE
,
RAL_UE
,
ENB_APP
,
ENB_APP
,
ENB_SS
,
ENB_SS
,
ENB_SS_PORTMAN
,
ENB_SS_SYS_TASK
,
ENB_SS_SRB_ACP
,
ENB_SS_SYSIND
,
ENB_SS_SYSIND_ACP
,
ENB_SS_SRB
,
ENB_SS_DRB
,
ENB_SS_DRB_ACP
,
ENB_SS_VNG
,
ENB_SS_VTP
,
ENB_SS_VT_TIMER
,
MCE_APP
,
MCE_APP
,
MME_APP
,
MME_APP
,
FLEXRAN_AGENT
,
FLEXRAN_AGENT
,
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
7e8fb445
...
@@ -5163,6 +5163,28 @@ harq_indication(module_id_t mod_idP,
...
@@ -5163,6 +5163,28 @@ harq_indication(module_id_t mod_idP,
channel
);
channel
);
}
}
if
(
IndCtrlMode_ENABLE
==
RC
.
ss
.
l1macind
[
CC_idP
].
UL_HARQ_Ctrl
)
{
int
i
;
LOG_I
(
MAC
,
"HARQ number_of_ack_nack=%d
\n
"
,
harq_pdu
->
harq_indication_fdd_rel13
.
number_of_ack_nack
);
for
(
i
=
0
;
i
<
harq_pdu
->
harq_indication_fdd_rel13
.
number_of_ack_nack
;
i
++
)
{
LOG_I
(
MAC
,
"HARQ index %d ACK/NACK %d
\n
"
,
i
,
harq_pdu
->
harq_indication_fdd_rel13
.
harq_tb_n
[
i
]);
// Populate and send the SS_SYSTEM_IND to System Simulator
MessageDef
*
m
=
itti_alloc_new_message
(
TASK_MAC_ENB
,
0
,
SS_SYSTEM_IND
);
SS_SYSTEM_IND
(
m
).
physCellId
=
RC
.
mac
[
mod_idP
]
->
common_channels
[
CC_idP
].
physCellId
;
SS_SYSTEM_IND
(
m
).
sysind_type
=
SysInd_Type_UL_HARQ
;
SS_SYSTEM_IND
(
m
).
sfn
=
frameP
;
SS_SYSTEM_IND
(
m
).
sf
=
subframeP
;
SS_SYSTEM_IND
(
m
).
UL_Harq
=
harq_pdu
->
harq_indication_fdd_rel13
.
harq_tb_n
[
i
];
itti_send_msg_to_task
(
TASK_SS_SYSIND
,
0
,
m
);
LOG_A
(
MAC
,
"MAC Sending SS_SYSTEM_IND with Type %d and UL_Harq %d to System Simulator frame %d Subframe %d
\n
"
,
SS_SYSTEM_IND
(
m
).
sysind_type
,
SS_SYSTEM_IND
(
m
).
UL_Harq
,
frameP
,
subframeP
);
}
}
/* don't care about cqi reporting if NACK/DTX is there */
/* don't care about cqi reporting if NACK/DTX is there */
if
(
channel
==
0
&&
!
nack_or_dtx_reported
(
cc
,
if
(
channel
==
0
&&
!
nack_or_dtx_reported
(
cc
,
harq_pdu
))
{
harq_pdu
))
{
...
...
openair3/SS/ss_eNB_drb_task.c
View file @
7e8fb445
This diff is collapsed.
Click to expand it.
openair3/SS/ss_eNB_port_man_task.c
View file @
7e8fb445
This diff is collapsed.
Click to expand it.
openair3/SS/ss_eNB_srb_task.c
View file @
7e8fb445
...
@@ -100,7 +100,7 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind,int cell_index)
...
@@ -100,7 +100,7 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind,int cell_index)
LTE_UL_DCCH_Message_t
*
ul_dcch_msg
=
NULL
;
LTE_UL_DCCH_Message_t
*
ul_dcch_msg
=
NULL
;
LTE_UL_CCCH_Message_t
*
ul_ccch_msg
=
NULL
;
LTE_UL_CCCH_Message_t
*
ul_ccch_msg
=
NULL
;
LOG_A
(
ENB_SS
,
"[SS_SRB] Reported rrc sdu_size:%d
\t
srb_id %d rnti %d
\n
"
,
pdu_ind
->
sdu_size
,
pdu_ind
->
srb_id
,
pdu_ind
->
rnti
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB] Reported rrc sdu_size:%d
\t
srb_id %d rnti %d
\n
"
,
pdu_ind
->
sdu_size
,
pdu_ind
->
srb_id
,
pdu_ind
->
rnti
);
DevAssert
(
pdu_ind
!=
NULL
);
DevAssert
(
pdu_ind
!=
NULL
);
DevAssert
(
pdu_ind
->
sdu_size
>=
0
);
DevAssert
(
pdu_ind
->
sdu_size
>=
0
);
DevAssert
(
pdu_ind
->
srb_id
>=
0
);
DevAssert
(
pdu_ind
->
srb_id
>=
0
);
...
@@ -179,22 +179,22 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind,int cell_index)
...
@@ -179,22 +179,22 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind,int cell_index)
*/
*/
if
(
acpSysSrbProcessToSSEncSrv
(
ctx_srb_g
,
buffer
,
&
msgSize
,
&
ind
)
!=
0
)
if
(
acpSysSrbProcessToSSEncSrv
(
ctx_srb_g
,
buffer
,
&
msgSize
,
&
ind
)
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_IND] acpSysSrbProcessToSSEncSrv Failure
\n
"
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB][EUTRA_RRC_PDU_IND] acpSysSrbProcessToSSEncSrv Failure
\n
"
);
return
;
return
;
}
}
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_IND] Buffer msgSize=%d (!!2) to EUTRACell %d"
,
(
int
)
msgSize
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB][EUTRA_RRC_PDU_IND] Buffer msgSize=%d (!!2) to EUTRACell %d"
,
(
int
)
msgSize
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
);
/* Send message
/* Send message
*/
*/
status
=
acpSendMsg
(
ctx_srb_g
,
msgSize
,
buffer
);
status
=
acpSendMsg
(
ctx_srb_g
,
msgSize
,
buffer
);
if
(
status
!=
0
)
if
(
status
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_IND] acpSendMsg failed. Error : %d on fd: %d
\n
"
,
status
,
acpGetSocketFd
(
ctx_srb_g
));
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB][EUTRA_RRC_PDU_IND] acpSendMsg failed. Error : %d on fd: %d
\n
"
,
status
,
acpGetSocketFd
(
ctx_srb_g
));
return
;
return
;
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_IND] acpSendMsg Success
\n
"
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB][EUTRA_RRC_PDU_IND] acpSendMsg Success
\n
"
);
}
}
}
}
...
@@ -251,7 +251,7 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
...
@@ -251,7 +251,7 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
LOG_P
(
OAILOG_DEBUG
,
"DL_DCCH_Message"
,
lttng_sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
);
LOG_P
(
OAILOG_DEBUG
,
"DL_DCCH_Message"
,
lttng_sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
);
}
}
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] sending to TASK_RRC_ENB: {srb: %d, ch: %s, qty: %d rnti %d}
\n
"
,
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] sending to TASK_RRC_ENB: {srb: %d, ch: %s, qty: %d rnti %d}
\n
"
,
SS_RRC_PDU_REQ
(
message_p
).
srb_id
,
SS_RRC_PDU_REQ
(
message_p
).
srb_id
,
req
->
RrcPdu
.
d
==
RRC_MSG_Request_Type_Ccch
?
"CCCH"
:
"DCCH"
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
,
rnti_g
);
req
->
RrcPdu
.
d
==
RRC_MSG_Request_Type_Ccch
?
"CCCH"
:
"DCCH"
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
,
rnti_g
);
...
@@ -266,8 +266,8 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
...
@@ -266,8 +266,8 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
tinfo
.
sf
=
req
->
Common
.
TimingInfo
.
v
.
SubFrame
.
Subframe
.
v
.
Number
;
tinfo
.
sf
=
req
->
Common
.
TimingInfo
.
v
.
SubFrame
.
Subframe
.
v
.
Number
;
timer_tinfo
=
tinfo
;
timer_tinfo
=
tinfo
;
msg_queued
=
msg_can_be_queued
(
tinfo
,
&
timer_tinfo
);
msg_queued
=
msg_can_be_queued
(
tinfo
,
&
timer_tinfo
);
LOG_I
(
ENB_SS
,
"msg_queued:%d
\n
"
,
msg_queued
);
LOG_I
(
ENB_SS
_SRB_ACP
,
"msg_queued:%d
\n
"
,
msg_queued
);
LOG_A
(
ENB_SS
,
"VT_TIMER SRB task received MSG for future SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"VT_TIMER SRB task received MSG for future SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
if
(
msg_queued
)
if
(
msg_queued
)
{
{
...
@@ -281,10 +281,10 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
...
@@ -281,10 +281,10 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
timer_tinfo
.
sf
--
;
timer_tinfo
.
sf
--
;
msg_queued
=
vt_timer_setup
(
timer_tinfo
,
TASK_RRC_ENB
,
instance_g
,
message_p
);
msg_queued
=
vt_timer_setup
(
timer_tinfo
,
TASK_RRC_ENB
,
instance_g
,
message_p
);
LOG_A
(
ENB_SS
,
"RRC_PDU Queued as the scheduled SFN is %d SF: %d and curr SFN %d , SF %d"
,
LOG_A
(
ENB_SS
_SRB_ACP
,
"RRC_PDU Queued as the scheduled SFN is %d SF: %d and curr SFN %d , SF %d"
,
tinfo
.
sfn
,
tinfo
.
sf
,
SS_context
.
sfn
,
SS_context
.
sf
);
tinfo
.
sfn
,
tinfo
.
sf
,
SS_context
.
sfn
,
SS_context
.
sf
);
}
}
LOG_I
(
ENB_SS
,
"msg_queued2:%d
\n
"
,
msg_queued
);
LOG_I
(
ENB_SS
_SRB_ACP
,
"msg_queued2:%d
\n
"
,
msg_queued
);
}
}
if
(
!
msg_queued
)
if
(
!
msg_queued
)
...
@@ -292,10 +292,10 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
...
@@ -292,10 +292,10 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
int
send_res
=
itti_send_msg_to_task
(
TASK_RRC_ENB
,
instance_g
,
message_p
);
int
send_res
=
itti_send_msg_to_task
(
TASK_RRC_ENB
,
instance_g
,
message_p
);
if
(
send_res
<
0
)
if
(
send_res
<
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB] Error in itti_send_msg_to_task"
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] Error in itti_send_msg_to_task"
);
}
}
LOG_A
(
ENB_SS
,
"Send res: %d"
,
send_res
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"Send res: %d"
,
send_res
);
}
}
}
}
}
}
...
@@ -319,7 +319,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
...
@@ -319,7 +319,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
while
(
1
)
while
(
1
)
{
{
int
userId
=
acpRecvMsg
(
ctx
,
&
msgSize
,
buffer
);
int
userId
=
acpRecvMsg
(
ctx
,
&
msgSize
,
buffer
);
LOG_A
(
ENB_SS
,
"[SS_SRB] Received msgSize=%d, userId=%d
\n
"
,
(
int
)
msgSize
,
userId
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] Received msgSize=%d, userId=%d
\n
"
,
(
int
)
msgSize
,
userId
);
// Error handling
// Error handling
if
(
userId
<
0
)
if
(
userId
<
0
)
...
@@ -346,7 +346,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
...
@@ -346,7 +346,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB] Invalid userId: %d
\n
"
,
userId
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] Invalid userId: %d
\n
"
,
userId
);
break
;
break
;
}
}
}
}
...
@@ -361,17 +361,17 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
...
@@ -361,17 +361,17 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
else
if
(
MSG_SysSrbProcessFromSS_userId
==
userId
)
else
if
(
MSG_SysSrbProcessFromSS_userId
==
userId
)
{
{
struct
EUTRA_RRC_PDU_REQ
*
req
=
NULL
;
struct
EUTRA_RRC_PDU_REQ
*
req
=
NULL
;
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] EUTRA_RRC_PDU_REQ Received
\n
"
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] EUTRA_RRC_PDU_REQ Received
\n
"
);
// Got the message
// Got the message
if
(
acpSysSrbProcessFromSSDecSrv
(
ctx
,
buffer
,
msgSize
,
&
req
)
!=
0
)
if
(
acpSysSrbProcessFromSSDecSrv
(
ctx
,
buffer
,
msgSize
,
&
req
)
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] acpSysSrbProcessFromSSDecSrv Failed
\n
"
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] acpSysSrbProcessFromSSDecSrv Failed
\n
"
);
break
;
break
;
}
}
if
(
req
->
Common
.
CellId
){
if
(
req
->
Common
.
CellId
){
cell_index
=
get_cell_index
(
req
->
Common
.
CellId
,
SS_context
.
SSCell_list
);
cell_index
=
get_cell_index
(
req
->
Common
.
CellId
,
SS_context
.
SSCell_list
);
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
=
req
->
Common
.
CellId
;
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
=
req
->
Common
.
CellId
;
LOG_A
(
ENB_SS
,
"[SS_SRB] cell_index: %d eutra_cellId: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] cell_index: %d eutra_cellId: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
}
}
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
>=
SS_STATE_CELL_ACTIVE
)
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
>=
SS_STATE_CELL_ACTIVE
)
{
{
...
@@ -379,7 +379,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
...
@@ -379,7 +379,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"ERROR [SS_SRB][EUTRA_RRC_PDU_REQ] received in SS state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"ERROR [SS_SRB][EUTRA_RRC_PDU_REQ] received in SS state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
}
}
acpSysSrbProcessFromSSFreeSrv
(
req
);
acpSysSrbProcessFromSSFreeSrv
(
req
);
...
@@ -387,7 +387,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
...
@@ -387,7 +387,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
}
}
else
if
(
MSG_SysSrbProcessToSS_userId
==
userId
)
else
if
(
MSG_SysSrbProcessToSS_userId
==
userId
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_IND] EUTRA_RRC_PDU_IND Received; ignoring
\n
"
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB][EUTRA_RRC_PDU_IND] EUTRA_RRC_PDU_IND Received; ignoring
\n
"
);
break
;
break
;
}
}
}
}
...
@@ -405,7 +405,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
...
@@ -405,7 +405,7 @@ ss_eNB_read_from_srb_socket(acpCtx_t ctx)
void
ss_eNB_srb_init
(
void
)
void
ss_eNB_srb_init
(
void
)
{
{
IpAddress_t
ipaddr
;
IpAddress_t
ipaddr
;
LOG_A
(
ENB_SS
,
"[SS_SRB] Starting System Simulator SRB Thread
\n
"
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] Starting System Simulator SRB Thread
\n
"
);
const
char
*
hostIp
;
const
char
*
hostIp
;
hostIp
=
RC
.
ss
.
hostIp
;
hostIp
=
RC
.
ss
.
hostIp
;
...
@@ -429,11 +429,11 @@ void ss_eNB_srb_init(void)
...
@@ -429,11 +429,11 @@ void ss_eNB_srb_init(void)
int
ret
=
acpServerInitWithCtx
(
ipaddr
,
port
,
msgTable
,
aSize
,
&
ctx_srb_g
);
int
ret
=
acpServerInitWithCtx
(
ipaddr
,
port
,
msgTable
,
aSize
,
&
ctx_srb_g
);
if
(
ret
<
0
)
if
(
ret
<
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB] Connection failure err=%d
\n
"
,
ret
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] Connection failure err=%d
\n
"
,
ret
);
return
;
return
;
}
}
int
fd1
=
acpGetSocketFd
(
ctx_srb_g
);
int
fd1
=
acpGetSocketFd
(
ctx_srb_g
);
LOG_A
(
ENB_SS
,
"[SS_SRB] Connection performed : %d
\n
"
,
fd1
);
LOG_A
(
ENB_SS
_SRB_ACP
,
"[SS_SRB] Connection performed : %d
\n
"
,
fd1
);
buffer
=
(
unsigned
char
*
)
acpMalloc
(
size
);
buffer
=
(
unsigned
char
*
)
acpMalloc
(
size
);
assert
(
buffer
);
assert
(
buffer
);
...
@@ -471,16 +471,16 @@ void *ss_eNB_srb_process_itti_msg(void *notUsed)
...
@@ -471,16 +471,16 @@ void *ss_eNB_srb_process_itti_msg(void *notUsed)
task_id_t
origin_task
=
ITTI_MSG_ORIGIN_ID
(
received_msg
);
task_id_t
origin_task
=
ITTI_MSG_ORIGIN_ID
(
received_msg
);
if
(
received_msg
->
ittiMsg
.
ss_rrc_pdu_ind
.
physCellId
){
if
(
received_msg
->
ittiMsg
.
ss_rrc_pdu_ind
.
physCellId
){
cell_index
=
get_cell_index_pci
(
received_msg
->
ittiMsg
.
ss_rrc_pdu_ind
.
physCellId
,
SS_context
.
SSCell_list
);
cell_index
=
get_cell_index_pci
(
received_msg
->
ittiMsg
.
ss_rrc_pdu_ind
.
physCellId
,
SS_context
.
SSCell_list
);
LOG_A
(
ENB_SS
,
"[SS_SRB] cell_index in SS_RRC_PDU_IND: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB] cell_index in SS_RRC_PDU_IND: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
}
}
if
(
origin_task
==
TASK_SS_PORTMAN
)
if
(
origin_task
==
TASK_SS_PORTMAN
)
{
{
LOG_D
(
ENB_
APP
,
"[SS_SRB] DUMMY WAKEUP receviedfrom PORTMAN state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
LOG_D
(
ENB_
SS_SRB
,
"[SS_SRB] DUMMY WAKEUP receviedfrom PORTMAN state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS_SRB] Received SS_RRC_PDU_IND from RRC
\n
"
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB] Received SS_RRC_PDU_IND from RRC
\n
"
);
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
>=
SS_STATE_CELL_ACTIVE
)
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
>=
SS_STATE_CELL_ACTIVE
)
{
{
instance_g
=
ITTI_MSG_DESTINATION_INSTANCE
(
received_msg
);
instance_g
=
ITTI_MSG_DESTINATION_INSTANCE
(
received_msg
);
...
@@ -488,7 +488,7 @@ void *ss_eNB_srb_process_itti_msg(void *notUsed)
...
@@ -488,7 +488,7 @@ void *ss_eNB_srb_process_itti_msg(void *notUsed)
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"ERROR [SS_SRB][EUTRA_RRC_PDU_IND] received in SS state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
LOG_A
(
ENB_SS
_SRB
,
"ERROR [SS_SRB][EUTRA_RRC_PDU_IND] received in SS state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
}
}
}
}
...
@@ -499,12 +499,12 @@ void *ss_eNB_srb_process_itti_msg(void *notUsed)
...
@@ -499,12 +499,12 @@ void *ss_eNB_srb_process_itti_msg(void *notUsed)
break
;
break
;
case
TERMINATE_MESSAGE
:
case
TERMINATE_MESSAGE
:
LOG_A
(
ENB_SS
,
"[SS_SRB] Received TERMINATE_MESSAGE
\n
"
);
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB] Received TERMINATE_MESSAGE
\n
"
);
itti_exit_task
();
itti_exit_task
();
break
;
break
;
default:
default:
LOG_A
(
ENB_SS
,
"[SS_SRB] Received unhandled message %d:%s
\n
"
,
LOG_A
(
ENB_SS
_SRB
,
"[SS_SRB] Received unhandled message %d:%s
\n
"
,
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
break
;
break
;
}
}
...
@@ -525,7 +525,7 @@ void *ss_eNB_srb_task(void *arg)
...
@@ -525,7 +525,7 @@ void *ss_eNB_srb_task(void *arg)
{
{
while
(
1
)
while
(
1
)
{
{
//LOG_A(ENB_SS,"[SS_SRB] Inside ss_eNB_srb_task \n");
//LOG_A(ENB_SS
_SRB_ACP
,"[SS_SRB] Inside ss_eNB_srb_task \n");
(
void
)
ss_eNB_srb_process_itti_msg
(
NULL
);
(
void
)
ss_eNB_srb_process_itti_msg
(
NULL
);
}
}
//acpFree(buffer);
//acpFree(buffer);
...
...
openair3/SS/ss_eNB_sys_task.c
View file @
7e8fb445
This diff is collapsed.
Click to expand it.
openair3/SS/ss_eNB_sysind_task.c
View file @
7e8fb445
...
@@ -108,7 +108,7 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
...
@@ -108,7 +108,7 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
ind
.
Common
.
RlcBearerRouting
.
v
.
d
=
RlcBearerRouting_Type_EUTRA
;
ind
.
Common
.
RlcBearerRouting
.
v
.
d
=
RlcBearerRouting_Type_EUTRA
;
ind
.
Common
.
RlcBearerRouting
.
v
.
v
.
EUTRA
=
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
;
ind
.
Common
.
RlcBearerRouting
.
v
.
v
.
EUTRA
=
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
;
LOG_A
(
ENB_SS
,
"[SS_SYSIND][SYSTEM_IND] Frame: %d, Subframe: %d, RAPID: %d, PRTPower: %d, BitMask: %d
\n
"
,
p_ind
->
sfn
,
p_ind
->
sf
,
p_ind
->
ra_PreambleIndex
,
p_ind
->
prtPower_Type
,
p_ind
->
bitmask
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND][SYSTEM_IND] Frame: %d, Subframe: %d, RAPID: %d, PRTPower: %d, BitMask: %d
\n
"
,
p_ind
->
sfn
,
p_ind
->
sf
,
p_ind
->
ra_PreambleIndex
,
p_ind
->
prtPower_Type
,
p_ind
->
bitmask
);
/* Populate and Send the SYSTEM_IND to Client */
/* Populate and Send the SYSTEM_IND to Client */
ind
.
Indication
.
d
=
SystemIndication_Type_RachPreamble
;
ind
.
Indication
.
d
=
SystemIndication_Type_RachPreamble
;
...
@@ -121,7 +121,7 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
...
@@ -121,7 +121,7 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
}
}
if
(
SysInd_Type_UL_HARQ
==
p_ind
->
sysind_type
)
if
(
SysInd_Type_UL_HARQ
==
p_ind
->
sysind_type
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND] SYSTEM_IND with UL HARQ %d
\n
"
,
p_ind
->
UL_Harq
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND] SYSTEM_IND with UL HARQ %d
\n
"
,
p_ind
->
UL_Harq
);
ind
.
Indication
.
d
=
SystemIndication_Type_UL_HARQ
;
ind
.
Indication
.
d
=
SystemIndication_Type_UL_HARQ
;
if
(
p_ind
->
UL_Harq
)
if
(
p_ind
->
UL_Harq
)
{
{
...
@@ -134,7 +134,7 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
...
@@ -134,7 +134,7 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
}
}
else
if
(
SysInd_Type_HarqError
==
p_ind
->
sysind_type
)
else
if
(
SysInd_Type_HarqError
==
p_ind
->
sysind_type
)
{
{
LOG_A
(
ENB_SS
,
"SYSTEM_IND with HarqError
\n
"
);
LOG_A
(
ENB_SS
_SYSIND
,
"SYSTEM_IND with HarqError
\n
"
);
ind
.
Indication
.
d
=
SystemIndication_Type_HarqError
;
ind
.
Indication
.
d
=
SystemIndication_Type_HarqError
;
if
(
p_ind
->
HarqError
.
bIsUL
)
if
(
p_ind
->
HarqError
.
bIsUL
)
{
{
...
@@ -153,21 +153,21 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
...
@@ -153,21 +153,21 @@ static void ss_send_sysind_data(ss_system_ind_t *p_ind,int cell_index)
/* Encode message */
/* Encode message */
if
(
acpSysIndProcessToSSEncSrv
(
ctx_sysind_g
,
buffer
,
&
msgSize
,
&
ind
)
!=
0
)
if
(
acpSysIndProcessToSSEncSrv
(
ctx_sysind_g
,
buffer
,
&
msgSize
,
&
ind
)
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND][SYSTEM_IND] acpSysIndProcessToSSEncSrv Failure
\n
"
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND][SYSTEM_IND] acpSysIndProcessToSSEncSrv Failure
\n
"
);
return
;
return
;
}
}
LOG_A
(
ENB_SS
,
"[SS_SYSIND][SYSTEM_IND] Buffer msgSize=%d (!!2) to EUTRACell %d
\n
"
,
(
int
)
msgSize
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND][SYSTEM_IND] Buffer msgSize=%d (!!2) to EUTRACell %d
\n
"
,
(
int
)
msgSize
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
);
/* Send message */
/* Send message */
status
=
acpSendMsg
(
ctx_sysind_g
,
msgSize
,
buffer
);
status
=
acpSendMsg
(
ctx_sysind_g
,
msgSize
,
buffer
);
if
(
status
!=
0
)
if
(
status
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND][SYSTEM_IND] acpSendMsg failed. Error : %d on fd: %d
\n
"
,
status
,
acpGetSocketFd
(
ctx_sysind_g
));
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND][SYSTEM_IND] acpSendMsg failed. Error : %d on fd: %d
\n
"
,
status
,
acpGetSocketFd
(
ctx_sysind_g
));
return
;
return
;
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND][SYSTEM_IND] acpSendMsg Success
\n
"
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND][SYSTEM_IND] acpSendMsg Success
\n
"
);
}
}
}
}
...
@@ -190,7 +190,7 @@ ss_eNB_read_from_sysind_socket(acpCtx_t ctx)
...
@@ -190,7 +190,7 @@ ss_eNB_read_from_sysind_socket(acpCtx_t ctx)
while
(
1
)
while
(
1
)
{
{
int
userId
=
acpRecvMsg
(
ctx
,
&
msgSize
,
buffer
);
int
userId
=
acpRecvMsg
(
ctx
,
&
msgSize
,
buffer
);
LOG_D
(
ENB_SS
,
"[SS_SYSIND] Received msgSize=%d, userId=%d
\n
"
,
(
int
)
msgSize
,
userId
);
LOG_D
(
ENB_SS
_SYSIND_ACP
,
"[SS_SYSIND] Received msgSize=%d, userId=%d
\n
"
,
(
int
)
msgSize
,
userId
);
// Error handling
// Error handling
if
(
userId
<
0
)
if
(
userId
<
0
)
...
@@ -218,7 +218,7 @@ ss_eNB_read_from_sysind_socket(acpCtx_t ctx)
...
@@ -218,7 +218,7 @@ ss_eNB_read_from_sysind_socket(acpCtx_t ctx)
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Invalid userId: %d
\n
"
,
userId
);
LOG_A
(
ENB_SS
_SYSIND_ACP
,
"[SS_SYSIND] Invalid userId: %d
\n
"
,
userId
);
break
;
break
;
}
}
}
}
...
@@ -245,7 +245,7 @@ ss_eNB_read_from_sysind_socket(acpCtx_t ctx)
...
@@ -245,7 +245,7 @@ ss_eNB_read_from_sysind_socket(acpCtx_t ctx)
void
ss_eNB_sysind_init
(
void
)
void
ss_eNB_sysind_init
(
void
)
{
{
IpAddress_t
ipaddr
;
IpAddress_t
ipaddr
;
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Starting System Simulator SYSIND Thread
\n
"
);
LOG_A
(
ENB_SS
_SYSIND_ACP
,
"[SS_SYSIND] Starting System Simulator SYSIND Thread
\n
"
);
const
char
*
hostIp
;
const
char
*
hostIp
;
hostIp
=
RC
.
ss
.
hostIp
;
hostIp
=
RC
.
ss
.
hostIp
;
acpConvertIp
(
hostIp
,
&
ipaddr
);
acpConvertIp
(
hostIp
,
&
ipaddr
);
...
@@ -266,11 +266,11 @@ void ss_eNB_sysind_init(void)
...
@@ -266,11 +266,11 @@ void ss_eNB_sysind_init(void)
int
ret
=
acpServerInitWithCtx
(
ipaddr
,
port
,
msgTable
,
aSize
,
&
ctx_sysind_g
);
int
ret
=
acpServerInitWithCtx
(
ipaddr
,
port
,
msgTable
,
aSize
,
&
ctx_sysind_g
);
if
(
ret
<
0
)
if
(
ret
<
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Connection failure err=%d
\n
"
,
ret
);
LOG_A
(
ENB_SS
_SYSIND_ACP
,
"[SS_SYSIND] Connection failure err=%d
\n
"
,
ret
);
return
;
return
;
}
}
int
fd1
=
acpGetSocketFd
(
ctx_sysind_g
);
int
fd1
=
acpGetSocketFd
(
ctx_sysind_g
);
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Connection performed : %d
\n
"
,
fd1
);
LOG_A
(
ENB_SS
_SYSIND_ACP
,
"[SS_SYSIND] Connection performed : %d
\n
"
,
fd1
);
buffer
=
(
unsigned
char
*
)
acpMalloc
(
size
);
buffer
=
(
unsigned
char
*
)
acpMalloc
(
size
);
assert
(
buffer
);
assert
(
buffer
);
...
@@ -307,17 +307,17 @@ void *ss_eNB_sysind_process_itti_msg(void *notUsed)
...
@@ -307,17 +307,17 @@ void *ss_eNB_sysind_process_itti_msg(void *notUsed)
int
cell_index
=
0
;
int
cell_index
=
0
;
if
(
received_msg
->
ittiMsg
.
ss_system_ind
.
physCellId
){
if
(
received_msg
->
ittiMsg
.
ss_system_ind
.
physCellId
){
cell_index
=
get_cell_index_pci
(
received_msg
->
ittiMsg
.
ss_system_ind
.
physCellId
,
SS_context
.
SSCell_list
);
cell_index
=
get_cell_index_pci
(
received_msg
->
ittiMsg
.
ss_system_ind
.
physCellId
,
SS_context
.
SSCell_list
);
LOG_A
(
ENB_SS
,
"[SS_SYSIND] cell_index in SS_SYSTEM_IND: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND] cell_index in SS_SYSTEM_IND: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
}
}
task_id_t
origin_task
=
ITTI_MSG_ORIGIN_ID
(
received_msg
);
task_id_t
origin_task
=
ITTI_MSG_ORIGIN_ID
(
received_msg
);
if
(
origin_task
==
TASK_SS_PORTMAN
)
if
(
origin_task
==
TASK_SS_PORTMAN
)
{
{
LOG_D
(
ENB_
APP
,
"[SS_SYSIND] DUMMY WAKEUP receviedfrom PORTMAN state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
LOG_D
(
ENB_
SS_SYSIND
,
"[SS_SYSIND] DUMMY WAKEUP receviedfrom PORTMAN state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Received SS_SYSTEM_IND
\n
"
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND] Received SS_SYSTEM_IND
\n
"
);
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
>=
SS_STATE_CELL_CONFIGURED
)
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
>=
SS_STATE_CELL_CONFIGURED
)
{
{
instance_g
=
ITTI_MSG_DESTINATION_INSTANCE
(
received_msg
);
instance_g
=
ITTI_MSG_DESTINATION_INSTANCE
(
received_msg
);
...
@@ -325,7 +325,7 @@ void *ss_eNB_sysind_process_itti_msg(void *notUsed)
...
@@ -325,7 +325,7 @@ void *ss_eNB_sysind_process_itti_msg(void *notUsed)
}
}
else
else
{
{
LOG_E
(
ENB_SS
,
"[SS_SYSIND][SS_SYSTEM_IND] received in SS state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
LOG_E
(
ENB_SS
_SYSIND
,
"[SS_SYSIND][SS_SYSTEM_IND] received in SS state %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
}
}
}
}
result
=
itti_free
(
ITTI_MSG_ORIGIN_ID
(
received_msg
),
received_msg
);
result
=
itti_free
(
ITTI_MSG_ORIGIN_ID
(
received_msg
),
received_msg
);
...
@@ -334,12 +334,12 @@ void *ss_eNB_sysind_process_itti_msg(void *notUsed)
...
@@ -334,12 +334,12 @@ void *ss_eNB_sysind_process_itti_msg(void *notUsed)
break
;
break
;
case
TERMINATE_MESSAGE
:
case
TERMINATE_MESSAGE
:
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Received TERMINATE_MESSAGE
\n
"
);
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND] Received TERMINATE_MESSAGE
\n
"
);
itti_exit_task
();
itti_exit_task
();
break
;
break
;
default:
default:
LOG_A
(
ENB_SS
,
"[SS_SYSIND] Received unhandled message %d:%s
\n
"
,
LOG_A
(
ENB_SS
_SYSIND
,
"[SS_SYSIND] Received unhandled message %d:%s
\n
"
,
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
break
;
break
;
}
}
...
...
openair3/SS/ss_eNB_vng_task.c
View file @
7e8fb445
...
@@ -72,7 +72,7 @@ void ss_vng_send_cnf(uint8_t status, EUTRA_CellId_Type CellId)
...
@@ -72,7 +72,7 @@ void ss_vng_send_cnf(uint8_t status, EUTRA_CellId_Type CellId)
cnf
.
Common
.
Result
.
v
.
Error
=
1
;
/** TODO: A dummy value */
cnf
.
Common
.
Result
.
v
.
Error
=
1
;
/** TODO: A dummy value */
cnf
.
Confirm
=
false
;
cnf
.
Confirm
=
false
;
}
}
LOG_A
(
ENB_SS
,
"[VNG] VNG CNF received cellId %d result %d
\n
"
,
LOG_A
(
ENB_SS
_VNG
,
"[VNG] VNG CNF received cellId %d result %d
\n
"
,
cnf
.
Common
.
CellId
,
cnf
.
Common
.
Result
.
d
);
cnf
.
Common
.
CellId
,
cnf
.
Common
.
Result
.
d
);
/* Encode message
/* Encode message
...
@@ -87,14 +87,14 @@ void ss_vng_send_cnf(uint8_t status, EUTRA_CellId_Type CellId)
...
@@ -87,14 +87,14 @@ void ss_vng_send_cnf(uint8_t status, EUTRA_CellId_Type CellId)
status
=
acpSendMsg
(
ctx_vng_g
,
msgSize
,
buffer
);
status
=
acpSendMsg
(
ctx_vng_g
,
msgSize
,
buffer
);
if
(
status
!=
0
)
if
(
status
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[VNG] acpSendMsg failed. Error : %d on fd: %d
\n
"
,
LOG_A
(
ENB_SS
_VNG
,
"[VNG] acpSendMsg failed. Error : %d on fd: %d
\n
"
,
status
,
acpGetSocketFd
(
ctx_vng_g
));
status
,
acpGetSocketFd
(
ctx_vng_g
));
acpFree
(
buffer
);
acpFree
(
buffer
);
return
;
return
;
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[VNG] acpSendMsg Success
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[VNG] acpSendMsg Success
\n
"
);
}
}
// Free allocated buffer
// Free allocated buffer
acpFree
(
buffer
);
acpFree
(
buffer
);
...
@@ -124,11 +124,11 @@ vng_ss_configure_cell (EUTRA_CellId_Type CellId, Dl_Bandwidth_Type Bandwidth,
...
@@ -124,11 +124,11 @@ vng_ss_configure_cell (EUTRA_CellId_Type CellId, Dl_Bandwidth_Type Bandwidth,
int
res
=
itti_send_msg_to_task
(
TASK_SYS
,
0
,
message_p
);
int
res
=
itti_send_msg_to_task
(
TASK_SYS
,
0
,
message_p
);
if
(
res
<
0
)
if
(
res
<
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS-VNG] Error in itti_send_msg_to_task
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Error in itti_send_msg_to_task
\n
"
);
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS-VNG] Send ITTI message to %s
\n
"
,
ITTI_MSG_DESTINATION_NAME
(
message_p
));
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Send ITTI message to %s
\n
"
,
ITTI_MSG_DESTINATION_NAME
(
message_p
));
}
}
}
}
...
@@ -156,7 +156,7 @@ ss_eNB_read_from_vng_socket(acpCtx_t ctx)
...
@@ -156,7 +156,7 @@ ss_eNB_read_from_vng_socket(acpCtx_t ctx)
while
(
1
)
while
(
1
)
{
{
int
userId
=
acpRecvMsg
(
ctx
,
&
msgSize
,
buffer
);
int
userId
=
acpRecvMsg
(
ctx
,
&
msgSize
,
buffer
);
LOG_A
(
ENB_SS
,
"[SS-VNG] Received msgSize=%d, userId=%d
\n
"
,
(
int
)
msgSize
,
userId
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Received msgSize=%d, userId=%d
\n
"
,
(
int
)
msgSize
,
userId
);
// Error handling
// Error handling
if
(
userId
<
0
)
if
(
userId
<
0
)
...
@@ -181,7 +181,7 @@ ss_eNB_read_from_vng_socket(acpCtx_t ctx)
...
@@ -181,7 +181,7 @@ ss_eNB_read_from_vng_socket(acpCtx_t ctx)
}
}
else
else
{
{
LOG_A
(
ENB_SS
,
"[SS-VNG] Invalid userId: %d
\n
"
,
userId
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Invalid userId: %d
\n
"
,
userId
);
break
;
break
;
}
}
}
}
...
@@ -194,45 +194,45 @@ ss_eNB_read_from_vng_socket(acpCtx_t ctx)
...
@@ -194,45 +194,45 @@ ss_eNB_read_from_vng_socket(acpCtx_t ctx)
else
if
(
userId
==
MSG_VngProcess_userId
)
else
if
(
userId
==
MSG_VngProcess_userId
)
{
{
int
cell_index
;
int
cell_index
;
LOG_A
(
ENB_SS
,
"[SS-VNG] Received VNG Control Request
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Received VNG Control Request
\n
"
);
if
(
acpVngProcessDecSrv
(
ctx
,
buffer
,
msgSize
,
&
req
)
!=
0
)
if
(
acpVngProcessDecSrv
(
ctx
,
buffer
,
msgSize
,
&
req
)
!=
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS-VNG] acpVngProcessDecSrv failed
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] acpVngProcessDecSrv failed
\n
"
);
break
;
break
;
}
}
if
(
req
->
Common
.
CellId
){
if
(
req
->
Common
.
CellId
){
cell_index
=
get_cell_index
(
req
->
Common
.
CellId
,
SS_context
.
SSCell_list
);
cell_index
=
get_cell_index
(
req
->
Common
.
CellId
,
SS_context
.
SSCell_list
);
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
=
req
->
Common
.
CellId
;
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
=
req
->
Common
.
CellId
;
LOG_A
(
ENB_SS
,
"[SS-VNG] cell_index: %d eutra_cellId: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] cell_index: %d eutra_cellId: %d PhysicalCellId: %d
\n
"
,
cell_index
,
SS_context
.
SSCell_list
[
cell_index
].
eutra_cellId
,
SS_context
.
SSCell_list
[
cell_index
].
PhysicalCellId
);
}
}
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
<
SS_STATE_CELL_ACTIVE
)
{
if
(
SS_context
.
SSCell_list
[
cell_index
].
State
<
SS_STATE_CELL_ACTIVE
)
{
LOG_A
(
ENB_SS
,
"[SS-VNG] Request received in an invalid state: %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Request received in an invalid state: %d
\n
"
,
SS_context
.
SSCell_list
[
cell_index
].
State
);
break
;
break
;
}
}
/** TODO: Dump message here */
/** TODO: Dump message here */
switch
(
req
->
Request
.
d
)
switch
(
req
->
Request
.
d
)
{
{
case
EUTRA_VngConfigRequest_Type_Configure
:
case
EUTRA_VngConfigRequest_Type_Configure
:
LOG_A
(
ENB_SS
,
"[SS-VNG] Received Configure request
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Received Configure request
\n
"
);
vng_ss_configure_cell
(
req
->
Common
.
CellId
,
req
->
Request
.
v
.
Configure
.
Bandwidth
,
vng_ss_configure_cell
(
req
->
Common
.
CellId
,
req
->
Request
.
v
.
Configure
.
Bandwidth
,
req
->
Request
.
v
.
Configure
.
NocLevel
,
(
VngProxyCmd_e
)
EUTRA_VngConfigRequest_Type_Configure
,
cell_index
);
req
->
Request
.
v
.
Configure
.
NocLevel
,
(
VngProxyCmd_e
)
EUTRA_VngConfigRequest_Type_Configure
,
cell_index
);
break
;
break
;
case
EUTRA_VngConfigRequest_Type_Activate
:
case
EUTRA_VngConfigRequest_Type_Activate
:
LOG_A
(
ENB_SS
,
"[SS-VNG] Received Activate request
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Received Activate request
\n
"
);
vng_ss_configure_cell
(
req
->
Common
.
CellId
,
(
0xFF
),
vng_ss_configure_cell
(
req
->
Common
.
CellId
,
(
0xFF
),
(
0xFFFF
),
(
VngProxyCmd_e
)
EUTRA_VngConfigRequest_Type_Activate
,
cell_index
);
(
0xFFFF
),
(
VngProxyCmd_e
)
EUTRA_VngConfigRequest_Type_Activate
,
cell_index
);
break
;
break
;
case
EUTRA_VngConfigRequest_Type_Deactivate
:
case
EUTRA_VngConfigRequest_Type_Deactivate
:
LOG_A
(
ENB_SS
,
"[SS-VNG] Received Deactivate request
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Received Deactivate request
\n
"
);
vng_ss_configure_cell
(
req
->
Common
.
CellId
,
(
0xFF
),
vng_ss_configure_cell
(
req
->
Common
.
CellId
,
(
0xFF
),
(
0xFFFF
),
(
VngProxyCmd_e
)
EUTRA_VngConfigRequest_Type_Deactivate
,
cell_index
);
(
0xFFFF
),
(
VngProxyCmd_e
)
EUTRA_VngConfigRequest_Type_Deactivate
,
cell_index
);
break
;
break
;
case
EUTRA_VngConfigRequest_Type_UNBOUND_VALUE
:
case
EUTRA_VngConfigRequest_Type_UNBOUND_VALUE
:
default:
default:
LOG_A
(
ENB_SS
,
"[SS-VNG] Received unhandled message in VNG Port
\n
"
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Received unhandled message in VNG Port
\n
"
);
}
}
if
(
req
->
Request
.
d
==
EUTRA_VngConfigRequest_Type_UNBOUND_VALUE
||
req
->
Request
.
d
>
EUTRA_VngConfigRequest_Type_Deactivate
)
if
(
req
->
Request
.
d
==
EUTRA_VngConfigRequest_Type_UNBOUND_VALUE
||
req
->
Request
.
d
>
EUTRA_VngConfigRequest_Type_Deactivate
)
...
@@ -265,7 +265,7 @@ void *ss_eNB_vng_process_itti_msg(void *notUsed)
...
@@ -265,7 +265,7 @@ void *ss_eNB_vng_process_itti_msg(void *notUsed)
{
{
case
SS_VNG_PROXY_RESP
:
case
SS_VNG_PROXY_RESP
:
{
{
LOG_A
(
ENB_SS
,
"[SS-VNG] Response receieved from %s CellId: %d Status: %d
\n
"
,
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Response receieved from %s CellId: %d Status: %d
\n
"
,
ITTI_MSG_ORIGIN_NAME
(
received_msg
),
SS_VNG_PROXY_RESP
(
received_msg
).
cell_id
,
ITTI_MSG_ORIGIN_NAME
(
received_msg
),
SS_VNG_PROXY_RESP
(
received_msg
).
cell_id
,
SS_VNG_PROXY_RESP
(
received_msg
).
status
);
SS_VNG_PROXY_RESP
(
received_msg
).
status
);
...
@@ -280,7 +280,7 @@ void *ss_eNB_vng_process_itti_msg(void *notUsed)
...
@@ -280,7 +280,7 @@ void *ss_eNB_vng_process_itti_msg(void *notUsed)
break
;
break
;
}
}
default:
default:
LOG_A
(
ENB_SS
,
"[VNG] Received unhandled message %d:%s
\n
"
,
LOG_A
(
ENB_SS
_VNG
,
"[VNG] Received unhandled message %d:%s
\n
"
,
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
}
}
result
=
itti_free
(
ITTI_MSG_ORIGIN_ID
(
received_msg
),
received_msg
);
result
=
itti_free
(
ITTI_MSG_ORIGIN_ID
(
received_msg
),
received_msg
);
...
@@ -313,7 +313,7 @@ void ss_eNB_vng_init(void)
...
@@ -313,7 +313,7 @@ void ss_eNB_vng_init(void)
// Port number
// Port number
int
port
=
RC
.
ss
.
Vngport
;
int
port
=
RC
.
ss
.
Vngport
;
LOG_A
(
ENB_SS
,
"[SS-VNG] Initializing VNG Port %s:%d
\n
"
,
hostIp
,
port
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Initializing VNG Port %s:%d
\n
"
,
hostIp
,
port
);
//acpInit(malloc, free, 1000);
//acpInit(malloc, free, 1000);
...
@@ -332,14 +332,14 @@ void ss_eNB_vng_init(void)
...
@@ -332,14 +332,14 @@ void ss_eNB_vng_init(void)
int
ret
=
acpServerInitWithCtx
(
ipaddr
,
port
,
msgTable
,
aSize
,
&
ctx_vng_g
);
int
ret
=
acpServerInitWithCtx
(
ipaddr
,
port
,
msgTable
,
aSize
,
&
ctx_vng_g
);
if
(
ret
<
0
)
if
(
ret
<
0
)
{
{
LOG_A
(
ENB_SS
,
"[SS-VNG] Connection failure err=%d
\n
"
,
ret
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Connection failure err=%d
\n
"
,
ret
);
return
;
return
;
}
}
#ifdef ACP_DEBUG_DUMP_MSGS
/** TODO: Need to verify */
#ifdef ACP_DEBUG_DUMP_MSGS
/** TODO: Need to verify */
adbgSetPrintLogFormat
(
ctx
,
true
);
adbgSetPrintLogFormat
(
ctx
,
true
);
#endif
#endif
int
fd1
=
acpGetSocketFd
(
ctx_vng_g
);
int
fd1
=
acpGetSocketFd
(
ctx_vng_g
);
LOG_A
(
ENB_SS
,
"[SS-VNG] Connected: %d
\n
"
,
fd1
);
LOG_A
(
ENB_SS
_VNG
,
"[SS-VNG] Connected: %d
\n
"
,
fd1
);
//itti_subscribe_event_fd(TASK_VNG, fd1);
//itti_subscribe_event_fd(TASK_VNG, fd1);
...
...
openair3/SS/ss_eNB_vt_timer_task.c
View file @
7e8fb445
...
@@ -70,13 +70,13 @@ uint8_t msg_can_be_queued(ss_set_timinfo_t req_tinfo, ss_set_timinfo_t *timer_ti
...
@@ -70,13 +70,13 @@ uint8_t msg_can_be_queued(ss_set_timinfo_t req_tinfo, ss_set_timinfo_t *timer_ti
curr_tinfo
.
sfn
=
SS_context
.
sfn
;
curr_tinfo
.
sfn
=
SS_context
.
sfn
;
curr_tinfo
.
sf
=
SS_context
.
sf
;
curr_tinfo
.
sf
=
SS_context
.
sf
;
LOG_A
(
ENB_
APP
,
"VT_TIMER Enter msg_can_be_queued for SFN %d , SF %d
\n
"
,
req_tinfo
.
sfn
,
req_tinfo
.
sf
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER Enter msg_can_be_queued for SFN %d , SF %d
\n
"
,
req_tinfo
.
sfn
,
req_tinfo
.
sf
);
/*It is nonsense to check req_tinfo is after curr_tinfo */
/*It is nonsense to check req_tinfo is after curr_tinfo */
if
(
req_tinfo
.
sfn
!=
curr_tinfo
.
sfn
||
((
req_tinfo
.
sfn
==
curr_tinfo
.
sfn
)
&&
(
req_tinfo
.
sf
-
curr_tinfo
.
sf
)
>
0
)
)
if
(
req_tinfo
.
sfn
!=
curr_tinfo
.
sfn
||
((
req_tinfo
.
sfn
==
curr_tinfo
.
sfn
)
&&
(
req_tinfo
.
sf
-
curr_tinfo
.
sf
)
>
0
)
)
{
{
vt_subtract_sf
(
&
timer_tinfo
->
sfn
,
&
timer_tinfo
->
sf
,
4
);
/* queued ahead of 4 subframes because of mac schedule 4 subframes ahead when processing */
vt_subtract_sf
(
&
timer_tinfo
->
sfn
,
&
timer_tinfo
->
sf
,
4
);
/* queued ahead of 4 subframes because of mac schedule 4 subframes ahead when processing */
LOG_A
(
ENB_
APP
,
"VT_TIMER MSG to be queued TRUE for SFN %d , SF %d
\n
"
,
timer_tinfo
->
sfn
,
timer_tinfo
->
sf
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER MSG to be queued TRUE for SFN %d , SF %d
\n
"
,
timer_tinfo
->
sfn
,
timer_tinfo
->
sf
);
return
true
;
return
true
;
}
}
...
@@ -89,22 +89,22 @@ uint8_t msg_can_be_queued(ss_set_timinfo_t req_tinfo, ss_set_timinfo_t *timer_ti
...
@@ -89,22 +89,22 @@ uint8_t msg_can_be_queued(ss_set_timinfo_t req_tinfo, ss_set_timinfo_t *timer_ti
*/
*/
uint8_t
vt_timer_setup
(
ss_set_timinfo_t
tinfo
,
task_id_t
task_id
,
instance_t
instance
,
void
*
msg
)
uint8_t
vt_timer_setup
(
ss_set_timinfo_t
tinfo
,
task_id_t
task_id
,
instance_t
instance
,
void
*
msg
)
{
{
LOG_A
(
ENB_
APP
,
"VT_TIMER setup1 for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER setup1 for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
uint32_t
sfnSfKey
=
(
tinfo
.
sfn
<<
4
)
|
tinfo
.
sf
;
uint32_t
sfnSfKey
=
(
tinfo
.
sfn
<<
4
)
|
tinfo
.
sf
;
vt_timer_elm_t
*
timer_ele_p
;
vt_timer_elm_t
*
timer_ele_p
;
timer_ele_p
=
calloc
(
1
,
sizeof
(
vt_timer_elm_t
));
timer_ele_p
=
calloc
(
1
,
sizeof
(
vt_timer_elm_t
));
timer_ele_p
->
instance
=
instance
;
timer_ele_p
->
instance
=
instance
;
timer_ele_p
->
task_id
=
task_id
;
timer_ele_p
->
task_id
=
task_id
;
timer_ele_p
->
msg
=
msg
;
timer_ele_p
->
msg
=
msg
;
LOG_A
(
ENB_
APP
,
"VT_TIMER setup2 for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER setup2 for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
if
(
hashtable_insert
(
SS_context
.
vt_timer_table
,
if
(
hashtable_insert
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
,
(
void
*
)
timer_ele_p
)
==
HASH_TABLE_OK
)
(
hash_key_t
)
sfnSfKey
,
(
void
*
)
timer_ele_p
)
==
HASH_TABLE_OK
)
{
{
LOG_A
(
ENB_
APP
,
"VT_TIMER setup for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER setup for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
return
1
;
return
1
;
}
}
LOG_A
(
ENB_
APP
,
"VT_TIMER not setup for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER not setup for SFN %d , SF %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
return
0
;
return
0
;
}
}
/*
/*
...
@@ -122,27 +122,27 @@ static inline void ss_vt_timer_check(ss_set_timinfo_t tinfo)
...
@@ -122,27 +122,27 @@ static inline void ss_vt_timer_check(ss_set_timinfo_t tinfo)
//printf("VT_TIMER foudn queued SFN %d , SF %d\n",tinfo.sfn,tinfo.sf);
//printf("VT_TIMER foudn queued SFN %d , SF %d\n",tinfo.sfn,tinfo.sf);
while
(
hashtable_is_key_exists
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
)
==
HASH_TABLE_OK
)
while
(
hashtable_is_key_exists
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
)
==
HASH_TABLE_OK
)
{
{
LOG_D
(
ENB_
APP
,
"VT_TIMER Timeout sending curr SFN %d SF %d
\n
"
,
LOG_D
(
ENB_
SS_VT_TIMER
,
"VT_TIMER Timeout sending curr SFN %d SF %d
\n
"
,
SS_context
.
sfn
,
SS_context
.
sf
);
SS_context
.
sfn
,
SS_context
.
sf
);
hash_rc
=
hashtable_get
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
,
(
void
**
)
&
timer_ele_p
);
hash_rc
=
hashtable_get
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
,
(
void
**
)
&
timer_ele_p
);
LOG_A
(
ENB_
APP
,
"VT_TIMER Enter check SFN %d , SF %d taskID %d timer_ele.task_id instance %ld
\n
"
,
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER Enter check SFN %d , SF %d taskID %d timer_ele.task_id instance %ld
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
,
timer_ele_p
->
task_id
,
timer_ele_p
->
instance
);
tinfo
.
sfn
,
tinfo
.
sf
,
timer_ele_p
->
task_id
,
timer_ele_p
->
instance
);
int
send_res
=
itti_send_msg_to_task
(
timer_ele_p
->
task_id
,
timer_ele_p
->
instance
,
(
MessageDef
*
)
timer_ele_p
->
msg
);
int
send_res
=
itti_send_msg_to_task
(
timer_ele_p
->
task_id
,
timer_ele_p
->
instance
,
(
MessageDef
*
)
timer_ele_p
->
msg
);
if
(
send_res
<
0
)
if
(
send_res
<
0
)
{
{
LOG_A
(
ENB_
APP
,
"[VT_TIMER] Error in SS_VT_TIME_OUT itti_send_msg_to_task"
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"[VT_TIMER] Error in SS_VT_TIME_OUT itti_send_msg_to_task"
);
}
}
else
else
{
{
LOG_A
(
ENB_
APP
,
"VT_TIMER Sent message to taskID %d timer_ele.task_id instance %ld
\n
"
,
LOG_A
(
ENB_
SS_VT_TIMER
,
"VT_TIMER Sent message to taskID %d timer_ele.task_id instance %ld
\n
"
,
timer_ele_p
->
task_id
,
timer_ele_p
->
instance
);
timer_ele_p
->
task_id
,
timer_ele_p
->
instance
);
hash_rc
=
hashtable_remove
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
);
hash_rc
=
hashtable_remove
(
SS_context
.
vt_timer_table
,
(
hash_key_t
)
sfnSfKey
);
}
}
LOG_D
(
ENB_
APP
,
"VT_TIMER Timeout sending done curr SFN %d SF %d
\n
"
,
LOG_D
(
ENB_
SS_VT_TIMER
,
"VT_TIMER Timeout sending done curr SFN %d SF %d
\n
"
,
SS_context
.
sfn
,
SS_context
.
sf
);
SS_context
.
sfn
,
SS_context
.
sf
);
}
}
...
@@ -167,7 +167,7 @@ void *ss_eNB_vt_timer_process_itti_msg(void *notUsed)
...
@@ -167,7 +167,7 @@ void *ss_eNB_vt_timer_process_itti_msg(void *notUsed)
ss_set_timinfo_t
tinfo
;
ss_set_timinfo_t
tinfo
;
tinfo
.
sf
=
SS_UPD_TIM_INFO
(
received_msg
).
sf
;
tinfo
.
sf
=
SS_UPD_TIM_INFO
(
received_msg
).
sf
;
tinfo
.
sfn
=
SS_UPD_TIM_INFO
(
received_msg
).
sfn
;
tinfo
.
sfn
=
SS_UPD_TIM_INFO
(
received_msg
).
sfn
;
LOG_D
(
ENB_
APP
,
"[VT_TIMER] received_UPD_TIM_INFO SFN: %d SF: %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
LOG_D
(
ENB_
SS_VT_TIMER
,
"[VT_TIMER] received_UPD_TIM_INFO SFN: %d SF: %d
\n
"
,
tinfo
.
sfn
,
tinfo
.
sf
);
ss_vt_timer_check
(
tinfo
);
ss_vt_timer_check
(
tinfo
);
}
}
...
@@ -178,7 +178,7 @@ void *ss_eNB_vt_timer_process_itti_msg(void *notUsed)
...
@@ -178,7 +178,7 @@ void *ss_eNB_vt_timer_process_itti_msg(void *notUsed)
break
;
break
;
}
}
default:
default:
LOG_E
(
ENB_
APP
,
"[SS-VT_TIMER] Received unhandled message %d:%s
\n
"
,
LOG_E
(
ENB_
SS_VT_TIMER
,
"[SS-VT_TIMER] Received unhandled message %d:%s
\n
"
,
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
ITTI_MSG_ID
(
received_msg
),
ITTI_MSG_NAME
(
received_msg
));
}
}
result
=
itti_free
(
ITTI_MSG_ORIGIN_ID
(
received_msg
),
received_msg
);
result
=
itti_free
(
ITTI_MSG_ORIGIN_ID
(
received_msg
),
received_msg
);
...
@@ -209,14 +209,14 @@ void* ss_eNB_vt_timer_task(void *arg) {
...
@@ -209,14 +209,14 @@ void* ss_eNB_vt_timer_task(void *arg) {
int
retVal
=
ss_eNB_vt_timer_init
();
int
retVal
=
ss_eNB_vt_timer_init
();
if
(
retVal
!=
-
1
)
{
if
(
retVal
!=
-
1
)
{
LOG_A
(
ENB_
APP
,
"[SS-VT_TIMER] Enabled TASK_VT_TIMER starting the itti_msg_handler
\n
"
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"[SS-VT_TIMER] Enabled TASK_VT_TIMER starting the itti_msg_handler
\n
"
);
while
(
1
)
{
while
(
1
)
{
(
void
)
ss_eNB_vt_timer_process_itti_msg
(
NULL
);
(
void
)
ss_eNB_vt_timer_process_itti_msg
(
NULL
);
}
}
}
else
{
}
else
{
LOG_A
(
ENB_
APP
,
"[SS-VT_TIMER] TASK_VT_TIMER port disabled at eNB
\n
"
);
LOG_A
(
ENB_
SS_VT_TIMER
,
"[SS-VT_TIMER] TASK_VT_TIMER port disabled at eNB
\n
"
);
sleep
(
10
);
sleep
(
10
);
}
}
...
...
openair3/SS/ss_eNB_vtp_task.c
View file @
7e8fb445
This diff is collapsed.
Click to expand it.
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