Moved macCellCfg to duCellCb
[o-du/l2.git] / src / du_app / du_f1ap_msg_hdl.c
index ad75fd1..3d3a538 100644 (file)
@@ -44,6 +44,7 @@
 #include "RLC-BearerConfig.h"
 #include "PhysicalCellGroupConfig.h"
 #include "SpCellConfig.h"
+#include "TDD-UL-DL-ConfigDedicated.h"
 #include "ServingCellConfig.h"
 #include "ControlResourceSet.h"
 #include "SearchSpace.h"
@@ -1141,7 +1142,7 @@ uint8_t BuildAndSendF1SetupReq()
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the F1SetupRequest type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
            encBuf);
@@ -1617,7 +1618,7 @@ uint8_t BuildAndSendDUConfigUpdate()
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apDuCfg);
 
       /* Encode the DU Config Update type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apDuCfg, PrepFinalEncBuf, encBuf);
 
@@ -2061,7 +2062,7 @@ uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb  ueCb, uint8_t lcId, \
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the F1SetupRequest type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
            encBuf);
@@ -3959,6 +3960,12 @@ uint8_t BuildCsiMeasCfg(struct ServingCellConfig__csi_MeasConfig *csiMeasCfg)
 uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg)
 {
    srvCellCfg->tdd_UL_DL_ConfigurationDedicated = NULLP;
+   DU_ALLOC(srvCellCfg->tdd_UL_DL_ConfigurationDedicated, sizeof(TDD_UL_DL_ConfigDedicated_t));
+   if(!srvCellCfg->tdd_UL_DL_ConfigurationDedicated)
+   {
+      DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed");
+      return RFAILED;
+   }
 
    srvCellCfg->initialDownlinkBWP = NULLP;
    DU_ALLOC(srvCellCfg->initialDownlinkBWP, sizeof(BWP_DownlinkDedicated_t));
@@ -4826,44 +4833,48 @@ uint8_t FreeMemDuToCuRrcCont(CellGroupConfigRrc_t *cellGrpCfg)
            if(spCellCfg->spCellConfigDedicated)
            {
               srvCellCfg = spCellCfg->spCellConfigDedicated;
-              if(srvCellCfg->initialDownlinkBWP)
+              if(srvCellCfg->tdd_UL_DL_ConfigurationDedicated)
               {
-                 dlBwp = srvCellCfg->initialDownlinkBWP;
-                 if(srvCellCfg->firstActiveDownlinkBWP_Id)
-                 {
-                    if(srvCellCfg->defaultDownlinkBWP_Id)
+                 if(srvCellCfg->initialDownlinkBWP)
+                 {
+                    dlBwp = srvCellCfg->initialDownlinkBWP;
+                    if(srvCellCfg->firstActiveDownlinkBWP_Id)
                     {
-                       if(srvCellCfg->uplinkConfig)
-                       {
-                          if(srvCellCfg->pdsch_ServingCellConfig)
+                       if(srvCellCfg->defaultDownlinkBWP_Id)
+                       {
+                          if(srvCellCfg->uplinkConfig)
                           {
-                             pdschCfg= srvCellCfg->pdsch_ServingCellConfig;
-                             if(pdschCfg->choice.setup)
+                             if(srvCellCfg->pdsch_ServingCellConfig)
                              {
-                                DU_FREE(pdschCfg->choice.setup->nrofHARQ_ProcessesForPDSCH,sizeof(long));
-                                DU_FREE(pdschCfg->choice.setup, sizeof( struct PDSCH_ServingCellConfig));
-                             }
-                             DU_FREE(srvCellCfg->pdsch_ServingCellConfig, sizeof(struct
+                                pdschCfg= srvCellCfg->pdsch_ServingCellConfig;
+                                if(pdschCfg->choice.setup)
+                                {
+                                   DU_FREE(pdschCfg->choice.setup->nrofHARQ_ProcessesForPDSCH,sizeof(long));
+                                   DU_FREE(pdschCfg->choice.setup, sizeof( struct PDSCH_ServingCellConfig));
+                                }
+                                DU_FREE(srvCellCfg->pdsch_ServingCellConfig, sizeof(struct
                                       ServingCellConfig__pdsch_ServingCellConfig));
+                             }  
+                             FreeinitialUplinkBWP(srvCellCfg->uplinkConfig);
+                             DU_FREE(srvCellCfg->uplinkConfig, sizeof(UplinkConfig_t));        
                           }
-                          FreeinitialUplinkBWP(srvCellCfg->uplinkConfig);
-                          DU_FREE(srvCellCfg->uplinkConfig, sizeof(UplinkConfig_t));   
-                       }
-                       DU_FREE(srvCellCfg->defaultDownlinkBWP_Id, sizeof(long));
+                          DU_FREE(srvCellCfg->defaultDownlinkBWP_Id, sizeof(long));
+                       }
+                       DU_FREE(srvCellCfg->firstActiveDownlinkBWP_Id, sizeof(long));
                     }
-                    DU_FREE(srvCellCfg->firstActiveDownlinkBWP_Id, sizeof(long));
-                 }
-                 if(dlBwp->pdcch_Config)
-                 {
-                    if(dlBwp->pdsch_Config)
+                    if(dlBwp->pdcch_Config)
                     {
-                       FreeBWPDlDedPdschCfg(dlBwp);
-                       DU_FREE(dlBwp->pdsch_Config, sizeof(struct BWP_DownlinkDedicated__pdsch_Config));
-                    }
-                    FreeBWPDlDedPdcchCfg(dlBwp);
-                    DU_FREE(dlBwp->pdcch_Config, sizeof(struct BWP_DownlinkDedicated__pdcch_Config));
-                 }
-                 DU_FREE(srvCellCfg->initialDownlinkBWP, sizeof(BWP_DownlinkDedicated_t));
+                       if(dlBwp->pdsch_Config)
+                       {
+                          FreeBWPDlDedPdschCfg(dlBwp);
+                          DU_FREE(dlBwp->pdsch_Config, sizeof(struct BWP_DownlinkDedicated__pdsch_Config));
+                       }
+                       FreeBWPDlDedPdcchCfg(dlBwp);
+                       DU_FREE(dlBwp->pdcch_Config, sizeof(struct BWP_DownlinkDedicated__pdcch_Config));
+                   }
+                   DU_FREE(srvCellCfg->initialDownlinkBWP, sizeof(BWP_DownlinkDedicated_t));
+                 }
+                 DU_FREE(srvCellCfg->tdd_UL_DL_ConfigurationDedicated, sizeof(TDD_UL_DL_ConfigDedicated_t));
               }
               DU_FREE(spCellCfg->spCellConfigDedicated, sizeof(ServingCellConfig_t));
            }
@@ -4962,7 +4973,7 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer)
 
       /* encode cellGrpCfg into duToCuRrcContainer */
       xer_fprint(stdout, &asn_DEF_CellGroupConfigRrc, &cellGrpCfg);
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_CellGroupConfigRrc, 0, &cellGrpCfg, PrepFinalEncBuf, encBuf);
       /* Encode results */
@@ -5141,7 +5152,7 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the F1SetupRequest type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf, encBuf);
       /* Encode results */
@@ -5374,7 +5385,7 @@ uint8_t BuildAndSendUESetRsp()
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the UE context setup response type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
            encBuf);
@@ -5540,7 +5551,7 @@ uint8_t BuildAndSendF1ResetReq()
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the F1SetupRequest type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
            encBuf);
@@ -5694,7 +5705,7 @@ uint8_t BuildAndSendF1ResetAck()
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the F1SetupRequest type as UPER */
-      cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf, encBuf);
 
@@ -5960,7 +5971,7 @@ uint8_t BuildAndSendRrcDeliveryReport(uint32_t gnbCuUeF1apId, uint32_t gnbDuUeF1
       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
       /* Encode the RRC DELIVERY REPORT type as APER */
-      memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
       encBufSize = 0;
       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
            encBuf);