X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub.h;h=5b764af857791bb930c3e62229bac091747ce2ec;hb=d6b8cf5c9afbba0fada62efd626d56cb59c1e839;hp=f6cb5c70e3a8b16643ee6d0e8fe881105ccb9808;hpb=41eaaec52d3fe0d5c003e6c0676e9a18fc8ba37a;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_stub.h b/src/cu_stub/cu_stub.h index f6cb5c70e..5b764af85 100644 --- a/src/cu_stub/cu_stub.h +++ b/src/cu_stub/cu_stub.h @@ -20,23 +20,28 @@ #define __CU_MGR_MAIN_H__ #define CU_ID 1 -#define CU_NAME "ORAN_OAM_CU" +#define CU_NAME "ORAN OAM CU" #define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001" #define CU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011" #ifndef O1_ENABLE -#define DU_IP_V4_ADDR (char*[]){"192.168.130.81", "192.168.130.83"} -#define DU_SCTP_PORT (int[]){38472, 38473} +#define LOCAL_IP_CU "192.168.130.82" -#define CU_IP_V4_ADDR "192.168.130.82" -#define CU_SCTP_PORT_TO_DU (int[]){38472, 38473} +#define F1_SCTP_PORT 38472 /* As per the spec 38.472, the registered port number for F1AP is 38472 */ +#define NUM_F1_ASSOC 1 +#define REMOTE_IP_DU (char*[]){"192.168.130.81", "192.168.130.83"} + +#define XN_SCTP_PORT 38422 /* As per 3GPP TS 38.422, The SCTP Destination Port number value assigned by IANA to be used for XnAP is 38422 */ +#define NUM_XN_ASSOC 0 +#define REMOTE_IP_CU (char*[]){"192.168.130.84"} +#define LOCAL_NODE_TYPE SERVER #endif -#define DU_EGTP_PORT (int[]){39001, 39002} -#define CU_EGTP_PORT (int[]){39003, 39004} +#define F1_EGTP_PORT 2152 /* As per the spec 29.281, the registered port number for GTP-U is 2152 */ #define RRC_VER 0 #define EXT_RRC_VER 5 + #define PLMN_MCC0 3 #define PLMN_MCC1 1 #define PLMN_MCC2 1 @@ -101,6 +106,21 @@ #define DRX_TO_BE_RELEASE true #endif +typedef enum +{ + Xn_Based_Inter_CU_HO = 1, + Inter_DU_HO +}HandoverType; + +typedef enum +{ + XN_SETUP_REQ, + XN_SETUP_RSP, + HO_REQ, + HO_REQ_ACK, + UE_CTXT_REL +}XnEventType; + typedef enum { CELL_INACTIVE, @@ -134,8 +154,12 @@ typedef struct cuCfgParams typedef struct handoverInfo { - uint32_t sourceDuId; - uint32_t targetDuId; + HandoverType HOType; + uint32_t srcNodeId; /* If Inter_DU HO, this is Source DU ID. In case of Inter CU HO, this is Source CU ID */ + uint32_t tgtNodeId; /* If Inter_DU HO, this is Taregt DU ID. In case of Inter CU HO, this is Target CU ID */ + uint32_t tgtCellId; /* Cell Id in target node to which UE is to be handed over */ + uint8_t cuUeF1apIdSrc; /* Used for Inter-CU HO. CU UE F1AP ID of UE in source CU */ + uint8_t cuUeF1apIdTgt; /* Used for Inter-CU HO. CU UE F1AP ID of UE in target CU */ }HandoverInfo; typedef struct dlAmCfg @@ -303,6 +327,7 @@ typedef struct cuUeCb uint32_t crnti; uint8_t gnbDuUeF1apId; uint8_t gnbCuUeF1apId; + uint16_t pdcpSn; uint8_t numSrb; SrbInfo srbList[MAX_NUM_SRB]; uint8_t numDrb; @@ -332,6 +357,7 @@ typedef struct duDb CuCellCb cellCb[MAX_NUM_CELL]; uint8_t numUe; CuUeCb ueCb[MAX_NUM_CELL * MAX_NUM_UE]; + CuUeCb *tempUeCtxtInHo; }DuDb; typedef struct cuGlobalCb