#define DU_ID 1
#ifndef O1_ENABLE
-
#define DU_IP_V4_ADDR "192.168.130.81"
#define CU_IP_V4_ADDR "192.168.130.82"
#define RIC_IP_V4_ADDR "192.168.130.80"
#endif
#define DU_EGTP_PORT 39001
-#define CU_EGTP_PORT 39002
+#define CU_EGTP_PORT 39003
#define NR_PCI 1
#define NR_CELL_ID 1
#define NR_BANDWIDTH BANDWIDTH_20MHZ
#endif
+#define TRANS_ID 1
#define DU_TAC 1
#define PLMN_MCC0 3
#define PLMN_MCC1 1
#define NORMAL_CYCLIC_PREFIX 0
#define OFFSET_TO_POINT_A 24 /* PRB Offset to Point A */
#define BETA_PSS BETA_PSS_0DB
-#define SSB_PERIODICITY_5MS 5
-#define SSB_PERIODICITY_10MS 10
-#define SSB_PERIODICITY_20MS 20
-#define SSB_PERIODICITY_40MS 40
-#define SSB_PERIODICITY_80MS 80
-#define SSB_PERIODICITY_160MS 160
+#define SSB_PERIODICITY 20
#define SSB_SUBCARRIER_OFFSET 0
#define SSB_MULT_CARRIER_BAND FALSE
#define MULT_CELL_CARRIER FALSE
#define NUM_UNUSED_ROOT_SEQ 0
#define UNUSED_ROOT_SEQ 1
#define SSB_PER_RACH 1
+#define CB_PREAMBLE_PER_SSB 8
#define PRACH_MULT_CARRIER_BAND FALSE
#define PRACH_PREAMBLE_RCVD_TGT_PWR -74
#define NUM_RA_PREAMBLE 63
#define SIB1_VALUE_TAG 10
/* MACRO Ddefine for PDSCH Configuration */
+#define NUM_TIME_DOM_RSRC_ALLOC 2
#define PDSCH_K0_CFG1 0
#define PDSCH_K0_CFG2 1
#define PDSCH_START_SYMBOL 3
#define CELL_IDENTITY 16
/* Macro definitions for DUtoCuRrcContainer */
-#define CELL_GRP_ID 1
+#define CELL_GRP_ID 0
#define SCH_REQ_ID 0
#define SR_PROHIBIT_TMR 5
#define SR_TRANS_MAX 2
#define PHR_PROHIBHIT_TMR 0
#define PHR_PWR_FACTOR_CHANGE 3
#define PHR_MODE_OTHER_CG 0
-#define SN_FIELD_LEN 0
+#define SN_FIELD_LEN 1
#define T_POLL_RETRANSMIT 8 /* Enum for 45ms */
#define T_POLL_RETRANSMIT_VAL 45 /* Value in ms */
#define POLL_PDU 0 /* Enum for 4 pdus */
/*VALID Tunnel ID*/
#define MIN_TEID 1 /*[Spec 29.281,Sec 5.1]: All Zero TEIDs are never assigned for setting up GTP-U Tunnel*/
-#define MAX_TEID 10 /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */
+#define MAX_TEID MAX_NUM_DRB * MAX_NUM_UE /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */
/* Slice Ratio */
#define MAX_RATIO 30
#define MIN_RATIO 20
#define DEDICATED_RATIO 10
-#define DEDICATED_SLICE_INDEX 1
#define NUM_OF_SUPPORTED_SLICE 2
typedef enum
typedef struct pcchCfg
{
- long dfltPagingCycle; /* Default paging cycle */
- long nAndPagingFrmOffPresent;
- long nAndPagingFrmOff; /* n and Paging Frame offset */
- long numPagingOcc; /* Number of paging occassions in paging frame */
+ uint16_t dfltPagingCycle; /* Default paging cycle */
+ uint8_t nAndPagingFrmOffsetType; /*Number of PagingFrames in PagingCycle defined in terms of T.*/
+ uint8_t pageFrameOffset; /* Paging Frame offset */
+ uint8_t ns; /* Number of paging occassions in paging frame */
+ uint8_t firstPDCCHMontioringType; /* First PDCCH Monitoring Paging Occasion Presence Type*/
+ uint16_t firstPDCCHMontioringInfo[MAX_PO_PER_PF];/*Indicates the first PDCCH monitoring occasion of each PO of the PF*/
}PcchCfg;
typedef struct scsSpecCarrier
long pwrRampingStep; /* Power ramping steps for PRACH */
long raRspWindow; /* RA response window */
long numRaPreamble; /* Total num of preamble used in random access */
- uint8_t ssbPerRachOccPresent;
long numSsbPerRachOcc; /* Numer of SSBs per RACH Occassion */
+ long numCbPreamblePerSsb; /* Number of Contention-Based preamble per SSB */
long contResTimer; /* Contention resolution timer */
long rsrpThreshSsb;
uint8_t rootSeqIdxPresent;
typedef struct ulCfgCommon
{
+ long freqBandInd; /* Uplink frequency band indicator */
long pMax; /* Max UL transmission power that UE applies */
long locAndBw; /* Frequency location and bandwidth */
ScsSpecCarrier ulScsCarrier; /* SCS Specific carrier */
typedef struct srvCellCfgCommSib
{
+ long scs;
DlCfgCommon dlCfg;
UlCfgCommon ulCfg;
uint8_t ssbPosInBurst;
CopyOfRecvdSliceCfg tempSliceCfg;
}DuCfgParams;
+typedef struct f1SetupMsg
+{
+ uint8_t f1MsgReqBufSize;
+ char *f1MsgReqBuf;
+ uint8_t f1MsgRspBufSize;
+ char *f1MsgRspBuf;
+}F1SetupMsg;
+
+
+#ifndef O1_ENABLE
+//RRM POLICY STRUCT
+
+typedef struct rRMPolicyMemberList
+{
+ uint8_t mcc[3];
+ uint8_t mnc[3];
+ uint8_t sd[3];
+ uint8_t sst;
+}RRMPolicyMemberList;
+
+typedef enum
+{
+ PRB,
+ PRB_UL,
+ PRB_DL,
+ RRC,
+ DRB
+}RrmResourceType;
+
+typedef struct rrmPolicyList
+{
+ char id[1];
+ RrmResourceType resourceType;
+ uint8_t rRMMemberNum;
+ RRMPolicyMemberList rRMPolicyMemberList[2];
+ uint8_t rRMPolicyMaxRatio;
+ uint8_t rRMPolicyMinRatio;
+ uint8_t rRMPolicyDedicatedRatio;
+}RrmPolicyList;
+#endif
+
DuCfgParams duCfgParam;
/*function declarations */
uint8_t readCfg();
uint8_t duReadCfg();
uint16_t calcSliv(uint8_t startSymbol, uint8_t lengthSymbol);
-
-#ifdef O1_ENABLE
uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, CopyOfRecvdSliceCfg *tempSliceCfg);
-#endif
#endif /* __DU_CONFIG_H__ */