X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_sctp.c;fp=src%2Fdu_app%2Fdu_sctp.c;h=374ab506b826e36260b89d34e327e02671d17624;hb=2d7cc55af9bcc15e02b4d390b66f7bed3e82e9dd;hp=f4c749989a7b9531f77ac0c2eb39bcef8399b251;hpb=623805130e6977b587bed5046e048433aef6a5ac;p=o-du%2Fl2.git diff --git a/src/du_app/du_sctp.c b/src/du_app/du_sctp.c index f4c749989..374ab506b 100644 --- a/src/du_app/du_sctp.c +++ b/src/du_app/du_sctp.c @@ -222,6 +222,7 @@ 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); @@ -232,6 +233,7 @@ 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); @@ -690,14 +692,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 + * @params[in] MemInfo, recvMsgSet * * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint8_t processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo) +uint8_t processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo, bool recvMsgSet) { uint8_t ret = ROK; CM_INET_FD_SET(sockFd, &pollParams->readFd); @@ -710,6 +712,8 @@ 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 { @@ -758,7 +762,7 @@ uint8_t processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32 } } } - return ret; + return ROK; } /******************************************************************* * @@ -809,14 +813,14 @@ uint8_t sctpSockPoll() { if(f1Params.itfState) { - if((ret = processPolling(&f1PollParams, &f1Params.sockFd, timeout_Ptr, &memInfo)) != ROK) + if((ret = processPolling(&f1PollParams, &f1Params.sockFd, timeout_Ptr, &memInfo, f1Params.recvMsgSet)) != ROK) { DU_LOG("\nERROR --> SCTP : Failed to RecvMsg for F1\n"); } } if(ricParams.itfState) { - if((ret = processPolling(&e2PollParams, &ricParams.sockFd, timeout_Ptr, &memInfo)) != ROK) + if((ret = processPolling(&e2PollParams, &ricParams.sockFd, timeout_Ptr, &memInfo, ricParams.recvMsgSet)) != ROK) { DU_LOG("\nERROR --> SCTP : Failed to RecvMsg for E2\n"); }