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
c9285ecf
Commit
c9285ecf
authored
Mar 14, 2021
by
Michael Cook
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'episys-merge-future' into episys/master
parents
6cbdc8b1
229769e1
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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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 @
c9285ecf
...
...
@@ -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