From 5f7e53d8154a1c526845f7b384ee4325e6bc642f Mon Sep 17 00:00:00 2001 From: svaidhya Date: Thu, 18 Apr 2024 15:38:33 +0530 Subject: [PATCH] [Epic-ID: ODUHIGH-576][Task-ID: ODUHIGH-579] | Databse Creation Change-Id: I095b1586ea543b43096d85ab045a4ffcc45e3697 Signed-off-by: svaidhya --- src/5gnrmac/lwr_mac_nfapi.h | 85 +++++++++++++++++++++++++++++++++++++++++++++ src/du_app/du_sctp.c | 13 +++---- src/du_app/du_sctp.h | 3 +- 3 files changed, 91 insertions(+), 10 deletions(-) create mode 100644 src/5gnrmac/lwr_mac_nfapi.h diff --git a/src/5gnrmac/lwr_mac_nfapi.h b/src/5gnrmac/lwr_mac_nfapi.h new file mode 100644 index 000000000..199f5bb85 --- /dev/null +++ b/src/5gnrmac/lwr_mac_nfapi.h @@ -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 diff --git a/src/du_app/du_sctp.c b/src/du_app/du_sctp.c index 6a6d566e2..f4c749989 100644 --- a/src/du_app/du_sctp.c +++ b/src/du_app/du_sctp.c @@ -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"); } diff --git a/src/du_app/du_sctp.h b/src/du_app/du_sctp.h index 94e0c0c4f..0b5d36f92 100644 --- a/src/du_app/du_sctp.h +++ b/src/du_app/du_sctp.h @@ -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 -- 2.16.6