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
promise
OpenXG-RAN
Commits
b6a9bb33
Commit
b6a9bb33
authored
7 years ago
by
David Price
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bit of tidy up, rename variables. change some logs
parent
17322170
nfapi-L2-emulator
LTE-sidelink
New-Merge-sidelink-develop
UpdateRANRemoteUEReport
No related merge requests found
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
77 additions
and
75 deletions
+77
-75
nfapi/nfapi_pnf.c
nfapi/nfapi_pnf.c
+9
-11
nfapi/nfapi_vnf.c
nfapi/nfapi_vnf.c
+21
-18
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+4
-4
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+11
-10
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+3
-3
openair2/PHY_INTERFACE/IF_Module.c
openair2/PHY_INTERFACE/IF_Module.c
+15
-15
openair2/PHY_INTERFACE/IF_Module.h
openair2/PHY_INTERFACE/IF_Module.h
+1
-1
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+4
-4
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+9
-9
No files found.
nfapi/nfapi_pnf.c
View file @
b6a9bb33
...
...
@@ -43,7 +43,7 @@ extern void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, nfa
extern
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
extern
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
nfapi_tx_request_pdu_t
*
tx_request_pdu
[
1023
][
10
][
10
];
// [frame][subframe][max_num_pdus]
...
...
@@ -923,19 +923,13 @@ void pnf_phy_deallocate_p7_vendor_ext(nfapi_p7_message_header_t* header)
int
pnf_phy_hi_dci0_req
(
nfapi_pnf_p7_config_t
*
pnf_p7
,
nfapi_hi_dci0_request_t
*
req
)
{
//printf("[PNF] hi dci0 request\n");
LOG_D
(
PHY
,
"[PNF] hi dci0 request sfn_sf:%d number_of_dci:%d number_of_hi:%d
\n
"
,
NFAPI_SFNSF2DEC
(
req
->
sfn_sf
),
req
->
hi_dci0_request_body
.
number_of_dci
,
req
->
hi_dci0_request_body
.
number_of_hi
);
//phy_info* phy = (phy_info*)(pnf_p7->user_data);
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
eNB_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
proc_rxtx
[
0
];
LOG_D
(
PHY
,
"[PNF] HI_DCI0_REQ sfn_sf:%d sfnsf:%u DCIs:%d HIs:%d
\n
"
,
NFAPI_SFNSF2DEC
(
req
->
sfn_sf
),
req
->
hi_dci0_request_body
.
sfnsf
,
req
->
hi_dci0_request_body
.
number_of_dci
,
req
->
hi_dci0_request_body
.
number_of_hi
);
for
(
int
i
=
0
;
i
<
req
->
hi_dci0_request_body
.
number_of_dci
+
req
->
hi_dci0_request_body
.
number_of_hi
;
i
++
)
{
LOG_D
(
PHY
,
"[PNF] HI_DCI0_REQ sfn_sf:%d PDU[%d]
\n
"
,
NFAPI_SFNSF2DEC
(
req
->
sfn_sf
),
i
);
...
...
@@ -960,6 +954,10 @@ int pnf_phy_hi_dci0_req(nfapi_pnf_p7_config_t* pnf_p7, nfapi_hi_dci0_request_t*
eNB
->
pdcch_vars
[
NFAPI_SFNSF2SF
(
req
->
sfn_sf
)
&
1
].
num_dci
++
;
}
else
{
LOG_E
(
PHY
,
"[PNF] HI_DCI0_REQ sfn_sf:%d PDU[%d] - unknown pdu type:%d
\n
"
,
NFAPI_SFNSF2DEC
(
req
->
sfn_sf
),
i
,
req
->
hi_dci0_request_body
.
hi_dci0_pdu_list
[
i
].
pdu_type
);
}
}
return
0
;
...
...
@@ -1752,7 +1750,7 @@ void* pnf_start_thread(void* ptr)
void
configure_nfapi_pnf
(
char
*
vnf_ip_addr
,
int
vnf_p5_port
,
char
*
pnf_ip_addr
,
int
pnf_p7_port
,
int
vnf_p7_port
)
{
nfapi_
pnf
=
1
;
// PNF!
nfapi_
mode
=
1
;
// PNF!
nfapi_pnf_config_t
*
config
=
nfapi_pnf_config_create
();
...
...
@@ -1820,7 +1818,7 @@ void oai_subframe_ind(eNB_rxtx_proc_t *proc)
//PHY_VARS_eNB *eNB = RC.eNB[0][0];
//int even_frame_thread = eNB->proc.proc_rxtx[0] == proc ? 0 : 1;
int
pnf
=
nfapi_
pnf
==
1
?
1
:
0
;
int
pnf
=
nfapi_
mode
==
1
?
1
:
0
;
uint16_t
sfn
=
pnf
?
proc
->
frame_tx
:
proc
->
frame_rx
;
uint16_t
sf
=
pnf
?
proc
->
subframe_tx
:
proc
->
frame_rx
;
uint16_t
sfn_sf_tx
=
sfn
<<
4
|
sf
;
...
...
This diff is collapsed.
Click to expand it.
nfapi/nfapi_vnf.c
View file @
b6a9bb33
...
...
@@ -446,7 +446,7 @@ int pnf_param_resp_cb(nfapi_vnf_config_t* config, int p5_idx, nfapi_pnf_param_re
int
pnf_config_resp_cb
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_pnf_config_response_t
*
resp
)
{
printf
(
"[VNF] pnf config response idx:%d resp[header[phy_id:%u message_id:%
u
message_length:%u]]
\n
"
,
p5_idx
,
resp
->
header
.
phy_id
,
resp
->
header
.
message_id
,
resp
->
header
.
message_length
);
printf
(
"[VNF] pnf config response idx:%d resp[header[phy_id:%u message_id:%
02x
message_length:%u]]
\n
"
,
p5_idx
,
resp
->
header
.
phy_id
,
resp
->
header
.
message_id
,
resp
->
header
.
message_length
);
if
(
1
)
{
...
...
@@ -659,19 +659,22 @@ int phy_rach_indication(struct nfapi_vnf_p7_config* config, nfapi_rach_indicatio
int
phy_harq_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_harq_indication_t
*
ind
)
{
LOG_E
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_preambles:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
harq_indication_body
.
number_of_harqs
);
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
LOG_E
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_harqs:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
harq_indication_body
.
number_of_harqs
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
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
++
)
{
harq_indication
(
0
,
// DJP - fixme
0
,
// DJP - fixme
NFAPI_SFNSF2SFN
(
ind
->
sfn_sf
),
NFAPI_SFNSF2SF
(
ind
->
sfn_sf
),
&
ind
->
harq_indication_body
.
harq_pdu_list
[
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);
//mac_harq_ind(p7_vnf->mac, ind);
return
1
;
...
...
@@ -832,7 +835,7 @@ int phy_vendor_ext(struct nfapi_vnf_p7_config* config, nfapi_p7_message_header_t
}
else
{
printf
(
"[VNF] unknown %
d
\n
"
,
msg
->
message_id
);
printf
(
"[VNF] unknown %
02x
\n
"
,
msg
->
message_id
);
}
return
0
;
}
...
...
@@ -1270,11 +1273,11 @@ void vnf_start_thread(void* ptr)
}
static
vnf_info
vnf
;
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
/*------------------------------------------------------------------------------*/
void
configure_nfapi_vnf
(
char
*
vnf_addr
,
int
vnf_p5_port
)
{
nfapi_
pnf
=
2
;
nfapi_
mode
=
2
;
memset
(
&
vnf
,
0
,
sizeof
(
vnf
));
...
...
@@ -1342,9 +1345,9 @@ int oai_nfapi_dl_config_req(nfapi_dl_config_request_t *dl_config_req)
dl_config_req
->
header
.
phy_id
=
1
;
// DJP HACK TODO FIXME - need to pass this around!!!!
//dl_config_req->header.message_id = NFAPI_DL_CONFIG_BCH_PDU_TYPE;
//NFAPI_TRACE(NFAPI_TRACE_INFO, "[VNF] %s() header message_id:%
d
\n", __FUNCTION__, dl_config_req->header.message_id);
//NFAPI_TRACE(NFAPI_TRACE_INFO, "[VNF] %s() header message_id:%
02x
\n", __FUNCTION__, dl_config_req->header.message_id);
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() DL_CONFIG p7_config:%p phy_id:%d message_id:%
d
sfn_sf:%d pdcch:%d dci:%d pdu:%d pdsch_rnti:%d pcfich:%d
\n
"
,
__FUNCTION__
,
p7_config
,
dl_config_req
->
header
.
phy_id
,
dl_config_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
dl_config_req
->
sfn_sf
),
dl_config_req
->
dl_config_request_body
.
number_pdcch_ofdm_symbols
,
dl_config_req
->
dl_config_request_body
.
number_dci
,
dl_config_req
->
dl_config_request_body
.
number_pdu
,
dl_config_req
->
dl_config_request_body
.
number_pdsch_rnti
,
dl_config_req
->
dl_config_request_body
.
transmission_power_pcfich
);
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() DL_CONFIG p7_config:%p phy_id:%d message_id:%
02x
sfn_sf:%d pdcch:%d dci:%d pdu:%d pdsch_rnti:%d pcfich:%d
\n
"
,
__FUNCTION__
,
p7_config
,
dl_config_req
->
header
.
phy_id
,
dl_config_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
dl_config_req
->
sfn_sf
),
dl_config_req
->
dl_config_request_body
.
number_pdcch_ofdm_symbols
,
dl_config_req
->
dl_config_request_body
.
number_dci
,
dl_config_req
->
dl_config_request_body
.
number_pdu
,
dl_config_req
->
dl_config_request_body
.
number_pdsch_rnti
,
dl_config_req
->
dl_config_request_body
.
transmission_power_pcfich
);
int
retval
=
nfapi_vnf_p7_dl_config_req
(
p7_config
,
dl_config_req
);
...
...
@@ -1361,7 +1364,7 @@ int oai_nfapi_tx_req(nfapi_tx_request_t *tx_req)
tx_req
->
header
.
phy_id
=
1
;
// DJP HACK TODO FIXME - need to pass this around!!!!
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() TX_REQ p7_config:%p phy_id:%d message_id:%
d
sfn_sf:%d number_of_pdus:%d
\n
"
,
__FUNCTION__
,
p7_config
,
tx_req
->
header
.
phy_id
,
tx_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
tx_req
->
sfn_sf
),
tx_req
->
tx_request_body
.
number_of_pdus
);
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() TX_REQ p7_config:%p phy_id:%d message_id:%
02x
sfn_sf:%d number_of_pdus:%d
\n
"
,
__FUNCTION__
,
p7_config
,
tx_req
->
header
.
phy_id
,
tx_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
tx_req
->
sfn_sf
),
tx_req
->
tx_request_body
.
number_of_pdus
);
int
retval
=
nfapi_vnf_p7_tx_req
(
p7_config
,
tx_req
);
...
...
@@ -1378,7 +1381,7 @@ int oai_nfapi_hi_dci0_req(nfapi_hi_dci0_request_t *hi_dci0_req)
hi_dci0_req
->
header
.
phy_id
=
1
;
// DJP HACK TODO FIXME - need to pass this around!!!!
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() HI_DCI0_REQ p7_config:%p phy_id:%d message_id:%
d
sfn_sf:%d number_of_dci:%d number_of_hi:%d
\n
"
,
__FUNCTION__
,
p7_config
,
hi_dci0_req
->
header
.
phy_id
,
hi_dci0_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
hi_dci0_req
->
sfn_sf
),
hi_dci0_req
->
hi_dci0_request_body
.
number_of_dci
,
hi_dci0_req
->
hi_dci0_request_body
.
number_of_hi
);
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() HI_DCI0_REQ p7_config:%p phy_id:%d message_id:%
02x
sfn_sf:%d number_of_dci:%d number_of_hi:%d
\n
"
,
__FUNCTION__
,
p7_config
,
hi_dci0_req
->
header
.
phy_id
,
hi_dci0_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
hi_dci0_req
->
sfn_sf
),
hi_dci0_req
->
hi_dci0_request_body
.
number_of_dci
,
hi_dci0_req
->
hi_dci0_request_body
.
number_of_hi
);
int
retval
=
nfapi_vnf_p7_hi_dci0_req
(
p7_config
,
hi_dci0_req
);
...
...
@@ -1395,9 +1398,9 @@ int oai_nfapi_ul_config_req(nfapi_ul_config_request_t *ul_config_req)
ul_config_req
->
header
.
phy_id
=
1
;
// DJP HACK TODO FIXME - need to pass this around!!!!
//NFAPI_TRACE(NFAPI_TRACE_INFO, "[VNF] %s() header message_id:%
d
\n", __FUNCTION__, ul_config_req->header.message_id);
//NFAPI_TRACE(NFAPI_TRACE_INFO, "[VNF] %s() header message_id:%
02x
\n", __FUNCTION__, ul_config_req->header.message_id);
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() UL_CONFIG p7_config:%p phy_id:%d message_id:%
d
sfn_sf:%d PDUs:%d rach_prach_frequency_resources:%d srs_present:%d
\n
"
,
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %s() UL_CONFIG p7_config:%p phy_id:%d message_id:%
02x
sfn_sf:%d PDUs:%d rach_prach_frequency_resources:%d srs_present:%d
\n
"
,
__FUNCTION__
,
p7_config
,
ul_config_req
->
header
.
phy_id
,
ul_config_req
->
header
.
message_id
,
NFAPI_SFNSF2DEC
(
ul_config_req
->
sfn_sf
),
ul_config_req
->
ul_config_request_body
.
number_of_pdus
,
ul_config_req
->
ul_config_request_body
.
rach_prach_frequency_resources
,
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/fapi_l1.c
View file @
b6a9bb33
...
...
@@ -42,7 +42,7 @@ int oai_nfapi_tx_req(nfapi_tx_request_t *tx_req);
int
oai_nfapi_hi_dci0_req
(
nfapi_hi_dci0_request_t
*
hi_dci0_req
);
int
oai_nfapi_ul_config_req
(
nfapi_ul_config_request_t
*
ul_config_req
);
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
void
handle_nfapi_dci_dl_pdu
(
PHY_VARS_eNB
*
eNB
,
...
...
@@ -715,14 +715,14 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
}
}
if
(
nfapi_
pnf
&&
do_oai
)
if
(
nfapi_
mode
&&
do_oai
)
{
oai_nfapi_tx_req
(
Sched_INFO
->
TX_req
);
oai_nfapi_dl_config_req
(
Sched_INFO
->
DL_req
);
// DJP - .dl_config_request_body.dl_config_pdu_list[0]); // DJP - FIXME TODO - yuk - only copes with 1 pdu
}
if
(
nfapi_
pnf
&&
number_hi_dci0_pdu
!=
0
)
if
(
nfapi_
mode
&&
number_hi_dci0_pdu
!=
0
)
{
oai_nfapi_hi_dci0_req
(
HI_DCI0_req
);
}
...
...
@@ -750,7 +750,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
}
}
if
(
nfapi_
pnf
)
if
(
nfapi_
mode
)
{
for
(
int
future_subframe
=
0
;
future_subframe
<
10
;
future_subframe
++
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
b6a9bb33
...
...
@@ -50,7 +50,7 @@
# include "intertask_interface.h"
#endif
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
int
oai_nfapi_rach_ind
(
nfapi_rach_indication_t
*
rach_ind
);
...
...
@@ -703,7 +703,7 @@ void prach_procedures(PHY_VARS_eNB *eNB,
eNB
->
preamble_list
[
0
].
instance_length
=
0
;
//don't know exactly what this is
// If NFAPI PNF then we need to send the message to the VNF
if
(
nfapi_
pnf
==
1
)
if
(
nfapi_
mode
==
1
)
{
nfapi_rach_indication_t
rach_ind
;
rach_ind
.
header
.
message_id
=
NFAPI_RACH_INDICATION
;
...
...
@@ -711,7 +711,8 @@ void prach_procedures(PHY_VARS_eNB *eNB,
rach_ind
.
rach_indication_body
=
eNB
->
UL_INFO
.
rach_ind
;
LOG_E
(
PHY
,
"
\n\n\n\n
DJP - this needs to be sent to VNF **********************************************
\n\n\n\n
"
);
LOG_E
(
PHY
,
"Filling NFAPI indication for RACH : TA %d, Preamble %d, rnti %x, rach_resource_type %d
\n
"
,
LOG_E
(
PHY
,
"Filling NFAPI indication for RACH : SFN_SF:%d TA %d, Preamble %d, rnti %x, rach_resource_type %d
\n
"
,
NFAPI_SFNSF2DEC
(
rach_ind
.
sfn_sf
),
eNB
->
preamble_list
[
0
].
preamble_rel8
.
timing_advance
,
eNB
->
preamble_list
[
0
].
preamble_rel8
.
preamble
,
eNB
->
preamble_list
[
0
].
preamble_rel8
.
rnti
,
...
...
@@ -1727,7 +1728,7 @@ void fill_ulsch_harq_indication(PHY_VARS_eNB *eNB,LTE_UL_eNB_HARQ_t *ulsch_harq,
AssertFatal
(
UE_id
>=
0
,
"UE_id doesn't exist
\n
"
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
nfapi_harq_indication_pdu_t
*
pdu
=
&
eNB
->
UL_INFO
.
harq_ind
.
harq_
pdu_list
[
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
];
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
;
...
...
@@ -1782,8 +1783,8 @@ void fill_ulsch_harq_indication(PHY_VARS_eNB *eNB,LTE_UL_eNB_HARQ_t *ulsch_harq,
}
}
LOG_E
(
PHY
,
"eNB->UL_INFO.harq_ind.
number_of_harqs:%d
\n
"
,
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
);
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
++
;
LOG_E
(
PHY
,
"eNB->UL_INFO.harq_ind.
harq_indication_body.number_of_harqs:%d
\n
"
,
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
);
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
++
;
pthread_mutex_unlock
(
&
eNB
->
UL_INFO_mutex
);
}
...
...
@@ -1801,7 +1802,7 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
nfapi_harq_indication_pdu_t
*
pdu
=
&
eNB
->
UL_INFO
.
harq_ind
.
harq_
pdu_list
[
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
];
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
];
pdu
->
instance_length
=
0
;
// don't know what to do with this
// pdu->rx_ue_information.handle = handle;
...
...
@@ -1945,8 +1946,8 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
}
//TDD
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
++
;
LOG_E
(
PHY
,
"Incremented eNB->UL_INFO.harq_ind.
number_of_harqs:%d
\n
"
,
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
);
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
++
;
LOG_E
(
PHY
,
"Incremented eNB->UL_INFO.harq_ind.
harq_indication_body.number_of_harqs:%d
\n
"
,
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
);
pthread_mutex_unlock
(
&
eNB
->
UL_INFO_mutex
);
}
...
...
@@ -2021,7 +2022,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
uci_procedures
(
eNB
,
proc
);
if
(
nfapi_
pnf
==
0
||
nfapi_pnf
==
1
)
// If PNF or monolithic
if
(
nfapi_
mode
==
0
||
nfapi_mode
==
1
)
// If PNF or monolithic
{
pusch_procedures
(
eNB
,
proc
);
}
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_config.c
View file @
b6a9bb33
...
...
@@ -105,7 +105,7 @@ static int enb_check_band_frequencies(char* lib_config_file_name_pP,
}
extern
void
mac_top_init_eNB
(
void
);
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
...
...
@@ -288,7 +288,7 @@ void RCconfig_L1(void) {
RC
.
eNB
[
j
][
0
]
->
eth_params_n
.
remote_portd
=
*
(
L1_ParamList
.
paramarray
[
j
][
L1_REMOTE_N_PORTD_IDX
].
iptr
);
RC
.
eNB
[
j
][
0
]
->
eth_params_n
.
transp_preference
=
ETH_UDP_MODE
;
nfapi_
pnf
=
1
;
nfapi_
mode
=
1
;
RC
.
nb_macrlc_inst
=
1
;
// This is used by mac_top_init_eNB()
...
...
@@ -386,7 +386,7 @@ void RCconfig_macrlc() {
RC
.
mac
[
j
]
->
eth_params_s
.
remote_portd
=
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_REMOTE_S_PORTD_IDX
].
iptr
);
RC
.
mac
[
j
]
->
eth_params_s
.
transp_preference
=
ETH_UDP_MODE
;
nfapi_
pnf
=
2
;
nfapi_
mode
=
2
;
printf
(
"**************** vnf_port:%d
\n
"
,
RC
.
mac
[
j
]
->
eth_params_s
.
my_portc
);
configure_nfapi_vnf
(
RC
.
mac
[
j
]
->
eth_params_s
.
my_addr
,
RC
.
mac
[
j
]
->
eth_params_s
.
my_portc
);
...
...
This diff is collapsed.
Click to expand it.
openair2/PHY_INTERFACE/IF_Module.c
View file @
b6a9bb33
...
...
@@ -14,7 +14,7 @@ extern int oai_nfapi_harq_indication(nfapi_harq_indication_t *harq_ind);
extern
int
oai_nfapi_crc_indication
(
nfapi_crc_indication_t
*
crc_ind
);
extern
int
oai_nfapi_cqi_indication
(
nfapi_cqi_indication_t
*
cqi_ind
);
extern
int
oai_nfapi_rx_ind
(
nfapi_rx_indication_t
*
ind
);
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
void
handle_rach
(
UL_IND_t
*
UL_info
)
{
int
i
;
...
...
@@ -79,7 +79,7 @@ void handle_cqi(UL_IND_t *UL_info) {
int
i
;
if
(
nfapi_
pnf
==
1
)
if
(
nfapi_
mode
==
1
)
{
if
(
UL_info
->
cqi_ind
.
number_of_cqis
>
0
)
{
...
...
@@ -113,9 +113,9 @@ void handle_harq(UL_IND_t *UL_info) {
//if (UL_info->harq_ind.number_of_harqs>0)
if
(
nfapi_
pnf
==
1
&&
UL_info
->
harq_ind
.
number_of_harqs
>
0
)
// PNF
if
(
nfapi_
mode
==
1
&&
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
>
0
)
// PNF
{
LOG_E
(
PHY
,
"UL_info->harq_ind.
number_of_harqs:%d Send to VNF
\n
"
,
UL_info
->
harq_ind
.
number_of_harqs
);
LOG_E
(
PHY
,
"UL_info->harq_ind.
harq_indication_body.number_of_harqs:%d Send to VNF
\n
"
,
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
);
nfapi_harq_indication_t
ind
;
...
...
@@ -130,21 +130,21 @@ void handle_harq(UL_IND_t *UL_info) {
}
}
for
(
i
=
0
;
i
<
UL_info
->
harq_ind
.
number_of_harqs
;
i
++
)
for
(
i
=
0
;
i
<
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
;
i
++
)
harq_indication
(
UL_info
->
module_id
,
UL_info
->
CC_id
,
UL_info
->
frame
,
UL_info
->
subframe
,
&
UL_info
->
harq_ind
.
harq_pdu_list
[
i
]);
&
UL_info
->
harq_ind
.
harq_
indication_body
.
harq_
pdu_list
[
i
]);
UL_info
->
harq_ind
.
number_of_harqs
=
0
;
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
=
0
;
}
void
handle_ulsch
(
UL_IND_t
*
UL_info
)
{
int
i
,
j
;
if
(
nfapi_
pnf
==
1
)
if
(
nfapi_
mode
==
1
)
{
if
(
UL_info
->
crc_ind
.
crc_indication_body
.
number_of_crcs
>
0
)
{
...
...
@@ -155,7 +155,7 @@ void handle_ulsch(UL_IND_t *UL_info) {
}
if
(
nfapi_
pnf
==
1
&&
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
>
0
)
if
(
nfapi_
mode
==
1
&&
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
>
0
)
{
LOG_D
(
PHY
,
"UL_info->rx_ind.number_of_pdus:%d
\n
"
,
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
);
oai_nfapi_rx_ind
(
&
UL_info
->
rx_ind
);
...
...
@@ -251,9 +251,9 @@ static void dump_ul(UL_IND_t *u)
A
(
"XXXX UL mod %d CC %d f.sf %d.%d
\n
"
,
u
->
module_id
,
u
->
CC_id
,
u
->
frame
,
u
->
subframe
);
A
(
"XXXX harq_ind %d
\n
"
,
u
->
harq_ind
.
number_of_harqs
);
for
(
i
=
0
;
i
<
u
->
harq_ind
.
number_of_harqs
;
i
++
)
{
nfapi_harq_indication_pdu_t
*
v
=
&
u
->
harq_ind
.
harq_pdu_list
[
i
];
A
(
"XXXX harq_ind %d
\n
"
,
u
->
harq_ind
.
harq_indication_body
.
number_of_harqs
);
for
(
i
=
0
;
i
<
u
->
harq_ind
.
harq_indication_body
.
number_of_harqs
;
i
++
)
{
nfapi_harq_indication_pdu_t
*
v
=
&
u
->
harq_ind
.
harq_
indication_body
.
harq_
pdu_list
[
i
];
A
(
"XXXX harq ind %d
\n
"
,
i
);
A
(
"XXXX rnti %d
\n
"
,
v
->
rx_ue_information
.
rnti
);
A
(
"XXXX tb1 %d tb2 %d
\n
"
,
v
->
harq_indication_fdd_rel8
.
harq_tb1
,
...
...
@@ -513,7 +513,7 @@ void UL_indication(UL_IND_t *UL_info)
UL_info
->
frame
,
UL_info
->
subframe
,
module_id
,
CC_id
);
if
(
nfapi_
pnf
!=
1
)
if
(
nfapi_
mode
!=
1
)
{
if
(
ifi
->
CC_mask
==
0
)
{
ifi
->
current_frame
=
UL_info
->
frame
;
...
...
@@ -531,7 +531,7 @@ void UL_indication(UL_IND_t *UL_info)
clear_nfapi_information
(
RC
.
mac
[
module_id
],
CC_id
,
UL_info
->
frame
,
UL_info
->
subframe
);
LOG_D
(
PHY
,
"UL_info[rx_ind:%d number_of_harqs:%d number_of_crcs:%d number_of_cqis:%d number_of_preambles:%d]
\n
"
,
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
,
UL_info
->
harq_ind
.
number_of_harqs
,
UL_info
->
crc_ind
.
crc_indication_body
.
number_of_crcs
,
UL_info
->
cqi_ind
.
number_of_cqis
,
UL_info
->
rach_ind
.
number_of_preambles
);
LOG_D
(
PHY
,
"UL_info[rx_ind:%d number_of_harqs:%d number_of_crcs:%d number_of_cqis:%d number_of_preambles:%d]
\n
"
,
UL_info
->
rx_ind
.
rx_indication_body
.
number_of_pdus
,
UL_info
->
harq_ind
.
harq_indication_body
.
number_of_harqs
,
UL_info
->
crc_ind
.
crc_indication_body
.
number_of_crcs
,
UL_info
->
cqi_ind
.
number_of_cqis
,
UL_info
->
rach_ind
.
number_of_preambles
);
handle_rach
(
UL_info
);
...
...
@@ -546,7 +546,7 @@ void UL_indication(UL_IND_t *UL_info)
handle_ulsch
(
UL_info
);
if
(
nfapi_
pnf
!=
1
)
if
(
nfapi_
mode
!=
1
)
{
if
(
ifi
->
CC_mask
==
((
1
<<
MAX_NUM_CCs
)
-
1
))
{
...
...
This diff is collapsed.
Click to expand it.
openair2/PHY_INTERFACE/IF_Module.h
View file @
b6a9bb33
...
...
@@ -61,7 +61,7 @@ typedef struct{
sub_frame_t
subframe
;
/// harq indication list
nfapi_harq_indication_
body_
t
harq_ind
;
nfapi_harq_indication_t
harq_ind
;
/// crc indication list
nfapi_crc_indication_t
crc_ind
;
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-enb.c
View file @
b6a9bb33
...
...
@@ -152,7 +152,7 @@ void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe);
#endif
extern
void
oai_subframe_ind
(
eNB_rxtx_proc_t
*
proc
);
extern
uint8_t
nfapi_
pnf
;
extern
uint8_t
nfapi_
mode
;
static
inline
int
rxtx
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
char
*
thread_name
)
{
...
...
@@ -199,11 +199,11 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
}
}
if
(
nfapi_
pnf
)
if
(
nfapi_
mode
)
{
oai_subframe_ind
(
proc
);
// PNF ---> P7:subframe_ind --> VNF
//LOG_E(PHY, "Returned from oai_subframe_ind()\n");
LOG_D
(
PHY
,
"UL_info[rx_ind:%d number_of_harqs:%d number_of_crcs:%d number_of_cqis:%d number_of_preambles:%d]
\n
"
,
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
number_of_pdus
,
eNB
->
UL_INFO
.
harq_ind
.
number_of_harqs
,
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
,
eNB
->
UL_INFO
.
cqi_ind
.
number_of_cqis
,
eNB
->
UL_INFO
.
rach_ind
.
number_of_preambles
);
LOG_D
(
PHY
,
"UL_info[rx_ind:%d number_of_harqs:%d number_of_crcs:%d number_of_cqis:%d number_of_preambles:%d]
\n
"
,
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
number_of_pdus
,
eNB
->
UL_INFO
.
harq_ind
.
harq_indication_body
.
number_of_harqs
,
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
,
eNB
->
UL_INFO
.
cqi_ind
.
number_of_cqis
,
eNB
->
UL_INFO
.
rach_ind
.
number_of_preambles
);
}
// UE-specific RX processing for subframe n
...
...
@@ -1055,7 +1055,7 @@ void init_eNB(int single_thread_flag,int wait_for_sync) {
eNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
rx_pdu_list
=
eNB
->
rx_pdu_list
;
eNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
crc_pdu_list
=
eNB
->
crc_pdu_list
;
eNB
->
UL_INFO
.
sr_ind
.
sr_pdu_list
=
eNB
->
sr_pdu_list
;
eNB
->
UL_INFO
.
harq_ind
.
harq_pdu_list
=
eNB
->
harq_pdu_list
;
eNB
->
UL_INFO
.
harq_ind
.
harq_
indication_body
.
harq_
pdu_list
=
eNB
->
harq_pdu_list
;
eNB
->
UL_INFO
.
cqi_ind
.
cqi_pdu_list
=
eNB
->
cqi_pdu_list
;
eNB
->
UL_INFO
.
cqi_ind
.
cqi_raw_pdu_list
=
eNB
->
cqi_raw_pdu_list
;
}
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-softmodem.c
View file @
b6a9bb33
...
...
@@ -116,7 +116,7 @@ pthread_cond_t nfapi_sync_cond;
pthread_mutex_t
nfapi_sync_mutex
;
int
nfapi_sync_var
=-
1
;
//!< protected by mutex \ref nfapi_sync_mutex
uint8_t
nfapi_
pnf
=
0
;
uint8_t
nfapi_
mode
=
0
;
pthread_cond_t
sync_cond
;
pthread_mutex_t
sync_mutex
;
...
...
@@ -1198,15 +1198,15 @@ int main( int argc, char **argv )
// Will have parsed the config files by now
printf
(
"NFAPI
_PNF:%d
\n
"
,
nfapi_pnf
);
printf
(
"NFAPI
MODE:%d
\n
"
,
nfapi_mode
);
if
(
nfapi_
pnf
==
1
)
// PNF
if
(
nfapi_
mode
==
1
)
// PNF
{
set_comp_log
(
PHY
,
LOG_DEBUG
,
LOG_FULL
,
1
);
printf
(
"DJP - forcing PHY to DEBUG - should see similar line if it works
\n
"
);
LOG_E
(
PHY
,
"%s() DJP - forcing PHY to LOG_DEBUG for PNF
\n
"
,
__FUNCTION__
);
}
else
if
(
nfapi_
pnf
==
2
)
// VNF
else
if
(
nfapi_
mode
==
2
)
// VNF
{
set_comp_log
(
MAC
,
LOG_DEBUG
,
LOG_FULL
,
1
);
set_comp_log
(
RRC
,
LOG_INFO
,
LOG_FULL
,
1
);
...
...
@@ -1283,7 +1283,7 @@ int main( int argc, char **argv )
rt_sleep_ns
(
10
*
100000000ULL
);
if
(
nfapi_
pnf
)
if
(
nfapi_
mode
)
{
printf
(
"NFAPI*** - mutex and cond created - will block shortly for completion of PNF connection
\n
"
);
pthread_cond_init
(
&
sync_cond
,
NULL
);
...
...
@@ -1292,7 +1292,7 @@ int main( int argc, char **argv )
const
char
*
nfapi_mode_str
=
"<UNKNOWN>"
;
switch
(
nfapi_
pnf
)
switch
(
nfapi_
mode
)
{
case
0
:
nfapi_mode_str
=
"MONOLITHIC"
;
...
...
@@ -1305,7 +1305,7 @@ int main( int argc, char **argv )
}
printf
(
"NFAPI MODE:%s
\n
"
,
nfapi_mode_str
);
if
(
nfapi_
pnf
==
2
)
// VNF
if
(
nfapi_
mode
==
2
)
// VNF
wait_nfapi_init
(
"main?"
);
printf
(
"START MAIN THREADS
\n
"
);
...
...
@@ -1346,7 +1346,7 @@ int main( int argc, char **argv )
config_sync_var
=
0
;
if
(
nfapi_
pnf
==
1
)
// PNF
if
(
nfapi_
mode
==
1
)
// PNF
{
//set_comp_log(PHY, LOG_DEBUG, LOG_FULL, 1);
//printf("DJP - forcing PHY to DEBUG - should see similar line if it works\n");
...
...
@@ -1362,7 +1362,7 @@ int main( int argc, char **argv )
// once all RUs are ready intiailize the rest of the eNBs ((dependence on final RU parameters after configuration)
printf
(
"ALL RUs ready - init eNBs
\n
"
);
if
(
nfapi_
pnf
!=
1
&&
nfapi_pnf
!=
2
)
if
(
nfapi_
mode
!=
1
&&
nfapi_mode
!=
2
)
{
printf
(
"Not NFAPI mode - call init_eNB_afterRU()
\n
"
);
init_eNB_afterRU
();
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment