X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2FAPI%2Fxran__cp__api_8c.html;fp=docs%2FAPI%2Fxran__cp__api_8c.html;h=0000000000000000000000000000000000000000;hb=bdbd414e8038630c154ee3c6b8bc9b3aeb954be6;hp=615adf03e8bb24242359367d98bae104a31a00a3;hpb=e9403c457453dba780e64af7de9462fad7217aa3;p=o-du%2Fphy.git diff --git a/docs/API/xran__cp__api_8c.html b/docs/API/xran__cp__api_8c.html deleted file mode 100644 index 615adf0..0000000 --- a/docs/API/xran__cp__api_8c.html +++ /dev/null @@ -1,1391 +0,0 @@ - - - - - - - -o-du/phy: xran_cp_api.c File Reference - - - - - - - - - -
-
- - - - - - -
-
o-du/phy -
-
Intel O-RAN/X-RAN Generated Doxygen Documentation
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Data Structures | -Macros | -Functions
-
-
xran_cp_api.c File Reference
-
-
- -

This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01. -More...

-
#include <rte_branch_prediction.h>
-#include "xran_common.h"
-#include "xran_transport.h"
-#include "xran_cp_api.h"
-#include "xran_printf.h"
-#include "xran_compression.h"
-
-Include dependency graph for xran_cp_api.c:
-
-
- - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  xran_sectioninfo_db
 
- - - -

-Macros

#define CPLEN_TS   (30720000)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

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) More...
 
int xran_cp_free_sectiondb (void *pHandle)
 Release and free section database. More...
 
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. More...
 
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_infoxran_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. More...
 
struct xran_section_infoxran_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. More...
 
int32_t 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. More...
 
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. More...
 
int xran_dump_sectiondb (void)
 
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 rbNum, uint16_t bfwNumPerRb, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
 
uint16_t xran_get_cplength (int CP_length)
 
int32_t xran_get_freqoffset (int32_t freqOffset, int32_t scs)
 
int xran_append_section_extensions (struct rte_mbuf *mbuf, struct xran_section_gen_info *params)
 add section extension to C-Plane packet More...
 
int xran_append_control_section (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
 add sections to C-Plane packet Section type 1 and 3 are supported. More...
 
int xran_append_radioapp_header (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
 add a radio application header in a C-Plane packet More...
 
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. More...
 
int xran_parse_section_ext1 (void *ext, struct xran_sectionext1_info *extinfo)
 
int xran_parse_section_ext2 (void *ext, struct xran_sectionext2_info *extinfo)
 
int xran_parse_section_ext4 (void *ext, struct xran_sectionext4_info *extinfo)
 
int xran_parse_section_ext5 (void *ext, struct xran_sectionext5_info *extinfo)
 
int xran_parse_section_extension (struct rte_mbuf *mbuf, void *ext, struct xran_section_gen_info *section)
 
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. More...
 
-

Detailed Description

-

This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01.

-
Author
Intel Corporation
- -

Definition in file xran_cp_api.c.

-

Macro Definition Documentation

- -

◆ CPLEN_TS

- -
-
- - - - -
#define CPLEN_TS   (30720000)
-
- -

Definition at line 541 of file xran_cp_api.c.

- -
-
-

Function Documentation

- -

◆ xran_append_control_section()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_append_control_section (struct rte_mbuf * mbuf,
struct xran_cp_gen_paramsparams 
)
-
- -

add sections to C-Plane packet Section type 1 and 3 are supported.

-
Parameters
- - - -
mbufA pointer to the packet buffer
paramsA porinter to the information to generate a C-Plane packet
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM if section type is not 1 or 3, or handler is NULL XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
- -

Definition at line 1169 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - - - - - - - - - -
- -
-
- -

◆ xran_append_radioapp_header()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_append_radioapp_header (struct rte_mbuf * mbuf,
struct xran_cp_gen_paramsparams 
)
-
- -

add a radio application header in a C-Plane packet

-
Parameters
- - - -
mbufA pointer to the packet buffer
paramsA porinter to the information to generate a C-Plane packet
-
-
-
Returns
The length of added section (>0) on success XRAN_STATUS_INVALID_PARM if section type is invalid, or handler is NULL XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
- -

Definition at line 1297 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - - - - - - - - - -
- -
-
- -

◆ xran_append_section_extensions()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_append_section_extensions (struct rte_mbuf * mbuf,
struct xran_section_gen_infoparams 
)
-
- -

add section extension to C-Plane packet

-
Parameters
- - - -
mbufA pointer to the packet buffer
paramsA porinter to the information to generate a C-Plane packet
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
- -

Definition at line 907 of file xran_cp_api.c.

- -
-
- -

◆ xran_cp_add_multisection_info()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int xran_cp_add_multisection_info (void * pHandle,
uint8_t cc_id,
uint8_t ruport_id,
uint8_t ctx_id,
struct xran_cp_gen_paramsgen_info 
)
-
- -

Definition at line 187 of file xran_cp_api.c.

- -
-
- -

◆ xran_cp_add_section_info()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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_infoinfo 
)
-
- -

Add a section information of C-Plane to dabase.

-
Parameters
- - - - - - - -
pHandlehandle for xRAN interface, currently not being used
dirDirection of C-Plane message for the section to store
cc_idCC ID of C-Plane message for the section to store
ruport_idRU port ID of C-Plane message for the section to store
ctx_idContext index for the section database
infoThe information of this section to store
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARAM, if direction, CC ID or RU port ID is incorrect XRAN_STATUS_RESOURCE, if no more space to add on database
- -

Definition at line 160 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - -
- -
-
- -

◆ xran_cp_find_section_info()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

-
Parameters
- - - - - - - -
pHandlehandle for xRAN interface, currently not being used
dirThe direction of the section to find
cc_idThe CC ID of the section to find
ruport_idRU port ID of the section to find
ctx_idContext index for the section database
section_idThe ID of section to find
-
-
-
Returns
The pointer of section information if matched section is found NULL if failed to find matched section
- -

Definition at line 242 of file xran_cp_api.c.

- -
-
- -

◆ xran_cp_free_sectiondb()

- -
-
- - - - - - - - -
int xran_cp_free_sectiondb (void * pHandle)
-
- -

Release and free section database.

-
Parameters
- - -
pHandlehandle for xRAN interface, currently not being used
-
-
-
Returns
XRAN_STATUS_SUCCESS on success
- -

Definition at line 89 of file xran_cp_api.c.

- -
-
- -

◆ xran_cp_getsize_section_info()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int32_t 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.

-
Parameters
- - - - - - -
pHandlehandle for xRAN interface, currently not being used
dirThe direction of the section to find
cc_idThe CC ID of the section to find
ruport_idRU port ID of the section to find
ctx_idContext index for the section database
-
-
-
Returns
The size of stored entries -1 if failed to find matched database
- -

Definition at line 334 of file xran_cp_api.c.

- -
-
- -

◆ xran_cp_init_sectiondb()

- -
-
- - - - - - - - -
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)

-
Parameters
- - -
pHandlehandle for xRAN interface, currently not being used
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_RESOURCE, if memory is not enough to allocate database area
- -

Definition at line 66 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - - - - - - -
- -
-
- -

◆ xran_cp_iterate_section_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.

-
Parameters
- - - - - - - -
pHandlehandle for xRAN interface, currently not being used
dirThe direction of the section to find
cc_idThe CC ID of the section to find
ruport_idRU port ID of the section to find
ctx_idContext index for the section database
nextThe pointer to store the position of next entry
-
-
-
Returns
The pointer of section information in the list NULL if reached at the end of the list
- -

Definition at line 291 of file xran_cp_api.c.

- -
-
- -

◆ xran_cp_populate_section_ext_1()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 
)
-
-

compression method

-

populate one extType=1 section with BFW for 1 RB

-
Parameters
- - - - - - - -
p_ext1_dstdestination buffer
ext1_dst_lendest buffer size
p_bfw_iq_srcsource buffer of IQs
rbNumnumber RBs to ext1 chain
bfwNumPerRbnumber of bf weights in this set of sections
bfwiqWidthbit size of IQs
-
-
- -

Definition at line 387 of file xran_cp_api.c.

-
-Here is the call graph for this function:
-
-
- - - - - -
-
-Here is the caller graph for this function:
-
-
- - - -
- -
-
- -

◆ xran_cp_reset_section_info()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

-
Parameters
- - - - - - -
pHandlehandle for xRAN interface, currently not being used
dirThe direction of the section to find
cc_idThe CC ID of the section to find
ruport_idRU port ID of the section to find
ctx_idContext index for the section database
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM if failed to find matched database
- -

Definition at line 366 of file xran_cp_api.c.

- -
-
- -

◆ xran_dump_sectiondb()

- -
-
- - - - - - - - -
int xran_dump_sectiondb (void )
-
- -

Definition at line 381 of file xran_cp_api.c.

- -
-
- -

◆ xran_get_cplength()

- -
-
- - - - - -
- - - - - - - - -
uint16_t xran_get_cplength (int CP_length)
-
-inline
-
- -

Definition at line 542 of file xran_cp_api.c.

- -
-
- -

◆ xran_get_freqoffset()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
int32_t xran_get_freqoffset (int32_t freqOffset,
int32_t scs 
)
-
-inline
-
- -

Definition at line 550 of file xran_cp_api.c.

- -
-
- -

◆ xran_parse_cp_pkt()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int xran_parse_cp_pkt (struct rte_mbuf * mbuf,
struct xran_cp_gen_paramsresult,
struct xran_recv_packet_infopkt_info 
)
-
- -

Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.

-
Parameters
- - - - -
mbufThe pointer of the packet buffer to be parsed
paramsThe pointer of structure to store the information of parsed packet
eaxcThe pointer of sturcture to store the decomposed information of ecpriRtcid/ecpriPcid
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet
- -

Definition at line 1749 of file xran_cp_api.c.

-
-Here is the call graph for this function:
-
-
- - - - - - - - - - - - -
-
-Here is the caller graph for this function:
-
-
- - - - - - -
- -
-
- -

◆ xran_parse_section_ext1()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_parse_section_ext1 (void * ext,
struct xran_sectionext1_infoextinfo 
)
-
- -

Definition at line 1416 of file xran_cp_api.c.

-
-Here is the call graph for this function:
-
-
- - - - -
-
-Here is the caller graph for this function:
-
-
- - - - - - - - -
- -
-
- -

◆ xran_parse_section_ext2()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_parse_section_ext2 (void * ext,
struct xran_sectionext2_infoextinfo 
)
-
- -

Definition at line 1497 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - - - - - - -
- -
-
- -

◆ xran_parse_section_ext4()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_parse_section_ext4 (void * ext,
struct xran_sectionext4_infoextinfo 
)
-
- -

Definition at line 1579 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - - - - - - -
- -
-
- -

◆ xran_parse_section_ext5()

- -
-
- - - - - - - - - - - - - - - - - - -
int xran_parse_section_ext5 (void * ext,
struct xran_sectionext5_infoextinfo 
)
-
- -

Definition at line 1606 of file xran_cp_api.c.

-
-Here is the caller graph for this function:
-
-
- - - - - - - - -
- -
-
- -

◆ xran_parse_section_extension()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int xran_parse_section_extension (struct rte_mbuf * mbuf,
void * ext,
struct xran_section_gen_infosection 
)
-
- -

Definition at line 1668 of file xran_cp_api.c.

-
-Here is the call graph for this function:
-
-
- - - - - - - - -
-
-Here is the caller graph for this function:
-
-
- - - - - - - -
- -
-
- -

◆ xran_prepare_ctrl_pkt()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int xran_prepare_ctrl_pkt (struct rte_mbuf * mbuf,
struct xran_cp_gen_paramsparams,
uint8_t CC_ID,
uint8_t Ant_ID,
uint8_t seq_id 
)
-
- -

Create a C-Plane packet Transport layer fragmentation is not supported.

-
Parameters
- - - - - - -
mbufA pointer to the packet buffer
paramsA porinter to the information to generate a C-Plane packet
CC_IDComponent Carrier ID for this C-Plane message
Ant_IDAntenna ID(RU Port ID) for this C-Plane message
seq_idSequence ID for this C-Plane message
-
-
-
Returns
XRAN_STATUS_SUCCESS on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer XRAN_STATUS_INVALID_PARM if section type is invalid
- -

Definition at line 1381 of file xran_cp_api.c.

-
-Here is the call graph for this function:
-
-
- - - - - - - - - -
-
-Here is the caller graph for this function:
-
-
- - - - - - - - - - -
- -
-
-
- - - -