35 const uint8_t
m_bitmask[] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff };
78 void xran_ut_rx_up_ul()
88 rte_pktmbuf_free(mbuf);
94 rte_pktmbuf_free(mbuf);
99 int send_mbuf_cp(
struct rte_mbuf *mbuf, uint16_t type)
145 tmpstr = get_input_parameter<std::string>(
"category");
148 else if(tmpstr ==
"B")
151 std::cout <<
"*** Invalid RU Category [" << tmpstr <<
"] !!!" << std::endl;
152 std::cout <<
"Set it to Category A... " << std::endl;
163 tmpstr = get_input_parameter<std::string>(
"duplex");
166 else if(tmpstr ==
"TDD") {
169 tmpstr = get_input_parameter<std::string>(
"slot_config");
173 std::cout <<
"*** Invalid Duplex type [" << tmpstr <<
"] !!!" << std::endl;
174 std::cout <<
"Set it to FDD... " << std::endl;
180 std::cout <<
"*** Exceeds maximum number of carriers supported [" <<
m_xranConf.
nCC <<
"] !!!" << std::endl;
182 std::cout <<
"Set it to " <<
m_xranConf.
nCC <<
"..." << std::endl;
186 std::cout <<
"*** Exceeds maximum number of antenna supported [" <<
m_xranConf.
neAxc <<
"] !!!" << std::endl;
191 m_bSub6 = get_input_parameter<bool>(
"sub6");
192 temp = get_input_parameter<int>(
"chbw_dl");
194 temp = get_input_parameter<int>(
"chbw_ul");
206 temp = get_input_parameter<int>(
"fft_size");
TEST_P(TestChain, CPlaneDLPerf)
int xran_process_tx_sym(void *arg)
int get_slot_config(const std::string &cfgname, struct xran_frame_config *pCfg)
static unsigned get_number_of_cases(const std::string &type)
void update_symbol_index()
void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
Run performance test case for a given function.
#define XRAN_MAX_SECTOR_NR
void utcp_fh_rx_callback(void *pCallbackTag, xran_status_t status)
#define XRAN_MAX_ANTENNA_NR
void get_cfg_fh(struct xran_fh_config *pCfg)
This file has all definitions for the Ethernet Data Interface Layer.
struct xran_fh_config m_xranConf
int xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.
struct xran_frame_config frame_conf
void xran_ut_tx_cpup_dl()
const std::string module_name
INSTANTIATE_TEST_CASE_P(UnitTest, TestChain, testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain"))))
int apply_cpenable(bool flag)
void init_test(const std::string &type)
Defines section in the conf.json that is used to load parameters from.
void utcp_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
int send_mbuf_cp_perf(struct rte_mbuf *mbuf, uint16_t type)
void tx_cp_ul_cb(struct rte_timer *tim, void *arg)
int send_mbuf_up(struct rte_mbuf *mbuf, uint16_t type)
This file has all definitions for the Ethernet Data Interface Layer.
enum xran_category xranCat
XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
struct xran_ru_config ru_conf
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
int get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)
int Init(struct xran_fh_config *pCfg=nullptr)
int process_mbuf(struct rte_mbuf *pkt)
void Open(xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)
struct xran_fh_init m_xranInit
const uint8_t m_bitmask[]
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.
This file provides the definitions for Transport layer (eCPRI) API.
void tx_cp_dl_cb(struct rte_timer *tim, void *arg)