X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Frlc_msg_hdl.c;h=0e2aa41bf3e0a6d38cd87e904fdcbdb7295f88d0;hb=6178d5e32f0c57e198de80afc23b92c635e4f6df;hp=0495a44c1ae21acc8e368167725f0b826cb2e657;hpb=5cf1b5ae6066676b1da1105618dfd845d648eeeb;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/rlc_msg_hdl.c b/src/5gnrrlc/rlc_msg_hdl.c index 0495a44c1..0e2aa41bf 100644 --- a/src/5gnrrlc/rlc_msg_hdl.c +++ b/src/5gnrrlc/rlc_msg_hdl.c @@ -974,18 +974,18 @@ uint8_t sendSlicePmToDu(SlicePmList *sliceStats) * recpord of this snssai * */ -bool rlcFindSliceEntry(uint32_t snssaiVal, uint8_t *snssaiIdx, SlicePmList *sliceStats) +bool rlcFindSliceEntry(SliceIdentifier snssaiVal, uint8_t *snssaiIdx, SlicePmList *sliceStats) { uint8_t cntSlices = sliceStats->numSlice; for(*snssaiIdx = 0;(*snssaiIdx) < cntSlices; (*snssaiIdx)++) { - if(snssaiVal == sliceStats->sliceRecord[*snssaiIdx].networkSliceIdentifier) + if((snssaiVal.sst == sliceStats->sliceRecord[*snssaiIdx].networkSliceIdentifier.sst)&& + (snssaiVal.sd == sliceStats->sliceRecord[*snssaiIdx].networkSliceIdentifier.sd)) { return TRUE; } } - DU_LOG("\nERROR --> RLC: Total no of Slice exhausted!"); return FALSE; } @@ -1013,7 +1013,7 @@ uint8_t BuildSliceReportToDu(uint8_t snssaiCnt) RlcTptPerSnssai *snssaiNode = NULLP; Direction dir = DIR_UL; SlicePmList *sliceStats = NULLP; /*Slice metric */ - uint32_t snssaiVal = 0; + SliceIdentifier snssaiVal ; uint8_t snssaiIdx = 0; if(snssaiCnt == 0) @@ -1049,12 +1049,11 @@ uint8_t BuildSliceReportToDu(uint8_t snssaiCnt) while(node) { - snssaiVal = 0; snssaiIdx = 0; snssaiNode = (RlcTptPerSnssai *)node->node; - memcpy(&snssaiVal, snssaiNode->snssai, sizeof(Snssai)); - + snssaiVal.sst = snssaiNode->snssai->sst; + snssaiVal.sd = snssaiNode->snssai->sd[2]+snssaiNode->snssai->sd[1]*10+snssaiNode->snssai->sd[0]*100; if(rlcFindSliceEntry(snssaiVal, &snssaiIdx, sliceStats) == FALSE) { sliceStats->sliceRecord[snssaiIdx].networkSliceIdentifier = snssaiVal;