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
zzha zzha
OpenXG-RAN
Commits
8120c797
Commit
8120c797
authored
Mar 14, 2021
by
Michael Cook
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'episys-merge-future' into episys/master
parents
bd0359c3
c5ff3376
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
115 additions
and
36 deletions
+115
-36
nfapi/oai_integration/nfapi_vnf.c
nfapi/oai_integration/nfapi_vnf.c
+43
-18
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
+31
-8
nfapi/open-nFAPI/vnf/src/vnf_p7.c
nfapi/open-nFAPI/vnf/src/vnf_p7.c
+9
-2
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+2
-1
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+6
-0
openair2/PHY_INTERFACE/IF_Module.c
openair2/PHY_INTERFACE/IF_Module.c
+10
-0
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.c
+6
-0
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+8
-7
No files found.
nfapi/oai_integration/nfapi_vnf.c
View file @
8120c797
...
...
@@ -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);
...
...
@@ -735,9 +740,12 @@ int phy_crc_indication(struct nfapi_vnf_p7_config *config, nfapi_crc_indication_
UL_RCC_INFO
.
crc_ind
[
index
]
=
*
ind
;
if
(
ind
->
crc_indication_body
.
number_of_crcs
>
0
)
UL_RCC_INFO
.
crc_ind
[
index
].
crc_indication_body
.
crc_pdu_list
=
malloc
(
sizeof
(
nfapi_crc_indication_pdu_t
)
*
ind
->
crc_indication_body
.
number_of_crcs
);
assert
(
ind
->
crc_indication_body
.
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
if
(
ind
->
crc_indication_body
.
number_of_crcs
>
0
)
{
UL_RCC_INFO
.
crc_ind
[
index
].
crc_indication_body
.
crc_pdu_list
=
malloc
(
sizeof
(
nfapi_crc_indication_pdu_t
)
*
NFAPI_CRC_IND_MAX_PDU
);
}
assert
(
ind
->
crc_indication_body
.
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
crc_indication_body
.
number_of_crcs
;
i
++
)
{
memcpy
(
&
UL_RCC_INFO
.
crc_ind
[
index
].
crc_indication_body
.
crc_pdu_list
[
i
],
&
ind
->
crc_indication_body
.
crc_pdu_list
[
i
],
sizeof
(
ind
->
crc_indication_body
.
crc_pdu_list
[
0
]));
...
...
@@ -759,6 +767,7 @@ int phy_crc_indication(struct nfapi_vnf_p7_config *config, nfapi_crc_indication_
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d IND:number_of_crcs:%u UL_INFO:crcs:%d
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
crc_indication_body
.
number_of_crcs
,
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
);
assert
(
ind
->
crc_indication_body
.
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
crc_indication_body
.
number_of_crcs
;
i
++
)
{
memcpy
(
&
dest_ind
->
crc_indication_body
.
crc_pdu_list
[
i
],
&
ind
->
crc_indication_body
.
crc_pdu_list
[
i
],
sizeof
(
ind
->
crc_indication_body
.
crc_pdu_list
[
0
]));
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d CRC_IND:number_of_crcs:%u UL_INFO:crcs:%d PDU[%d] rnti:%04x UL_INFO:rnti:%04x
\n
"
,
...
...
@@ -788,10 +797,15 @@ int phy_rx_indication(struct nfapi_vnf_p7_config *config, nfapi_rx_indication_t
UL_RCC_INFO
.
rx_ind
[
index
]
=
*
ind
;
if
(
ind
->
rx_indication_body
.
number_of_pdus
>
0
)
UL_RCC_INFO
.
rx_ind
[
index
].
rx_indication_body
.
rx_pdu_list
=
malloc
(
sizeof
(
nfapi_rx_indication_pdu_t
)
*
ind
->
rx_indication_body
.
number_of_pdus
);
size_t
number_of_pdus
=
ind
->
rx_indication_body
.
number_of_pdus
;
assert
(
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
rx_indication_body
.
number_of_pdus
;
i
++
)
{
if
(
number_of_pdus
>
0
)
{
UL_RCC_INFO
.
rx_ind
[
index
].
rx_indication_body
.
rx_pdu_list
=
malloc
(
sizeof
(
nfapi_rx_indication_pdu_t
)
*
NFAPI_RX_IND_MAX_PDU
);
}
for
(
int
i
=
0
;
i
<
number_of_pdus
;
i
++
)
{
nfapi_rx_indication_pdu_t
*
dest_pdu
=
&
UL_RCC_INFO
.
rx_ind
[
index
].
rx_indication_body
.
rx_pdu_list
[
i
];
nfapi_rx_indication_pdu_t
*
src_pdu
=
&
ind
->
rx_indication_body
.
rx_pdu_list
[
i
];
...
...
@@ -804,9 +818,9 @@ int phy_rx_indication(struct nfapi_vnf_p7_config *config, nfapi_rx_indication_t
dest_pdu
->
data
=
NULL
;
}
LOG_D
(
PHY
,
"%s() NFAPI SFN/SF:%d PDUs:%
d
[PDU:%d] handle:%d rnti:%04x length:%d offset:%d ul_cqi:%d ta:%d data:%p
\n
"
,
LOG_D
(
PHY
,
"%s() NFAPI SFN/SF:%d PDUs:%
zu
[PDU:%d] handle:%d rnti:%04x length:%d offset:%d ul_cqi:%d ta:%d data:%p
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
rx_indication_body
.
number_of_pdus
,
i
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
number_of_pdus
,
i
,
dest_pdu
->
rx_ue_information
.
handle
,
dest_pdu
->
rx_ue_information
.
rnti
,
dest_pdu
->
rx_indication_rel8
.
length
,
...
...
@@ -822,6 +836,7 @@ int phy_rx_indication(struct nfapi_vnf_p7_config *config, nfapi_rx_indication_t
*
dest_ind
=
*
ind
;
dest_ind
->
rx_indication_body
.
rx_pdu_list
=
dest_pdu_list
;
assert
(
ind
->
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
ind
->
rx_indication_body
.
number_of_pdus
;
i
++
)
{
nfapi_rx_indication_pdu_t
*
dest_pdu
=
&
dest_ind
->
rx_indication_body
.
rx_pdu_list
[
i
];
nfapi_rx_indication_pdu_t
*
src_pdu
=
&
ind
->
rx_indication_body
.
rx_pdu_list
[
i
];
...
...
@@ -862,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
];
...
...
@@ -880,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
];
...
...
@@ -901,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
];
...
...
@@ -932,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
,
...
...
@@ -954,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 @
8120c797
...
...
@@ -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
]);
...
...
@@ -2532,6 +2533,7 @@ static uint8_t pack_crc_indication_body_value(void* tlv, uint8_t **ppWritePacked
uint16_t
i
=
0
;
uint16_t
total_number_of_pdus
=
value
->
number_of_crcs
;
assert
(
total_number_of_pdus
<=
NFAPI_CRC_IND_MAX_PDU
);
for
(;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_crc_indication_pdu_t
*
pdu
=
&
(
value
->
crc_pdu_list
[
i
]);
...
...
@@ -2592,6 +2594,7 @@ static uint8_t pack_rx_ulsch_indication_body_value(void *tlv, uint8_t **ppWriteP
uint16_t
total_number_of_pdus
=
value
->
number_of_pdus
;
//printf("ULSCH:pdus:%d\n", total_number_of_pdus);
assert
(
total_number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_rx_indication_pdu_t
*
pdu
=
&
(
value
->
rx_pdu_list
[
i
]);
...
...
@@ -2615,6 +2618,7 @@ static uint8_t pack_rx_ulsch_indication_body_value(void *tlv, uint8_t **ppWriteP
}
// Now update the structure to include the offset
assert
(
total_number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_rx_indication_pdu_t
*
pdu
=
&
(
value
->
rx_pdu_list
[
i
]);
...
...
@@ -2630,6 +2634,7 @@ static uint8_t pack_rx_ulsch_indication_body_value(void *tlv, uint8_t **ppWriteP
}
// Write out the pdu
assert
(
total_number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
nfapi_rx_indication_pdu_t
*
pdu
=
&
(
value
->
rx_pdu_list
[
i
]);
...
...
@@ -2640,6 +2645,7 @@ static uint8_t pack_rx_ulsch_indication_body_value(void *tlv, uint8_t **ppWriteP
}
// Write out the pdu data
assert
(
total_number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
total_number_of_pdus
;
++
i
)
{
uint16_t
length
=
0
;
...
...
@@ -2833,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
]);
...
...
@@ -2900,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
]);
...
...
@@ -2928,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
]);
...
...
@@ -2953,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
]);
...
...
@@ -2975,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
;
...
...
@@ -6330,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
)
...
...
@@ -6404,7 +6416,8 @@ static uint8_t unpack_crc_indication_body_value(void *tlv, uint8_t **ppReadPacke
if
(
value
->
number_of_crcs
>
0
)
{
value
->
crc_pdu_list
=
(
nfapi_crc_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_crc_indication_pdu_t
)
*
value
->
number_of_crcs
,
config
);
assert
(
value
->
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
value
->
crc_pdu_list
=
(
nfapi_crc_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_crc_indication_pdu_t
)
*
NFAPI_CRC_IND_MAX_PDU
,
config
);
if
(
value
->
crc_pdu_list
==
NULL
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s failed to allocate crc ind pdu list (count:%d)
\n
"
,
__FUNCTION__
,
value
->
number_of_crcs
);
...
...
@@ -6418,6 +6431,7 @@ static uint8_t unpack_crc_indication_body_value(void *tlv, uint8_t **ppReadPacke
uint8_t
i
=
0
;
assert
(
value
->
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
value
->
number_of_crcs
;
++
i
)
{
nfapi_crc_indication_pdu_t
*
pdu
=
&
(
value
->
crc_pdu_list
[
i
]);
...
...
@@ -6496,7 +6510,8 @@ static uint8_t unpack_rx_indication_body_value(void *tlv, uint8_t **ppReadPacked
if
(
value
->
number_of_pdus
>
0
)
{
value
->
rx_pdu_list
=
(
nfapi_rx_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_rx_indication_pdu_t
)
*
value
->
number_of_pdus
,
config
);
assert
(
value
->
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
value
->
rx_pdu_list
=
(
nfapi_rx_indication_pdu_t
*
)
nfapi_p7_allocate
(
sizeof
(
nfapi_rx_indication_pdu_t
)
*
NFAPI_RX_IND_MAX_PDU
,
config
);
if
(
value
->
rx_pdu_list
==
NULL
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s failed to allocate rx ind pdu list (count:%d)
\n
"
,
__FUNCTION__
,
value
->
number_of_pdus
);
...
...
@@ -6529,6 +6544,7 @@ static uint8_t unpack_rx_indication_body_value(void *tlv, uint8_t **ppReadPacked
return
0
;
}
assert
(
i
<=
NFAPI_RX_IND_MAX_PDU
);
nfapi_rx_indication_pdu_t
*
pdu
=
&
value
->
rx_pdu_list
[
i
];
pdu
->
rx_ue_information
.
tl
=
generic_tl
;
...
...
@@ -6584,6 +6600,7 @@ static uint8_t unpack_rx_indication_body_value(void *tlv, uint8_t **ppReadPacked
}
}
assert
(
value
->
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
int
i
=
0
;
i
<
value
->
number_of_pdus
;
++
i
)
{
nfapi_rx_indication_pdu_t
*
pdu
=
&
value
->
rx_pdu_list
[
i
];
...
...
@@ -6865,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
);
...
...
@@ -6878,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
]);
...
...
@@ -6974,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
);
...
...
@@ -6988,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
);
...
...
@@ -7001,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
]);
...
...
@@ -7053,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
)
...
...
nfapi/open-nFAPI/vnf/src/vnf_p7.c
View file @
8120c797
...
...
@@ -23,9 +23,14 @@
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <assert.h>
#include "vnf_p7.h"
#ifdef NDEBUG
# warning assert is disabled
#endif
#define SYNC_CYCLE_COUNT 2
void
*
vnf_p7_malloc
(
vnf_p7_t
*
vnf_p7
,
size_t
size
)
...
...
@@ -818,6 +823,7 @@ void vnf_handle_rx_ulsch_indication(void *pRecvMsg, int recvMsgLen, vnf_p7_t* vn
}
}
assert
(
ind
.
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
uint16_t
i
=
0
;
for
(
i
=
0
;
i
<
ind
.
rx_indication_body
.
number_of_pdus
;
++
i
)
{
...
...
@@ -2500,8 +2506,9 @@ void vnf_p7_release_msg(vnf_p7_t* vnf_p7, nfapi_p7_message_header_t* header)
case
NFAPI_RX_ULSCH_INDICATION
:
{
nfapi_rx_indication_t
*
rx_ind
=
(
nfapi_rx_indication_t
*
)(
header
);
uint16_t
i
=
0
;
for
(
i
=
0
;
i
<
rx_ind
->
rx_indication_body
.
number_of_pdus
;
++
i
)
size_t
number_of_pdus
=
rx_ind
->
rx_indication_body
.
number_of_pdus
;
assert
(
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
size_t
i
=
0
;
i
<
number_of_pdus
;
++
i
)
{
vnf_p7_codec_free
(
vnf_p7
,
rx_ind
->
rx_indication_body
.
rx_pdu_list
[
i
].
data
);
}
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
8120c797
...
...
@@ -84,7 +84,8 @@ int16_t find_ulsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type) {
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
AssertFatal
(
eNB
->
ulsch
[
i
]
!=
NULL
,
"eNB->ulsch[%d] is null
\n
"
,
i
);
if
(
eNB
->
ulsch
[
i
]
==
NULL
)
continue
;
if
((
eNB
->
ulsch
[
i
]
->
harq_mask
>
0
)
&&
(
eNB
->
ulsch
[
i
]
->
rnti
==
rnti
))
return
i
;
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
8120c797
...
...
@@ -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
;
...
...
@@ -1554,6 +1555,7 @@ void fill_rx_indication(PHY_VARS_eNB *eNB,
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
eNB
->
UL_INFO
.
rx_ind
.
sfn_sf
=
frame
<<
4
|
subframe
;
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
tl
.
tag
=
NFAPI_RX_INDICATION_BODY_TAG
;
assert
(
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
pdu
=
&
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
rx_pdu_list
[
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
number_of_pdus
];
// pdu->rx_ue_information.handle = eNB->ulsch[UE_id]->handle;
pdu
->
rx_ue_information
.
tl
.
tag
=
NFAPI_RX_UE_INFORMATION_TAG
;
...
...
@@ -1795,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
;
...
...
@@ -1841,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
;
...
...
@@ -1911,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
;
...
...
@@ -2087,6 +2092,7 @@ void fill_uci_harq_indication (int UEid, PHY_VARS_eNB *eNB, LTE_eNB_UCI *uci, in
void
fill_crc_indication
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
frame
,
int
subframe
,
uint8_t
crc_flag
)
{
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
assert
(
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
nfapi_crc_indication_pdu_t
*
pdu
=
&
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
crc_pdu_list
[
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
];
eNB
->
UL_INFO
.
crc_ind
.
sfn_sf
=
frame
<<
4
|
subframe
;
eNB
->
UL_INFO
.
crc_ind
.
header
.
message_id
=
NFAPI_CRC_INDICATION
;
...
...
openair2/PHY_INTERFACE/IF_Module.c
View file @
8120c797
...
...
@@ -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_NFAPI_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_NFAPI_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_NFAPI_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
,
...
...
@@ -227,7 +233,9 @@ void handle_ulsch(UL_IND_t *UL_info) {
}
else
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
)
{
for
(
uint8_t
k
=
0
;
k
<
NUM_NFAPI_SUBFRAME
;
k
++
)
{
if
((
UL_RCC_INFO
.
rx_ind
[
k
].
rx_indication_body
.
number_of_pdus
>
0
)
&&
(
UL_RCC_INFO
.
crc_ind
[
k
].
crc_indication_body
.
number_of_crcs
>
0
))
{
assert
(
UL_RCC_INFO
.
rx_ind
[
k
].
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
UL_RCC_INFO
.
rx_ind
[
k
].
rx_indication_body
.
number_of_pdus
;
i
++
)
{
assert
(
UL_RCC_INFO
.
crc_ind
[
k
].
crc_indication_body
.
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
for
(
j
=
0
;
j
<
UL_RCC_INFO
.
crc_ind
[
k
].
crc_indication_body
.
number_of_crcs
;
j
++
)
{
// find crc_indication j corresponding rx_indication i
LOG_D
(
PHY
,
"UL_info->crc_ind.crc_indication_body.crc_pdu_list[%d].rx_ue_information.rnti:%04x UL_info->rx_ind.rx_indication_body.rx_pdu_list[%d].rx_ue_information.rnti:%04x
\n
"
,
...
...
@@ -280,7 +288,9 @@ void handle_ulsch(UL_IND_t *UL_info) {
}
}
else
{
if
(
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
>
0
&&
UL_info
->
crc_ind
.
crc_indication_body
.
number_of_crcs
>
0
)
{
assert
(
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
i
=
0
;
i
<
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
;
i
++
)
{
assert
(
UL_info
->
crc_ind
.
crc_indication_body
.
number_of_crcs
<=
NFAPI_CRC_IND_MAX_PDU
);
for
(
j
=
0
;
j
<
UL_info
->
crc_ind
.
crc_indication_body
.
number_of_crcs
;
j
++
)
{
// find crc_indication j corresponding rx_indication i
LOG_D
(
PHY
,
"UL_info->crc_ind.crc_indication_body.crc_pdu_list[%d].rx_ue_information.rnti:%04x UL_info->rx_ind.rx_indication_body.rx_pdu_list[%d].rx_ue_information.rnti:%04x
\n
"
,
j
,
...
...
openair2/PHY_INTERFACE/phy_stub_UE.c
View file @
8120c797
...
...
@@ -96,6 +96,7 @@ void fill_rx_indication_UE_MAC(module_id_t Mod_id,
UL_INFO
->
rx_ind
.
rx_indication_body
.
tl
.
tag
=
NFAPI_RX_INDICATION_BODY_TAG
;
UL_INFO
->
rx_ind
.
vendor_extension
=
ul_config_req
->
vendor_extension
;
assert
(
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
pdu
=
&
UL_INFO
->
rx_ind
.
rx_indication_body
.
rx_pdu_list
[
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
];
// pdu = &UL_INFO->rx_ind.rx_indication_body.rx_pdu_list[index];
...
...
@@ -143,6 +144,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
;
...
...
@@ -281,6 +283,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
];
...
...
@@ -328,6 +331,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
];
...
...
@@ -374,6 +378,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
];
...
...
@@ -1618,6 +1623,7 @@ static void print_rx_ind(nfapi_rx_indication_t *p)
printf
(
"rx_indication_body.tl.length: %u
\n
"
,
p
->
rx_indication_body
.
tl
.
length
);
printf
(
"rx_indication_body.number_of_pdus: %u
\n
"
,
p
->
rx_indication_body
.
number_of_pdus
);
assert
(
p
->
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
nfapi_rx_indication_pdu_t
*
pdu
=
p
->
rx_indication_body
.
rx_pdu_list
;
for
(
int
i
=
0
;
i
<
p
->
rx_indication_body
.
number_of_pdus
;
i
++
)
{
...
...
targets/RT/USER/lte-ue.c
View file @
8120c797
...
...
@@ -1040,16 +1040,16 @@ static void *UE_phy_stub_standalone_pnf_task(void *arg)
UE
=
rtd
->
UE
;
UL_INFO
=
(
UL_IND_t
*
)
calloc
(
1
,
sizeof
(
UL_IND_t
));
UL_INFO
->
rx_ind
.
rx_indication_body
.
rx_pdu_list
=
calloc
(
N
UMBER_OF_UE_MAX
,
sizeof
(
nfapi_rx_indication_pdu_t
));
UL_INFO
->
rx_ind
.
rx_indication_body
.
rx_pdu_list
=
calloc
(
N
FAPI_RX_IND_MAX_PDU
,
sizeof
(
nfapi_rx_indication_pdu_t
));
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
=
0
;
UL_INFO
->
crc_ind
.
crc_indication_body
.
crc_pdu_list
=
calloc
(
N
UMBER_OF_UE_MAX
,
sizeof
(
nfapi_crc_indication_pdu_t
));
UL_INFO
->
crc_ind
.
crc_indication_body
.
crc_pdu_list
=
calloc
(
N
FAPI_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
;
...
...
@@ -1281,7 +1281,8 @@ static void *UE_phy_stub_standalone_pnf_task(void *arg)
send_standalone_msg
(
UL_INFO
,
UL_INFO
->
rx_ind
.
header
.
message_id
);
sent_any
=
true
;
for
(
uint8_t
num_pdu
=
0
;
num_pdu
<
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
;
num_pdu
++
)
{
assert
(
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
<=
NFAPI_RX_IND_MAX_PDU
);
for
(
size_t
num_pdu
=
0
;
num_pdu
<
UL_INFO
->
rx_ind
.
rx_indication_body
.
number_of_pdus
;
num_pdu
++
)
{
free
(
UL_INFO
->
rx_ind
.
rx_indication_body
.
rx_pdu_list
[
num_pdu
].
data
);
}
...
...
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