Code Review
/
o-du
/
l2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Updated E2AP ports
[o-du/l2.git]
/
src
/
5gnrrlc
/
kw_amm_dl.c
diff --git
a/src/5gnrrlc/kw_amm_dl.c
b/src/5gnrrlc/kw_amm_dl.c
index
1bc8ef5
..
609434d
100755
(executable)
--- a/
src/5gnrrlc/kw_amm_dl.c
+++ b/
src/5gnrrlc/kw_amm_dl.c
@@
-961,7
+961,7
@@
uint32_t kwRxSdu;
* @return Void
* -# void
*/
* @return Void
* -# void
*/
-void rlcAmmQSdu(RlcCb *gCb, RlcDlRbCb *rbCb, Buffer *mBuf,
Kwu
DatReqInfo *datReq)
+void rlcAmmQSdu(RlcCb *gCb, RlcDlRbCb *rbCb, Buffer *mBuf,
Rlc
DatReqInfo *datReq)
{
RlcSdu *sdu;
#ifdef LTE_L2_MEAS
{
RlcSdu *sdu;
#ifdef LTE_L2_MEAS
@@
-1632,7
+1632,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
rlcUtlGetCurrTime(&curTime);
amDl->sduQ.crnt = &sdu->lstEnt;
/* Eliminate fixed header size */
rlcUtlGetCurrTime(&curTime);
amDl->sduQ.crnt = &sdu->lstEnt;
/* Eliminate fixed header size */
- /*5GNR: value of RLC_AM_PDU_FIXED_HDRSZ will be 2 or 3 depending on SN Size*/
if(amDl->snLen == RLC_AM_CFG_12BIT_SN_LEN)
{
fixedHdrSz = RLC_AM_PDU_12BIT_SN_HDRSZ;
if(amDl->snLen == RLC_AM_CFG_12BIT_SN_LEN)
{
fixedHdrSz = RLC_AM_PDU_12BIT_SN_HDRSZ;
@@
-1653,7
+1652,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
if ((sdu->mode.am.isSegmented == FALSE) && (rbCb->discTmrInt > 0) && \
(rbCb->rlcId.rbType == CM_LTE_DRB))
{
if ((sdu->mode.am.isSegmented == FALSE) && (rbCb->discTmrInt > 0) && \
(rbCb->rlcId.rbType == CM_LTE_DRB))
{
- //leftAmSdus[rbCb->qci]--;
timeDiff = RLC_TIME_DIFF(curTime,sdu->arrTime);
if (timeDiff > rbCb->discTmrInt)
{
timeDiff = RLC_TIME_DIFF(curTime,sdu->arrTime);
if (timeDiff > rbCb->discTmrInt)
{
@@
-1705,15
+1703,11
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
#ifdef LTE_L2_MEAS
newIdx = FALSE;
#endif
#ifdef LTE_L2_MEAS
newIdx = FALSE;
#endif
- /** kw003.201 - Check for window stall when you are
- * creating a new PDU
- */
+ /** Check for window stall when you are creating a new PDU */
if (RLC_AM_IS_TRANS_WIN_STALLED(amDl))
{
if (RLC_AM_IS_TRANS_WIN_STALLED(amDl))
{
- //int *a = NULLP;
DU_LOG("\nINFO --> RLC_DL : Window stalled \n");
gRlcStats.amRlcStats.numRlcAmCellWinStall++;
DU_LOG("\nINFO --> RLC_DL : Window stalled \n");
gRlcStats.amRlcStats.numRlcAmCellWinStall++;
- //*a = 10;
break;
}
break;
}
@@
-1725,15
+1719,11
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
hdrEstmt += 2;
}
/* Eliminate MAC header */
hdrEstmt += 2;
}
/* Eliminate MAC header */
- /* ccpu00135743 : Fix for MAC Hdr size calculation */
- /*5GNR: value of mac hdr length field changed to 8/16bits */
pduSz = RLC_MIN(macGrntSz, (sdu->sduSz + hdrEstmt));
hdrEstmt += (pduSz < 255) ? RLC_MAC_HDR_SZ2 : RLC_MAC_HDR_SZ3;
macGrntSz -= hdrEstmt;
pduSz = RLC_MIN(macGrntSz, (sdu->sduSz + hdrEstmt));
hdrEstmt += (pduSz < 255) ? RLC_MAC_HDR_SZ2 : RLC_MAC_HDR_SZ3;
macGrntSz -= hdrEstmt;
- /* kw005.201 Check for PDU Size is large enough.
- * Fix for ccpu00118973
- * */
+ /* Check for PDU Size is large enough */
if(macGrntSz <= 0)
{
break;
if(macGrntSz <= 0)
{
break;
@@
-1790,6
+1780,12
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
pduInfo->amHdr.sn = amDl->txNext;
pduInfo->amHdr.sn = amDl->txNext;
+ /* No Segmentation scenario :
+ * If SDU size is less than or equal to the requested PDU size
+ * - Allocate memory and copy SDU into it.
+ * -# Update BO
+ * -# Remove SDU from the Queue.
+ */
if (macGrntSz >= sdu->sduSz)
{
pdu = sdu->mBuf;
if (macGrntSz >= sdu->sduSz)
{
pdu = sdu->mBuf;
@@
-1803,11
+1799,7
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
pduInfo->amHdr.so = sdu->actSz - sdu->sduSz;
sdu->mode.am.isSegmented = FALSE;
pduInfo->amHdr.so = sdu->actSz - sdu->sduSz;
sdu->mode.am.isSegmented = FALSE;
-
gRlcStats.amRlcStats.numRlcAmCellSduTx++;
gRlcStats.amRlcStats.numRlcAmCellSduTx++;
- //DU_LOG("\nINFO --> RLC_DL : 5GNRLOG: last segment of lcId %d SduId %u So %u macGrntSz\
- %u sduActSz %u sdu->sduSz %u\n",
- // rbCb->lch.lChId, sdu->mode.am.sduId, pduInfo->amHdr.so, macGrntSz, sdu->actSz, sdu->sduSz);
}
else
{
}
else
{
@@
-1817,8
+1809,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
/* Create PDU with hdr and data */
rlcAmmCreatePdu(gCb,rbCb, amHdr, pduInfo, pdu);
/* Create PDU with hdr and data */
rlcAmmCreatePdu(gCb,rbCb, amHdr, pduInfo, pdu);
- //DU_LOG("\nINFO --> Segmentation not required case: numPdu %d pdu %p \n",rlcDatReq->pduInfo.numPdu, pdu);
-
#ifdef LTE_L2_MEAS_RLC
rlcUtlUpdSduSnMap(rbCb, sdu, rlcDatReq, TRUE);
#endif /* LTE_L2_MEAS */
#ifdef LTE_L2_MEAS_RLC
rlcUtlUpdSduSnMap(rbCb, sdu, rlcDatReq, TRUE);
#endif /* LTE_L2_MEAS */
@@
-1841,7
+1831,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
rlcUtlUpdateOutStandingSduLst(dlIpThPut, *sduIdx, sdu->actSz,
sdu->mode.am.sduId, newIdx);
/* Update the arrival time for each SDU */
rlcUtlUpdateOutStandingSduLst(dlIpThPut, *sduIdx, sdu->actSz,
sdu->mode.am.sduId, newIdx);
/* Update the arrival time for each SDU */
- /* ccpu00143043 */
if ( lchInfo.numSdus < RLC_L2MEAS_SDUIDX)
{
lchInfo.sduInfo[lchInfo.numSdus].arvlTime = sdu->arrTime;
if ( lchInfo.numSdus < RLC_L2MEAS_SDUIDX)
{
lchInfo.sduInfo[lchInfo.numSdus].arvlTime = sdu->arrTime;
@@
-1860,7
+1849,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
Buffer *remSeg = NULLP;
Buffer *remSeg = NULLP;
- //DU_LOG("\nINFO --> SDU segmentation case: numPdu %d pdu %p \n", rlcDatReq->pduInfo.numPdu, pdu);
#ifdef LTE_L2_MEAS
if(RLC_MEAS_IS_DL_IP_MEAS_ON_FOR_RB(gCb,rbCb) ||
RLC_MEAS_IS_DL_DELAY_MEAS_ON_FOR_RB(gCb,rbCb) ||
#ifdef LTE_L2_MEAS
if(RLC_MEAS_IS_DL_IP_MEAS_ON_FOR_RB(gCb,rbCb) ||
RLC_MEAS_IS_DL_DELAY_MEAS_ON_FOR_RB(gCb,rbCb) ||
@@
-1905,10
+1893,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
pduInfo->amHdr.sn = sdu->mode.am.sn;
pduInfo->amHdr.si = RLC_SI_MID_SEG; /* binary 11 */
pduInfo->amHdr.so = sdu->actSz - sdu->sduSz;
pduInfo->amHdr.sn = sdu->mode.am.sn;
pduInfo->amHdr.si = RLC_SI_MID_SEG; /* binary 11 */
pduInfo->amHdr.so = sdu->actSz - sdu->sduSz;
-
- //DU_LOG("\nINFO --> RLC_DL : 5GNRLOG: mid segment of lcId %d SduId %u So %u macGrntSz %u sduActSz\
- %u sdu->sduSz %u\n",
- // rbCb->lch.lChId, sdu->mode.am.sduId, txBuf->amHdr.so, macGrntSz, sdu->actSz, sdu->sduSz);
}
else
{
}
else
{
@@
-1918,9
+1902,6
@@
static void rlcAssembleSdus(RlcCb *gCb, RlcDlRbCb *rbCb, RlcDatReq *rlcDatReq)
sdu->mode.am.sn = pduInfo->amHdr.sn;
pduInfo->amHdr.so = 0;
sdu->mode.am.sn = pduInfo->amHdr.sn;
pduInfo->amHdr.so = 0;
- //DU_LOG("\nINFO --> RLC_DL : 5GNRLOG: First segment of lcId %d SduId %u So\
- %u macGrntSz %u sduActSz %u sdu->sduSz %u\n",
- // rbCb->lch.lChId, sdu->mode.am.sduId, txBuf->amHdr.so, macGrntSz, sdu->actSz, sdu->sduSz);
}
amHdr = &pduInfo->amHdr;
}
amHdr = &pduInfo->amHdr;
@@
-2132,12
+2113,9
@@
RlcDlPduInfo *pduInfo, Buffer *pdu)
/* Update sn */
amHdr->sn = amDl->txNext;
/* Update sn */
amHdr->sn = amDl->txNext;
-
/*5GNR RLC_DL : Increment txNext only if no segmentation of it is a last segment */
if((!amHdr->si) || (amHdr->si == RLC_SI_LAST_SEG))
{
/*5GNR RLC_DL : Increment txNext only if no segmentation of it is a last segment */
if((!amHdr->si) || (amHdr->si == RLC_SI_LAST_SEG))
{
- //DU_LOG("\nINFO --> RLC_DL : 5GNRLOG: no segment/last seg SDU with lcId %d Sn %u txNext %u So %u\n",
- // rbCb->lch.lChId, amHdr->sn, amDl->txNext, amHdr->so);
amDl->txNext = (amDl->txNext + 1) & amDl->snModMask;
}
amDl->txNext = (amDl->txNext + 1) & amDl->snModMask;
}