X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fric_stub%2Fric_stub.h;h=7c6362e79169488337703f23c90cfe9d059fa7f8;hb=904a5d446b480d71da1bf81f892bab86ab365ce6;hp=ffb752639a3eb094909d04248e05db3802399162;hpb=0f3443e19182284b96f302a545e578cd55225dae;p=o-du%2Fl2.git diff --git a/src/ric_stub/ric_stub.h b/src/ric_stub/ric_stub.h index ffb752639..7c6362e79 100644 --- a/src/ric_stub/ric_stub.h +++ b/src/ric_stub/ric_stub.h @@ -26,11 +26,11 @@ #define RIC_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011" #ifndef O1_ENABLE -#define DU_IP_V4_ADDR (char*[]){"192.168.130.85", "192.168.130.83"} -#define DU_SCTP_PORT (int[]){36421, 36422} +#define LOCAL_IP_RIC "192.168.130.80" -#define RIC_IP_V4_ADDR "192.168.130.87" -#define RIC_SCTP_PORT_TO_DU (int[]){36421, 36422} +#define E2_SCTP_PORT 36421 +#define NUM_E2_ASSOC 1 +#define REMOTE_IP_DU (char*[]){"192.168.130.81", "192.168.130.83"} #endif #define RRC_VER 0 @@ -46,6 +46,7 @@ #define RIC_APP_MEM_REG 1 #define RIC_POOL 1 +#define MAX_RAN_FUNCTION 256 /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.2.2 : maxofRANfunctionID */ /* allocate and zero out a static buffer */ #define RIC_ALLOC(_datPtr, _size) \ @@ -64,15 +65,68 @@ SPutSBuf(RIC_APP_MEM_REG, RIC_POOL, \ (Data *)_datPtr, _size); +#define SEARCH_DU_DB(_duIdx, _duId, _duDb){\ + _duDb = NULLP; \ + for(_duIdx=0; _duIdx < ricCb.numDu; _duIdx++)\ + {\ + if(ricCb.duInfo[_duIdx].duId == _duId)\ + {\ + _duDb = (&ricCb.duInfo[_duIdx]);\ + break; \ + }\ + }\ +} + +/* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.26 */ +typedef enum +{ + NG, + XN, + E1, + F1, + W1, + S1, + X2 +}InterfaceType; + + +typedef struct +{ + uint16_t id; + uint16_t revisionCounter; +}RanFunction; + +typedef struct +{ + InterfaceType interfaceType; + uint64_t componentId; +}E2NodeComponent; + +typedef struct duDb +{ + uint32_t duId; + uint16_t numOfRanFunction; + RanFunction ranFunction[MAX_RAN_FUNCTION]; + E2NodeComponent e2NodeComponent; + Bool ricSubscribedToDu; +}DuDb; + typedef struct ricCfgParams { uint32_t ricId; char ricName[RIC_DU_NAME_LEN_MAX]; RicSctpParams sctpParams; Plmn plmn; - Bool ricSubsStatus; }RicCfgParams; -RicCfgParams ricCfgParams; //global variable to hold all configs + +typedef struct cuGlobalCb +{ + RicCfgParams ricCfgParams; + uint8_t numDu; + DuDb duInfo[MAX_DU_SUPPORTED]; +}RicGlobalCb; + +RicGlobalCb ricCb; void readRicCfg(); void cuAppInmsgHdlr(Buffer *mBuf);