X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2FAPI%2Fxran__cp__api_8h.html;fp=docs%2FAPI%2Fxran__cp__api_8h.html;h=39bf60465a9b4928dc1db0d73cc36f8d9e560e31;hb=870e1b86b0c74169b215c166dee787c7c1a20d06;hp=0000000000000000000000000000000000000000;hpb=298022ce50fa8133cc880507170c4b7120d227b5;p=o-du%2Fphy.git diff --git a/docs/API/xran__cp__api_8h.html b/docs/API/xran__cp__api_8h.html new file mode 100644 index 0000000..39bf604 --- /dev/null +++ b/docs/API/xran__cp__api_8h.html @@ -0,0 +1,1832 @@ + + + + + + + +o-du/phy: xran_cp_api.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Data Structures | +Macros | +Enumerations | +Functions
+
+
xran_cp_api.h File Reference
+
+
+ +

This file provides the definitions for Control Plane Messages APIs. +More...

+
#include "xran_fh_o_du.h"
+#include "xran_pkt_cp.h"
+#include "xran_transport.h"
+
+Include dependency graph for xran_cp_api.h:
+
+
+ + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  xran_section_info
 
struct  xran_sectionext1_info
 
struct  xran_sectionext2_info
 
struct  xran_sectionext3_info
 
struct  xran_sectionext4_info
 
struct  xran_sectionext5_info
 
struct  xran_sectionext_info
 
struct  xran_cp_header_params
 
struct  xran_section_gen_info
 
struct  xran_cp_gen_params
 
struct  xran_cp_rbmap_list
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define XRAN_MAX_SECTIONDB_CTX   2
 
#define XRAN_MAX_NUM_EXTENSIONS   XRAN_MAX_PRBS /* Maximum number of extensions in a section [up to 1 ext section per RB]*/
 
#define XRAN_MAX_NUM_UE   16 /* Maximum number of UEs/Lyaers */
 
#define XRAN_MAX_NUM_ANT_BF
 
#define XRAN_MAX_BFW_N   (XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE)
 
#define XRAN_MAX_MODCOMP_ADDPARMS   6 /* max should be even number */
 
#define XRAN_SECTIONEXT_ALIGN   4 /* alignment size in byte for section extension */
 
#define XRAN_SLOTID_MAX   16
 
#define XRAN_CONVERT_NUMPRBC(x)   ((x) > 255 ? 0 : (x))
 
#define XRAN_CONVERT_IQWIDTH(x)   ((x) > 15 ? 0 : (x))
 
#define XRAN_SYMBOLNUMBER_MIN   1
 
#define XRAN_SYMBOLNUMBER_MAX   14
 
#define XRAN_LAAMSGTYPE_LBT_PDSCH_REQ   0
 
#define XRAN_LAAMSGTYPE_LBT_DRS_REQ   1
 
#define XRAN_LAAMSGTYPE_LBT_PDSCH_RSP   2
 
#define XRAN_LAAMSGTYPE_LBT_DRS_RSP   3
 
#define XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR   4
 
#define XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ   5
 
#define XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP   6
 
#define XRAN_LBTMODE_FULL   0
 
#define XRAN_LBTMODE_PARTIAL25   1
 
#define XRAN_LBTMODE_PARTIAL34   2
 
#define XRAN_LBTMODE_FULLSTOP   3
 
#define XRAN_EF_F_LAST   0
 
#define XRAN_EF_F_ANOTHER_ONE   1
 
#define XRAN_CONVERT_BFWIQWIDTH(x)   ((x) > 15 ? 0 : (x))
 
+ + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  xran_cp_sectiontype {
+  XRAN_CP_SECTIONTYPE_0 = 0, +XRAN_CP_SECTIONTYPE_1 = 1, +XRAN_CP_SECTIONTYPE_3 = 3, +XRAN_CP_SECTIONTYPE_5 = 5, +
+  XRAN_CP_SECTIONTYPE_6 = 6, +XRAN_CP_SECTIONTYPE_7 = 7, +XRAN_CP_SECTIONTYPE_MAX +
+ }
 
enum  xran_cp_filterindex {
+  XRAN_FILTERINDEX_STANDARD = 0, +XRAN_FILTERINDEX_PRACH_012 = 1, +XRAN_FILTERINDEX_PRACH_3 = 2, +XRAN_FILTERINDEX_PRACH_ABC = 3, +
+  XRAN_FILTERINDEX_NPRACH = 4, +XRAN_FILTERINDEX_MAX +
+ }
 
enum  xran_cp_fftsize {
+  XRAN_FFTSIZE_128 = 7, +XRAN_FFTSIZE_256 = 8, +XRAN_FFTSIZE_512 = 9, +XRAN_FFTSIZE_1024 = 10, +
+  XRAN_FFTSIZE_2048 = 11, +XRAN_FFTSIZE_4096 = 12, +XRAN_FFTSIZE_1536 = 13, +XRAN_FFTSIZE_MAX +
+ }
 
enum  xran_cp_subcarrierspacing {
+  XRAN_SCS_15KHZ = 0, +XRAN_SCS_30KHZ = 1, +XRAN_SCS_60KHZ = 2, +XRAN_SCS_120KHZ = 3, +
+  XRAN_SCS_240KHZ = 4, +XRAN_SCS_1P25KHZ = 12, +XRAN_SCS_3P75KHZ = 13, +XRAN_SCS_5KHZ = 14, +
+  XRAN_SCS_7P5KHZ = 15, +XRAN_SCS_MAX +
+ }
 
enum  xran_cp_rbindicator { XRAN_RBIND_EVERY = 0, +XRAN_RBIND_EVERYOTHER = 1, +XRAN_RBIND_MAX + }
 
enum  xran_cp_symbolnuminc { XRAN_SYMBOLNUMBER_NOTINC = 0, +XRAN_SYMBOLNUMBER_INC = 1, +XRAN_SYMBOLNUMBER_INC_MAX + }
 
enum  xran_cp_sectionextcmd {
+  XRAN_CP_SECTIONEXTCMD_0 = 0, +XRAN_CP_SECTIONEXTCMD_1 = 1, +XRAN_CP_SECTIONEXTCMD_2 = 2, +XRAN_CP_SECTIONEXTCMD_3 = 3, +
+  XRAN_CP_SECTIONEXTCMD_4 = 4, +XRAN_CP_SECTIONEXTCMD_5 = 5, +XRAN_CP_SECTIONEXTCMD_MAX +
+ }
 
enum  xran_cp_bfw_compression_method {
+  XRAN_BFWCOMPMETHOD_NONE = 0, +XRAN_BFWCOMPMETHOD_BLKFLOAT = 1, +XRAN_BFWCOMPMETHOD_BLKSCALE = 2, +XRAN_BFWCOMPMETHOD_ULAW = 3, +
+  XRAN_BFWCOMPMETHOD_BEAMSPACE = 4, +XRAN_BFWCOMPMETHOD_MAX +
+ }
 
enum  xran_cp_bfa_bitwidth {
+  XRAN_BFABITWIDTH_NO = 0, +XRAN_BFABITWIDTH_2BIT = 1, +XRAN_BFABITWIDTH_3BIT = 2, +XRAN_BFABITWIDTH_4BIT = 3, +
+  XRAN_BFABITWIDTH_5BIT = 4, +XRAN_BFABITWIDTH_6BIT = 5, +XRAN_BFABITWIDTH_7BIT = 6, +XRAN_BFABITWIDTH_8BIT = 7 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

uint16_t xran_get_cplength (int cpLength)
 
int32_t xran_get_freqoffset (int freqOffset, int scs)
 
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_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...
 
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...
 
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. 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...
 
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)
 
+

Detailed Description

+

This file provides the definitions for Control Plane Messages APIs.

+
Author
Intel Corporation
+ +

Definition in file xran_cp_api.h.

+

Macro Definition Documentation

+ +

◆ XRAN_CONVERT_BFWIQWIDTH

+ +
+
+ + + + + + + + +
#define XRAN_CONVERT_BFWIQWIDTH( x)   ((x) > 15 ? 0 : (x))
+
+

Macro to convert bfwIqWidth defined in 5.4.7.1.1, Table 5-15

+ +

Definition at line 158 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_CONVERT_IQWIDTH

+ +
+
+ + + + + + + + +
#define XRAN_CONVERT_IQWIDTH( x)   ((x) > 15 ? 0 : (x))
+
+ +

Definition at line 120 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_CONVERT_NUMPRBC

+ +
+
+ + + + + + + + +
#define XRAN_CONVERT_NUMPRBC( x)   ((x) > 255 ? 0 : (x))
+
+

Macro to convert the number of PRBs as defined in 5.4.5.6

+ +

Definition at line 118 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_EF_F_ANOTHER_ONE

+ +
+
+ + + + +
#define XRAN_EF_F_ANOTHER_ONE   1
+
+ +

Definition at line 142 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_EF_F_LAST

+ +
+
+ + + + +
#define XRAN_EF_F_LAST   0
+
+ +

Definition at line 141 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR   4
+
+ +

Definition at line 132 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ   5
+
+ +

Definition at line 133 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP   6
+
+ +

Definition at line 134 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_DRS_REQ

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_DRS_REQ   1
+
+ +

Definition at line 129 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_DRS_RSP

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_DRS_RSP   3
+
+ +

Definition at line 131 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_PDSCH_REQ

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_PDSCH_REQ   0
+
+ +

Definition at line 128 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LAAMSGTYPE_LBT_PDSCH_RSP

+ +
+
+ + + + +
#define XRAN_LAAMSGTYPE_LBT_PDSCH_RSP   2
+
+ +

Definition at line 130 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LBTMODE_FULL

+ +
+
+ + + + +
#define XRAN_LBTMODE_FULL   0
+
+ +

Definition at line 136 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LBTMODE_FULLSTOP

+ +
+
+ + + + +
#define XRAN_LBTMODE_FULLSTOP   3
+
+ +

Definition at line 139 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LBTMODE_PARTIAL25

+ +
+
+ + + + +
#define XRAN_LBTMODE_PARTIAL25   1
+
+ +

Definition at line 137 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_LBTMODE_PARTIAL34

+ +
+
+ + + + +
#define XRAN_LBTMODE_PARTIAL34   2
+
+ +

Definition at line 138 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_MAX_BFW_N

+ +
+
+ + + + +
#define XRAN_MAX_BFW_N   (XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE)
+
+ +

Definition at line 47 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_MAX_MODCOMP_ADDPARMS

+ +
+
+ + + + +
#define XRAN_MAX_MODCOMP_ADDPARMS   6 /* max should be even number */
+
+ +

Definition at line 48 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_MAX_NUM_ANT_BF

+ +
+
+ + + + +
#define XRAN_MAX_NUM_ANT_BF
+
+Value:
64 /* Maximum number of beamforming antenna,
* could be defined as XRAN_MAX_ANTENNA_NR */
+

Definition at line 44 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_MAX_NUM_EXTENSIONS

+ +
+
+ + + + +
#define XRAN_MAX_NUM_EXTENSIONS   XRAN_MAX_PRBS /* Maximum number of extensions in a section [up to 1 ext section per RB]*/
+
+ +

Definition at line 42 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_MAX_NUM_UE

+ +
+
+ + + + +
#define XRAN_MAX_NUM_UE   16 /* Maximum number of UEs/Lyaers */
+
+ +

Definition at line 43 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_MAX_SECTIONDB_CTX

+ +
+
+ + + + +
#define XRAN_MAX_SECTIONDB_CTX   2
+
+ +

Definition at line 40 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_SECTIONEXT_ALIGN

+ +
+
+ + + + +
#define XRAN_SECTIONEXT_ALIGN   4 /* alignment size in byte for section extension */
+
+ +

Definition at line 50 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_SLOTID_MAX

+ +
+
+ + + + +
#define XRAN_SLOTID_MAX   16
+
+

Maximum Slot Index, defined in 5.4.4.6

+ +

Definition at line 75 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_SYMBOLNUMBER_MAX

+ +
+
+ + + + +
#define XRAN_SYMBOLNUMBER_MAX   14
+
+

Maximum number of symbols, defined in 5.4.5.7

+ +

Definition at line 125 of file xran_cp_api.h.

+ +
+
+ +

◆ XRAN_SYMBOLNUMBER_MIN

+ +
+
+ + + + +
#define XRAN_SYMBOLNUMBER_MIN   1
+
+

Minimum number of symbols, defined in 5.4.5.7

+ +

Definition at line 123 of file xran_cp_api.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ xran_cp_bfa_bitwidth

+ +
+
+ + + + +
enum xran_cp_bfa_bitwidth
+
+

Beamforming Attributes Bitwidth 5.4.7.2.1

+ + + + + + + + + +
Enumerator
XRAN_BFABITWIDTH_NO 

the filed is no applicable or the default value shall be used

+
XRAN_BFABITWIDTH_2BIT 

the filed is 2-bit bitwidth

+
XRAN_BFABITWIDTH_3BIT 

the filed is 3-bit bitwidth

+
XRAN_BFABITWIDTH_4BIT 

the filed is 4-bit bitwidth

+
XRAN_BFABITWIDTH_5BIT 

the filed is 5-bit bitwidth

+
XRAN_BFABITWIDTH_6BIT 

the filed is 6-bit bitwidth

+
XRAN_BFABITWIDTH_7BIT 

the filed is 7-bit bitwidth

+
XRAN_BFABITWIDTH_8BIT 

the filed is 8-bit bitwidth

+
+ +

Definition at line 171 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_bfw_compression_method

+ +
+
+

Beamforming Weights Compression Method 5.4.7.1.1, Table 5-16

+ + + + + + + +
Enumerator
XRAN_BFWCOMPMETHOD_NONE 

Uncopressed I/Q value

+
XRAN_BFWCOMPMETHOD_BLKFLOAT 

I/Q mantissa value

+
XRAN_BFWCOMPMETHOD_BLKSCALE 

I/Q scaled value

+
XRAN_BFWCOMPMETHOD_ULAW 

compressed I/Q value

+
XRAN_BFWCOMPMETHOD_BEAMSPACE 

beamspace I/Q coefficient

+
XRAN_BFWCOMPMETHOD_MAX 
+ +

Definition at line 161 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_fftsize

+ +
+
+ + + + +
enum xran_cp_fftsize
+
+

FFT size in frame structure, defined in 5.4.4.13 Table 5.9

+ + + + + + + + + +
Enumerator
XRAN_FFTSIZE_128 
XRAN_FFTSIZE_256 
XRAN_FFTSIZE_512 
XRAN_FFTSIZE_1024 
XRAN_FFTSIZE_2048 
XRAN_FFTSIZE_4096 
XRAN_FFTSIZE_1536 
XRAN_FFTSIZE_MAX 
+ +

Definition at line 78 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_filterindex

+ +
+
+ + + + +
enum xran_cp_filterindex
+
+

Filter index, defined in 5.4.4.3

+ + + + + + + +
Enumerator
XRAN_FILTERINDEX_STANDARD 

UL filter for standard channel

+
XRAN_FILTERINDEX_PRACH_012 

UL filter for PRACH preamble format 0, 1, 2

+
XRAN_FILTERINDEX_PRACH_3 

UL filter for PRACH preamble format 3

+
XRAN_FILTERINDEX_PRACH_ABC 

UL filter for PRACH preamble format A1~3, B1~4, C0, C2

+
XRAN_FILTERINDEX_NPRACH 

UL filter for NPRACH

+
XRAN_FILTERINDEX_MAX 
+ +

Definition at line 65 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_rbindicator

+ +
+
+ + + + +
enum xran_cp_rbindicator
+
+

Resource block indicator, defined in 5.4.5.2

+ + + + +
Enumerator
XRAN_RBIND_EVERY 

every RB used

+
XRAN_RBIND_EVERYOTHER 

every other RB used

+
XRAN_RBIND_MAX 
+ +

Definition at line 104 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_sectionextcmd

+ +
+
+ + + + +
enum xran_cp_sectionextcmd
+
+

Control Plane section extension commands, defined in 5.4.6 Table 5.13

+ + + + + + + + +
Enumerator
XRAN_CP_SECTIONEXTCMD_0 

Reserved, for future use

+
XRAN_CP_SECTIONEXTCMD_1 

Beamforming weights

+
XRAN_CP_SECTIONEXTCMD_2 

Beamforming attributes

+
XRAN_CP_SECTIONEXTCMD_3 

DL Precoding configuration parameters and indications, not supported

+
XRAN_CP_SECTIONEXTCMD_4 

Modulation compression parameter

+
XRAN_CP_SECTIONEXTCMD_5 

Modulation compression additional scaling parameters

+
XRAN_CP_SECTIONEXTCMD_MAX 
+ +

Definition at line 147 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_sectiontype

+ +
+
+ + + + +
enum xran_cp_sectiontype
+
+

Control Plane section types, defined in 5.4 Table 5.1

+ + + + + + + + +
Enumerator
XRAN_CP_SECTIONTYPE_0 

Unused RB or Symbols in DL or UL, not supported

+
XRAN_CP_SECTIONTYPE_1 

Most DL/UL Radio Channels

+
XRAN_CP_SECTIONTYPE_3 

PRACH and Mixed-numerology Channels

+
XRAN_CP_SECTIONTYPE_5 

UE scheduling information, not supported

+
XRAN_CP_SECTIONTYPE_6 

Channel Information, not supported

+
XRAN_CP_SECTIONTYPE_7 

LAA, not supported

+
XRAN_CP_SECTIONTYPE_MAX 
+ +

Definition at line 54 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_subcarrierspacing

+ +
+
+ + + + +
enum xran_cp_subcarrierspacing
+
+

Sub-carrier spacing, defined in 5.4.4.13 Table 5.10

+ + + + + + + + + + + +
Enumerator
XRAN_SCS_15KHZ 
XRAN_SCS_30KHZ 
XRAN_SCS_60KHZ 
XRAN_SCS_120KHZ 
XRAN_SCS_240KHZ 
XRAN_SCS_1P25KHZ 
XRAN_SCS_3P75KHZ 
XRAN_SCS_5KHZ 
XRAN_SCS_7P5KHZ 
XRAN_SCS_MAX 
+ +

Definition at line 90 of file xran_cp_api.h.

+ +
+
+ +

◆ xran_cp_symbolnuminc

+ +
+
+ + + + +
enum xran_cp_symbolnuminc
+
+

Symbol number increment command, defined in 5.4.5.3

+ + + + +
Enumerator
XRAN_SYMBOLNUMBER_NOTINC 

do not increment the current symbol number

+
XRAN_SYMBOLNUMBER_INC 

increment the current symbol number and use that

+
XRAN_SYMBOLNUMBER_INC_MAX 
+ +

Definition at line 111 of file xran_cp_api.h.

+ +
+
+

Function Documentation

+ +

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

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

+
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
rbNumbernumber RBs to ext1 chain
bfwNumbernumber 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_get_cplength()

+ +
+
+ + + + + +
+ + + + + + + + +
uint16_t xran_get_cplength (int cpLength)
+
+inline
+
+ +

Definition at line 542 of file xran_cp_api.c.

+ +
+
+ +

◆ xran_get_freqoffset()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int32_t xran_get_freqoffset (int freqOffset,
int scs 
)
+
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + +
+ +
+
+ +

◆ 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_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:
+
+
+ + + + + + + + + + +
+ +
+
+
+ + + +