[Epic-ID: ODUHIGH-576][Task-ID: ODUHIGH-579] | Databse Creation 54/12754/1
authorsvaidhya <svaidhya@radisys.com>
Thu, 18 Apr 2024 10:08:33 +0000 (15:38 +0530)
committersvaidhya <svaidhya@radisys.com>
Thu, 18 Apr 2024 10:09:16 +0000 (15:39 +0530)
Change-Id: I095b1586ea543b43096d85ab045a4ffcc45e3697
Signed-off-by: svaidhya <svaidhya@radisys.com>
src/5gnrmac/lwr_mac_nfapi.h [new file with mode: 0644]
src/du_app/du_sctp.c
src/du_app/du_sctp.h

diff --git a/src/5gnrmac/lwr_mac_nfapi.h b/src/5gnrmac/lwr_mac_nfapi.h
new file mode 100644 (file)
index 0000000..199f5bb
--- /dev/null
@@ -0,0 +1,85 @@
+ /*******************************************************************************
+ ################################################################################
+ #   Copyright (c) [2017-2019] [Radisys]                                        #
+ #                                                                              #
+ #   Licensed under the Apache License, Version 2.0 (the "License");            #
+ #   you may not use this file except in compliance with the License.           #
+ #   You may obtain a copy of the License at                                    #
+ #                                                                              #
+ #       http://www.apache.org/licenses/LICENSE-2.0                             #
+ #                                                                              #
+ #   Unless required by applicable law or agreed to in writing, software        #
+ #   distributed under the License is distributed on an "AS IS" BASIS,          #
+ #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
+ #   See the License for the specific language governing permissions and        #
+ #   limitations under the License.                                             #
+ ################################################################################
+ *******************************************************************************/
+
+ #ifndef _LWR_MAC_NFAPI_H_
+ #define _LWR_MAC_NFAPI_H_
+
+#include "nfapi_interface.h"
+
+typedef struct nfapiTransportInfo
+{
+   uint32_t         assocId;
+   uint8_t          srcIpv4Address[4];   /*Src :: PNF Address Details*/
+   uint16_t         srcIpv4Port;          
+   uint8_t          destIpv4Address[4];  /*Dest :: VNF Address Details*/
+   uint16_t         destIpv4Port;
+   CmInetFd         sockFd;           /* Socket file descriptor */
+   CmInetNetAddrLst addrLst;      /* Refers to the destinaiton Addr Lst in CmInetNetAddrLst format */
+   CmInetNetAddr    ipNetAddr;    /* Refers to the destination Addr in CmInetNet Addr format */
+   
+   /*TODO: later also add the IPV6 support*/
+
+}NfapiTransportInfo;
+
+typedef struct nfapiTimingInfo
+{
+   uint32_t  dl_tti_offset;
+   uint32_t  ul_tti_offset;
+   uint32_t  ul_dci_offset;
+   uint32_t  tx_data_offset;
+   uint16_t  timingWindow;
+   uint8_t   timingInfoMode;
+
+}NfapiTimingInfo;
+
+typedef struct nfapiPnfConfig
+{
+   nFapi_pnf_state  pnfState;
+   uint16_t         max_phys;
+   NfapiTimingInfo  vnfTimingCfg;
+}NfapiPnfConfig;
+
+typedef struct nfapiSyncInfo
+{
+    uint8_t   phyId;
+    uint8_t   inSync;
+    uint32_t  prev_t1;
+    uint32_t  prev_t2;
+    uint32_t  prev_t3;
+    uint8_t       sfn;
+    uint8_t       slot;
+    NfapiSyncInfo *next;
+}NfapiSyncInfo;
+
+typedef struct nfapiP7VnfInfo
+{
+   uint32_t      sfnStartTime;
+   uint32_t      slotStartTime;
+   NfapiSyncInfo *p7SyncInfo;
+}NfapiP7VnfInfo;
+
+typedef struct nfapiVnfDb
+{
+   NfapiTransportInfo  p5TransInfo;
+   NfapiTransportInfo  p7TransInfo;
+   NfapiPnfConfig      pnfConfig;
+   NfapiSyncInfo       vnfSynchInfo;
+   NfapiP7VnfInfo      vnfP7Info;   
+}NfapiVnfDb;
+
+ #endif
index 6a6d566..f4c7499 100644 (file)
@@ -222,7 +222,6 @@ uint8_t duSctpCfgReq(SctpParams sctpCfg)
    f1Params.destPort             = sctpCfg.cuPort;
    f1Params.itfState             = DU_SCTP_DOWN;
    f1Params.srcPort              = sctpCfg.duPort[F1_INTERFACE];
-   f1Params.recvMsgSet           = ROK;
    memset (&f1Params.sockFd, -1, sizeof(CmInetFd));
    fillDestNetAddr(&f1Params.destIpNetAddr, &f1Params.destIpAddr);
    fillAddrLst(&f1Params.destAddrLst, &f1Params.destIpAddr);
@@ -233,7 +232,6 @@ uint8_t duSctpCfgReq(SctpParams sctpCfg)
    ricParams.destPort            = sctpCfg.ricPort;
    ricParams.itfState            = DU_SCTP_DOWN;
    ricParams.srcPort             = sctpCfg.duPort[E2_INTERFACE];
-   ricParams.recvMsgSet          = ROK;
    memset (&ricParams.sockFd, -1, sizeof(CmInetFd));
    fillDestNetAddr(&ricParams.destIpNetAddr, &ricParams.destIpAddr);
    fillAddrLst(&ricParams.destAddrLst, &ricParams.destIpAddr);
@@ -692,14 +690,14 @@ uint8_t sctpNtfyHdlr(CmInetSctpNotification *ntfy, uint8_t *itfState, uint8_t in
  * @params[in]  Params required for polling
  * @params[in]  SockFd for file descriptor
  * @params[in]  timeoutPtr indicates the timeout value
- * @params[in]  MemInfo, recvMsgSet
+ * @params[in]  MemInfo
  *
  * @return ROK     - success
  *         RFAILED - failure
  *
  * ****************************************************************/
 
-uint8_t  processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo, bool recvMsgSet)
+uint8_t  processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo)
 {
    uint8_t ret = ROK;
    CM_INET_FD_SET(sockFd, &pollParams->readFd);
@@ -712,7 +710,6 @@ uint8_t  processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32
       if(ret != ROK)
       {
          DU_LOG("\nERROR   -->  SCTP: Failed to receive sctp msg for sockFd[%d]\n", sockFd->fd);
-         recvMsgSet = RFAILED;
       }
       else
       {
@@ -761,7 +758,7 @@ uint8_t  processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32
          }
       }
   }
-  return ROK;
+  return ret;
 }
 /*******************************************************************
  *
@@ -812,14 +809,14 @@ uint8_t sctpSockPoll()
    {
       if(f1Params.itfState)
       {
-         if((ret = processPolling(&f1PollParams, &f1Params.sockFd, timeout_Ptr, &memInfo, f1Params.recvMsgSet)) != ROK)
+         if((ret = processPolling(&f1PollParams, &f1Params.sockFd, timeout_Ptr, &memInfo)) != ROK)
          {
             DU_LOG("\nERROR  -->  SCTP : Failed to RecvMsg for F1\n");
          }
       }
       if(ricParams.itfState)
       {
-         if((ret = processPolling(&e2PollParams, &ricParams.sockFd, timeout_Ptr, &memInfo, ricParams.recvMsgSet)) != ROK)
+         if((ret = processPolling(&e2PollParams, &ricParams.sockFd, timeout_Ptr, &memInfo)) != ROK)
          {
             DU_LOG("\nERROR  -->  SCTP : Failed to RecvMsg for E2\n");
          }
index 94e0c0c..0b5d36f 100644 (file)
@@ -53,7 +53,6 @@ typedef struct
    uint16_t              destPort;         /* Refers to the destination port of F1/E2 */
    uint16_t              srcPort;          /* Refers to respective src port of DU */
    uint32_t              assocId;          
-   bool             recvMsgSet;
    F1IpAddr         destIpAddr;       /* Refers to te destination Ip Address */
    CmInetFd         sockFd;           /* Socket file descriptor */
    CmInetNetAddrLst destAddrLst;      /* Refers to the destinaiton Addr Lst in CmInetNetAddrLst format */
@@ -77,7 +76,7 @@ uint8_t establishReq(DuSctpDestCb *paramPtr);
 uint8_t duSctpAssocReq(uint8_t itfType);
 uint8_t duFillSctpPst(Pst *pst, Event event);
 uint8_t sctpSetSockOpts(CmInetFd *sock_Fd);
-uint8_t processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo, bool recvMsgSet);
+uint8_t processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo);
 uint8_t sctpSockPoll();
 
 #endif