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
3d401150
Commit
3d401150
authored
Jul 23, 2020
by
Aniq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
p5 config request [hardcoding removed]
parent
3a5b5ffe
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
8 deletions
+58
-8
nfapi/README.md
nfapi/README.md
+4
-3
nfapi/open-nFAPI/nfapi/src/nfapi_p5.c
nfapi/open-nFAPI/nfapi/src/nfapi_p5.c
+53
-4
nfapi/open-nFAPI/pnf/src/pnf.c
nfapi/open-nFAPI/pnf/src/pnf.c
+1
-1
No files found.
nfapi/README.md
View file @
3d401150
...
@@ -33,7 +33,7 @@ sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>
...
@@ -33,7 +33,7 @@ sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>
### Task-B [unpacking]
### Task-B [unpacking]
*
Modify
`nfapi_p7_message_unpack()`
in
`nfapi_p7.c`
*
Modify
`nfapi_p7_message_unpack()`
in
`nfapi_p7.c`
*
`unpack_dl_tti_request`
*
`unpack_dl_tti_request`
[x]
*
`unpack_ul_tti_request`
*
`unpack_ul_tti_request`
*
`unpack_ul_dci_request`
*
`unpack_ul_dci_request`
*
`unpack_tx_data_request`
*
`unpack_tx_data_request`
...
@@ -45,13 +45,14 @@ sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>
...
@@ -45,13 +45,14 @@ sudo <oai_codebase>/cmake_targets/ran_build/build/nr-softmodem -O <oai_codebase>
*
Also check the function
`vnf_p7_pack_and_send_p7_msg()`
in
`vnf_p7.c`
for upgrade.
*
Also check the function
`vnf_p7_pack_and_send_p7_msg()`
in
`vnf_p7.c`
for upgrade.
*
Write the
`dl_tti`
equivalent for
`oai_nfapi_dl_config_req`
in
`nfapi_vnf.c`
and other such functions.
*
Write the
`dl_tti`
equivalent for
`oai_nfapi_dl_config_req`
in
`nfapi_vnf.c`
and other such functions.
*
Check if
`nr_schedule_response()`
needs to be upgraded
*
Check if
`nr_schedule_response()`
needs to be upgraded
*
Resolve the hard-coded areas in source code.
*
Resolve the hard-coded areas in source code. [
`HIGH-PRIORITY`
] [x]
*
Check whether the code can support latency of 0.5 ms for oai_slot_indication
### Testing
### Testing
*
Test by running VNF on a terminal and PNF in rfsim parallely
*
Test by running VNF on a terminal and PNF in rfsim parallely
*
If all works fine, move to UE testing.
*
If all works fine, move to UE testing.
*
Check if the
`FAPI`
core functionality is not broken by running gNB in monolithic mode
*
Check if the
`FAPI`
core functionality is not broken by running gNB in monolithic mode
*
Sync
with the latest stable commit in
`develop`
branch
*
Sync
with the latest stable commit in
`develop`
branch [
`HIGH-PRIORITY`
]
*
Testing with a UE
*
Testing with a UE
*
Run VNF
*
Run VNF
...
...
nfapi/open-nFAPI/nfapi/src/nfapi_p5.c
View file @
3d401150
...
@@ -452,6 +452,49 @@ static uint8_t pack_embms_mbsfn_config_value(void* tlv, uint8_t **ppWritePackedM
...
@@ -452,6 +452,49 @@ static uint8_t pack_embms_mbsfn_config_value(void* tlv, uint8_t **ppWritePackedM
// pull8(ppReadPackedMsg, &value->fourframes_flag, end) &&
// pull8(ppReadPackedMsg, &value->fourframes_flag, end) &&
// pullarrays32(ppReadPackedMsg, value->mbsfn_subframeconfig, 8, value->num_mbsfn_config, end));
// pullarrays32(ppReadPackedMsg, value->mbsfn_subframeconfig, 8, value->num_mbsfn_config, end));
//}
//}
#if 0
static uint8_t pack_array_tlv_uint8_t_iisc(uint8_t element_count, void *msg, uint8_t **ppWritePackedMsg, uint8_t *end)
{
nfapi_uint8_tlv_t* list_of_tlvs = (nfapi_uint8_tlv_t*)msg;
int ret = push8(element_count, ppWritePackedMsg, end); // pushing the element count
if(!ret) return ret;
for(int i=0; i<element_count; i++)
{
ret = pack_uint8_tlv_value(x[i], ppWritePackedMsg, end);
if(!ret) return ret;
}
return ret;
}
static uint8_t unpack_array_tlv_uint8_t_iisc(void* tlv, uint8_t **ppReadPackedMsg, uint8_t *end)
{
uint8_t element_count = pull8(ppReadPackedMsg, &tlv, end); //pulling the element count
nfapi_uint8_tlv_t* value;
int ret = 0;
for(int i=0; i<element_count; i++)
{
value = (nfapi_uint8_tlv_t*)(tlv);
ret = unpack_uint8_tlv_value(value->value, ppReadPackedMsg, end);
if(!ret) return ret;
}
return ret;
}
#endif
// static uint8_t unpack_uint8_tlv_value(void* tlv, uint8_t **ppReadPackedMsg, uint8_t *end)
// {
// nfapi_uint8_tlv_t* value = (nfapi_uint8_tlv_t*)tlv;
// return pull8(ppReadPackedMsg, &value->value, end);
// }
static
uint8_t
pack_param_response
(
void
*
msg
,
uint8_t
**
ppWritePackedMsg
,
uint8_t
*
end
,
nfapi_p4_p5_codec_config_t
*
config
)
static
uint8_t
pack_param_response
(
void
*
msg
,
uint8_t
**
ppWritePackedMsg
,
uint8_t
*
end
,
nfapi_p4_p5_codec_config_t
*
config
)
{
{
printf
(
"
\n
RUNNING pack_param_response
\n
"
);
printf
(
"
\n
RUNNING pack_param_response
\n
"
);
...
@@ -615,7 +658,7 @@ static uint8_t pack_param_response(void *msg, uint8_t **ppWritePackedMsg, uint8_
...
@@ -615,7 +658,7 @@ static uint8_t pack_param_response(void *msg, uint8_t **ppWritePackedMsg, uint8_
pack_tlv
(
NFAPI_SRS_CONFIG_BANDWIDTH_CONFIGURATION_TAG
,
&
(
pNfapiMsg
->
srs_config
.
bandwidth_configuration
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_BANDWIDTH_CONFIGURATION_TAG
,
&
(
pNfapiMsg
->
srs_config
.
bandwidth_configuration
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_MAX_UP_PTS_TAG
,
&
(
pNfapiMsg
->
srs_config
.
max_up_pts
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_MAX_UP_PTS_TAG
,
&
(
pNfapiMsg
->
srs_config
.
max_up_pts
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_SRS_SUBFRAME_CONFIGURATION_TAG
,
&
(
pNfapiMsg
->
srs_config
.
srs_subframe_configuration
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_SRS_SUBFRAME_CONFIGURATION_TAG
,
&
(
pNfapiMsg
->
srs_config
.
srs_subframe_configuration
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_SRS_ACKNACK_SRS_SIMULTANEOUS_TRANSMISSION_TAG
,
&
(
pNfapiMsg
->
srs_config
.
srs_acknack_srs_simultaneous_transmission
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_SRS_CONFIG_SRS_ACKNACK_SRS_SIMULTANEOUS_TRANS
set_tdd_config_nr
MISSION_TAG
,
&
(
pNfapiMsg
->
srs_config
.
srs_acknack_srs_simultaneous_transmission
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_UPLINK_REFERENCE_SIGNAL_CONFIG_UPLINK_RS_HOPPING_TAG
,
&
(
pNfapiMsg
->
uplink_reference_signal_config
.
uplink_rs_hopping
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_UPLINK_REFERENCE_SIGNAL_CONFIG_UPLINK_RS_HOPPING_TAG
,
&
(
pNfapiMsg
->
uplink_reference_signal_config
.
uplink_rs_hopping
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_UPLINK_REFERENCE_SIGNAL_CONFIG_GROUP_ASSIGNMENT_TAG
,
&
(
pNfapiMsg
->
uplink_reference_signal_config
.
group_assignment
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_UPLINK_REFERENCE_SIGNAL_CONFIG_GROUP_ASSIGNMENT_TAG
,
&
(
pNfapiMsg
->
uplink_reference_signal_config
.
group_assignment
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
...
@@ -663,6 +706,7 @@ static uint8_t pack_config_request(void *msg, uint8_t **ppWritePackedMsg, uint8_
...
@@ -663,6 +706,7 @@ static uint8_t pack_config_request(void *msg, uint8_t **ppWritePackedMsg, uint8_
printf
(
"
\n\n
Entering pack_config_request
\n
"
);
printf
(
"
\n\n
Entering pack_config_request
\n
"
);
nfapi_nr_config_request_scf_t
*
pNfapiMsg
=
(
nfapi_nr_config_request_scf_t
*
)
msg
;
nfapi_nr_config_request_scf_t
*
pNfapiMsg
=
(
nfapi_nr_config_request_scf_t
*
)
msg
;
return
(
push8
(
pNfapiMsg
->
error_code
,
ppWritePackedMsg
,
end
)
&&
return
(
push8
(
pNfapiMsg
->
error_code
,
ppWritePackedMsg
,
end
)
&&
push8
(
pNfapiMsg
->
num_tlv
,
ppWritePackedMsg
,
end
)
&&
push8
(
pNfapiMsg
->
num_tlv
,
ppWritePackedMsg
,
end
)
&&
pack_tlv
(
NFAPI_NR_CONFIG_DL_BANDWIDTH_TAG
,
&
(
pNfapiMsg
->
carrier_config
.
dl_bandwidth
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_CONFIG_DL_BANDWIDTH_TAG
,
&
(
pNfapiMsg
->
carrier_config
.
dl_bandwidth
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
...
@@ -704,7 +748,8 @@ static uint8_t pack_config_request(void *msg, uint8_t **ppWritePackedMsg, uint8_
...
@@ -704,7 +748,8 @@ static uint8_t pack_config_request(void *msg, uint8_t **ppWritePackedMsg, uint8_
pack_tlv
(
NFAPI_NR_CONFIG_SSB_SUBCARRIER_OFFSET_TAG
,
&
(
pNfapiMsg
->
ssb_table
.
ssb_subcarrier_offset
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_CONFIG_SSB_SUBCARRIER_OFFSET_TAG
,
&
(
pNfapiMsg
->
ssb_table
.
ssb_subcarrier_offset
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_CONFIG_TDD_PERIOD_TAG
,
&
(
pNfapiMsg
->
tdd_table
.
tdd_period
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_CONFIG_TDD_PERIOD_TAG
,
&
(
pNfapiMsg
->
tdd_table
.
tdd_period
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_CONFIG_SLOT_CONFIG_TAG
,
&
(
pNfapiMsg
->
tdd_table
.
max_tdd_periodicity_list
[
0
].
max_num_of_symbol_per_slot_list
[
0
].
slot_config
),
ppWritePackedMsg
,
end
,
&
pack_uint8_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_DOWNLINK_UES_PER_SUBFRAME_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
dl_ue_per_sf
),
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
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_MAXIMUM_TRANSMIT_POWER_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
max_transmit_power
),
ppWritePackedMsg
,
end
,
&
pack_uint16_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_NRARFCN_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
nrarfcn
),
ppWritePackedMsg
,
end
,
&
pack_uint32_tlv_value
)
&&
pack_tlv
(
NFAPI_NR_NFAPI_NRARFCN_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
nrarfcn
),
ppWritePackedMsg
,
end
,
&
pack_uint32_tlv_value
)
&&
...
@@ -1609,6 +1654,10 @@ static uint8_t unpack_config_request(uint8_t **ppReadPackedMsg, uint8_t *end, vo
...
@@ -1609,6 +1654,10 @@ static uint8_t unpack_config_request(uint8_t **ppReadPackedMsg, uint8_t *end, vo
{
{
nfapi_nr_config_request_scf_t
*
pNfapiMsg
=
(
nfapi_nr_config_request_scf_t
*
)
msg
;
nfapi_nr_config_request_scf_t
*
pNfapiMsg
=
(
nfapi_nr_config_request_scf_t
*
)
msg
;
pNfapiMsg
->
tdd_table
.
max_tdd_periodicity_list
=
(
nfapi_nr_max_tdd_periodicity_t
*
)
malloc
(
20
*
sizeof
(
nfapi_nr_max_tdd_periodicity_t
));
pNfapiMsg
->
tdd_table
.
max_tdd_periodicity_list
[
0
].
max_num_of_symbol_per_slot_list
=
(
nfapi_nr_max_num_of_symbol_per_slot_t
*
)
malloc
(
14
*
sizeof
(
nfapi_nr_max_num_of_symbol_per_slot_t
));
unpack_tlv_t
unpack_fns
[]
=
unpack_tlv_t
unpack_fns
[]
=
{
{
{
NFAPI_NR_CONFIG_DL_BANDWIDTH_TAG
,
&
(
pNfapiMsg
->
carrier_config
.
dl_bandwidth
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_CONFIG_DL_BANDWIDTH_TAG
,
&
(
pNfapiMsg
->
carrier_config
.
dl_bandwidth
),
&
unpack_uint16_tlv_value
},
...
@@ -1644,8 +1693,8 @@ static uint8_t unpack_config_request(uint8_t **ppReadPackedMsg, uint8_t *end, vo
...
@@ -1644,8 +1693,8 @@ static uint8_t unpack_config_request(uint8_t **ppReadPackedMsg, uint8_t *end, vo
{
NFAPI_NR_CONFIG_SSB_PERIOD_TAG
,
&
(
pNfapiMsg
->
ssb_table
.
ssb_period
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_CONFIG_SSB_PERIOD_TAG
,
&
(
pNfapiMsg
->
ssb_table
.
ssb_period
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_CONFIG_SSB_SUBCARRIER_OFFSET_TAG
,
&
(
pNfapiMsg
->
ssb_table
.
ssb_subcarrier_offset
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_CONFIG_SSB_SUBCARRIER_OFFSET_TAG
,
&
(
pNfapiMsg
->
ssb_table
.
ssb_subcarrier_offset
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_CONFIG_TDD_PERIOD_TAG
,
&
(
pNfapiMsg
->
tdd_table
.
tdd_period
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_CONFIG_TDD_PERIOD_TAG
,
&
(
pNfapiMsg
->
tdd_table
.
tdd_period
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_CONFIG_SLOT_CONFIG_TAG
,
&
(
pNfapiMsg
->
tdd_table
.
max_tdd_periodicity_list
[
0
].
max_num_of_symbol_per_slot_list
[
0
].
slot_config
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_DOWNLINK_UES_PER_SUBFRAME_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
dl_ue_per_sf
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_DOWNLINK_UES_PER_SUBFRAME_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
dl_ue_per_sf
),
&
unpack_uint8_tlv_value
},
{
NFAPI_NR_NFAPI_MAXIMUM_TRANSMIT_POWER_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
max_transmit_power
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_NFAPI_MAXIMUM_TRANSMIT_POWER_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
max_transmit_power
),
&
unpack_uint16_tlv_value
},
{
NFAPI_NR_NFAPI_NRARFCN_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
nrarfcn
),
&
unpack_uint32_tlv_value
},
{
NFAPI_NR_NFAPI_NRARFCN_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
nrarfcn
),
&
unpack_uint32_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_IPV4_TAG
,
&
(
pNfapiMsg
->
nfapi_config
.
p7_pnf_address_ipv4
),
&
unpack_ipv4_address_value
},
...
...
nfapi/open-nFAPI/pnf/src/pnf.c
View file @
3d401150
...
@@ -373,7 +373,7 @@ void pnf_handle_config_request(pnf_t* pnf, void *pRecvMsg, int recvMsgLen)
...
@@ -373,7 +373,7 @@ void pnf_handle_config_request(pnf_t* pnf, void *pRecvMsg, int recvMsgLen)
{
{
nfapi_pnf_phy_config_t
*
phy
=
nfapi_pnf_phy_config_find
(
config
,
req
.
header
.
phy_id
);
nfapi_pnf_phy_config_t
*
phy
=
nfapi_pnf_phy_config_find
(
config
,
req
.
header
.
phy_id
);
#if
1
// emulate set_config TLV reception (hard-code)
#if
0
// emulate set_config TLV reception (hard-code)
int tdd_return = set_tdd_config_nr(&req, 1, 7, 6, 2, 4);
int tdd_return = set_tdd_config_nr(&req, 1, 7, 6, 2, 4);
#endif
#endif
...
...
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