X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub.h;h=62a465cc9ea5c0cd8978858f6e42854a7f1cfc8f;hb=5ea4c59cb4dd37164953218b0bd355284e11d22c;hp=b2b98adccecc65f74ce0a2d960c1aa929d92b021;hpb=d349ae65e1495488772f87e5cfa1ae71d9eab075;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_stub.h b/src/cu_stub/cu_stub.h index b2b98adcc..62a465cc9 100644 --- a/src/cu_stub/cu_stub.h +++ b/src/cu_stub/cu_stub.h @@ -35,6 +35,8 @@ #include "ss_task.h" #include "ss_msg.h" #include "cm_inet.h" +#include "cm_llist.h" /* Common link list defines */ +#include "cm_hash.h" /* Common hashlist defines */ #include "gen.x" /* General */ #include "ssi.x" /* System services */ @@ -43,12 +45,36 @@ #include "ss_msg.x" #include "cm_lib.x" #include "cm_inet.x" +#include "cm_llist.x" /* Common link list defines */ +#include "cm_hash.x" /* Common hashlist defines */ +#include "odu_common_codec.h" +#include "du_log.h" #define MAX_IPV6_LEN 16 -#define CU_DU_NAME_LEN_MAX 50 /* Max length of CU/DU name string */ +#define CU_DU_NAME_LEN_MAX 30 /* Max length of CU/DU name string */ #define CU_APP_MEM_REG 1 #define CU_POOL 1 +#define MAX_DU_PORT 2 +#define DU_PORT 38472 + +/* allocate and zero out a static buffer */ +#define CU_ALLOC(_datPtr, _size) \ +{ \ + S16 _ret; \ + _ret = SGetSBuf(CU_APP_MEM_REG, CU_POOL, \ + (Data **)&_datPtr, _size); \ + if(_ret == ROK) \ + cmMemset((U8*)_datPtr, 0, _size); \ + else \ + _datPtr = NULLP; \ +} + +/* free a static buffer */ +#define CU_FREE(_datPtr, _size) \ + SPutSBuf(CU_APP_MEM_REG, CU_POOL, \ + (Data *)_datPtr, _size); + typedef struct ipAddr { @@ -64,19 +90,31 @@ typedef struct RrcVersion U32 extRrcVer; /* Latest RRC version extended */ }RrcVersion; -typedef struct sctpParams +typedef struct egtpParams +{ + SctpIpAddr localIp; + U16 localPort; + SctpIpAddr destIp; + U16 destPort; + U32 minTunnelId; + U32 maxTunnelId; +}EgtpParams; + +typedef struct CuSctpParams { SctpIpAddr duIpAddr; U16 duPort; SctpIpAddr cuIpAddr; U16 cuPort; -}SctpParams; +}CuSctpParams; typedef struct cuCfgParams { U32 cuId; char cuName[CU_DU_NAME_LEN_MAX]; - SctpParams sctpParams; + CuSctpParams sctpParams; + Plmn plmn; + EgtpParams egtpParams; RrcVersion rrcVersion; }CuCfgParams; CuCfgParams cuCfgParams; //global variable to hold all configs