<NUM_OF_TNL_ASSOC>1</NUM_OF_TNL_ASSOC>
<TNL_ASSOC_LIST>
<TNL_ASSOC>
- <LOCAL_IP>192.168.130.71</LOCAL_IP>
+ <LOCAL_IP>192.168.130.81</LOCAL_IP>
<LOCAL_PORT>36421</LOCAL_PORT>
- <DESTINATION_IP>192.168.130.70</DESTINATION_IP>
+ <DESTINATION_IP>192.168.130.80</DESTINATION_IP>
<DESTINATION_PORT>36421</DESTINATION_PORT>
<ASSOC_USAGE>2</ASSOC_USAGE>
</TNL_ASSOC>
PLTFRM_FLAGS+=-DTHREAD_AFFINITY
endif
ifeq ($(PHY), INTEL_L1)
- PLTFRM_FLAGS+=-DSS_USE_WLS_MEM -DINTEL_WLS_MEM -DDEBUG_MODE -DINTEL_L1_V20_03_ONWARDS
+ PLTFRM_FLAGS+=-DSS_USE_WLS_MEM -DINTEL_WLS_MEM -DDEBUG_MODE -DINTEL_L1_V20_03_ONWARDS -DINTEL_THREAD_AFFINITY
ifeq ($(PHY_MODE),TIMER)
PLTFRM_FLAGS+=-DINTEL_TIMER_MODE
endif
RssiMeasurement rssiMeasurementSupport;
}ClCellParam;
-LwrMacCb lwrMacCb;
+extern LwrMacCb lwrMacCb;
LwrMacCellCb * lwrMacGetCellCb ARGS((uint16_t cellId));
uint32_t reverseBits(uint32_t num, uint8_t numBits);
void fillDlDciPayload(uint8_t *buf, uint8_t *bytePos, uint8_t *bitPos,\
/* Global variables */
LwrMacCb lwrMacCb;
-uint8_t UnrestrictedSetNcsTable[MAX_ZERO_CORR_CFG_IDX];
+extern uint8_t UnrestrictedSetNcsTable[MAX_ZERO_CORR_CFG_IDX];
void fapiMacConfigRsp(uint16_t cellId);
uint16_t sendTxDataReq(SlotTimingInfo currTimingInfo, MacDlSlot *dlSlot, p_fapi_api_queue_elem_t prevElem, fapi_vendor_tx_data_req_t *vendorTxDataReq);
uint16_t fillUlTtiReq(SlotTimingInfo currTimingInfo, p_fapi_api_queue_elem_t prevElem, fapi_vendor_ul_tti_req_t* vendorUlTti);
#include "wls_lib.h"
#endif
+#ifdef INTEL_WLS_MEM
+CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD];
+#endif
+
uint8_t rgClHndlCfgReq ARGS((void *msg));
void l1ProcessFapiRequest ARGS((uint8_t msgType, uint32_t msgLen, void *msg));
uint32_t size;
}WlsBlockToFree;
-CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD];
+extern CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD];
void addWlsBlockToFree(void *msg, uint32_t msgLen, uint8_t idx);
void freeWlsBlockList(uint8_t idx);
}MacCb;
/* global variable */
-MacCb macCb;
+extern MacCb macCb;
/* Function declarations */
uint8_t macActvInit ARGS((Ent entity, Inst inst, Region region, Reason reason));
/* This file contains message handling functionality for MAC */
-MacCb macCb;
+extern MacCb macCb;
MacDuStatsIndFunc macDuStatsIndOpts[] =
{
}
/* Function declaration */
-uint32_t shortBsrBytesTable[MAX_SHORT_BSR_TABLE_ENTRIES];
-uint32_t longBsrBytesTable[MAX_LONG_BSR_TABLE_ENTRIES];
+extern uint32_t shortBsrBytesTable[MAX_SHORT_BSR_TABLE_ENTRIES];
+extern uint32_t longBsrBytesTable[MAX_LONG_BSR_TABLE_ENTRIES];
/**********************************************************************
End of file
};
/* Declaration for RgCb */
-RgCb rgCb[RG_MAX_INST];
+extern RgCb rgCb[RG_MAX_INST];
/**
* @brief
/* local defines */
#define RG_NON_MIMO_IDX 0
+RgCb rgCb[RG_MAX_INST];
/***********************************************************
*
* Func : rgAllocSBuf
#include "rlc_utils.h" /* RLC defines */
#include "du_app_rlc_inf.h"
#include "rlc_mgr.h"
+CmLListCp *arrTputPerSnssai[DIR_BOTH]; /*Stores the address of Througput LL*/
RlcDuUeCreateRsp rlcUeCreateRspOpts[] =
{
UMRLCStats umRlcStats;
}RLCStats;
-RLCStats gRlcStats;
+extern RLCStats gRlcStats;
/* kw005.201 added support for L2 Measurement */
#ifdef LTE_L2_MEAS
RlcThpt rlcThpt; /*!< Throughput at RLC*/
}RlcCb;
-RlcCb *rlcCb[MAX_RLC_INSTANCES]; /*!< RLC global control block */
+extern RlcCb *rlcCb[MAX_RLC_INSTANCES]; /*!< RLC global control block */
-CmLListCp *arrTputPerSnssai[DIR_BOTH]; /*Stores the address of Througput LL*/
+extern CmLListCp *arrTputPerSnssai[DIR_BOTH]; /*Stores the address of Througput LL*/
/****************************************************************************
* Declarations
***************************************************************************/
#define RG_SCH_HQP_TIME_ON_PCELL 32 /*!< Time in milliseconds to be allowed
for transmission of TB on PCell*/
/* SR_RACH_STATS */
-uint32_t rgNumPrachRecvd; /* Num of Rach Req received including dedicated preambles */
-uint32_t rgNumRarSched; /* Num of RARs sent */
-uint32_t rgNumBI; /* Num of BackOff Ind sent */
-uint32_t rgNumMsg3CrcPassed; /* Num of CRC success for Msg3 */
-uint32_t rgNumMsg3CrcFailed ; /* Num of CRC fail for Msg 3 */
-uint32_t rgNumMsg3FailMaxRetx ; /* Num of Msg3 fail after Max Retx attempts */
-uint32_t rgNumMsg4Ack ; /* Num of Acks for Msg4 Tx */
-uint32_t rgNumMsg4Nack ;
+extern uint32_t rgNumPrachRecvd; /* Num of Rach Req received including dedicated preambles */
+extern uint32_t rgNumRarSched; /* Num of RARs sent */
+extern uint32_t rgNumBI; /* Num of BackOff Ind sent */
+extern uint32_t rgNumMsg3CrcPassed; /* Num of CRC success for Msg3 */
+extern uint32_t rgNumMsg3CrcFailed ; /* Num of CRC fail for Msg 3 */
+extern uint32_t rgNumMsg3FailMaxRetx ; /* Num of Msg3 fail after Max Retx attempts */
+extern uint32_t rgNumMsg4Ack ; /* Num of Acks for Msg4 Tx */
+extern uint32_t rgNumMsg4Nack ;
/* Num of Nacks for Msg4 Tx */
-uint32_t rgNumMsg4FailMaxRetx ; /* Num of Msg4 Tx failed after Max Retx attempts */
-uint32_t rgNumSrRecvd; /* Num of Sched Req received */
-uint32_t rgNumSrGrant; /* Num of Sched Req Grants sent */
-uint32_t rgNumMsg3CrntiCE; /* Num of Msg 3 CRNTI CE received */
-uint32_t rgNumDedPream ; /* Num of Dedicated Preambles recvd */
-uint32_t rgNumMsg3CCCHSdu; /* Num of Msg 3 CCCH Sdus recvd */
-uint32_t rgNumCCCHSduCrntiNotFound ; /*UE Ctx not found for CCCH SDU Msg 3 */
-uint32_t rgNumCrntiCeCrntiNotFound ; /*UE Ctx not found for CRNTI CE Msg 3 */
-uint32_t rgNumMsg4WithCCCHSdu ; /* Num of Msg4 with CCCH Sdu */
-uint32_t rgNumMsg4WoCCCHSdu ; /* Num of Msg4 without CCCH Sdu */
-uint32_t rgNumMsg4Dtx ; /* Num of DTX received for Msg 4 */
-uint32_t rgNumMsg3AckSent ; /* Num of PHICH Ack sent for Msg 3 */
-uint32_t rgNumMsg3NackSent ; /* Num of PHICH Nack sent for Msg 3 */
-uint32_t rgNumMsg4PdcchWithCrnti ; /* Num of PDCCH for CRNTI based contention resolution */
-uint32_t rgNumRarFailDuetoRntiExhaustion ; /* Num of RACH Failures due to RNTI pool exhaution */
-uint32_t rgNumTAModified ; /* Num of times TA received is different from prev value */
-uint32_t rgNumTASent ; /* Num of TA Command sent */
-uint32_t rgNumMsg4ToBeTx ; /* Num of times MSG4 that should be sent */
-uint32_t rgNumMsg4Txed ; /* Num of MSG4 actually sent *//* ysNumMsg4ToBeTx -ysNumMsg4Txed == Failed MSG4 TX */
-uint32_t rgNumMsg3DtxRcvd; /* CRC Fail with SINR < 0 */
-
-uint32_t rgNumDedPreamUECtxtFound;
+extern uint32_t rgNumMsg4FailMaxRetx ; /* Num of Msg4 Tx failed after Max Retx attempts */
+extern uint32_t rgNumSrRecvd; /* Num of Sched Req received */
+extern uint32_t rgNumSrGrant; /* Num of Sched Req Grants sent */
+extern uint32_t rgNumMsg3CrntiCE; /* Num of Msg 3 CRNTI CE received */
+extern uint32_t rgNumDedPream ; /* Num of Dedicated Preambles recvd */
+extern uint32_t rgNumMsg3CCCHSdu; /* Num of Msg 3 CCCH Sdus recvd */
+extern uint32_t rgNumCCCHSduCrntiNotFound ; /*UE Ctx not found for CCCH SDU Msg 3 */
+extern uint32_t rgNumCrntiCeCrntiNotFound ; /*UE Ctx not found for CRNTI CE Msg 3 */
+extern uint32_t rgNumMsg4WithCCCHSdu ; /* Num of Msg4 with CCCH Sdu */
+extern uint32_t rgNumMsg4WoCCCHSdu ; /* Num of Msg4 without CCCH Sdu */
+extern uint32_t rgNumMsg4Dtx ; /* Num of DTX received for Msg 4 */
+extern uint32_t rgNumMsg3AckSent ; /* Num of PHICH Ack sent for Msg 3 */
+extern uint32_t rgNumMsg3NackSent ; /* Num of PHICH Nack sent for Msg 3 */
+extern uint32_t rgNumMsg4PdcchWithCrnti ; /* Num of PDCCH for CRNTI based contention resolution */
+extern uint32_t rgNumRarFailDuetoRntiExhaustion ; /* Num of RACH Failures due to RNTI pool exhaution */
+extern uint32_t rgNumTAModified ; /* Num of times TA received is different from prev value */
+extern uint32_t rgNumTASent ; /* Num of TA Command sent */
+extern uint32_t rgNumMsg4ToBeTx ; /* Num of times MSG4 that should be sent */
+extern uint32_t rgNumMsg4Txed ; /* Num of MSG4 actually sent *//* ysNumMsg4ToBeTx -ysNumMsg4Txed == Failed MSG4 TX */
+extern uint32_t rgNumMsg3DtxRcvd; /* CRC Fail with SINR < 0 */
+
+extern uint32_t rgNumDedPreamUECtxtFound;
#endif /* __RGSCH__ */
\f
/**********************************************************************
#include "sch_utils.h"
#include "sch_fcfs.h"
#include "sch_slice_based.h"
+SchCb schCb[SCH_MAX_INST];
/**
* @brief Scheduler All Apis initialized.
}SchCb;
/* Declaration for scheduler control blocks */
-SchCb schCb[SCH_MAX_INST];
+extern SchCb schCb[SCH_MAX_INST];
/* function declarations */
short int schActvTmr(Ent ent,Inst inst);
/* Table array declarations */
-int8_t coresetIdxTable[MAX_CORESET_INDEX][4];
-int8_t searchSpaceIdxTable[MAX_SEARCH_SPACE_INDEX][4];
-uint8_t defaultUlAckTbl[DEFAULT_UL_ACK_LIST_COUNT];
-uint8_t minMsg3SchTime[MAX_NUM_MU];
-uint8_t pucchResourceSet[MAX_PUCCH_RES_SET_IDX][5];
-uint8_t puschDeltaTable[MAX_MU_PUSCH];
-uint16_t prachCfgIdxTable[MAX_PRACH_CONFIG_IDX][8];
-uint16_t numRbForPrachTable[MAX_RACH_NUM_RB_IDX][5];
-uint8_t schCmnDlRvTbl[4];
+extern int8_t coresetIdxTable[MAX_CORESET_INDEX][4];
+extern int8_t searchSpaceIdxTable[MAX_SEARCH_SPACE_INDEX][4];
+extern uint8_t defaultUlAckTbl[DEFAULT_UL_ACK_LIST_COUNT];
+extern uint8_t minMsg3SchTime[MAX_NUM_MU];
+extern uint8_t pucchResourceSet[MAX_PUCCH_RES_SET_IDX][5];
+extern uint8_t puschDeltaTable[MAX_MU_PUSCH];
+extern uint16_t prachCfgIdxTable[MAX_PRACH_CONFIG_IDX][8];
+extern uint16_t numRbForPrachTable[MAX_RACH_NUM_RB_IDX][5];
+extern uint8_t schCmnDlRvTbl[4];
+
/* Functions declarations : Linked list handler */
uint8_t addNodeToLList(CmLListCp *llist, void *blockToAdd, CmLList *currNode);
uint8_t deleteNodeFromLList(CmLListCp *llist, CmLList *node);
uint32_t phyReptTtiStretchCount;
}CmTtiProc;
-CmTtiProc ttiProc;
+extern CmTtiProc ttiProc;
Void cmUpdateTtiCounters(uint32_t ttiProcessingTime);
Void cmResetTtiCounters(Void);
#include "common_def.h" /* Header file */
#ifdef SS_LOCKLESS_MEMORY
-pthread_t tmpRegTidMap[20];
+extern pthread_t tmpRegTidMap[20];
#define CM_MEM_GET_REGION(_region) \
{ \
uint8_t _regCnt; \
}CmMemDoubleFree;
PTR prvAllocPtr[8];
-uint8_t stopBtInfo = FALSE;
+extern uint8_t stopBtInfo = FALSE;
Buffer *palBuffer;
-Buffer *mtTskBuffer1;
-Buffer *mtTskBuffer2;
+extern Buffer *mtTskBuffer1;
+extern Buffer *mtTskBuffer2;
#ifdef SS_USE_ICC_MEMORY
static pthread_mutex_t iccAllocFreeLock;
#endif
uint32_t num_times = 0;
-pthread_t tmpRegTidMap[20];
-Bool g_usettitmr;
+extern pthread_t tmpRegTidMap[20];
+extern Bool g_usettitmr;
void DumpLayersDebugInformation()
{
DumpSSIDemandQDebugInformation();
uint64_t gDlDataRcvdCnt; /* Number of DL data received at EGTP */
}GConfiguration;
-GConfiguration gConfigInfo;
+extern GConfiguration gConfigInfo;
void fillCoresetFeqDomAllocMap(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain);
void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len);
#include "common_def.h"
#include "du_app_mac_inf.h"
+/********************* Global Variable ********************/
+uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
/**************************************************************************
* @brief Function to pack Loose Coupled
#define MAX_PLMN 2
/********************* Global Variable ********************/
-uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
+extern uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
/********************* Interface structure definition ********************/
typedef enum
#ifdef SS /* Common System Services */
/* for SGetOpt() */
- S16 msOptInd;
- S8 *msOptArg;
- Txt **msArgv;
- S16 msArgc;
+extern S16 msOptInd;
+extern S8 *msOptArg;
+extern Txt **msArgv;
+extern S16 msArgc;
/* task related stuff */
/* data range modified */
#include "asn_codecs.h"
#include "odu_common_codec.h"
+int encBufSize;
/*******************************************************************
*
* @brief Writes the encoded chunks into a buffer
#define ENCODE_FAIL -1
#define TEID_BIT_SIZE 24
-char encBuf[ENC_BUF_MAX_LEN];
-int encBufSize;
+extern char encBuf[ENC_BUF_MAX_LEN];
+extern int encBufSize;
int PrepFinalEncBuf(const void *buffer, size_t size, void *encodedBuf);
uint8_t fillBitString(BIT_STRING_t *id, uint8_t unusedBits, uint8_t byteSize, uint64_t val);
#include "cu_f1ap_msg_hdl.h"
#include "cu_stub.h"
+CuGlobalCb cuCb;
+char encBuf[ENC_BUF_MAX_LEN];
uint8_t fillCellGrpCfg(CuUeCb *ueCb, OCTET_STRING_t *cellGrp, bool updateAllRbCfg);
uint8_t fillRrcReconfig(CuUeCb *ueCb, RRCReconfiguration_t *rrcReconfig, bool updateAllRbCfg);
uint32_t gnbCuUeF1apIdGenerator; /* Generating CU UE F1AP ID */
}CuGlobalCb;
-CuGlobalCb cuCb;
+extern CuGlobalCb cuCb;
void readCuCfg();
void cuAppInmsgHdlr(Buffer *mBuf);
#include "cm_inet.x"
#include "cm_tpt.x"
+uint8_t sockType;
+uint8_t protType;
+EgtpGlobalCb egtpCb;
+
/**************************************************************************
* @brief Task Initiation callback function.
*
#define NUM_TUNNEL_TO_PUMP_DATA 4
#define NUM_DL_PACKETS 1
-uint8_t sockType;
-uint8_t protType;
+extern uint8_t sockType;
+extern uint8_t protType;
typedef enum egtpMsgType
{
EgtpDstCb dstCb[MAX_DU_SUPPORTED]; /* Destination endpoint */
uint8_t gCntPdu[MAX_TEID+1]; /* Maintaining PDU count for each bearer */
}EgtpGlobalCb;
-EgtpGlobalCb egtpCb; /* EGTP global control block */
+
+extern EgtpGlobalCb egtpCb; /* EGTP global control block */
S16 egtpActvInit();
S16 cuEgtpCfgReq();
#include "cm_inet.x"
#include "cm_tpt.x"
-
+ SctpGlobalCb sctpCb;
+uint8_t socket_type;
/**************************************************************************
* @brief Task Initiation callback function.
*
#define MAX_ASSOC_SUPPORTED (MAX_DU_SUPPORTED + MAX_REMOTE_CU_SUPPORTED)
/* Global variable declaration */
-uint8_t socket_type; /* Socket type */
+extern uint8_t socket_type; /* Socket type */
typedef enum
{
CuSctpAssocCb assocCb[MAX_ASSOC_SUPPORTED];
}SctpGlobalCb;
-SctpGlobalCb sctpCb;
+extern SctpGlobalCb sctpCb;
uint8_t sctpActvInit();
uint8_t sctpStartReq();
#endif
+GConfiguration gConfigInfo;
DuMacCellDeleteReq packMacCellDeleteReqOpts[] =
{
packDuMacCellDeleteReq, /* Loose coupling */
if ((!xmlStrcmp(cur->name, (const xmlChar *)"DU_APP_CORE")) && (cur->ns == ns))
{
threads->duAppCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->duAppSTskId, SS_AFFINITY_MODE_EXCL, threads->duAppCoreId, 0);
+#endif
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"EGTP_CORE")) && (cur->ns == ns))
{
threads->egtpCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->egtpSTskId, SS_AFFINITY_MODE_EXCL, threads->egtpCoreId, 0);
+#endif
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"RLC_MAC_CORE")) && (cur->ns == ns))
{
threads->rlcMacCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->rlcMacSTskId, SS_AFFINITY_MODE_EXCL, threads->rlcMacCoreId, 0);
+#endif
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"RLC_UL_CORE")) && (cur->ns == ns))
{
threads->rlcUlCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->rlcUlSTskId, SS_AFFINITY_MODE_EXCL, threads->rlcUlCoreId, 0);
+#endif
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"SCH_CORE")) && (cur->ns == ns))
{
threads->schCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->schSTskId, SS_AFFINITY_MODE_EXCL, threads->schCoreId, 0);
+#endif
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"SCTP_CORE")) && (cur->ns == ns))
{
threads->sctpCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->sctpSTskId, SS_AFFINITY_MODE_EXCL, threads->sctpCoreId, 0);
+#endif
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"LOWER_MAC_CORE")) && (cur->ns == ns))
{
threads->lwrMacCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1));
+#ifdef INTEL_THREAD_AFFINITY
ODU_SET_THREAD_AFFINITY(&threads->lwrMacSTskId, SS_AFFINITY_MODE_EXCL, threads->lwrMacCoreId, 0);
+#endif
}
cur = cur -> next;
}RrmPolicyList;
#endif
-DuCfgParams duCfgParam;
+extern DuCfgParams duCfgParam;
/*function declarations */
uint8_t readClCfg();
#include "E2SM-KPM-IndicationHeader.h"
#include "E2SM-KPM-IndicationHeader-Format1.h"
#include "LabelInfoItem.h"
+extern DuCb duCb;
/*******************************************************************
*
#include "du_utils.h"
+uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf);
+uint8_t protType;
+EgtpGlobalCb egtpCb; /* EGTP global control block */
/**************************************************************************
* @brief Task Initiation callback function.
*
#define EGTP_MASK_BIT7 0x40
#define EGTP_MASK_BIT8 0x80
-uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf);
-uint8_t protType;
+extern uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf);
+extern uint8_t protType;
typedef struct EgtpTeIdCb
{
EgtpDstCb dstCb; /* Destination endpoint */
}EgtpGlobalCb;
-EgtpGlobalCb egtpCb; /* EGTP global control block */
+extern EgtpGlobalCb egtpCb; /* EGTP global control block */
uint8_t duHdlEgtpDlData(EgtpMsg *egtpMsg);
uint8_t egtpActvInit(Ent entity, Inst inst, Region region, Reason reason);
extern StartupConfig g_cfg;
#endif
-DuCfgParams duCfgParam;
+extern DuCfgParams duCfgParam;
/******************************************************************
*
}Statistics;
/* global variables */
-DuCb duCb;
+extern DuCb duCb;
//DuCfgParams duCfgParam;
/* DU Cell Functions */
#include "du_egtp.h"
#include "du_cell_mgr.h"
#include "du_f1ap_msg_hdl.h"
+/* global variables */
+DuCb duCb;
#ifdef O1_ENABLE
#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.
#define MAX_RETRY 5
/* 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;
+extern uint8_t socket_type; /* Socket type */
+extern bool nonblocking; /* Blocking/Non-blocking socket */
+extern bool connUp; /* Is connection up */
+extern bool pollingState;
+extern CmInetNetAddrLst localAddrLst;
+extern CmInetNetAddrLst remoteAddrLst;
typedef struct
{
}DuSctpDestCb;
/* Global variable declaration */
-DuSctpDestCb f1Params; /* SCTP configurations at DU */
-DuSctpDestCb ricParams; /* SCTP configurations at DU */
+extern DuSctpDestCb f1Params; /* SCTP configurations at DU */
+extern DuSctpDestCb ricParams; /* SCTP configurations at DU */
uint8_t sctpActvInit(Ent entity, Inst inst, Region region, Reason reason);
void FreeBwpUlCommon(BWP_UplinkCommon_t *bwp);
void FreeBcchDlSchMsg(BCCH_DL_SCH_Message_t bcchMsg);
-char encBuf[ENC_BUF_MAX_LEN];
-DuCfgParams duCfgParam;
+extern char encBuf[ENC_BUF_MAX_LEN];
+extern DuCfgParams duCfgParam;
/**********************************************************************
End of file
#include "CmInterface.h"
#endif
+extern DuCb duCb;
DuRlcUeReestablishReq packRlcUeReestablishReqOpts[] =
{
packDuRlcUeReestablishReq, /* Loose coupling */
#include <ucontext.h>
#include <dlfcn.h>
+uint32_t gt[128];
#define SIGSEGV_STACK_GENERIC
#define REGFORMAT "%x\n"
Buffer *mtTskBuffer1;
Buffer *mtTskBuffer2;
-pthread_t tmpRegTidMap[20];
-uint8_t stopBtInfo;
+extern pthread_t tmpRegTidMap[20];
+extern uint8_t stopBtInfo;
S16 SGlobMemInfoShow(void);
#endif /* SS_LOCKLESS_MEMORY */
}SLockInfo;
#endif /* SS_LOCK_SUPPORT */
-uint32_t gt[128];
+extern uint32_t gt[128];
#endif /* __MTSSX__ */
#else
SsOs osCp; /* common OS control point */
#endif
+/* for SGetOpt() */
+extern S16 msOptInd;
+extern S8 *msOptArg;
+extern Txt **msArgv;
+extern S16 msArgc;
-Cntr cfgNumRegs;
-SsRegCfg cfgRegInfo[SS_MAX_REGS];
+extern Cntr cfgNumRegs;
+extern SsRegCfg cfgRegInfo[SS_MAX_REGS];
\f
/* ss029.103: modification: multiple procId related changes */
} SsRegCfg;
-
+#ifdef ANKIT
/* external variable declaration */
/*ss014.301 osCp as volatile for SSI-4GMX*/
#ifdef SS_4GMX_LCORE
#else
SsOs osCp;
#endif
+#else
+/* external variable declaration */
+/*ss014.301 osCp as volatile for SSI-4GMX*/
+#ifdef SS_4GMX_LCORE
+extern volatile SsOs osCp;
+#else
+extern SsOs osCp;
+#endif
+#endif
+
/* functions */
}
-pthread_t tmpRegTidMap[20];
+extern pthread_t tmpRegTidMap[20];
#define CM_MEM_GET_REGION(_region) \
{ \
uint8_t _regCnt; \
S16 SGetNumElemInRng ARGS(( uint32_t id));
S16 SPrintSRngStats ARGS((Void));
S16 pjBatchProc ARGS((Void));
-uint32_t ssRngBufStatus;
+extern uint32_t ssRngBufStatus;
#define SS_RNG_BUF_STATUS() ssRngBufStatus
/* Ring Buffer Structure */
Buffer* mBuf;
} SsRngBufElem;
- SsRngBufTbl SsRngInfoTbl[SS_RNG_BUF_MAX];
+ extern SsRngBufTbl SsRngInfoTbl[SS_RNG_BUF_MAX];
#if (defined (MAC_FREE_RING_BUF) || defined (RLC_FREE_RING_BUF))
S16 mtAddBufToRing(SsRngBufId ringId,void *bufPtr,uint8_t freeType);
#define CB_RA_PREAMBLE_IDX 3 /* For contention based RA */
#define CF_RA_PREAMBLE_IDX 8 /* For contention free RA */
-bool slotIndicationStarted;
-uint16_t sfnValue;
-uint16_t slotValue;
+extern bool slotIndicationStarted;
+extern uint16_t sfnValue;
+extern uint16_t slotValue;
/*Mapping between LCG ID and BSR Idx*/
typedef struct lcgBufferSize
UeDb ueDb;
}PhyDb;
-PhyDb phyDb;
+extern PhyDb phyDb;
typedef enum
{
#include "phy_stub.h"
#include "mac_sch_interface.h"
+uint16_t sfnValue;
+uint16_t slotValue;
+PhyDb phyDb;
extern uint16_t l1BuildAndSendBSR(uint8_t ueIdx, BsrType bsrType,\
LcgBufferSize lcgBsIdx[MAX_NUM_LOGICAL_CHANNEL_GROUPS]);
pthread_t thread = 0;
int socket_fd =0;
+bool slotIndicationStarted;
/*******************************************************************
*
#include "E2SM-KPM-EventTriggerDefinition.h"
#include "E2connectionUpdate-Item.h"
+
+char encBuf[ENC_BUF_MAX_LEN];
/*******************************************************************
*
* @brief Printing Type and Cause of failure
#ifdef O1_ENABLE
extern StartupConfig g_cfg;
#endif
-
+ RicGlobalCb ricCb;
/*******************************************************************
*
* @brief Handles SCTP notification
DuDb duInfo[MAX_DU_SUPPORTED];
}RicGlobalCb;
-RicGlobalCb ricCb;
+extern RicGlobalCb ricCb;
typedef struct
{
#include "ric_e2ap_msg_hdl.h"
#include "E2AP-PDU.h"
+uint8_t socket_type;
+SctpGlobalCb sctpCb;
+
/**************************************************************************
* @brief Function to configure the Sctp Params during config Request
*
#define MAX_ASSOC_SUPPORTED MAX_DU_SUPPORTED
/* Global variable declaration */
-uint8_t socket_type; /* Socket type */
+extern uint8_t socket_type; /* Socket type */
/* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.30 */
typedef enum
RicSctpAssocCb assocCb[MAX_ASSOC_SUPPORTED];
}SctpGlobalCb;
-SctpGlobalCb sctpCb;
+extern SctpGlobalCb sctpCb;
uint8_t sctpActvInit();
uint8_t sctpSend(uint32_t duId, Buffer *mBuf);