X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_f1ap_msg_hdl.h;h=585eb5843673c64d7accaf3b12e8d9a1d4f14d2b;hb=5f2265d1147690ddea19312492150bcad7cf5c1b;hp=36c1b37d9ea1c5402219c97c0788e3480447323e;hpb=105199ef642ffe9736ea24a01d4546578fa25e60;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_f1ap_msg_hdl.h b/src/cu_stub/cu_f1ap_msg_hdl.h index 36c1b37d9..585eb5843 100644 --- a/src/cu_stub/cu_f1ap_msg_hdl.h +++ b/src/cu_stub/cu_f1ap_msg_hdl.h @@ -17,21 +17,9 @@ *******************************************************************************/ /* This file contains all F1AP message handler related functionality */ -#include -#include "ProtocolExtensionField.h" -#include "F1AP-PDU.h" -#include "Cells-to-be-Activated-List.h" -#include "DL-CCCH-Message.h" -#include "SRB-ToAddModList.h" -#include "SRB-ToAddMod.h" -#include "RRCSetup-IEs.h" -#include "RRCSetup.h" -#include "du_log.h" - #define ENCODE_FAIL -1 #define TRANS_ID 1 #define RRC_SIZE 1 -#define ENC_BUF_MAX_LEN 100 #define SUL_BAND_COUNT 0 #define UL_SRBID 1 #define DL_SRBID 0 @@ -39,35 +27,58 @@ #define CU_ID 1 #define CRNTI 17017 #define CELL_INDEX 0 +#define SRB0 0 #define SRB1 1 +#define SRB2 2 +#define DRB1 1 +#define DRB2 2 +#define DRB3 3 +#define QCI 9 +#define MAX_DRB_SET_UE_CONTEXT_SETUP_REQ 2 /*Number of DRBs to be added using UE CONTEXT SETUP procedure*/ +#define MAX_DRB_SET_UE_CONTEXT_MOD_REQ 1 /*Number of DRBs to be added/setup via UE CONTEXT MODIFICATION procedure*/ +#define MAX_DRB_MODIFIED_UE_MOD_REQ 1 /*Currently CU trigger Modification of 2DRBs*/ +#define DRB_ID_TO_ADD_MOD MAX_DRB_SET_UE_CONTEXT_SETUP_REQ+1 /*The DRB ID: which will be added using Modification Procedure*/ -/* 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; \ -} +/*Total num of DRBs added using UE COntext Setup and Modification procedures*/ +#define MAX_NUM_DRB_ADDED_PER_UE (MAX_DRB_SET_UE_CONTEXT_SETUP_REQ + MAX_DRB_SET_UE_CONTEXT_MOD_REQ) -/* free a static buffer */ -#define CU_FREE(_datPtr, _size) \ - if(_datPtr) \ - SPutSBuf(CU_APP_MEM_REG, CU_POOL, \ - (Data *)_datPtr, _size); +#define CU_UE_F1AP_ID 0 +#define DU_UE_F1AP_ID 1 +#define SP_CELL_ID 2 +#define SERV_CELL_IDX 3 +#define CU_TO_DU_RRC_INF 4 +#define NUM_QOS_EXT 1 +typedef enum +{ + RRC_SETUP=1, + REGISTRATION_ACCEPT, + UE_CONTEXT_SETUP_REQ, + UE_CONTEXT_SETUP_RSP, + SECURITY_MODE_COMPLETE, + RRC_RECONFIG, + RRC_RECONFIG_COMPLETE, + UE_CONTEXT_MOD_REQ +}RrcMsgType; + +/* Defines action to be performed via UE Context Modification request */ +typedef enum +{ + MODIFY_UE, /* Modify UE configuration at DU */ + QUERY_CONFIG, /* Query DU for its configurations */ + STOP_DATA_TX /* Stop data transmission from DU to a particular UE */ +}UeCtxtModAction; typedef struct f1apDb { + uint8_t dlRrcMsgCount; OCTET_STRING_t duToCuContainer; }F1apMsgDb; -F1apMsgDb f1apMsgDb; -void F1APMsgHdlr(Buffer *mBuf); - +void F1APMsgHdlr(uint32_t *destDuId, Buffer *mBuf); +uint8_t BuildAndSendUeContextModificationReq(uint32_t duId, void *ueCb, UeCtxtModAction action); +uint8_t BuildAndSendUeContextReleaseCommand(uint32_t duId, uint8_t cuUeF1apId, uint8_t duUeF1apId); +uint8_t BuildAndSendF1ResetReq(); /********************************************************************** End of file **********************************************************************/