104 m_pPRACHConfig->
nPrachConfIdx = get_input_parameter<uint8_t>(
"PrachConfIdx");
105 m_pPRACHConfig->
nPrachFreqStart = get_input_parameter<uint16_t>(
"PrachFreqStart");
106 m_pPRACHConfig->
nPrachFreqOffset = get_input_parameter<int32_t>(
"PrachFreqOffset");
107 m_pPRACHConfig->
nPrachSubcSpacing = get_input_parameter<uint8_t>(
"PrachSubcSpacing");
110 m_frameId = get_input_parameter<uint8_t>(
"frameId");
111 m_subframeId = get_input_parameter<uint8_t>(
"subframeId");
112 m_slotId = get_input_parameter<uint8_t>(
"slotId");
113 m_beamId = get_input_parameter<uint16_t>(
"beamId");
114 m_ccId = get_input_parameter<uint8_t>(
"ccId");
115 m_antId = get_input_parameter<uint8_t>(
"antId");
118 m_startSymId = get_reference_parameter<uint8_t>(
"startSymId");
119 m_x = get_reference_parameter<uint8_t>(
"x_value");
120 m_filterIdx = get_reference_parameter<uint8_t>(
"filterIdx");
121 m_startPrbc = get_reference_parameter<uint16_t>(
"startPrbc");
122 m_numPrbc = get_reference_parameter<uint8_t>(
"numPrbc");
123 m_timeOffset = get_reference_parameter<uint16_t>(
"timeOffset");
124 m_freqOffset = get_reference_parameter<uint32_t>(
"freqOffset");
125 m_nrofPrachInSlot = get_reference_parameter<uint8_t>(
"nrofPrachInSlot");
128 std::vector<uint8_t> y_vec = get_reference_parameter<std::vector<uint8_t>>(
"y_value");
133 m_numSymbol = get_reference_parameter<uint8_t>(
"numSymbol");
134 m_occassionsInPrachSlot = get_reference_parameter<uint8_t>(
"occassionsInPrachSlot");
136 std::vector<uint8_t> index_vec = get_reference_parameter<std::vector<uint8_t>>(
"isPRACHslot");
137 m_SlotNrNum = get_reference_parameter<uint8_t>(
"SlotNrNum");
142 m_isPRACHslot[index_vec[i]]=1;
146 m_prach_start_symbol = get_reference_parameter<int>(
"prach_start_symbol");
147 m_prach_last_symbol = get_reference_parameter<int>(
"prach_last_symbol");
151 ASSERT_NE(m_pSectGenInfo,
nullptr);
155 m_pTestBuffer = (
struct rte_mbuf*)rte_pktmbuf_alloc(
_eth_mbuf_pool);
156 ASSERT_FALSE(m_pTestBuffer == NULL);
163 if(m_pTestBuffer != NULL)
164 rte_pktmbuf_free(m_pTestBuffer);
173 uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,
174 uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
176 struct rte_mbuf *mbuf;
181 frame_id, subframe_id, slot_id,
182 beam_id, cc_id, prach_port_id, seq_id);
186 rte_pktmbuf_free(mbuf);
192 void *pHandle = NULL;
int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
struct xran_device_ctx m_xran_dev_ctx
#define XRAN_STATUS_SUCCESS
uint8_t m_occassionsInPrachSlot
static unsigned get_number_of_cases(const std::string &type)
void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
Run performance test case for a given function.
struct xran_fh_config m_xranConf
struct xran_prach_cp_config * m_pPrachCPConfig
struct xran_cp_gen_params m_result
int xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
This file has all definitions for the Ethernet Data Interface Layer.
#define XRAN_PRACH_CANDIDATE_SLOT
struct xran_cp_gen_params m_params
struct xran_frame_config frame_conf
uint8_t m_isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
struct xran_section_gen_info * m_pSectGenInfo
struct rte_mbuf * m_pTestBuffer
void init_test(const std::string &type)
Defines section in the conf.json that is used to load parameters from.
struct rte_mempool * _eth_mbuf_pool
struct xran_prach_config prach_conf
struct xran_recv_packet_info m_pktInfo
#define XRAN_PRACH_CANDIDATE_Y
uint8_t m_y[XRAN_PRACH_CANDIDATE_Y]
XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
struct xran_prach_config * m_pPRACHConfig
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
struct xran_prach_cp_config PrachCPConfig
uint8_t m_nrofPrachInSlot
struct xran_section_gen_info * sections
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
This file provides the definitions for Control Plane Messages APIs.
uint8_t nPrachSubcSpacing
This file provides the definitions for Transport layer (eCPRI) API.