28 #ifndef _XRAN_CP_API_H_ 29 #define _XRAN_CP_API_H_ 40 #define XRAN_MAX_SECTIONDB_CTX 2 42 #define XRAN_MAX_NUM_EXTENSIONS XRAN_MAX_PRBS 43 #define XRAN_MAX_NUM_UE 16 44 #define XRAN_MAX_NUM_ANT_BF 64 47 #define XRAN_MAX_BFW_N (XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE) 48 #define XRAN_MAX_MODCOMP_ADDPARMS 6 50 #define XRAN_SECTIONEXT_ALIGN 4 75 #define XRAN_SLOTID_MAX 16 118 #define XRAN_CONVERT_NUMPRBC(x) ((x) > 255 ? 0 : (x)) 120 #define XRAN_CONVERT_IQWIDTH(x) ((x) > 15 ? 0 : (x)) 123 #define XRAN_SYMBOLNUMBER_MIN 1 125 #define XRAN_SYMBOLNUMBER_MAX 14 128 #define XRAN_LAAMSGTYPE_LBT_PDSCH_REQ 0 129 #define XRAN_LAAMSGTYPE_LBT_DRS_REQ 1 130 #define XRAN_LAAMSGTYPE_LBT_PDSCH_RSP 2 131 #define XRAN_LAAMSGTYPE_LBT_DRS_RSP 3 132 #define XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR 4 133 #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ 5 134 #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP 6 136 #define XRAN_LBTMODE_FULL 0 137 #define XRAN_LBTMODE_PARTIAL25 1 138 #define XRAN_LBTMODE_PARTIAL34 2 139 #define XRAN_LBTMODE_FULLSTOP 3 141 #define XRAN_EF_F_LAST 0 142 #define XRAN_EF_F_ANOTHER_ONE 1 158 #define XRAN_CONVERT_BFWIQWIDTH(x) ((x) > 15 ? 0 : (x)) 353 uint8_t CC_ID, uint8_t Ant_ID,
363 uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
366 uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id,
369 uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
370 uint8_t ctx_id, uint16_t section_id);
372 uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
373 uint8_t ctx_id, uint32_t *next);
377 uint16_t ext1_dst_len,
378 int16_t *p_bfw_iq_src,
int xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
Add a section information of C-Plane to dabase.
This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in X...
uint8_t compBitWidthShift
int32_t xran_get_freqoffset(int freqOffset, int scs)
int xran_cp_free_sectiondb(void *pHandle)
Release and free section database.
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.
int xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info)
struct xran_section_info * xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next)
Iterate each section information of C-Plane from the database of eAxC by given information.
uint16_t xran_get_cplength(int cpLength)
#define XRAN_MAX_NUM_EXTENSIONS
int xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
Get the size of stored entries for the database of eAxC by given information.
int xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
Reset a database of eAxC by given information.
#define XRAN_NUM_OF_SYMBOL_PER_SLOT
int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
struct xran_cp_radioapp_section_header hdr
int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
Create a C-Plane packet Transport layer fragmentation is not supported.
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
struct xran_section_desc sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
xran_cp_subcarrierspacing
#define XRAN_MAX_MODCOMP_ADDPARMS
struct xran_section_gen_info * sections
xran_cp_bfw_compression_method
struct xran_section_info * xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id)
Find a section information of C-Plane from dabase by given information.
int xran_cp_init_sectiondb(void *pHandle)
Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction)
This file provides the definitions for Transport layer (eCPRI) API.