42 if(test_buffer == NULL) {
43 std::cout << __func__ <<
":" << __LINE__ <<
" Failed to allocatte a packet buffer!" << std::endl;
46 iq_offset = rte_pktmbuf_mtod(test_buffer,
char * );
47 iq_offset = iq_offset +
sizeof(
struct ether_hdr) +
48 sizeof (struct xran_ecpri_hdr) +
49 sizeof (struct radio_app_common_hdr) +
50 sizeof(struct data_section_hdr);
56 rte_pktmbuf_free(test_buffer);
64 uint16_t section_id = 7;
66 uint8_t frame_id = 99;
67 uint8_t subframe_id = 9;
69 uint8_t symbol_no = 7;
73 uint8_t RU_Port_ID = 0;
85 uint16_t payl_size = 0;
106 ASSERT_EQ(prep_bytes, 3168);
110 ecpri_hdr = (
struct xran_ecpri_hdr *)(pChar +
sizeof(
struct ether_hdr));
113 section_hdr = (
struct data_section_hdr *)(pChar +
sizeof(
struct ether_hdr) +
115 sizeof(struct radio_app_common_hdr));
119 ASSERT_EQ (payl_size, 3180);
122 ASSERT_EQ(app_hdr->
frame_id, frame_id);
136 uint8_t frame_id = 0;
137 uint8_t subframe_id = 0;
141 uint8_t compMeth = 0;
174 ASSERT_EQ(num_bytes, 3182);
175 ASSERT_EQ(prb_num, 66);
TEST_P(U_planeCheck, Test_DLUL)
static unsigned get_number_of_cases(const std::string &type)
int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
This file has all definitions for the Ethernet Data Interface Layer.
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
const std::string module_name
struct rte_mbuf * test_buffer
struct xran_ecpri_cmn_hdr cmnhdr
This file provides the definitions for User Plane Messages APIs.
XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
struct rte_mempool * test_eth_mbuf_pool
INSTANTIATE_TEST_CASE_P(UnitTest, U_planeCheck, testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional"))))
int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
Function extracts IQ samples from received mbuf packet.
union data_section_hdr::@18 fields
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.