o-du/phy
Intel O-RAN/X-RAN Generated Doxygen Documentation
|
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"
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_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. More... | |
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. 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... | |
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.
Definition in file xran_cp_api.c.
#define CPLEN_TS (30720000) |
Definition at line 541 of file xran_cp_api.c.
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.
mbuf | A pointer to the packet buffer |
params | A porinter to the information to generate a C-Plane packet |
Definition at line 1169 of file xran_cp_api.c.
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
mbuf | A pointer to the packet buffer |
params | A porinter to the information to generate a C-Plane packet |
Definition at line 1297 of file xran_cp_api.c.
int xran_append_section_extensions | ( | struct rte_mbuf * | mbuf, |
struct xran_section_gen_info * | params | ||
) |
add section extension to C-Plane packet
mbuf | A pointer to the packet buffer |
params | A porinter to the information to generate a C-Plane packet |
Definition at line 907 of file xran_cp_api.c.
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 | ||
) |
Definition at line 187 of file xran_cp_api.c.
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.
pHandle | handle for xRAN interface, currently not being used |
dir | Direction of C-Plane message for the section to store |
cc_id | CC ID of C-Plane message for the section to store |
ruport_id | RU port ID of C-Plane message for the section to store |
ctx_id | Context index for the section database |
info | The information of this section to store |
Definition at line 160 of file xran_cp_api.c.
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.
pHandle | handle for xRAN interface, currently not being used |
dir | The direction of the section to find |
cc_id | The CC ID of the section to find |
ruport_id | RU port ID of the section to find |
ctx_id | Context index for the section database |
section_id | The ID of section to find |
Definition at line 242 of file xran_cp_api.c.
int xran_cp_free_sectiondb | ( | void * | pHandle | ) |
Release and free section database.
pHandle | handle for xRAN interface, currently not being used |
Definition at line 89 of file xran_cp_api.c.
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.
pHandle | handle for xRAN interface, currently not being used |
dir | The direction of the section to find |
cc_id | The CC ID of the section to find |
ruport_id | RU port ID of the section to find |
ctx_id | Context index for the section database |
Definition at line 334 of file xran_cp_api.c.
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)
pHandle | handle for xRAN interface, currently not being used |
Definition at line 66 of file xran_cp_api.c.
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.
pHandle | handle for xRAN interface, currently not being used |
dir | The direction of the section to find |
cc_id | The CC ID of the section to find |
ruport_id | RU port ID of the section to find |
ctx_id | Context index for the section database |
next | The pointer to store the position of next entry |
Definition at line 291 of file xran_cp_api.c.
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
p_ext1_dst | destination buffer |
ext1_dst_len | dest buffer size |
p_bfw_iq_src | source buffer of IQs |
rbNum | number RBs to ext1 chain |
bfwNumPerRb | number of bf weights in this set of sections |
bfwiqWidth | bit size of IQs |
Definition at line 387 of file xran_cp_api.c.
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.
pHandle | handle for xRAN interface, currently not being used |
dir | The direction of the section to find |
cc_id | The CC ID of the section to find |
ruport_id | RU port ID of the section to find |
ctx_id | Context index for the section database |
Definition at line 366 of file xran_cp_api.c.
int xran_dump_sectiondb | ( | void | ) |
Definition at line 381 of file xran_cp_api.c.
|
inline |
Definition at line 542 of file xran_cp_api.c.
|
inline |
Definition at line 550 of file xran_cp_api.c.
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.
mbuf | The pointer of the packet buffer to be parsed |
params | The pointer of structure to store the information of parsed packet |
eaxc | The pointer of sturcture to store the decomposed information of ecpriRtcid/ecpriPcid |
Definition at line 1749 of file xran_cp_api.c.
int xran_parse_section_ext1 | ( | void * | ext, |
struct xran_sectionext1_info * | extinfo | ||
) |
Definition at line 1416 of file xran_cp_api.c.
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 | ||
) |
Definition at line 1668 of file xran_cp_api.c.
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.
mbuf | A pointer to the packet buffer |
params | A porinter to the information to generate a C-Plane packet |
CC_ID | Component Carrier ID for this C-Plane message |
Ant_ID | Antenna ID(RU Port ID) for this C-Plane message |
seq_id | Sequence ID for this C-Plane message |
Definition at line 1381 of file xran_cp_api.c.