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
Michael Black
OpenXG UE
Commits
229769e1
Commit
229769e1
authored
Mar 13, 2021
by
Michael Cook
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Size asserts for harq_pdu_list, sr_pdu_list, cqi_pdu_list
parent
48ffaf2d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
63 additions
and
21 deletions
+63
-21
nfapi/oai_integration/nfapi_vnf.c
nfapi/oai_integration/nfapi_vnf.c
+26
-11
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
+19
-6
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+4
-0
openair2/PHY_INTERFACE/IF_Module.c
openair2/PHY_INTERFACE/IF_Module.c
+6
-0
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.c
+4
-0
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+4
-4
No files found.
nfapi/oai_integration/nfapi_vnf.c
View file @
229769e1
...
...
@@ -708,18 +708,23 @@ int phy_harq_indication(struct nfapi_vnf_p7_config *config, nfapi_harq_indicatio
UL_RCC_INFO
.
harq_ind
[
index
]
=
*
ind
;
if
(
ind
->
harq_indication_body
.
number_of_harqs
>
0
)
UL_RCC_INFO
.
harq_ind
[
index
].
harq_indication_body
.
harq_pdu_list
=
malloc
(
sizeof
(
nfapi_harq_indication_pdu_t
)
*
ind
->
harq_indication_body
.
number_of_harqs
);
assert
(
ind
->
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
if
(
ind
->
harq_indication_body
.
number_of_harqs
>
0
)
{
UL_RCC_INFO
.
harq_ind
[
index
].
harq_indication_body
.
harq_pdu_list
=
malloc
(
sizeof
(
nfapi_harq_indication_pdu_t
)
*
NFAPI_HARQ_IND_MAX_PDU
);
}
for
(
int
i
=
0
;
i
<
ind
->
harq_indication_body
.
number_of_harqs
;
i
++
)
{
memcpy
(
&
UL_RCC_INFO
.
harq_ind
[
index
].
harq_indication_body
.
harq_pdu_list
[
i
],
&
ind
->
harq_indication_body
.
harq_pdu_list
[
i
],
sizeof
(
nfapi_harq_indication_pdu_t
));
}
}
else
{
eNB
->
UL_INFO
.
harq_ind
=
*
ind
;
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
=
eNB
->
harq_pdu_list
;
eNB
->
UL_INFO
.
harq_ind
=
*
ind
;
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
=
eNB
->
harq_pdu_list
;
for
(
int
i
=
0
;
i
<
ind
->
harq_indication_body
.
number_of_harqs
;
i
++
)
{
memcpy
(
&
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
[
i
],
&
ind
->
harq_indication_body
.
harq_pdu_list
[
i
],
sizeof
(
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
[
i
]));
}
assert
(
ind
->
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
harq_indication_body
.
number_of_harqs
;
i
++
)
{
memcpy
(
&
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
[
i
],
&
ind
->
harq_indication_body
.
harq_pdu_list
[
i
],
sizeof
(
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
[
i
]));
}
}
pthread_mutex_unlock
(
&
eNB
->
UL_INFO_mutex
);
// vnf_p7_info* p7_vnf = (vnf_p7_info*)(config->user_data);
...
...
@@ -872,9 +877,12 @@ int phy_sr_indication(struct nfapi_vnf_p7_config *config, nfapi_sr_indication_t
UL_RCC_INFO
.
sr_ind
[
index
]
=
*
ind
;
LOG_D
(
MAC
,
"%s() UL_INFO[%d].sr_ind.sr_indication_body.number_of_srs:%d
\n
"
,
__FUNCTION__
,
index
,
eNB
->
UL_INFO
.
sr_ind
.
sr_indication_body
.
number_of_srs
);
if
(
ind
->
sr_indication_body
.
number_of_srs
>
0
)
UL_RCC_INFO
.
sr_ind
[
index
].
sr_indication_body
.
sr_pdu_list
=
malloc
(
sizeof
(
nfapi_sr_indication_pdu_t
)
*
ind
->
sr_indication_body
.
number_of_srs
);
if
(
ind
->
sr_indication_body
.
number_of_srs
>
0
)
{
assert
(
ind
->
sr_indication_body
.
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
UL_RCC_INFO
.
sr_ind
[
index
].
sr_indication_body
.
sr_pdu_list
=
malloc
(
sizeof
(
nfapi_sr_indication_pdu_t
)
*
NFAPI_SR_IND_MAX_PDU
);
}
assert
(
ind
->
sr_indication_body
.
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
sr_indication_body
.
number_of_srs
;
i
++
)
{
nfapi_sr_indication_pdu_t
*
dest_pdu
=
&
UL_RCC_INFO
.
sr_ind
[
index
].
sr_indication_body
.
sr_pdu_list
[
i
];
nfapi_sr_indication_pdu_t
*
src_pdu
=
&
ind
->
sr_indication_body
.
sr_pdu_list
[
i
];
...
...
@@ -890,6 +898,7 @@ int phy_sr_indication(struct nfapi_vnf_p7_config *config, nfapi_sr_indication_t
dest_ind
->
sr_indication_body
.
sr_pdu_list
=
dest_pdu_list
;
LOG_D
(
MAC
,
"%s() eNB->UL_INFO.sr_ind.sr_indication_body.number_of_srs:%d
\n
"
,
__FUNCTION__
,
eNB
->
UL_INFO
.
sr_ind
.
sr_indication_body
.
number_of_srs
);
assert
(
eNB
->
UL_INFO
.
sr_ind
.
sr_indication_body
.
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
eNB
->
UL_INFO
.
sr_ind
.
sr_indication_body
.
number_of_srs
;
i
++
)
{
nfapi_sr_indication_pdu_t
*
dest_pdu
=
&
dest_ind
->
sr_indication_body
.
sr_pdu_list
[
i
];
nfapi_sr_indication_pdu_t
*
src_pdu
=
&
ind
->
sr_indication_body
.
sr_pdu_list
[
i
];
...
...
@@ -911,6 +920,7 @@ static bool is_ue_same(uint16_t ue_id_1, uint16_t ue_id_2)
static
void
analyze_cqi_pdus_for_duplicates
(
nfapi_cqi_indication_t
*
ind
)
{
uint16_t
num_cqis
=
ind
->
cqi_indication_body
.
number_of_cqis
;
assert
(
num_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
num_cqis
;
i
++
)
{
nfapi_cqi_indication_pdu_t
*
src_pdu
=
&
ind
->
cqi_indication_body
.
cqi_pdu_list
[
i
];
...
...
@@ -942,13 +952,17 @@ int phy_cqi_indication(struct nfapi_vnf_p7_config *config, nfapi_cqi_indication_
int8_t
index
=
NFAPI_SFNSF2SF
(
ind
->
sfn_sf
);
UL_RCC_INFO
.
cqi_ind
[
index
]
=
*
ind
;
assert
(
ind
->
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
if
(
ind
->
cqi_indication_body
.
number_of_cqis
>
0
){
UL_RCC_INFO
.
cqi_ind
[
index
].
cqi_indication_body
.
cqi_pdu_list
=
malloc
(
sizeof
(
nfapi_cqi_indication_pdu_t
)
*
ind
->
cqi_indication_body
.
number_of_cqis
);
UL_RCC_INFO
.
cqi_ind
[
index
].
cqi_indication_body
.
cqi_raw_pdu_list
=
malloc
(
sizeof
(
nfapi_cqi_indication_raw_pdu_t
)
*
ind
->
cqi_indication_body
.
number_of_cqis
);
UL_RCC_INFO
.
cqi_ind
[
index
].
cqi_indication_body
.
cqi_pdu_list
=
malloc
(
sizeof
(
nfapi_cqi_indication_pdu_t
)
*
NFAPI_CQI_IND_MAX_PDU
);
UL_RCC_INFO
.
cqi_ind
[
index
].
cqi_indication_body
.
cqi_raw_pdu_list
=
malloc
(
sizeof
(
nfapi_cqi_indication_raw_pdu_t
)
*
NFAPI_CQI_IND_MAX_PDU
);
}
analyze_cqi_pdus_for_duplicates
(
ind
);
assert
(
ind
->
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
cqi_indication_body
.
number_of_cqis
;
i
++
)
{
nfapi_cqi_indication_pdu_t
*
src_pdu
=
&
ind
->
cqi_indication_body
.
cqi_pdu_list
[
i
];
LOG_D
(
MAC
,
"SR_IND[PDU:%d][rnti:%x cqi:%d channel:%d]
\n
"
,
i
,
src_pdu
->
rx_ue_information
.
rnti
,
...
...
@@ -964,6 +978,7 @@ int phy_cqi_indication(struct nfapi_vnf_p7_config *config, nfapi_cqi_indication_
*
dest_ind
=
*
ind
;
dest_ind
->
cqi_indication_body
.
cqi_pdu_list
=
ind
->
cqi_indication_body
.
cqi_pdu_list
;
dest_ind
->
cqi_indication_body
.
cqi_raw_pdu_list
=
ind
->
cqi_indication_body
.
cqi_raw_pdu_list
;
assert
(
ind
->
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
cqi_indication_body
.
number_of_cqis
;
i
++
)
{
nfapi_cqi_indication_pdu_t
*
src_pdu
=
&
ind
->
cqi_indication_body
.
cqi_pdu_list
[
i
];
LOG_D
(
MAC
,
"CQI_IND[PDU:%d][rnti:%x cqi:%d channel:%d]
\n
"
,
i
,
src_pdu
->
rx_ue_information
.
rnti
,
...
...
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
View file @
229769e1
...
...
@@ -2480,6 +2480,7 @@ static uint8_t pack_harq_indication_body_value(void *tlv, uint8_t **ppWritePacke
uint16_t
i
=
0
;
uint16_t
total_number_of_pdus
=
value
->
number_of_harqs
;
assert
(
total_number_of_pdus
<=
NFAPI_HARQ_IND_MAX_PDU
);
for
(;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_harq_indication_pdu_t
*
pdu
=
&
(
value
->
harq_pdu_list
[
i
]);
...
...
@@ -2838,6 +2839,7 @@ static uint8_t pack_sr_indication_body_value(void *tlv, uint8_t **ppWritePackedM
uint16_t
i
=
0
;
uint16_t
total_number_of_pdus
=
value
->
number_of_srs
;
assert
(
total_number_of_pdus
<=
NFAPI_SR_IND_MAX_PDU
);
for
(;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_sr_indication_pdu_t
*
pdu
=
&
(
value
->
sr_pdu_list
[
i
]);
...
...
@@ -2905,6 +2907,7 @@ static uint8_t pack_cqi_indication_body_value(void *tlv, uint8_t **ppWritePacked
uint16_t
i
=
0
;
uint16_t
offset
=
2
;
// taking into account the number_of_cqis
uint16_t
total_number_of_pdus
=
value
->
number_of_cqis
;
assert
(
total_number_of_pdus
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_cqi_indication_pdu_t
*
pdu
=
&
(
value
->
cqi_pdu_list
[
i
]);
...
...
@@ -2933,6 +2936,7 @@ static uint8_t pack_cqi_indication_body_value(void *tlv, uint8_t **ppWritePacked
}
// Now update the structure to include the offset
assert
(
total_number_of_pdus
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_cqi_indication_pdu_t
*
pdu
=
&
(
value
->
cqi_pdu_list
[
i
]);
...
...
@@ -2958,6 +2962,7 @@ static uint8_t pack_cqi_indication_body_value(void *tlv, uint8_t **ppWritePacked
}
// Write out the cqi information
assert
(
total_number_of_pdus
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_cqi_indication_pdu_t
*
pdu
=
&
(
value
->
cqi_pdu_list
[
i
]);
...
...
@@ -2980,6 +2985,7 @@ static uint8_t pack_cqi_indication_body_value(void *tlv, uint8_t **ppWritePacked
}
// Write out the cqi raw data
assert
(
total_number_of_pdus
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
uint16_t
length
=
0
;
...
...
@@ -6335,15 +6341,16 @@ static uint8_t unpack_harq_indication_body_value(void* tlv, uint8_t **ppReadPack
return
0
;
}
value
->
harq_pdu_list
=
(
nfapi_harq_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_harq_indication_pdu_t
)
*
value
->
number_of_harqs
,
config
);
assert
(
value
->
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
value
->
harq_pdu_list
=
(
nfapi_harq_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_harq_indication_pdu_t
)
*
NFAPI_HARQ_IND_MAX_PDU
,
config
);
if
(
value
->
harq_pdu_list
==
NULL
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s failed to allocate harq ind pdu list (count:%d)
\n
"
,
__FUNCTION__
,
value
->
number_of_harqs
);
return
0
;
}
uint8_t
i
=
0
;
for
(
i
=
0
;
i
<
value
->
number_of_harqs
;
++
i
)
assert
(
value
->
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
)
;
for
(
size_t
i
=
0
;
i
<
value
->
number_of_harqs
;
++
i
)
{
nfapi_harq_indication_pdu_t
*
pdu
=
&
(
value
->
harq_pdu_list
[
i
]);
if
(
pull16
(
ppReadPackedMsg
,
&
pdu
->
instance_length
,
end
)
==
0
)
...
...
@@ -6875,7 +6882,8 @@ static uint8_t unpack_sr_indication_body_value(void *tlv, uint8_t **ppReadPacked
if
(
value
->
number_of_srs
>
0
)
{
value
->
sr_pdu_list
=
(
nfapi_sr_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_sr_indication_pdu_t
)
*
value
->
number_of_srs
,
config
);
assert
(
value
->
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
value
->
sr_pdu_list
=
(
nfapi_sr_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_sr_indication_pdu_t
)
*
NFAPI_SR_IND_MAX_PDU
,
config
);
if
(
value
->
sr_pdu_list
==
NULL
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s failed to allocate sr ind pdu list (count:%d)
\n
"
,
__FUNCTION__
,
value
->
number_of_srs
);
...
...
@@ -6888,6 +6896,7 @@ static uint8_t unpack_sr_indication_body_value(void *tlv, uint8_t **ppReadPacked
}
uint8_t
i
=
0
;
assert
(
value
->
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
value
->
number_of_srs
;
++
i
)
{
nfapi_sr_indication_pdu_t
*
pdu
=
&
(
value
->
sr_pdu_list
[
i
]);
...
...
@@ -6984,7 +6993,8 @@ static uint8_t unpack_cqi_indication_body_value(void* tlv, uint8_t **ppReadPack
if
(
value
->
number_of_cqis
>
0
)
{
value
->
cqi_pdu_list
=
(
nfapi_cqi_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_cqi_indication_pdu_t
)
*
value
->
number_of_cqis
,
config
);
assert
(
value
->
number_of_cqis
<=
NFAPI_SR_IND_MAX_PDU
);
value
->
cqi_pdu_list
=
(
nfapi_cqi_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_cqi_indication_pdu_t
)
*
NFAPI_SR_IND_MAX_PDU
,
config
);
if
(
value
->
cqi_pdu_list
==
NULL
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s failed to allocate cqi ind pdu list (count:%d)
\n
"
,
__FUNCTION__
,
value
->
number_of_cqis
);
...
...
@@ -6998,7 +7008,8 @@ static uint8_t unpack_cqi_indication_body_value(void* tlv, uint8_t **ppReadPack
if
(
value
->
number_of_cqis
>
0
)
{
value
->
cqi_raw_pdu_list
=
(
nfapi_cqi_indication_raw_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_cqi_indication_raw_pdu_t
)
*
value
->
number_of_cqis
,
config
);
assert
(
value
->
number_of_cqis
<=
NFAPI_SR_IND_MAX_PDU
);
value
->
cqi_raw_pdu_list
=
(
nfapi_cqi_indication_raw_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_cqi_indication_raw_pdu_t
)
*
NFAPI_SR_IND_MAX_PDU
,
config
);
if
(
value
->
cqi_raw_pdu_list
==
NULL
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s failed to allocate raw cqi ind pdu list (count:%d)
\n
"
,
__FUNCTION__
,
value
->
number_of_cqis
);
...
...
@@ -7011,6 +7022,7 @@ static uint8_t unpack_cqi_indication_body_value(void* tlv, uint8_t **ppReadPack
}
uint8_t
i
=
0
;
assert
(
value
->
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
value
->
number_of_cqis
;
++
i
)
{
nfapi_cqi_indication_pdu_t
*
pdu
=
&
(
value
->
cqi_pdu_list
[
i
]);
...
...
@@ -7063,6 +7075,7 @@ static uint8_t unpack_cqi_indication_body_value(void* tlv, uint8_t **ppReadPack
}
uint8_t
idx
=
0
;
assert
(
value
->
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
idx
=
0
;
idx
<
value
->
number_of_cqis
;
++
idx
)
{
if
(
value
->
cqi_pdu_list
[
idx
].
cqi_indication_rel8
.
tl
.
tag
==
NFAPI_CQI_INDICATION_REL8_TAG
)
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
229769e1
...
...
@@ -749,6 +749,7 @@ void fill_sr_indication(int UEid, PHY_VARS_eNB *eNB,uint16_t rnti,int frame,int
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
nfapi_sr_indication_t
*
sr_ind
=
&
eNB
->
UL_INFO
.
sr_ind
;
nfapi_sr_indication_body_t
*
sr_ind_body
=
&
sr_ind
->
sr_indication_body
;
assert
(
sr_ind_body
->
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
nfapi_sr_indication_pdu_t
*
pdu
=
&
sr_ind_body
->
sr_pdu_list
[
sr_ind_body
->
number_of_srs
];
sr_ind
->
sfn_sf
=
frame
<<
4
|
subframe
;
sr_ind
->
header
.
message_id
=
NFAPI_RX_SR_INDICATION
;
...
...
@@ -1796,6 +1797,7 @@ int getM(PHY_VARS_eNB *eNB,int frame,int subframe) {
void
fill_ulsch_cqi_indication
(
PHY_VARS_eNB
*
eNB
,
uint16_t
frame
,
uint8_t
subframe
,
LTE_UL_eNB_HARQ_t
*
ulsch_harq
,
uint16_t
rnti
)
{
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
assert
(
eNB
->
UL_INFO
.
cqi_ind
.
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
nfapi_cqi_indication_pdu_t
*
pdu
=
&
eNB
->
UL_INFO
.
cqi_ind
.
cqi_indication_body
.
cqi_pdu_list
[
eNB
->
UL_INFO
.
cqi_ind
.
cqi_indication_body
.
number_of_cqis
];
nfapi_cqi_indication_raw_pdu_t
*
raw_pdu
=
&
eNB
->
UL_INFO
.
cqi_ind
.
cqi_indication_body
.
cqi_raw_pdu_list
[
eNB
->
UL_INFO
.
cqi_ind
.
cqi_indication_body
.
number_of_cqis
];
pdu
->
instance_length
=
0
;
...
...
@@ -1842,6 +1844,7 @@ void fill_ulsch_harq_indication (PHY_VARS_eNB *eNB, LTE_UL_eNB_HARQ_t *ulsch_har
//AssertFatal(UE_id>=0,"UE_id doesn't exist\n");
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
assert
(
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
nfapi_harq_indication_pdu_t
*
pdu
=
&
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
harq_pdu_list
[
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
];
int
M
;
int
i
;
...
...
@@ -1912,6 +1915,7 @@ void fill_uci_harq_indication (int UEid, PHY_VARS_eNB *eNB, LTE_eNB_UCI *uci, in
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
nfapi_harq_indication_t
*
ind
=
&
eNB
->
UL_INFO
.
harq_ind
;
nfapi_harq_indication_body_t
*
body
=
&
ind
->
harq_indication_body
;
assert
(
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
nfapi_harq_indication_pdu_t
*
pdu
=
&
body
->
harq_pdu_list
[
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
];
ind
->
sfn_sf
=
frame
<<
4
|
subframe
;
ind
->
header
.
message_id
=
NFAPI_HARQ_INDICATION
;
...
...
openair2/PHY_INTERFACE/IF_Module.c
View file @
229769e1
...
...
@@ -98,6 +98,7 @@ void handle_sr(UL_IND_t *UL_info) {
}
else
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
)
{
for
(
uint8_t
j
=
0
;
j
<
NUM_NFPAI_SUBFRAME
;
j
++
)
{
if
(
UL_RCC_INFO
.
sr_ind
[
j
].
sr_indication_body
.
number_of_srs
>
0
)
{
assert
(
UL_RCC_INFO
.
sr_ind
[
j
].
sr_indication_body
.
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
UL_RCC_INFO
.
sr_ind
[
j
].
sr_indication_body
.
number_of_srs
;
i
++
)
{
SR_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
...
...
@@ -113,6 +114,7 @@ void handle_sr(UL_IND_t *UL_info) {
}
}
}
else
{
assert
(
UL_info
->
sr_ind
.
sr_indication_body
.
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
UL_info
->
sr_ind
.
sr_indication_body
.
number_of_srs
;
i
++
)
SR_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
...
...
@@ -139,6 +141,7 @@ void handle_cqi(UL_IND_t *UL_info) {
}
else
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
)
{
for
(
uint8_t
j
=
0
;
j
<
NUM_NFPAI_SUBFRAME
;
j
++
)
{
if
(
UL_RCC_INFO
.
cqi_ind
[
j
].
cqi_indication_body
.
number_of_cqis
>
0
)
{
assert
(
UL_RCC_INFO
.
cqi_ind
[
j
].
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
UL_RCC_INFO
.
cqi_ind
[
j
].
cqi_indication_body
.
number_of_cqis
;
i
++
)
{
cqi_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
...
...
@@ -157,6 +160,7 @@ void handle_cqi(UL_IND_t *UL_info) {
}
}
}
else
{
assert
(
UL_info
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
UL_info
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
;
i
++
)
cqi_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
...
...
@@ -184,6 +188,7 @@ void handle_harq(UL_IND_t *UL_info) {
}
else
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
)
{
for
(
uint8_t
j
=
0
;
j
<
NUM_NFPAI_SUBFRAME
;
j
++
)
{
if
(
UL_RCC_INFO
.
harq_ind
[
j
].
harq_indication_body
.
number_of_harqs
>
0
)
{
assert
(
UL_RCC_INFO
.
harq_ind
[
j
].
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
UL_RCC_INFO
.
harq_ind
[
j
].
harq_indication_body
.
number_of_harqs
;
i
++
)
{
harq_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
...
...
@@ -198,6 +203,7 @@ void handle_harq(UL_IND_t *UL_info) {
}
}
}
else
{
assert
(
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
;
i
++
)
harq_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
...
...
openair2/PHY_INTERFACE/phy_stub_UE.c
View file @
229769e1
...
...
@@ -135,6 +135,7 @@ void fill_sr_indication_UE_MAC(int Mod_id,
nfapi_sr_indication_t
*
sr_ind
=
&
UL_INFO
->
sr_ind
;
nfapi_sr_indication_body_t
*
sr_ind_body
=
&
sr_ind
->
sr_indication_body
;
assert
(
sr_ind_body
->
number_of_srs
<=
NFAPI_SR_IND_MAX_PDU
);
nfapi_sr_indication_pdu_t
*
pdu
=
&
sr_ind_body
->
sr_pdu_list
[
sr_ind_body
->
number_of_srs
];
UL_INFO
->
sr_ind
.
vendor_extension
=
ul_config_req
->
vendor_extension
;
...
...
@@ -273,6 +274,7 @@ void fill_ulsch_cqi_indication_UE_MAC(int Mod_id,
pthread_mutex_lock
(
&
fill_ul_mutex
.
cqi_mutex
);
LOG_D
(
MAC
,
"num_cqis: %u in fill_ulsch_cqi_indication_UE_MAC
\n
"
,
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
);
assert
(
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
<=
NFAPI_CQI_IND_MAX_PDU
);
nfapi_cqi_indication_pdu_t
*
pdu
=
&
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
cqi_pdu_list
[
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
];
...
...
@@ -320,6 +322,7 @@ void fill_ulsch_harq_indication_UE_MAC(
nfapi_ul_config_request_t
*
ul_config_req
)
{
pthread_mutex_lock
(
&
fill_ul_mutex
.
harq_mutex
);
assert
(
UL_INFO
->
harq_ind
.
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
nfapi_harq_indication_pdu_t
*
pdu
=
&
UL_INFO
->
harq_ind
.
harq_indication_body
.
harq_pdu_list
[
UL_INFO
->
harq_ind
.
harq_indication_body
.
number_of_harqs
];
...
...
@@ -366,6 +369,7 @@ void fill_uci_harq_indication_UE_MAC(int Mod_id,
nfapi_harq_indication_t
*
ind
=
&
UL_INFO
->
harq_ind
;
nfapi_harq_indication_body_t
*
body
=
&
ind
->
harq_indication_body
;
assert
(
UL_INFO
->
harq_ind
.
harq_indication_body
.
number_of_harqs
<=
NFAPI_HARQ_IND_MAX_PDU
);
nfapi_harq_indication_pdu_t
*
pdu
=
&
body
->
harq_pdu_list
[
UL_INFO
->
harq_ind
.
harq_indication_body
.
number_of_harqs
];
...
...
targets/RT/USER/lte-ue.c
View file @
229769e1
...
...
@@ -1044,12 +1044,12 @@ static void *UE_phy_stub_standalone_pnf_task(void *arg)
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
=
0
;
UL_INFO
->
crc_ind
.
crc_indication_body
.
crc_pdu_list
=
calloc
(
NFAPI_CRC_IND_MAX_PDU
,
sizeof
(
nfapi_crc_indication_pdu_t
));
UL_INFO
->
crc_ind
.
crc_indication_body
.
number_of_crcs
=
0
;
UL_INFO
->
harq_ind
.
harq_indication_body
.
harq_pdu_list
=
calloc
(
N
UMBER_OF_UE_MAX
,
sizeof
(
nfapi_harq_indication_pdu_t
));
UL_INFO
->
harq_ind
.
harq_indication_body
.
harq_pdu_list
=
calloc
(
N
FAPI_HARQ_IND_MAX_PDU
,
sizeof
(
nfapi_harq_indication_pdu_t
));
UL_INFO
->
harq_ind
.
harq_indication_body
.
number_of_harqs
=
0
;
UL_INFO
->
sr_ind
.
sr_indication_body
.
sr_pdu_list
=
calloc
(
N
UMBER_OF_UE_MAX
,
sizeof
(
nfapi_sr_indication_pdu_t
));
UL_INFO
->
sr_ind
.
sr_indication_body
.
sr_pdu_list
=
calloc
(
N
FAPI_SR_IND_MAX_PDU
,
sizeof
(
nfapi_sr_indication_pdu_t
));
UL_INFO
->
sr_ind
.
sr_indication_body
.
number_of_srs
=
0
;
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
cqi_pdu_list
=
calloc
(
N
UMBER_OF_UE_MAX
,
sizeof
(
nfapi_cqi_indication_pdu_t
));
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
cqi_raw_pdu_list
=
calloc
(
N
UMBER_OF_UE_MAX
,
sizeof
(
nfapi_cqi_indication_raw_pdu_t
));
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
cqi_pdu_list
=
calloc
(
N
FAPI_CQI_IND_MAX_PDU
,
sizeof
(
nfapi_cqi_indication_pdu_t
));
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
cqi_raw_pdu_list
=
calloc
(
N
FAPI_CQI_IND_MAX_PDU
,
sizeof
(
nfapi_cqi_indication_raw_pdu_t
));
UL_INFO
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
=
0
;
proc
->
subframe_rx
=
proc
->
sub_frame_start
;
...
...
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