X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fric_stub%2Fric_stub.h;h=b4c159e835b099800352e8c57beb37a962610892;hb=8530ec005b20461df914fe0469342b076bd64656;hp=a621525edb3b6a51a5f66b4b23e150dc56d34e60;hpb=6a921a2e24077727de299706bf23ceec317f1c5c;p=o-du%2Fl2.git diff --git a/src/ric_stub/ric_stub.h b/src/ric_stub/ric_stub.h index a621525ed..b4c159e83 100644 --- a/src/ric_stub/ric_stub.h +++ b/src/ric_stub/ric_stub.h @@ -29,7 +29,7 @@ #define LOCAL_IP_RIC "192.168.130.80" #define E2_SCTP_PORT 36421 -#define NUM_E2_ASSOC 1 +#define NUM_E2_ASSOC 1 #define REMOTE_IP_DU (char*[]){"192.168.130.81", "192.168.130.83"} #endif @@ -46,6 +46,12 @@ #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 */ +#define MAX_NUM_TRANSACTION 256 /* As per, O-RAN WG3 E2AP v3.0, section 9.2.33 */ + +#define MAX_RIC_ACTION 16 /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.1.1 : maxofRICActionID */ +#define MAX_RIC_REQUEST 5 /* As per O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.7, max request is 65535. \ + * But for our internal testing purpose, keeping it to 5 for now */ /* allocate and zero out a static buffer */ #define RIC_ALLOC(_datPtr, _size) \ @@ -76,10 +82,57 @@ }\ } +/* 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 requestorId; + uint16_t instanceId; +}RicRequestId; + +typedef struct +{ + int16_t actionId; +}ActionInfo; + +typedef struct ricSubscription +{ + RicRequestId requestId; + uint8_t numOfActions; + ActionInfo actionSequence[MAX_RIC_ACTION]; +}RicSubscription; + +typedef struct +{ + uint16_t id; + uint16_t revisionCounter; + uint8_t numOfSubscription; + RicSubscription subscriptionList[MAX_RIC_REQUEST]; +}RanFunction; + +typedef struct +{ + InterfaceType interfaceType; + uint64_t componentId; +}E2NodeComponent; + typedef struct duDb { - uint32_t duId; - Bool ricSubscribedToDu; + uint32_t duId; + uint8_t ricTransIdCounter; + uint16_t numOfRanFunction; + RanFunction ranFunction[MAX_RAN_FUNCTION]; + E2NodeComponent e2NodeComponent; }DuDb; typedef struct ricCfgParams @@ -99,6 +152,14 @@ typedef struct cuGlobalCb RicGlobalCb ricCb; +typedef struct +{ + uint8_t numOfRanFunAccepted; + RanFunction ranFunAcceptedList[MAX_RAN_FUNCTION]; + uint8_t numOfRanFuneRejected; + RanFunction ranFunRejectedList[MAX_RAN_FUNCTION]; +}RicTmpRanFunList; + void readRicCfg(); void cuAppInmsgHdlr(Buffer *mBuf); void sctpNtfyInd(CmInetSctpNotification *ntfy);