summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h
diff options
context:
space:
mode:
authorMandy Lavi <mandy.lavi@freescale.com>2013-07-30 11:26:03 (GMT)
committerSchmitt Richard-B43082 <B43082@freescale.com>2013-08-08 20:26:06 (GMT)
commit605d2ad9a561593fa1187b72568fc9b353815a2f (patch)
tree901df93e4979534f328dedc1e9def9529d92d3ad /drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h
parent963ad71d782051f37f4bf7b937798d069a01ad3e (diff)
downloadlinux-fsl-qoriq-605d2ad9a561593fa1187b72568fc9b353815a2f.tar.xz
fmd: support retrieval of more statistics counters
- miss entry in a CC Node - miss entry in the hash table Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: Iacbebff6f8f7ef1fa9c97b24d1072515f5098860 Reviewed-on: http://git.am.freescale.net:8181/3828 Reviewed-by: Lavi Mandy-R52568 <Mandy.Lavi@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h')
-rw-r--r--drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h56
1 files changed, 51 insertions, 5 deletions
diff --git a/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h b/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h
index 60edfd2..d9bea95 100644
--- a/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h
+++ b/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h
@@ -1068,7 +1068,9 @@ typedef enum e_FmPcdPlcrRateMode {
*//***************************************************************************/
typedef enum e_FmPcdDoneAction {
e_FM_PCD_ENQ_FRAME = 0, /**< Enqueue frame */
- e_FM_PCD_DROP_FRAME /**< Drop frame */
+ e_FM_PCD_DROP_FRAME /**< Mark this frame as error frame and continue
+ to error flow; 'FM_PORT_FRM_ERR_CLS_DISCARD'
+ flag will be set for this frame. */
} e_FmPcdDoneAction;
/**************************************************************************//**
@@ -2080,8 +2082,7 @@ typedef struct t_FmPcdPlcrProfileParams {
/**************************************************************************//**
@Description Parameters for selecting a location for requested manipulation
*//***************************************************************************/
-typedef struct t_FmManipHdrInfo
-{
+typedef struct t_FmManipHdrInfo {
e_NetHeaderType hdr; /**< Header selection */
e_FmPcdHdrIndex hdrIndex; /**< Relevant only for MPLS, VLAN and tunneled IP. Otherwise should be cleared. */
bool byField; /**< TRUE if the location of manipulation is according to some field in the specific header*/
@@ -2575,7 +2576,7 @@ typedef struct t_FmPcdManipParams {
*//***************************************************************************/
typedef struct t_FmPcdManipReassemIpStats {
/* common counters for both IPv4 and IPv6 */
- uint32_t timeout; /**< Counts the number of TimeOut occurrences */
+ uint32_t timeout; /**< Counts the number of timeout occurrences */
uint32_t rfdPoolBusy; /**< Counts the number of failed attempts to allocate
a Reassembly Frame Descriptor */
uint32_t internalBufferBusy; /**< Counts the number of times an internal buffer busy occurred */
@@ -2942,7 +2943,8 @@ t_Error FM_PCD_MatchTableDelete(t_Handle h_CcNode);
@Return E_OK on success; Error code otherwise.
- @Cautions Allowed only following FM_PCD_MatchTableSet().
+ @Cautions Allowed only following FM_PCD_MatchTableSet();
+ Not relevant in the case the node is of type 'INDEXED_LOOKUP'.
*//***************************************************************************/
t_Error FM_PCD_MatchTableModifyMissNextEngine(t_Handle h_CcNode,
t_FmPcdCcNextEngineParams *p_FmPcdCcNextEngineParams);
@@ -3195,6 +3197,29 @@ t_Error FM_PCD_MatchTableGetKeyStatistics(t_Handle h_CcNode,
t_FmPcdCcKeyStatistics *p_KeyStatistics);
/**************************************************************************//**
+ @Function FM_PCD_MatchTableGetMissStatistics
+
+ @Description This routine may be used to get statistics counters of miss entry
+ in a CC Node.
+
+ If 'e_FM_PCD_CC_STATS_MODE_FRAME' and
+ 'e_FM_PCD_CC_STATS_MODE_BYTE_AND_FRAME' were set for this node,
+ these counters reflect how many frames were not matched to any
+ existing key and therefore passed through the miss entry; The
+ total frames count will be returned in the counter of the
+ first range (as only one frame length range was defined).
+
+ @Param[in] h_CcNode A handle to the node
+ @Param[out] p_MissStatistics Statistics counters for 'miss'
+
+ @Return The statistics for 'miss'.
+
+ @Cautions Allowed only following FM_PCD_MatchTableSet().
+*//***************************************************************************/
+t_Error FM_PCD_MatchTableGetMissStatistics(t_Handle h_CcNode,
+ t_FmPcdCcKeyStatistics *p_MissStatistics);
+
+/**************************************************************************//**
@Function FM_PCD_MatchTableFindNGetKeyStatistics
@Description This routine may be used to get statistics counters of specific key
@@ -3446,6 +3471,27 @@ t_Error FM_PCD_HashTableFindNGetKeyStatistics(t_Handle h_HashTbl
t_FmPcdCcKeyStatistics *p_KeyStatistics);
/**************************************************************************//**
+ @Function FM_PCD_HashTableGetMissStatistics
+
+ @Description This routine may be used to get statistics counters of 'miss'
+ entry of the a hash table.
+
+ If 'e_FM_PCD_CC_STATS_MODE_FRAME' and
+ 'e_FM_PCD_CC_STATS_MODE_BYTE_AND_FRAME' were set for this node,
+ these counters reflect how many frames were not matched to any
+ existing key and therefore passed through the miss entry;
+
+ @Param[in] h_HashTbl A handle to a hash table
+ @Param[out] p_MissStatistics Statistics counters for 'miss'
+
+ @Return The statistics for 'miss'.
+
+ @Cautions Allowed only following FM_PCD_HashTableSet().
+*//***************************************************************************/
+t_Error FM_PCD_HashTableGetMissStatistics(t_Handle h_HashTbl,
+ t_FmPcdCcKeyStatistics *p_MissStatistics);
+
+/**************************************************************************//**
@Function FM_PCD_ManipNodeSet
@Description This routine should be called for defining a manipulation