+/** use case configuration */
+typedef struct _UsecaseConfig
+{
+ uint8_t oXuNum; /**< Number of O-RU/O-DU connected to this instance */
+ uint8_t appMode; /**< Application mode: O-DU or O-RU */
+
+ uint32_t instance_id; /**< Instance ID of application */
+ uint32_t main_core; /**< Core used for main() */
+ uint32_t io_core; /**< Core used for IO */
+ uint64_t io_worker; /**< Mask for worker cores 0-63 */
+ uint64_t io_worker_64_127; /**< Mask for worker cores 64-127 */
+ int32_t io_sleep; /**< Enable sleep on PMD cores */
+ uint32_t system_core; /**< System core */
+ int32_t iova_mode; /**< DPDK IOVA Mode */
+ int32_t dpdk_mem_sz; /**< Total DPDK memory size */
+
+ int32_t EthLinkSpeed; /**< Ethernet Physical Link speed per O-RU: 10,25,40,100 >*/
+ int32_t EthLinesNumber; /**< 1, 2, 3 total number of links per O-RU (Fronthaul Ethernet link) */
+ int32_t one_vf_cu_plane; /**< 1 - C-plane and U-plane use one VF */
+ uint16_t owdmInitEn; /**< One Way Delay Measurement Initiator if set, Recipient if clear */
+ uint16_t owdmMeasMeth; /**< One Way Delay Measurement Method:0 REQUEST, 1 REM_REQ, 2 REQ_WFUP, 3 REM_REQ_WFUP */
+ uint16_t owdmNumSamps; /**< One Way Delay Measurement number of samples per test */
+ uint16_t owdmFltType; /**< One Way Delay Measurement Filter Type 0: Simple Average */
+ uint64_t owdmRspTo; /**< One Way Delay Measurement Response Time Out in ns */
+ uint16_t owdmMeasState; /**< One Way Delay Measurement State 0:INIT, 1:IDLE, 2:ACTIVE, 3:DONE */
+ uint16_t owdmMeasId; /**< One Way Delay Measurement Id, Seed for the measurementId to be used */
+ uint16_t owdmEnable; /**< One Way Delay Measurement master enable when set performs measurements on all vfs */
+ uint16_t owdmPlLength; /**< One Way Delay Measurement Payload length 44<= PiLength <= 1400 bytes */
+
+ int num_vfs; /**< Total numbers of VFs accrose all O-RU|O-DU */
+ int num_rxq; /**< Total numbers of HW RX queues for each VF O-RU|O-DU */
+
+ struct rte_ether_addr remote_o_xu_addr[XRAN_PORTS_NUM][XRAN_VF_MAX]; /**< O-DU Ethernet Mac Address */
+ struct rte_ether_addr remote_o_xu_addr_copy[XRAN_VF_MAX]; /**< Temp Ethernet Mac Address */
+
+ char o_xu_cfg_file [XRAN_PORTS_NUM][512]; /**< file with config for each O-XU */
+ char o_xu_pcie_bus_addr[XRAN_PORTS_NUM][XRAN_VF_MAX][512]; /**< VFs used for each O-RU|O-DU */
+
+ char prefix_name[256];
+
+} UsecaseConfig;
+