Home | History | Annotate | Download | only in Ctrl

Lines Matching refs:pClsfr

48 static TI_STATUS classifier_getIpAndUdpHeader(classifier_t* pClsfr, mem_MSDU_T *pMsdu, UINT8 **pIpHeader, UINT8 **pUdpHeader);
64 classifier_t* pClsfr;
71 pClsfr = os_memoryAlloc(hOs, (sizeof(classifier_t)));
73 if (!pClsfr)
75 utils_nullMemoryFree(hOs, pClsfr, sizeof(classifier_t));
80 os_memoryZero(hOs, pClsfr, (sizeof(classifier_t)));
82 pClsfr->hOs = hOs;
84 return(pClsfr);
101 TI_STATUS Classifier_config(classifier_t* pClsfr, TI_HANDLE hOs, TI_HANDLE hReport, clsfr_Params_t* ClsfrInitParams)
107 if (pClsfr == NULL)
114 pClsfr->hOs = hOs;
115 pClsfr->hReport = hReport;
118 pClsfr->clsfrParameters.clsfrType = ClsfrInitParams->clsfrType;
122 pClsfr->clsfrParameters.NumOfActiveEntries = ClsfrInitParams->NumOfActiveEntries;
124 pClsfr->clsfrParameters.NumOfActiveEntries = NUM_OF_CLSFR_TABLE_ENTRIES;
127 switch (pClsfr->clsfrParameters.clsfrType)
130 pClsfr->clsfrParameters.NumOfActiveEntries = 0;
135 for (i=0; (i < pClsfr->clsfrParameters.NumOfActiveEntries ) ; i++)
142 if (pClsfr->clsfrParameters.ClsfrTable[j].Dscp.CodePoint == ClsfrInitParams->ClsfrTable[i].Dscp.CodePoint)
144 WLAN_REPORT_WARNING (pClsfr->hReport, CLSFR_MODULE_LOG,("ERROR: Classifier_config(): duplicate/conflicting classifier entries\n"));
150 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].Dscp.CodePoint = ClsfrInitParams->ClsfrTable[i].Dscp.CodePoint;
151 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].DTag = ClsfrInitParams->ClsfrTable[i].DTag;
155 pClsfr->clsfrParameters.NumOfActiveEntries = actualEntryCount;
159 for (i=0; (i < pClsfr->clsfrParameters.NumOfActiveEntries ) ; i++)
166 if (pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstPortNum == ClsfrInitParams->ClsfrTable[i].Dscp.DstPortNum)
168 WLAN_REPORT_WARNING (pClsfr->hReport, CLSFR_MODULE_LOG,("ERROR: Classifier_config(): classifier entries conflict\n"));
174 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].Dscp.DstPortNum = ClsfrInitParams->ClsfrTable[i].Dscp.DstPortNum;
175 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].DTag = ClsfrInitParams->ClsfrTable[i].DTag;
179 pClsfr->clsfrParameters.NumOfActiveEntries = actualEntryCount;
183 for (i=0; (i < pClsfr->clsfrParameters.NumOfActiveEntries ) ; i++)
190 if ((pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstIPPort.DstIPAddress == ClsfrInitParams->ClsfrTable[i].Dscp.DstIPPort.DstIPAddress)&&
191 (pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstIPPort.DstPortNum == ClsfrInitParams->ClsfrTable[i].Dscp.DstIPPort.DstPortNum))
193 WLAN_REPORT_WARNING (pClsfr->hReport, CLSFR_MODULE_LOG,("ERROR: Classifier_config(): classifier entries conflict\n"));
199 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].Dscp.DstIPPort.DstIPAddress = ClsfrInitParams->ClsfrTable[i].Dscp.DstIPPort.DstIPAddress;
200 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].Dscp.DstIPPort.DstPortNum = ClsfrInitParams->ClsfrTable[i].Dscp.DstIPPort.DstPortNum;
201 pClsfr->clsfrParameters.ClsfrTable[actualEntryCount].DTag = ClsfrInitParams->ClsfrTable[i].DTag;
205 pClsfr->clsfrParameters.NumOfActiveEntries = actualEntryCount;
208 WLAN_REPORT_WARNING (pClsfr->hReport, CLSFR_MODULE_LOG,("ERROR: Classifier_config(): Classifier type -- unknown --> set to D-Tag\n"));
209 pClsfr->clsfrParameters.clsfrType = D_TAG_CLSFR;
210 pClsfr->clsfrParameters.NumOfActiveEntries = 0;
229 TI_STATUS Classifier_destroy(classifier_t* pClsfr)
233 if( pClsfr == NULL )
237 os_memoryFree(pClsfr->hOs, pClsfr, sizeof(classifier_t));
249 * pClsfr: pointer to the classifier
272 TI_STATUS Classifier_classifyTxMSDU(classifier_t* pClsfr, mem_MSDU_T *pMsdu, UINT8 packet_DTag)
284 if (pClsfr == NULL)
289 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
294 if ((packet_DTag > MAX_NUM_OF_802_1d_TAGS) && (pClsfr->clsfrParameters.clsfrType == D_TAG_CLSFR))
296 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
305 switch(pClsfr->clsfrParameters.clsfrType)
310 WLAN_REPORT_INFORMATION (pClsfr->hReport, CLSFR_MODULE_LOG, ("Classifier D_TAG_CLSFR. pMsdu->qosTag = %d\n",pMsdu->qosTag));
316 if( (classifier_getIpAndUdpHeader(pClsfr, pMsdu, &pIpHeader, &pUdpHeader) != OK) ||
319 WLAN_REPORT_INFORMATION(pClsfr->hReport, CLSFR_MODULE_LOG,
330 for(i = 0; i<pClsfr->clsfrParameters.NumOfActiveEntries; i++ )
332 if (pClsfr->clsfrParameters.ClsfrTable[i].Dscp.CodePoint == DSCP)
334 pMsdu->qosTag = pClsfr->clsfrParameters.ClsfrTable[i].DTag;
335 WLAN_REPORT_INFORMATION (pClsfr->hReport, CLSFR_MODULE_LOG,("Classifier DSCP_CLSFR found match - entry %d - qosTag = %d\n",i,pMsdu->qosTag));
344 if( (classifier_getIpAndUdpHeader(pClsfr, pMsdu, &pIpHeader, &pUdpHeader) != OK) ||
347 WLAN_REPORT_INFORMATION(pClsfr->hReport, CLSFR_MODULE_LOG,
358 for(i = 0; i<pClsfr->clsfrParameters.NumOfActiveEntries; i++ )
360 if (pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstPortNum == dstPortNum)
362 pMsdu->qosTag = pClsfr->clsfrParameters.ClsfrTable[i].DTag;
363 WLAN_REPORT_INFORMATION (pClsfr->hReport, CLSFR_MODULE_LOG,("Classifier PORT_CLSFR found match - entry %d - qosTag = %d\n",i,pMsdu->qosTag));
370 if( (classifier_getIpAndUdpHeader(pClsfr, pMsdu, &pIpHeader, &pUdpHeader) != OK) ||
373 WLAN_REPORT_INFORMATION(pClsfr->hReport, CLSFR_MODULE_LOG,
393 for(i = 0; i<pClsfr->clsfrParameters.NumOfActiveEntries; i++ )
395 if ((pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstIPAddress == dstIPAdd)&&
396 ( pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstPortNum == dstPortNum))
398 pMsdu->qosTag = pClsfr->clsfrParameters.ClsfrTable[i].DTag;
399 WLAN_REPORT_INFORMATION (pClsfr->hReport, CLSFR_MODULE_LOG,("Classifier IPPORT_CLSFR found match - entry %d - qosTag = %d\n",i,pMsdu->qosTag));
408 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
423 * pClsfr: pointer to the classifier
436 static TI_STATUS classifier_getIpAndUdpHeader(classifier_t* pClsfr, mem_MSDU_T *pMsdu, UINT8 **pIpHeader, UINT8 **pUdpHeader)
448 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
456 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
466 WLAN_REPORT_INFORMATION(pClsfr->hReport, CLSFR_MODULE_LOG,
506 * pClsfr: pointer to the classifier
524 TI_STATUS Classifier_InsertClsfrEntry(classifier_t* pClsfr, UINT8 NumberOfEntries, clsfr_tableEntry_t *ConfigBufferPtr)
531 if(pClsfr == NULL)
536 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
541 avlEntries = (NUM_OF_CLSFR_TABLE_ENTRIES - (pClsfr->clsfrParameters.NumOfActiveEntries));
544 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
549 if (pClsfr->clsfrParameters.clsfrType == D_TAG_CLSFR)
551 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
561 switch (pClsfr->clsfrParameters.clsfrType)
569 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
575 for (j=0;j<pClsfr->clsfrParameters.NumOfActiveEntries;j++)
578 if (pClsfr->clsfrParameters.ClsfrTable[j].Dscp.CodePoint == pSrc[i].Dscp.CodePoint)
580 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
591 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].Dscp.CodePoint = pSrc[i].Dscp.CodePoint;
592 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].DTag = pSrc[i].DTag;
603 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
609 for (j=0;j<pClsfr->clsfrParameters.NumOfActiveEntries;j++)
612 if ((pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstPortNum == pSrc[i].Dscp.DstPortNum))
614 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
625 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].Dscp.DstPortNum = pSrc[i].Dscp.DstPortNum;
626 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].DTag = pSrc[i].DTag;
639 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
645 for (j=0;j<pClsfr->clsfrParameters.NumOfActiveEntries;j++)
648 if ( (pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstIPPort.DstIPAddress == pSrc[i].Dscp.DstIPPort.DstIPAddress) &&
649 (pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstIPPort.DstPortNum == pSrc[i].Dscp.DstIPPort.DstPortNum))
651 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
662 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].Dscp.DstIPPort.DstIPAddress = pSrc[i].Dscp.DstIPPort.DstIPAddress;
663 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].Dscp.DstIPPort.DstPortNum = pSrc[i].Dscp.DstIPPort.DstPortNum;
664 pClsfr->clsfrParameters.ClsfrTable[pClsfr->clsfrParameters.NumOfActiveEntries+i].DTag = pSrc[i].DTag;
670 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
676 pClsfr->clsfrParameters.NumOfActiveEntries = pClsfr->clsfrParameters.NumOfActiveEntries + NumberOfEntries;
689 * pClsfr: pointer to the classifier
695 TI_STATUS classifier_RemoveClsfrEntry(classifier_t* pClsfr, clsfr_tableEntry_t *ConfigBufferPtr)
699 if(pClsfr == NULL)
704 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
709 if (pClsfr->clsfrParameters.NumOfActiveEntries == 0)
711 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
716 if (pClsfr->clsfrParameters.clsfrType == D_TAG_CLSFR)
718 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
726 switch (pClsfr->clsfrParameters.clsfrType)
732 while ((i < pClsfr->clsfrParameters.NumOfActiveEntries) &&
733 ((pClsfr->clsfrParameters.ClsfrTable[i].Dscp.CodePoint != ConfigBufferPtr->Dscp.CodePoint) ||
734 (pClsfr->clsfrParameters.ClsfrTable[i].DTag != ConfigBufferPtr->DTag)))
740 if (i == pClsfr->clsfrParameters.NumOfActiveEntries)
742 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
748 if (pClsfr->clsfrParameters.NumOfActiveEntries > 1)
750 for (j = i; j < pClsfr->clsfrParameters.NumOfActiveEntries-1; j++)
753 pClsfr->clsfrParameters.ClsfrTable[j].Dscp.CodePoint = pClsfr->clsfrParameters.ClsfrTable[j+1].Dscp.CodePoint;
754 pClsfr->clsfrParameters.ClsfrTable[j].DTag = pClsfr->clsfrParameters.ClsfrTable[j+1].DTag;
764 while ((i < pClsfr->clsfrParameters.NumOfActiveEntries) &&
765 ((pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstPortNum != ConfigBufferPtr->Dscp.DstPortNum) ||
766 (pClsfr->clsfrParameters.ClsfrTable[i].DTag != ConfigBufferPtr->DTag)))
772 if (i == pClsfr->clsfrParameters.NumOfActiveEntries)
774 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
780 if (pClsfr->clsfrParameters.NumOfActiveEntries > 1)
782 for (j = i; j < pClsfr->clsfrParameters.NumOfActiveEntries-1; j++)
784 pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstPortNum = pClsfr->clsfrParameters.ClsfrTable[j+1].Dscp.DstPortNum;
785 pClsfr->clsfrParameters.ClsfrTable[j].DTag = pClsfr->clsfrParameters.ClsfrTable[j+1].DTag;
795 while ((i < pClsfr->clsfrParameters.NumOfActiveEntries) &&
796 ((pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstIPAddress != ConfigBufferPtr->Dscp.DstIPPort.DstIPAddress) ||
797 (pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstPortNum != ConfigBufferPtr->Dscp.DstIPPort.DstPortNum) ||
798 (pClsfr->clsfrParameters.ClsfrTable[i].DTag != ConfigBufferPtr->DTag)))
804 if (i == pClsfr->clsfrParameters.NumOfActiveEntries)
806 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
812 if (pClsfr->clsfrParameters.NumOfActiveEntries > 1)
814 for (j = i; j < pClsfr->clsfrParameters.NumOfActiveEntries-1; j++)
816 pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstIPPort.DstIPAddress = pClsfr->clsfrParameters.ClsfrTable[j+1].Dscp.DstIPPort.DstIPAddress;
817 pClsfr->clsfrParameters.ClsfrTable[j].Dscp.DstIPPort.DstPortNum = pClsfr->clsfrParameters.ClsfrTable[j+1].Dscp.DstIPPort.DstPortNum;
818 pClsfr->clsfrParameters.ClsfrTable[j].DTag = pClsfr->clsfrParameters.ClsfrTable[j+1].DTag;
825 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
831 pClsfr->clsfrParameters.NumOfActiveEntries--;
845 * pClsfr: pointer to the classifier
855 TI_STATUS Classifier_setClsfrType(classifier_t* pClsfr, clsfr_type_e newClsfrType)
857 if( pClsfr == NULL )
862 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
868 if ( pClsfr->clsfrParameters.clsfrType == newClsfrType)
870 WLAN_REPORT_WARNING(pClsfr->hReport, CLSFR_MODULE_LOG,
875 pClsfr->clsfrParameters.clsfrType = newClsfrType;
877 pClsfr->clsfrParameters.NumOfActiveEntries = 0;
882 TI_STATUS Classifier_getClsfrType (classifier_t* pClsfr, clsfrTypeAndSupport *newClsfrType)
884 if (pClsfr == NULL)
887 newClsfrType->ClsfrType = (ULONG)pClsfr->clsfrParameters.clsfrType;
898 * pClsfr: pointer to the classifier
912 TI_STATUS Classifier_deriveUserPriorityFromStream (classifier_t* pClsfr, STREAM_TRAFFIC_PROPERTIES *pStream)
917 if (pClsfr == NULL)
923 switch(pClsfr->clsfrParameters.clsfrType)
927 for(i = 0; i<pClsfr->clsfrParameters.NumOfActiveEntries; i++ )
929 if (pClsfr->clsfrParameters.ClsfrTable[i].Dscp.CodePoint == pStream->PktTag)
931 pStream->userPriority = pClsfr->clsfrParameters.ClsfrTable[i].DTag;
938 for(i = 0; i<pClsfr->clsfrParameters.NumOfActiveEntries; i++ )
940 if (pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstPortNum == pStream->dstPort)
942 pStream->userPriority = pClsfr->clsfrParameters.ClsfrTable[i].DTag;
950 for(i = 0; i<pClsfr->clsfrParameters.NumOfActiveEntries; i++ )
952 if ((pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstIPAddress == pStream->dstIpAddress)&&
953 ( pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstPortNum == pStream->dstPort))
955 pStream->userPriority = pClsfr->clsfrParameters.ClsfrTable[i].DTag;
961 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,
974 TI_STATUS Classifier_dbgPrintClsfrTable (classifier_t* pClsfr)
979 if(pClsfr == NULL)
982 if (pClsfr->clsfrParameters.clsfrType == D_TAG_CLSFR)
988 WLAN_OS_REPORT (("Number of active entries in classifier table : %d\n",pClsfr->clsfrParameters.NumOfActiveEntries));
990 switch (pClsfr->clsfrParameters.clsfrType)
997 for (i=0; i< pClsfr->clsfrParameters.NumOfActiveEntries ; i++)
999 WLAN_OS_REPORT (("| %5d | %5d |\n",pClsfr->clsfrParameters.ClsfrTable[i].Dscp.CodePoint,pClsfr->clsfrParameters.ClsfrTable[i].DTag));
1009 for (i=0; i< pClsfr->clsfrParameters.NumOfActiveEntries ; i++)
1011 WLAN_OS_REPORT (("| %5d | %5d |\n",pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstPortNum,pClsfr->clsfrParameters.ClsfrTable[i].DTag));
1022 for (i=0; i< pClsfr->clsfrParameters.NumOfActiveEntries ; i++)
1024 tmpIpAddr = pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstIPAddress;
1025 WLAN_OS_REPORT (("| %02x.%02x.%02x.%02x | %5d | %5d |\n",(tmpIpAddr & 0xFF),((tmpIpAddr >> 8) & (0xFF)),((tmpIpAddr >> 16) & (0xFF)),((tmpIpAddr >> 24) & (0xFF)),pClsfr->clsfrParameters.ClsfrTable[i].Dscp.DstIPPort.DstPortNum,pClsfr->clsfrParameters.ClsfrTable[i].DTag));
1031 WLAN_REPORT_ERROR(pClsfr->hReport, CLSFR_MODULE_LOG,