Merge "[Epic-ID: ODUHIGH-475][Task-ID: ODUHIGH-572] Fix LWR_MAC creation during PHY...
[o-du/l2.git] / src / du_app / du_sctp.c
index 93cd7dc..6a6d566 100644 (file)
 #include "du_app_rlc_inf.h"
 #include "du_mgr.h"
 #include "du_utils.h"
+/* Global variable declaration */
+uint8_t   socket_type;      /* Socket type */
+bool nonblocking;      /* Blocking/Non-blocking socket */
+bool connUp;           /* Is connection up */
+bool pollingState; 
+CmInetNetAddrLst localAddrLst;
+CmInetNetAddrLst remoteAddrLst;
+/* Global variable declaration */
+DuSctpDestCb f1Params;     /* SCTP configurations at DU */ 
+DuSctpDestCb ricParams;    /* SCTP configurations at DU */ 
 
 /**************************************************************************
  * @brief Task Initiation callback function. 
@@ -571,7 +581,7 @@ void sendToDuApp(Buffer *mBuf, Event event)
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint8_t sctpNtfyHdlr(CmInetSctpNotification *ntfy, uint8_t *itfState)
+uint8_t sctpNtfyHdlr(CmInetSctpNotification *ntfy, uint8_t *itfState, uint8_t interface)
 {
    Pst pst;
 
@@ -617,10 +627,21 @@ uint8_t sctpNtfyHdlr(CmInetSctpNotification *ntfy, uint8_t *itfState)
          DU_LOG("\nINFO   -->  SCTP : Send Failed notification received\n");
          break;
       case CM_INET_SCTP_SHUTDOWN_EVENT : /* peer socket gracefully closed */
-         DU_LOG("\nINFO   -->  SCTP : Shutdown Event notification received\n");
-         *itfState = DU_SCTP_DOWN;
-         exit(0);
-         break;
+         {
+            DU_LOG("\nINFO   -->  SCTP : Shutdown Event notification received\n");
+            *itfState = DU_SCTP_DOWN;
+            switch(interface)
+            {
+               case F1_INTERFACE:
+                  break;
+               case E2_INTERFACE:
+                  removeE2NodeInformation();
+                  break;
+               default:
+                  exit(0);
+            }
+            break;
+         }
       case CM_INET_SCTP_ADAPTATION_INDICATION :
          DU_LOG("\nINFO   -->  SCTP : Adaptation Indication received\n");
          break;
@@ -707,13 +728,13 @@ uint8_t  processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32
             {
                f1Params.assocId = pollParams->ntfy.u.assocChange.assocId;
                DU_LOG("\nDEBUG   -->  SCTP : AssocId assigned to F1Params from PollParams [%d]\n", f1Params.assocId);
-               ret = sctpNtfyHdlr(&pollParams->ntfy, &f1Params.itfState);
+               ret = sctpNtfyHdlr(&pollParams->ntfy, &f1Params.itfState, F1_INTERFACE);
             }
             else if(pollParams->port == ricParams.destPort)
             {
                ricParams.assocId = pollParams->ntfy.u.assocChange.assocId;
                DU_LOG("\nDEBUG   -->  SCTP : AssocId assigned to ricParams from PollParams [%d]\n", ricParams.assocId);
-               ret = sctpNtfyHdlr(&pollParams->ntfy, &ricParams.itfState);
+               ret = sctpNtfyHdlr(&pollParams->ntfy, &ricParams.itfState, E2_INTERFACE);
             }
             else
             {