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
Michael Black
OpenXG-RAN
Commits
fd51a5bd
Commit
fd51a5bd
authored
4 years ago
by
MaheshK1995
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PARAM message exchange DONE
parent
776a7440
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
219 additions
and
49 deletions
+219
-49
nfapi/oai_integration/nfapi_pnf.c
nfapi/oai_integration/nfapi_pnf.c
+3
-3
nfapi/oai_integration/nfapi_vnf.c
nfapi/oai_integration/nfapi_vnf.c
+5
-5
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
+1
-1
nfapi/open-nFAPI/nfapi/src/nfapi_p5.c
nfapi/open-nFAPI/nfapi/src/nfapi_p5.c
+193
-23
nfapi/open-nFAPI/pnf/public_inc/nfapi_pnf_interface.h
nfapi/open-nFAPI/pnf/public_inc/nfapi_pnf_interface.h
+1
-1
nfapi/open-nFAPI/pnf/src/pnf_interface.c
nfapi/open-nFAPI/pnf/src/pnf_interface.c
+2
-2
nfapi/open-nFAPI/vnf/public_inc/nfapi_vnf_interface.h
nfapi/open-nFAPI/vnf/public_inc/nfapi_vnf_interface.h
+1
-1
nfapi/open-nFAPI/vnf/src/vnf.c
nfapi/open-nFAPI/vnf/src/vnf.c
+1
-1
nfapi/open-nFAPI/vnf/src/vnf_interface.c
nfapi/open-nFAPI/vnf/src/vnf_interface.c
+6
-6
targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpx300.conf
...s/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpx300.conf
+3
-3
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf
...CTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf
+3
-3
No files found.
nfapi/oai_integration/nfapi_pnf.c
View file @
fd51a5bd
...
...
@@ -459,7 +459,7 @@ int pnf_stop_request(nfapi_pnf_config_t *config, nfapi_pnf_stop_request_t *req)
int
param_request
(
nfapi_pnf_config_t
*
config
,
nfapi_pnf_phy_config_t
*
phy
,
nfapi_nr_param_request_scf_t
*
req
)
{
printf
(
"[PNF] Received NFAPI_PARAM_REQUEST phy_id:%d
\n
"
,
req
->
header
.
phy_id
);
//pnf_info* pnf = (pnf_info*)(config->user_data);
nfapi_
param_response
_t
nfapi_resp
;
nfapi_
nr_param_response_scf
_t
nfapi_resp
;
pnf_info
*
pnf
=
(
pnf_info
*
)(
config
->
user_data
);
memset
(
&
nfapi_resp
,
0
,
sizeof
(
nfapi_resp
));
nfapi_resp
.
header
.
message_id
=
NFAPI_PARAM_RESPONSE
;
...
...
@@ -475,7 +475,7 @@ int param_request(nfapi_pnf_config_t *config, nfapi_pnf_phy_config_t *phy, nfapi
nfapi_resp
.
nfapi_config
.
p7_pnf_port
.
value
=
pnf
->
phys
[
0
].
local_port
;
// 32123; // DJP - hard code alert!!!! FIXME TODO
nfapi_resp
.
num_tlv
++
;
nfapi_pnf_param_resp
(
config
,
&
nfapi_resp
);
printf
(
"[PNF] Sent NFAPI_PARAM_RESPONSE phy_id:%d number_of_tlvs:%u
\n
"
,
req
->
header
.
phy_id
,
nfapi_resp
.
num_tlv
);
printf
(
"[PNF] Sent NFAPI_P
NF_P
ARAM_RESPONSE phy_id:%d number_of_tlvs:%u
\n
"
,
req
->
header
.
phy_id
,
nfapi_resp
.
num_tlv
);
printf
(
"[PNF] param request .. exit
\n
"
);
return
0
;
}
...
...
@@ -676,7 +676,7 @@ int config_request(nfapi_pnf_config_t *config, nfapi_pnf_phy_config_t *phy, nfap
nfapi_resp
.
header
.
phy_id
=
phy_info
->
id
;
nfapi_resp
.
error_code
=
0
;
// DJP - some value resp->error_code;
nfapi_pnf_config_resp
(
config
,
&
nfapi_resp
);
printf
(
"[PNF] Sent NFAPI_CONFIG_RESPONSE phy_id:%d
\n
"
,
phy_info
->
id
);
printf
(
"[PNF] Sent NFAPI_
PNF_
CONFIG_RESPONSE phy_id:%d
\n
"
,
phy_info
->
id
);
if
(
NFAPI_MODE
==
NFAPI_UE_STUB_PNF
)
free
(
fp
);
...
...
This diff is collapsed.
Click to expand it.
nfapi/oai_integration/nfapi_vnf.c
View file @
fd51a5bd
...
...
@@ -981,7 +981,7 @@ void *vnf_p7_thread_start(void *ptr) {
p7_vnf
->
config
->
codec_config
.
deallocate
=
&
vnf_deallocate
;
p7_vnf
->
config
->
allocate_p7_vendor_ext
=
&
phy_allocate_p7_vendor_ext
;
p7_vnf
->
config
->
deallocate_p7_vendor_ext
=
&
phy_deallocate_p7_vendor_ext
;
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] Creating VNF NFAPI start thread %s
\n
"
,
__FUNCTION__
);
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] Creating VNF NFAPI
P7
start thread %s
\n
"
,
__FUNCTION__
);
pthread_create
(
&
vnf_p7_start_pthread
,
NULL
,
&
vnf_p7_start_thread
,
p7_vnf
->
config
);
return
0
;
}
...
...
@@ -1002,7 +1002,7 @@ int pnf_start_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_pnf_start_re
}
// start all the phys in the pnf.
printf
(
"[VNF] Sending NFAPI_PARAM_REQUEST phy_id:%d
\n
"
,
pnf
->
phys
[
0
].
id
);
printf
(
"[VNF] Sending NFAPI_
VNF_
PARAM_REQUEST phy_id:%d
\n
"
,
pnf
->
phys
[
0
].
id
);
memset
(
&
req
,
0
,
sizeof
(
req
));
req
.
header
.
message_id
=
NFAPI_PARAM_REQUEST
;
req
.
header
.
phy_id
=
pnf
->
phys
[
0
].
id
;
...
...
@@ -1019,7 +1019,7 @@ int param_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_nr_param_respons
pnf_info
*
pnf
=
vnf
->
pnfs
;
phy_info
*
phy
=
pnf
->
phys
;
struct
sockaddr_in
pnf_p7_sockaddr
;
nfapi_nr_config_request_t
*
req
=
&
RC
.
nrmac
[
0
]
->
config
[
0
];
nfapi_nr_config_request_
scf_
t
*
req
=
&
RC
.
nrmac
[
0
]
->
config
[
0
];
phy
->
remote_port
=
resp
->
nfapi_config
.
p7_pnf_port
.
value
;
memcpy
(
&
pnf_p7_sockaddr
.
sin_addr
.
s_addr
,
&
(
resp
->
nfapi_config
.
p7_pnf_address_ipv4
.
address
[
0
]),
4
);
phy
->
remote_addr
=
inet_ntoa
(
pnf_p7_sockaddr
.
sin_addr
);
...
...
@@ -1062,7 +1062,7 @@ int param_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_nr_param_respons
ve2
.
dummy
=
2016
;
req
->
vendor_extension
=
&
ve2
.
tl
;
nfapi_vnf_config_req
(
config
,
p5_idx
,
req
);
printf
(
"[VNF] Sent NFAPI_CONFIG_REQ num_tlv:%u
\n
"
,
req
->
num_tlv
);
printf
(
"[VNF] Sent NFAPI_
VNF_
CONFIG_REQ num_tlv:%u
\n
"
,
req
->
num_tlv
);
return
0
;
}
...
...
@@ -1075,7 +1075,7 @@ int config_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_config_response
req
.
header
.
message_id
=
NFAPI_START_REQUEST
;
req
.
header
.
phy_id
=
resp
->
header
.
phy_id
;
nfapi_vnf_start_req
(
config
,
p5_idx
,
&
req
);
printf
(
"[VNF] Send NFAPI_START_REQUEST idx:%d phy_id:%d
\n
"
,
p5_idx
,
resp
->
header
.
phy_id
);
printf
(
"[VNF] Send NFAPI_
VNF_
START_REQUEST idx:%d phy_id:%d
\n
"
,
p5_idx
,
resp
->
header
.
phy_id
);
return
0
;
}
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
View file @
fd51a5bd
...
...
@@ -459,7 +459,7 @@ typedef struct {
nfapi_p4_p5_message_header_t
header
;
nfapi_nr_param_errors_e
error_code
;
uint8_t
num
ber_of_tlvs
;
uint8_t
num
_tlv
;
nfapi_vendor_extension_tlv_t
vendor_extension
;
nfapi_nr_cell_param_t
cell_param
;
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/nfapi/src/nfapi_p5.c
View file @
fd51a5bd
...
...
@@ -428,8 +428,100 @@ static uint8_t pack_embms_mbsfn_config_value(void* tlv, uint8_t **ppWritePackedM
//}
static
uint8_t
pack_param_response
(
void
*
msg
,
uint8_t
**
ppWritePackedMsg
,
uint8_t
*
end
,
nfapi_p4_p5_codec_config_t
*
config
)
{
nfapi_param_response_t
*
pNfapiMsg
=
(
nfapi_param_response_t
*
)
msg
;
printf
(
"
\n
RUNNING pack_param_response
\n
"
);
nfapi_nr_param_response_scf_t
*
pNfapiMsg
=
(
nfapi_nr_param_response_scf_t
*
)
msg
;
return
(
push8
(
pNfapiMsg
->
error_code
,
ppWritePackedMsg
,
end
)
&&
push8
(
pNfapiMsg
->
num_tlv
,
ppWritePackedMsg
,
end
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_RELEASE_CAPABILITY_TAG
,
&
(
pNfapiMsg
->
cell_param
.
release_capability
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PHY_STATE_TAG
,
&
(
pNfapiMsg
->
cell_param
.
phy_state
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SKIP_BLANK_DL_CONFIG_TAG
,
&
(
pNfapiMsg
->
cell_param
.
skip_blank_dl_config
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SKIP_BLANK_UL_CONFIG_TAG
,
&
(
pNfapiMsg
->
cell_param
.
skip_blank_ul_config
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_NUM_CONFIG_TLVS_TO_REPORT_TAG
,
&
(
pNfapiMsg
->
cell_param
.
num_config_tlvs_to_report
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_CYCLIC_PREFIX_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
cyclic_prefix
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SUPPORTED_SUBCARRIER_SPACINGS_DL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_subcarrier_spacings_dl
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SUPPORTED_BANDWIDTH_DL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_bandwidth_dl
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SUPPORTED_SUBCARRIER_SPACINGS_UL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_subcarrier_spacings_ul
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SUPPORTED_BANDWIDTH_UL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_bandwidth_ul
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_CCE_MAPPING_TYPE_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
cce_mapping_type
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_CORESET_OUTSIDE_FIRST_3_OFDM_SYMS_OF_SLOT_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
coreset_outside_first_3_of_ofdm_syms_of_slot
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PRECODER_GRANULARITY_CORESET_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
coreset_precoder_granularity_coreset
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDCCH_MU_MIMO_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
pdcch_mu_mimo
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDCCH_PRECODER_CYCLING_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
pdcch_precoder_cycling
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_PDCCHS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
max_pdcch_per_slot
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUCCH_FORMATS_TAG
,
&
(
pNfapiMsg
->
pucch_param
.
pucch_formats
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_PUCCHS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pucch_param
.
max_pucchs_per_slot
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_MAPPING_TYPE_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_mapping_type
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_ALLOCATION_TYPES_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_allocation_types
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_VRB_TO_PRB_MAPPING_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_vrb_to_prb_mapping
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_CBG_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_cbg
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_DMRS_CONFIG_TYPES_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_dmrs_config_types
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_DMRS_MAX_LENGTH_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_dmrs_max_length
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_DMRS_ADDITIONAL_POS_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_dmrs_additional_pos
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_PDSCH_S_YBS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
max_pdsch_tbs_per_slot
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_NUMBER_MIMO_LAYERS_PDSCH_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
max_number_mimo_layers_pdsch
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_MU_MIMO_USERS_DL_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
max_mu_mimo_users_dl
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_DATA_IN_DMRS_SYMBOLS_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_data_in_dmrs_symbols
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PREMPTION_SUPPORT_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
premption_support
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PDSCH_NON_SLOT_SUPPORT_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_non_slot_support
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_UCI_MUX_ULSCH_IN_PUSCH_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
uci_mux_ulsch_in_pusch
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_UCI_ONLY_PUSCH_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
uci_only_pusch
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_FREQUENCY_HOPPING_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_frequency_hopping
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_DMRS_CONFIG_TYPES_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_dmrs_config_types
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_DMRS_MAX_LEN_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_dmrs_max_len
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_DMRS_ADDITIONAL_POS_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_dmrs_additional_pos
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_CBG_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_cbg
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_MAPPING_TYPE_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_mapping_type
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_ALLOCATION_TYPES_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_allocation_types
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_VRB_TO_PRB_MAPPING_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_vrb_to_prb_mapping
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_MAX_PTRS_PORTS_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_max_ptrs_ports
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_PDUSCHS_TBS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
max_pduschs_tbs_per_slot
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_NUMBER_MIMO_LAYERS_NON_CB_PUSCH_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
max_number_mimo_layers_non_cb_pusch
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_SUPPORTED_MODULATION_ORDER_UL_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
supported_modulation_order_ul
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_MU_MIMO_USERS_UL_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
max_mu_mimo_users_ul
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_DFTS_OFDM_SUPPORT_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
dfts_ofdm_support
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PUSCH_AGGREGATION_FACTOR_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_aggregation_factor
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PRACH_LONG_FORMATS_TAG
,
&
(
pNfapiMsg
->
prach_param
.
prach_long_formats
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PRACH_SHORT_FORMATS_TAG
,
&
(
pNfapiMsg
->
prach_param
.
prach_short_formats
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_PRACH_RESTRICTED_SETS_TAG
,
&
(
pNfapiMsg
->
prach_param
.
prach_restricted_sets
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_MAX_PRACH_FD_OCCASIONS_IN_A_SLOT_TAG
,
&
(
pNfapiMsg
->
prach_param
.
max_prach_fd_occasions_in_a_slot
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_PARAM_TLV_RSSI_MEASUREMENT_SUPPORT_TAG
,
&
(
pNfapiMsg
->
measurement_param
.
rssi_measurement_support
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
// config:
pack_tlv
(
NFAPI_NR_NFAPI_P7_VNF_ADDRESS_IPV4_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_vnf_address_ipv4
),
ppWritePackedMsg
,
end
,
&
pack_ipv4_address_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_P7_VNF_ADDRESS_IPV6_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_vnf_address_ipv6
),
ppWritePackedMsg
,
end
,
&
pack_ipv6_address_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_P7_VNF_PORT_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_vnf_port
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_P7_PNF_ADDRESS_IPV4_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_pnf_address_ipv4
),
ppWritePackedMsg
,
end
,
&
pack_ipv4_address_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_P7_PNF_ADDRESS_IPV6_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_pnf_address_ipv6
),
ppWritePackedMsg
,
end
,
&
pack_ipv6_address_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_P7_PNF_PORT_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_pnf_port
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_DOWNLINK_UES_PER_SUBFRAME_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
dl_ue_per_sf
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_UPLINK_UES_PER_SUBFRAME_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
ul_ue_per_sf
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_RF_BANDS_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
rf_bands
),
ppWritePackedMsg
,
end
,
&
pack_rf_bands_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_TIMING_WINDOW_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
timing_window
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_TIMING_INFO_MODE_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
timing_info_mode
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_TIMING_INFO_PERIOD_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
timing_info_period
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_MAXIMUM_TRANSMIT_POWER_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
max_transmit_power
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
// vendor extension:
pack_vendor_extension_tlv
(
pNfapiMsg
->
vendor_extension
,
ppWritePackedMsg
,
end
,
config
));
#if 0
return( push8(pNfapiMsg->error_code, ppWritePackedMsg, end) &&
push8(pNfapiMsg->num_tlv, ppWritePackedMsg, end) &&
pack_tlv(NFAPI_L1_STATUS_PHY_STATE_TAG, &pNfapiMsg->l1_status.phy_state, ppWritePackedMsg, end, &pack_uint16_tlv_value) &&
...
...
@@ -507,7 +599,7 @@ static uint8_t pack_param_response(void *msg, uint8_t **ppWritePackedMsg, uint8_
pack_tlv(NFAPI_L23_CONFIG_DATA_REPORT_MODE_TAG, &(pNfapiMsg->l23_config.data_report_mode), ppWritePackedMsg, end, &pack_uint16_tlv_value) &&
pack_tlv(NFAPI_L23_CONFIG_SFNSF_TAG, &(pNfapiMsg->l23_config.sfnsf), ppWritePackedMsg, end, &pack_uint16_tlv_value) &&
pack_tlv
(
NFAPI_NFAPI_P7_VNF_ADDRESS_IPV4_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_vnf_address_ipv4
),
ppWritePackedMsg
,
end
,
&
pack_ipv4_address_value
)
&&
pack_tlv(NFAPI_N
R_N
FAPI_P7_VNF_ADDRESS_IPV4_TAG, &(pNfapiMsg->nfapi_config.p7_vnf_address_ipv4), ppWritePackedMsg, end, &pack_ipv4_address_value) &&
pack_tlv(NFAPI_NFAPI_P7_VNF_ADDRESS_IPV6_TAG, &(pNfapiMsg->nfapi_config.p7_vnf_address_ipv6), ppWritePackedMsg, end, &pack_ipv6_address_value) &&
pack_tlv(NFAPI_NFAPI_P7_VNF_PORT_TAG, &(pNfapiMsg->nfapi_config.p7_vnf_port), ppWritePackedMsg, end, &pack_uint16_tlv_value) &&
...
...
@@ -526,7 +618,7 @@ static uint8_t pack_param_response(void *msg, uint8_t **ppWritePackedMsg, uint8_
pack_tlv(NFAPI_NFAPI_TIMING_INFO_MODE_TAG, &(pNfapiMsg->nfapi_config.timing_info_mode), ppWritePackedMsg, end, &pack_uint8_tlv_value) &&
pack_tlv(NFAPI_NFAPI_TIMING_INFO_PERIOD_TAG, &(pNfapiMsg->nfapi_config.timing_info_period), ppWritePackedMsg, end, &pack_uint8_tlv_value) &&
pack_tlv
(
NFAPI_NFAPI_MAXIMUM_TRANSMIT_POWER_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
max_transmit_power
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv(NFAPI_N
R_N
FAPI_MAXIMUM_TRANSMIT_POWER_TAG, &(pNfapiMsg->nfapi_config.max_transmit_power), ppWritePackedMsg, end, &pack_uint16_tlv_value) &&
pack_tlv(NFAPI_NFAPI_EARFCN_TAG, &(pNfapiMsg->nfapi_config.earfcn), ppWritePackedMsg, end, &pack_uint16_tlv_value) &&
...
...
@@ -535,7 +627,7 @@ static uint8_t pack_param_response(void *msg, uint8_t **ppWritePackedMsg, uint8_
pack_tlv(NFAPI_NFAPI_NMM_LTE_FREQUENCY_BANDS_TAG, &(pNfapiMsg->nfapi_config.nmm_lte_frequency_bands), ppWritePackedMsg, end, &pack_nmm_frequency_bands_value) &&
pack_tlv(NFAPI_NFAPI_NMM_UPLINK_RSSI_SUPPORTED_TAG, &(pNfapiMsg->nfapi_config.nmm_uplink_rssi_supported), ppWritePackedMsg, end, &pack_uint8_tlv_value) &&
pack_vendor_extension_tlv(pNfapiMsg->vendor_extension, ppWritePackedMsg, end, config) );
#endif
}
static
uint8_t
pack_config_request
(
void
*
msg
,
uint8_t
**
ppWritePackedMsg
,
uint8_t
*
end
,
nfapi_p4_p5_codec_config_t
*
config
)
...
...
@@ -1235,10 +1327,88 @@ static uint8_t unpack_param_request(uint8_t **ppReadPackedMsg, uint8_t *end, voi
static
uint8_t
unpack_param_response
(
uint8_t
**
ppReadPackedMsg
,
uint8_t
*
end
,
void
*
msg
,
nfapi_p4_p5_codec_config_t
*
config
)
{
nfapi_param_response_t
*
pNfapiMsg
=
(
nfapi_param_response_t
*
)
msg
;
printf
(
"
\n\n
RUNNING unpack_param_response
\n
"
);
nfapi_nr_param_response_scf_t
*
pNfapiMsg
=
(
nfapi_nr_param_response_scf_t
*
)
msg
;
unpack_tlv_t
unpack_fns
[]
=
{
{
NFAPI_NR_PARAM_TLV_RELEASE_CAPABILITY_TAG
,
&
(
pNfapiMsg
->
cell_param
.
release_capability
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PHY_STATE_TAG
,
&
(
pNfapiMsg
->
cell_param
.
phy_state
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SKIP_BLANK_DL_CONFIG_TAG
,
&
(
pNfapiMsg
->
cell_param
.
skip_blank_dl_config
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SKIP_BLANK_UL_CONFIG_TAG
,
&
(
pNfapiMsg
->
cell_param
.
skip_blank_ul_config
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_NUM_CONFIG_TLVS_TO_REPORT_TAG
,
&
(
pNfapiMsg
->
cell_param
.
num_config_tlvs_to_report
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_PARAM_TLV_CYCLIC_PREFIX_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
cyclic_prefix
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SUPPORTED_SUBCARRIER_SPACINGS_DL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_subcarrier_spacings_dl
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SUPPORTED_BANDWIDTH_DL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_bandwidth_dl
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SUPPORTED_SUBCARRIER_SPACINGS_UL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_subcarrier_spacings_ul
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SUPPORTED_BANDWIDTH_UL_TAG
,
&
(
pNfapiMsg
->
carrier_param
.
supported_bandwidth_ul
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_PARAM_TLV_CCE_MAPPING_TYPE_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
cce_mapping_type
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_CORESET_OUTSIDE_FIRST_3_OFDM_SYMS_OF_SLOT_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
coreset_outside_first_3_of_ofdm_syms_of_slot
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PRECODER_GRANULARITY_CORESET_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
coreset_precoder_granularity_coreset
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDCCH_MU_MIMO_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
pdcch_mu_mimo
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDCCH_PRECODER_CYCLING_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
pdcch_precoder_cycling
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_PDCCHS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pdcch_param
.
max_pdcch_per_slot
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUCCH_FORMATS_TAG
,
&
(
pNfapiMsg
->
pucch_param
.
pucch_formats
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_PUCCHS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pucch_param
.
max_pucchs_per_slot
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_MAPPING_TYPE_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_mapping_type
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_ALLOCATION_TYPES_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_allocation_types
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_VRB_TO_PRB_MAPPING_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_vrb_to_prb_mapping
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_CBG_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_cbg
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_DMRS_CONFIG_TYPES_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_dmrs_config_types
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_DMRS_MAX_LENGTH_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_dmrs_max_length
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_DMRS_ADDITIONAL_POS_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_dmrs_additional_pos
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_PDSCH_S_YBS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
max_pdsch_tbs_per_slot
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_NUMBER_MIMO_LAYERS_PDSCH_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
max_number_mimo_layers_pdsch
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_MU_MIMO_USERS_DL_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
max_mu_mimo_users_dl
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_DATA_IN_DMRS_SYMBOLS_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_data_in_dmrs_symbols
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PREMPTION_SUPPORT_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
premption_support
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PDSCH_NON_SLOT_SUPPORT_TAG
,
&
(
pNfapiMsg
->
pdsch_param
.
pdsch_non_slot_support
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_UCI_MUX_ULSCH_IN_PUSCH_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
uci_mux_ulsch_in_pusch
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_UCI_ONLY_PUSCH_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
uci_only_pusch
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_FREQUENCY_HOPPING_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_frequency_hopping
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_DMRS_CONFIG_TYPES_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_dmrs_config_types
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_DMRS_MAX_LEN_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_dmrs_max_len
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_DMRS_ADDITIONAL_POS_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_dmrs_additional_pos
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_CBG_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_cbg
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_MAPPING_TYPE_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_mapping_type
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_ALLOCATION_TYPES_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_allocation_types
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_VRB_TO_PRB_MAPPING_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_vrb_to_prb_mapping
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_MAX_PTRS_PORTS_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_max_ptrs_ports
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_PDUSCHS_TBS_PER_SLOT_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
max_pduschs_tbs_per_slot
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_NUMBER_MIMO_LAYERS_NON_CB_PUSCH_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
max_number_mimo_layers_non_cb_pusch
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_SUPPORTED_MODULATION_ORDER_UL_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
supported_modulation_order_ul
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_MU_MIMO_USERS_UL_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
max_mu_mimo_users_ul
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_DFTS_OFDM_SUPPORT_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
dfts_ofdm_support
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PUSCH_AGGREGATION_FACTOR_TAG
,
&
(
pNfapiMsg
->
pusch_param
.
pusch_aggregation_factor
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PRACH_LONG_FORMATS_TAG
,
&
(
pNfapiMsg
->
prach_param
.
prach_long_formats
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PRACH_SHORT_FORMATS_TAG
,
&
(
pNfapiMsg
->
prach_param
.
prach_short_formats
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_PRACH_RESTRICTED_SETS_TAG
,
&
(
pNfapiMsg
->
prach_param
.
prach_restricted_sets
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_MAX_PRACH_FD_OCCASIONS_IN_A_SLOT_TAG
,
&
(
pNfapiMsg
->
prach_param
.
max_prach_fd_occasions_in_a_slot
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_PARAM_TLV_RSSI_MEASUREMENT_SUPPORT_TAG
,
&
(
pNfapiMsg
->
measurement_param
.
rssi_measurement_support
),
&
unpack_uint8_tlv_value
},
//config
{
NFAPI_NR_NFAPI_P7_VNF_ADDRESS_IPV4_TAG
,
&
pNfapiMsg
->
nfapi_config
.
p7_vnf_address_ipv4
,
&
unpack_ipv4_address_value
},
{
NFAPI_NR_NFAPI_P7_VNF_ADDRESS_IPV6_TAG
,
&
pNfapiMsg
->
nfapi_config
.
p7_vnf_address_ipv6
,
&
unpack_ipv6_address_value
},
{
NFAPI_NR_NFAPI_P7_VNF_PORT_TAG
,
&
pNfapiMsg
->
nfapi_config
.
p7_vnf_port
,
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_NFAPI_P7_PNF_ADDRESS_IPV4_TAG
,
&
pNfapiMsg
->
nfapi_config
.
p7_pnf_address_ipv4
,
&
unpack_ipv4_address_value
},
{
NFAPI_NR_NFAPI_P7_PNF_ADDRESS_IPV6_TAG
,
&
pNfapiMsg
->
nfapi_config
.
p7_pnf_address_ipv6
,
&
unpack_ipv6_address_value
},
{
NFAPI_NR_NFAPI_P7_PNF_PORT_TAG
,
&
pNfapiMsg
->
nfapi_config
.
p7_pnf_port
,
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_NFAPI_DOWNLINK_UES_PER_SUBFRAME_TAG
,
&
pNfapiMsg
->
nfapi_config
.
dl_ue_per_sf
,
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_UPLINK_UES_PER_SUBFRAME_TAG
,
&
pNfapiMsg
->
nfapi_config
.
ul_ue_per_sf
,
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_RF_BANDS_TAG
,
&
pNfapiMsg
->
nfapi_config
.
rf_bands
,
&
unpack_rf_bands_value
},
{
NFAPI_NR_NFAPI_TIMING_WINDOW_TAG
,
&
pNfapiMsg
->
nfapi_config
.
timing_window
,
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_TIMING_INFO_MODE_TAG
,
&
pNfapiMsg
->
nfapi_config
.
timing_info_mode
,
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_TIMING_INFO_PERIOD_TAG
,
&
pNfapiMsg
->
nfapi_config
.
timing_info_period
,
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_MAXIMUM_TRANSMIT_POWER_TAG
,
&
pNfapiMsg
->
nfapi_config
.
max_transmit_power
,
&
unpack_uint16_tlv_value
}
};
#if LTE
{
NFAPI_L1_STATUS_PHY_STATE_TAG
,
&
pNfapiMsg
->
l1_status
.
phy_state
,
&
unpack_uint16_tlv_value
},
{
NFAPI_PHY_CAPABILITIES_DL_BANDWIDTH_SUPPORT_TAG
,
&
pNfapiMsg
->
phy_capabilities
.
dl_bandwidth_support
,
&
unpack_uint16_tlv_value
},
...
...
@@ -1324,7 +1494,7 @@ static uint8_t unpack_param_response(uint8_t **ppReadPackedMsg, uint8_t *end, vo
{
NFAPI_NFAPI_NMM_UPLINK_RSSI_SUPPORTED_TAG
,
&
pNfapiMsg
->
nfapi_config
.
nmm_uplink_rssi_supported
,
&
unpack_uint8_tlv_value
},
};
#endif
return
(
pull8
(
ppReadPackedMsg
,
&
pNfapiMsg
->
error_code
,
end
)
&&
pull8
(
ppReadPackedMsg
,
&
pNfapiMsg
->
num_tlv
,
end
)
&&
unpack_tlv_list
(
unpack_fns
,
sizeof
(
unpack_fns
)
/
sizeof
(
unpack_tlv_t
),
ppReadPackedMsg
,
end
,
config
,
&
pNfapiMsg
->
vendor_extension
));
...
...
@@ -1606,23 +1776,23 @@ static int check_unpack_length(nfapi_message_id_e msgId, uint32_t unpackedBufLen
break
;
case
NFAPI_PARAM_REQUEST
:
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
param_request
_t
))
retLen
=
sizeof
(
nfapi_
param_request
_t
);
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
nr_param_request_scf
_t
))
retLen
=
sizeof
(
nfapi_
nr_param_request_scf
_t
);
break
;
case
NFAPI_PARAM_RESPONSE
:
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
param_response
_t
))
retLen
=
sizeof
(
nfapi_
param_response
_t
);
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
nr_param_response_scf
_t
))
retLen
=
sizeof
(
nfapi_
nr_param_response_scf
_t
);
break
;
case
NFAPI_CONFIG_REQUEST
:
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
config_request
_t
))
retLen
=
sizeof
(
nfapi_
config_request
_t
);
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
nr_config_request_scf
_t
))
retLen
=
sizeof
(
nfapi_
nr_config_request_scf
_t
);
break
;
case
NFAPI_CONFIG_RESPONSE
:
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
config_response
_t
))
retLen
=
sizeof
(
nfapi_
config_response
_t
);
if
(
unpackedBufLen
>=
sizeof
(
nfapi_
nr_config_response_scf
_t
))
retLen
=
sizeof
(
nfapi_
nr_config_response_scf
_t
);
break
;
case
NFAPI_START_REQUEST
:
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/pnf/public_inc/nfapi_pnf_interface.h
View file @
fd51a5bd
...
...
@@ -405,7 +405,7 @@ int nfapi_pnf_pnf_stop_resp(nfapi_pnf_config_t* config, nfapi_pnf_stop_response_
* \return 0 for success, -1 for failure
*
*/
int
nfapi_pnf_param_resp
(
nfapi_pnf_config_t
*
config
,
nfapi_
param_response
_t
*
resp
);
int
nfapi_pnf_param_resp
(
nfapi_pnf_config_t
*
config
,
nfapi_
nr_param_response_scf
_t
*
resp
);
/*! Send the CONFIG.response
* \param config A pointer to a pnf configuraiton
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/pnf/src/pnf_interface.c
View file @
fd51a5bd
...
...
@@ -169,7 +169,7 @@ int nfapi_pnf_pnf_stop_resp(nfapi_pnf_config_t* config, nfapi_pnf_stop_response_
return
pnf_pack_and_send_p5_message
(
_this
,
&
(
resp
->
header
),
sizeof
(
nfapi_pnf_stop_response_t
));
}
int
nfapi_pnf_param_resp
(
nfapi_pnf_config_t
*
config
,
nfapi_
param_response
_t
*
resp
)
int
nfapi_pnf_param_resp
(
nfapi_pnf_config_t
*
config
,
nfapi_
nr_param_response_scf
_t
*
resp
)
{
if
(
config
==
NULL
||
resp
==
NULL
)
{
...
...
@@ -179,7 +179,7 @@ int nfapi_pnf_param_resp(nfapi_pnf_config_t* config, nfapi_param_response_t* res
pnf_t
*
_this
=
(
pnf_t
*
)(
config
);
return
pnf_pack_and_send_p5_message
(
_this
,
&
(
resp
->
header
),
sizeof
(
nfapi_
param_response
_t
));
return
pnf_pack_and_send_p5_message
(
_this
,
&
(
resp
->
header
),
sizeof
(
nfapi_
nr_param_response_scf
_t
));
}
int
nfapi_pnf_config_resp
(
nfapi_pnf_config_t
*
config
,
nfapi_config_response_t
*
resp
)
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/vnf/public_inc/nfapi_vnf_interface.h
View file @
fd51a5bd
...
...
@@ -541,7 +541,7 @@ int nfapi_vnf_param_req(nfapi_vnf_config_t* config, int p5_idx, nfapi_param_requ
* \param req A pointer to a CONFIG.request message structure
* \return 0 means success, -1 failure
*/
int
nfapi_vnf_config_req
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_
config_request
_t
*
req
);
int
nfapi_vnf_config_req
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_
nr_config_request_scf
_t
*
req
);
/*! Send the START.request
* \param config A pointer to a vnf config
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/vnf/src/vnf.c
View file @
fd51a5bd
...
...
@@ -246,7 +246,7 @@ void vnf_handle_param_response(void *pRecvMsg, int recvMsgLen, nfapi_vnf_config_
{
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"Received PARAM_RESPONSE
\n
"
);
nfapi_
param_response
_t
msg
;
nfapi_
nr_param_response_scf
_t
msg
;
// unpack the message
if
(
nfapi_p5_message_unpack
(
pRecvMsg
,
recvMsgLen
,
&
msg
,
sizeof
(
msg
),
&
config
->
codec_config
)
>=
0
)
...
...
This diff is collapsed.
Click to expand it.
nfapi/open-nFAPI/vnf/src/vnf_interface.c
View file @
fd51a5bd
...
...
@@ -487,7 +487,7 @@ int nfapi_vnf_stop(nfapi_vnf_config_t* config)
}
int
nfapi_vnf_pnf_param_req
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_pnf_param_request_t
*
req
)
{
{
printf
(
"nfapi_vnf_pnf_param_req
\n
"
);
if
(
config
==
0
||
req
==
0
)
return
-
1
;
...
...
@@ -535,7 +535,7 @@ int nfapi_vnf_param_req(nfapi_vnf_config_t* config, int p5_idx, nfapi_param_requ
return
vnf_pack_and_send_p5_message
(
_this
,
p5_idx
,
&
req
->
header
,
sizeof
(
nfapi_param_request_t
));
}
int
nfapi_vnf_config_req
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_
config_request
_t
*
req
)
int
nfapi_vnf_config_req
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_
nr_config_request_scf
_t
*
req
)
{
if
(
config
==
0
||
req
==
0
)
return
-
1
;
...
...
@@ -551,19 +551,19 @@ int nfapi_vnf_config_req(nfapi_vnf_config_t* config, int p5_idx, nfapi_config_re
}
// set the timing parameters
req
->
nfapi_config
.
timing_window
.
tl
.
tag
=
NFAPI_NFAPI_TIMING_WINDOW_TAG
;
req
->
nfapi_config
.
timing_window
.
tl
.
tag
=
NFAPI_N
R_N
FAPI_TIMING_WINDOW_TAG
;
req
->
nfapi_config
.
timing_window
.
value
=
phy
->
timing_window
;
req
->
num_tlv
++
;
req
->
nfapi_config
.
timing_info_mode
.
tl
.
tag
=
NFAPI_NFAPI_TIMING_INFO_MODE_TAG
;
req
->
nfapi_config
.
timing_info_mode
.
tl
.
tag
=
NFAPI_N
R_N
FAPI_TIMING_INFO_MODE_TAG
;
req
->
nfapi_config
.
timing_info_mode
.
value
=
phy
->
timing_info_mode
;
req
->
num_tlv
++
;
req
->
nfapi_config
.
timing_info_period
.
tl
.
tag
=
NFAPI_NFAPI_TIMING_INFO_PERIOD_TAG
;
req
->
nfapi_config
.
timing_info_period
.
tl
.
tag
=
NFAPI_N
R_N
FAPI_TIMING_INFO_PERIOD_TAG
;
req
->
nfapi_config
.
timing_info_period
.
value
=
phy
->
timing_info_period
;
req
->
num_tlv
++
;
return
vnf_pack_and_send_p5_message
(
_this
,
p5_idx
,
&
req
->
header
,
sizeof
(
nfapi_
config_request
_t
));
return
vnf_pack_and_send_p5_message
(
_this
,
p5_idx
,
&
req
->
header
,
sizeof
(
nfapi_
nr_config_request_scf
_t
));
}
int
nfapi_vnf_start_req
(
nfapi_vnf_config_t
*
config
,
int
p5_idx
,
nfapi_start_request_t
*
req
)
{
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpx300.conf
View file @
fd51a5bd
...
...
@@ -25,9 +25,9 @@ L1s = (
remote_n_address
=
"127.0.0.1"
; //
vnf
addr
local_n_address
=
"127.0.0.1"
; //
pnf
addr
local_n_portc
=
50000
; //
pnf
p5
port
[!]
remote_n_portc
=
5000
0
; //
vnf
p5
port
local_n_portd
=
5000
1
; //
pnf
p7
port
remote_n_portd
=
5000
1
; //
vnf
p7
port
remote_n_portc
=
5000
1
; //
vnf
p5
port
local_n_portd
=
5000
2
; //
pnf
p7
port
remote_n_portd
=
5000
3
; //
vnf
p7
port
}
);
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf
View file @
fd51a5bd
...
...
@@ -240,10 +240,10 @@ MACRLCs = (
local_s_if_name
=
"lo:"
;
remote_s_address
=
"127.0.0.1"
; //
pnf
addr
[!]
local_s_address
=
"127.0.0.1"
; //
vnf
addr
local_s_portc
=
5000
0
; //
vnf
p5
port
local_s_portc
=
5000
1
; //
vnf
p5
port
remote_s_portc
=
50000
; //
pnf
p5
port
[!]
local_s_portd
=
5000
1
; //
vnf
p7
port
[!]
remote_s_portd
=
5000
1
; //
pnf
p7
port
[!]
local_s_portd
=
5000
3
; //
vnf
p7
port
[!]
remote_s_portd
=
5000
2
; //
pnf
p7
port
[!]
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
}
...
...
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