-#else
- ODU_REM_PRE_MSG_MULT(dst,2,pdu);
-#endif
- umHdr->li[umHdr->numLi] = ((dst[0]) & 0x7F) << 4;
- umHdr->li[umHdr->numLi] |= dst[1] >> 4;
- if ( 0 == umHdr->li[umHdr->numLi] )
- {
- DU_LOG("\nRLC : rlcUmmExtractHdr : Received LI as 0 UEID:%d CELLID:%d",
- rbCb->rlcId.ueId, rbCb->rlcId.cellId);
- return RFAILED;
- }
- totalSz += umHdr->li[umHdr->numLi];
- if ( pduSz <= totalSz )
- {
- DU_LOG("\nRLC : rlcUmmExtractHdr : SN [%d]: UEID:%d CELLID:%d",\
- umHdr->sn, rbCb->rlcId.ueId, rbCb->rlcId.cellId);
- DU_LOG("\nRLC : rlcUmmExtractHdr : Corrupted PDU as TotSz[%d] PduSz[%d] \
- UEID:%d CELLID:%d ", totalSz, pduSz, rbCb->rlcId.ueId, rbCb->rlcId.cellId);
- return RFAILED; /* the situation where in the PDU size
- is something that does not match with
- the size in LIs*/
- }
- umHdr->numLi++;
- pduSz -= 2;
-
- e = ((dst[0]) & 0x80) >> 7;
-
- if ( e && umHdr->numLi < RLC_MAX_UL_LI)
- {
- uint8_t tmp = ((dst[1]) & 0x08) >> 3;
- umHdr->li[umHdr->numLi] = ( dst[1] & 0x07) << 8;
-
-
-#if (ERRCLASS & ERRCLS_DEBUG)
- ret = ODU_REM_PRE_MSG(dst,pdu);
- if (ret != ROK)
- {
- DU_LOG("\nRLC : rlcUmmExtractHdr : ODU_REM_PRE_MSG Failed UEID:%d CELLID:%d",
- rbCb->rlcId.ueId, rbCb->rlcId.cellId);
- return RFAILED;
- }
-#else
- ODU_REM_PRE_MSG(dst,pdu);
-#endif
- umHdr->li[umHdr->numLi] |= ( dst[0] ); /* The first byte lies in
- the first 8 bits.We want
- them in the last 8 bits */
- if ( 0 == umHdr->li[umHdr->numLi] )
- {
- DU_LOG("\nRLC : rlcUmmExtractHdr :Received LI as 0 UEID:%d CELLID:%d",
- rbCb->rlcId.ueId, rbCb->rlcId.cellId);
- return RFAILED;
- }
- totalSz += umHdr->li[umHdr->numLi];
- pduSz--;
- umHdr->numLi++;
-
- if (pduSz < totalSz)
- {
- return RFAILED; /* the situation where in the PDU size is
- something that does not match with the
- size in LIs*/
- }
-
- e = tmp;
- }
- } /* while(e && umHdr->numLi < RLC_MAX_LI ) */
- if (e)
- {
- /* PDU was constructed with LIs that exceeded RLC_MAX_LI */
- return RFAILED;