1 /******************************************************************************
2 ###############################################################################
3 # Copyright (c) [2017-2020] [ICT/CAS] #
4 # Licensed under the ORAN Software License v1.0 (License) #
5 ###############################################################################
6 ******************************************************************************/
9 INT32 printfPduSessionCfgType(UpcCfgType_e type)
11 VOS_Printf("cfg type : ");
15 VOS_Printf("PDU_SESSION_ADD\n");
19 VOS_Printf("PDU_SESSION_MOD\n");
23 VOS_Printf("PDU_SESSION_DEL\n");
27 VOS_Printf("DRB_DEL\n");
37 INT32 printfTransLayerAddr(TransLayerAddr_t *pAddr)
41 VOS_Printf("addr size: %d bytes ",pAddr->bitStringSize);
44 for(i=0; i<pAddr->bitStringSize; i++)
46 VOS_Printf("%d ",pAddr->transLayerAddress[i]);
53 INT32 printfNguInstance(NguInstance_t *pNguInstance)
55 NULL_CHECK(pNguInstance);
57 VOS_Printf("#################################\n");
58 VOS_Printf(" ngu instance parameters \n");
59 VOS_Printf("#################################\n");
60 VOS_Printf("ueE1apId: %d\n",pNguInstance->ueE1apId);
61 VOS_Printf("ueIdx: %d\n",pNguInstance->ueIdx);
62 VOS_Printf("pduSessionId: %d\n",pNguInstance->pduSessionId);
63 VOS_Printf("ownTeid: 0x%08x\n",pNguInstance->ownTeid);
68 INT32 printfNguCfgResult(NguCfgResult_t *pCfg)
72 VOS_Printf("##########################\n");
73 VOS_Printf(" ngu config result \n");
74 VOS_Printf("##########################\n");
75 printfPduSessionCfgType(pCfg->cfgType);
76 VOS_Printf("pduSessionId: %d\n",pCfg->pduSessionId);
77 VOS_Printf("nggtpuTeid: 0x%08x\n",pCfg->nggtpuTeid);
78 printfTransLayerAddr(&pCfg->nggtpuAddr);
79 VOS_Printf("failureCause: %d\n",pCfg->failureCause);
85 INT32 printfSecuResult(SecuResult_t *pResult)
89 if(CP_RESULT_PERFORMED == pResult->confidentialityProtectionResult)
91 VOS_Printf("cipher is performed\n");
93 }else if(CP_RESULT_NOT_PERFORMED == pResult->confidentialityProtectionResult)
95 VOS_Printf("cipher is not performed\n");
99 VOS_Printf("ciper result is wrong!\n");
102 if(IP_RESULT_PERFORMED == pResult->integrityProtectionResult)
104 VOS_Printf("integrity is performed\n");
106 }else if(IP_RESULT_NOT_PERFORMED == pResult->integrityProtectionResult)
108 VOS_Printf("integrity is not performed\n");
112 VOS_Printf("integrity result is wrong!\n");
118 INT32 printfPdcpRlcMode(PdcpRlcMode_e mode)
122 VOS_Printf("rlc mode: TM_MODE\n");
124 }else if(UM_MODE == mode)
126 VOS_Printf("rlc mode: UM_MODE\n");
128 }else if(AM_MODE == mode)
130 VOS_Printf("rlc mode: AM_MODE\n");
134 VOS_Printf("rlc mode: wrong\n");
141 INT32 printfDrbEntity(PdcpDrbEntity_t *pEntity)
145 VOS_Printf("#####################\n");
146 VOS_Printf(" pdcpu entity \n");
147 VOS_Printf("#####################\n");
148 VOS_Printf("ueE1apId: %d\n", pEntity->ueE1apId);
149 VOS_Printf("ueIdx: %d\n", pEntity->ueIdx);
150 VOS_Printf("pduSessionId: %d\n", pEntity->pduSessionId);
151 VOS_Printf("drbId: %d\n", pEntity->drbId);
152 printfPdcpRlcMode(pEntity->rlcMode);
153 VOS_Printf("sdapUlHeadLen: %d\n", pEntity->sdapUlHeadLen);
154 VOS_Printf("sdapDlHeadLen: %d\n", pEntity->sdapDlHeadLen);
155 VOS_Printf("pdcpSnSizeUl: %d bits\n", pEntity->pdcpSnSizeUl);
156 VOS_Printf("pdcpSnSizeDl: %d bits\n", pEntity->pdcpSnSizeDl);
158 if(pEntity->tDiscardActive)
160 VOS_Printf("discard timer is active, ");
163 VOS_Printf("discard timer is not active, ");
166 if(pEntity->tDiscardRun)
168 VOS_Printf("running, ");
171 VOS_Printf("not running, ");
174 VOS_Printf("period:%d ms\n", pEntity->tDiscard);
176 if(pEntity->tReorderActive)
178 VOS_Printf("reorder timer is active, ");
181 VOS_Printf("reorder timer is not active, ");
184 if(pEntity->tReorderRun)
186 VOS_Printf("running, ");
189 VOS_Printf("not running, ");
192 VOS_Printf("period:%d ms\n", pEntity->tReorder);
194 if(TRUE == pEntity->integrityProtection)
196 VOS_Printf("integrityProtection: enabled\n");
198 }else if(FALSE == pEntity->integrityProtection)
200 VOS_Printf("integrityProtection: disabled\n");
203 vos_err_print("integrityProtection: enable flag is wrong\n");
206 if(TRUE == pEntity->ciperingEnabled)
208 VOS_Printf("cipher: enabled\n");
210 }else if(FALSE == pEntity->ciperingEnabled)
212 VOS_Printf("cipher: disabled\n");
215 vos_err_print("cipher: enable flag is wrong\n");
218 if(TRUE == pEntity->outOfOrderDelivery)
220 VOS_Printf("outOfOrderDelivery: enabled\n");
224 VOS_Printf("outOfOrderDelivery: disabled\n");
227 if(TRUE == pEntity->headerCompress.notUsed)
229 VOS_Printf("headerCompress: not used\n");
233 VOS_Printf("headerCompress: used\n");
236 VOS_Printf("stateVar.rxCount: %d\n", pEntity->stateVar.rxCount);
237 VOS_Printf("stateVar.txNext: %d\n", pEntity->stateVar.txNext);
238 VOS_Printf("stateVar.rxDelivery: %d\n", pEntity->stateVar.rxDelivery);
239 VOS_Printf("stateVar.rxNext: %d\n", pEntity->stateVar.rxNext);
240 VOS_Printf("stateVar.rxReorder: %d\n", pEntity->stateVar.rxReorder);
245 INT32 printfDrbFailedCause(DrbFailedCause_t *p)
247 VOS_Printf("drb id: %d, failed cause: %d\n", p->drbId, p->cause);
252 INT32 printfPdcpuCfgResult(PdcpuCfgResult_t *pResult)
258 VOS_Printf("##########################\n");
259 VOS_Printf(" pdcpu cfg result \n");
260 VOS_Printf("##########################\n");
261 VOS_Printf("pdu Session Id: %d\n", pResult->pduSessionId);
262 printfPduSessionCfgType(pResult->cfgType);
264 if(pResult->secResPresent)
266 VOS_Printf("there is security result\n");
267 printfSecuResult(&pResult->secuResult);
270 VOS_Printf("there is no security result\n");
273 VOS_Printf("drbSetupSuccessNum: %d\ndrb id list: ", pResult->drbSetupSuccessNum);
274 for(i=0; i<pResult->drbSetupSuccessNum; i++)
276 VOS_Printf("%d ", pResult->drbSetupSuccessArray[i]);
279 VOS_Printf("\ndrbSetupFailNum: %d\ndrb id list: ", pResult->drbSetupFailNum);
280 for(i=0; i<pResult->drbSetupFailNum; i++)
282 printfDrbFailedCause(&pResult->drbSetupFailedArray[i]);
285 VOS_Printf("\ndrbModifySuccessNum: %d\ndrb id list: ", pResult->drbModifySuccessNum);
286 for(i=0; i<pResult->drbModifySuccessNum; i++)
288 VOS_Printf("%d ", pResult->drbModifySuccessArray[i]);
291 VOS_Printf("\ndrbModifyFailNum: %d\ndrb id list: ", pResult->drbModifyFailNum);
292 for(i=0; i<pResult->drbModifyFailNum; i++)
294 printfDrbFailedCause(&pResult->drbModifyFailedArray[i]);
302 INT32 printfCuf1uInstance(Cuf1uInstance_t *pF1u)
306 VOS_Printf("##########################\n");
307 VOS_Printf(" cuf1u instance \n");
308 VOS_Printf("##########################\n");
309 VOS_Printf("ueE1apId: %d\n", pF1u->ueE1apId);
310 VOS_Printf("ueIdx: %d\n", pF1u->ueIdx);
311 VOS_Printf("pduSessionId: %d\n", pF1u->pduSessionId);
312 VOS_Printf("drbId: %d\n", pF1u->drbId);
313 if(LEN_12_BITS == pF1u->pdcpSnSize)
315 VOS_Printf("pdcpSnSize: 12 bits\n", pF1u->pdcpSnSize);
317 }else if(LEN_18_BITS == pF1u->pdcpSnSize)
319 VOS_Printf("pdcpSnSize: 18 bits\n", pF1u->pdcpSnSize);
322 VOS_Printf("pdcpSnSize: wrong!\n");
325 VOS_Printf("ownTeid: 0X%08X\n", pF1u->ownTeid);
326 VOS_Printf("nextSubmitSn: %d\n", pF1u->nextSubmitSn);
331 INT32 printfCuf1uSetupInfo(Cuf1uSetupInfo_t *pInfo)
335 VOS_Printf("setup info-->drbId: %02x\n", pInfo->drbId);
336 VOS_Printf("setup info-->f1gtpuTeid: %08x\n", pInfo->f1gtpuTeid);
337 VOS_Printf("setup info-->");
338 printfTransLayerAddr(&pInfo->gtpuAddr);
344 INT32 printfCuf1uCfgResult(Cuf1uCfgResult_t *pResult)
350 VOS_Printf("##########################\n");
351 VOS_Printf(" cuf1u cfg result \n");
352 VOS_Printf("##########################\n");
353 VOS_Printf("pdu Session Id: %d\n", pResult->pduSessionId);
354 printfPduSessionCfgType(pResult->cfgType);
356 VOS_Printf("drbSetupSuccessNum: %d\ndrb id list:", pResult->drbSetupSuccessNum);
357 for(i=0; i<pResult->drbSetupSuccessNum; i++)
359 printfCuf1uSetupInfo(&pResult->drbSetupSuccessArray[i]);
362 VOS_Printf("\ndrbSetupFailNum: %d\n", pResult->drbSetupFailNum);
363 for(i=0; i<pResult->drbSetupFailNum; i++)
365 printfDrbFailedCause(&pResult->drbSetupFailedArray[i]);
368 VOS_Printf("\ndrbModifySuccessNum: %d\n", pResult->drbModifySuccessNum);
369 for(i=0; i<pResult->drbModifySuccessNum; i++)
371 VOS_Printf("%d ", pResult->drbModifySuccessArray[i]);
374 VOS_Printf("\ndrbModifyFailNum: %d\n", pResult->drbModifyFailNum);
375 for(i=0; i<pResult->drbModifyFailNum; i++)
377 printfDrbFailedCause(&pResult->drbModifyFailedArray[i]);
380 VOS_Printf("pduSessionFailCause: %d\n",pResult->pduSessionCause);
385 INT32 printfPdcpuSecInfo(PdcpuSecInfo_t *pSec)
392 VOS_Printf("#################################################\n");
393 VOS_Printf(" pdcpu set security info successful \n");
394 VOS_Printf("#################################################\n");
395 VOS_Printf("ueE1apId: 0X%x\n",pSec->ueE1apId);
396 VOS_Printf("ueIdx: 0X%04x\n",pSec->ueIdx);
398 VOS_Printf("kUpEnc:");
401 VOS_Printf("%08x ",pSec->kUpEnc[i]);
405 VOS_Printf("kUpInt:");
408 VOS_Printf("%08x ",pSec->kUpInt[i]);
415 VOS_Printf("%08x ",pSec->nh[i]);
419 VOS_Printf("ncc: 0X%02x\n",pSec->ncc);*/
422 if(NEA0 == pSec->encAlgorithm)
424 VOS_Printf("encAlgorithm: NEA0\n");
426 }else if(NEA1 == pSec->encAlgorithm)
428 VOS_Printf("encAlgorithm: NEA1\n");
430 }else if(NEA2 == pSec->encAlgorithm)
432 VOS_Printf("encAlgorithm: NEA2\n");
436 VOS_Printf("encAlgorithm: %d error!\n",pSec->encAlgorithm);
440 if(NIA0 == pSec->intAlgorithm)
442 VOS_Printf("intAlgorithm: NIA0\n");
444 }else if(NIA1 == pSec->intAlgorithm)
446 VOS_Printf("intAlgorithm: NIA1\n");
448 }else if(NIA2 == pSec->intAlgorithm)
450 VOS_Printf("intAlgorithm: NIA2\n");
454 VOS_Printf("intAlgorithm: %d error!\n",pSec->intAlgorithm);
458 if(0 == pSec->encActiveFlag)
460 VOS_Printf("enc status: inactive\n");
463 VOS_Printf("enc status: active\n");
467 if(0 == pSec->intActiveFlag)
469 VOS_Printf("int status: inactive\n");
472 VOS_Printf("int status: active\n");
477 VOS_Printf("nhInd: not exist\n");
480 VOS_Printf("nhInd: exist\n");
486 INT32 printfVosSockAddr(vos_sockaddr_t *pAddr)
493 if(AF_INET == pAddr->sa.sa_family)
495 VOS_Printf("IP type : IPV4\n");
496 VOS_Printf("IP addr : ");
499 temp = (UINT8 *)&pAddr->sin.sin_addr + i;
500 VOS_Printf("%d ",*temp);
503 }else if(AF_INET6 == pAddr->sa.sa_family)
505 VOS_Printf("IP type : IPV6\n");
506 VOS_Printf("IP addr : ");
509 temp = (UINT8 *)&pAddr->sin6.sin6_addr + i;
510 VOS_Printf("%d ",*temp);
515 VOS_Printf("addr type is wrong!\n");
521 INT32 printfTun(Tun_t *pTun)
526 VOS_Printf("##############################\n");
527 VOS_Printf(" tunnel info \n");
528 VOS_Printf("##############################\n");
530 if(0 == pTun->tunState)
532 VOS_Printf("tun state is inactive\n");
535 VOS_Printf("tun state is active\n");
538 VOS_Printf("seq: %d\n",pTun->seq);
539 VOS_Printf("tunId: 0x%08x\n",pTun->tunId);
540 VOS_Printf("ownTeid: 0x%08x\n",pTun->ownTeid);
541 VOS_Printf("remTeid: 0x%08x\n",pTun->remTeid);
542 printfVosSockAddr(&pTun->tunOpval.addr);
547 INT32 printfPdcpuSecEnableInfo(PdcpuSecEnableInfo_t *pInfo)
552 VOS_Printf("######################################\n");
553 VOS_Printf(" security enable info \n");
554 VOS_Printf("######################################\n");
555 VOS_Printf("pduSessionId: %d\n",pInfo->pduSessionId);
558 if(TRUE == pInfo->cipherEnableFlag)
560 VOS_Printf("cipher : enabled\n");
563 VOS_Printf("cipher : disabled\n");
567 if(TRUE == pInfo->integrityEnableFlag)
569 VOS_Printf("integrity : enabled\n");
572 VOS_Printf("integrity : disabled\n");
576 VOS_Printf("maxIPDataRate: %d\n",pInfo->maxIPDataRate);
581 INT32 printfCuupUeIdxTable(CuupUeIdxTable_t *pTable)
584 VOS_Printf("0 is used, 1 is not used, else is wrong\n");
585 for(i=0; i<MAX_UE_NUM; i++)
587 VOS_Printf("i is %d ",i);
588 VOS_Printf("usedFlag: %d ",pTable->ueIdxInfo[i].isUsed);
589 VOS_Printf("ueE1apId: %d ",pTable->ueIdxInfo[i].ueE1apId);
590 VOS_Printf("ueIdx: %04x\n",pTable->ueIdxInfo[i].ueIdx);
592 VOS_Printf("at end i = %d\n",i);
597 INT32 printfMsgbBuff(MsgbBuff_t *pMsgBuff)
599 NULL_CHECK(pMsgBuff);
601 UINT8 *pMsgHead = msgbData(pMsgBuff);
602 UINT32 pduLen = msgbDataUsedLen(pMsgBuff);
604 /*VOS_Printf("msgb maxDataLen:%d maxHeadLen:%d headSpareLen:%d tailOffset:%d ",
605 pMsgBuff->msgbInfo.maxDataLen,
606 pMsgBuff->msgbInfo.maxHeadLen,
607 pMsgBuff->msgbInfo.headSpareLen,
608 pMsgBuff->msgbInfo.tailOffset);*/
610 VOS_Printf(VOS_COLOR_BLUE"data len:%d\n"VOS_COLOR_NONE,pduLen);
613 for(j=0; j<pduLen; j++)
615 VOS_Printf("%02x ",*(pMsgHead+j));
622 INT32 printfExPduInfo(ExPduInfo_t *pPdu)
626 VOS_Printf("exHdrLen:%d Byteslen:%d exHdrType:0x%02x\n",
627 pPdu->exHdrLen,pPdu->len,pPdu->exHdrType);
630 for(i=0; i<pPdu->len; i++)
632 VOS_Printf("%02x ",*((UINT8 *)(pPdu->pPdu)+i));
639 INT32 printfSdapNewInstance(SdapGlobalDtat_t *pGlobalData)
641 VOS_Printf("\n**sdapCreateNewInstance**\n");
642 VOS_Printf("upE1apId:%d\n",pGlobalData->upE1apId);
643 VOS_Printf("sessNum:%d\n",pGlobalData->sessNum);
647 VOS_Printf("sessId list:");
648 for(i=0; i<pGlobalData->sessNum; i++)
650 VOS_Printf("%d,",pGlobalData->sessId[i]);
655 for(i=0; i<pGlobalData->sessNum; i++)
657 pduId = pGlobalData->sessId[i];
658 VOS_Printf("i:%d, sessId:%d, sessNum:%d\n",i,pduId,pGlobalData->sessNum);
659 VOS_Printf("drbNum:%d\n",pGlobalData->sdapInstance[pduId].drbNum);
660 VOS_Printf("drbId list:");
661 for(m=0; m<pGlobalData->sdapInstance[pduId].drbNum; m++)
663 VOS_Printf("%d,",pGlobalData->sdapInstance[pduId].drbId[m]);
667 VOS_Printf("\n******drbCfg*******\n");
672 for(n=0; n<pGlobalData->sdapInstance[pduId].drbNum; n++)
674 drbId = pGlobalData->sdapInstance[pduId].drbId[n];
675 VOS_Printf("drbId:%d \n",drbId);
676 VOS_Printf("drbCfg.drbId:%d\n",pGlobalData->sdapInstance[pduId].drbCfg[drbId-1].drbId);
677 VOS_Printf("drbCfg.sdapUlHead:%d\n",pGlobalData->sdapInstance[pduId].drbCfg[drbId-1].sdapCfg.sdapUlHeaderInd);
678 VOS_Printf("drbCfg.sdapDlHead:%d\n",pGlobalData->sdapInstance[pduId].drbCfg[drbId-1].sdapCfg.sdapDlHeaderInd);
679 VOS_Printf("drbCfg.defaultDrbInd:%d\n",pGlobalData->sdapInstance[pduId].drbCfg[drbId-1].sdapCfg.defaultDrbInd);
680 qfiNum = pGlobalData->sdapInstance[pduId].drbCfg[drbId-1].qfiNum;
681 VOS_Printf("drbCfg.qfiNum:%d\nqfi list:",qfiNum);
682 for(j=0; j<qfiNum; j++)
684 VOS_Printf("%d ",pGlobalData->sdapInstance[pduId].drbCfg[drbId-1].qfi[j]);