blob: 6ce03238f9259d21bd43a314069208e44d381d1a [file] [log] [blame]
/* FILE NAME: air_mib.h
* PURPOSE:
* Define the MIB counter function in AIR SDK.
*
* NOTES:
* None
*/
#ifndef AIR_MIB_H
#define AIR_MIB_H
/* INCLUDE FILE DECLARATIONS
*/
#define MIB_ALL_ITEM 0xFFFFFFFF
#define AIR_MIB_MAX_ACL_EVENT_NUM (64)
#define CSR_ACL_MIB_SEL_OFFSET (4)
/* NAMING CONSTANT DECLARATIONS
*/
typedef struct AIR_MIB_CNT_TX_S
{
UI32_T TDPC; /* TX Drop Packet */
UI32_T TCRC; /* TX CRC Packet */
UI32_T TUPC; /* TX Unicast Packet */
UI32_T TMPC; /* TX Multicast Packet */
UI32_T TBPC; /* TX Broadcast Packet */
UI32_T TCEC; /* TX Collision Event Count */
UI32_T TSCEC; /* TX Single Collision Event Count */
UI32_T TMCEC; /* TX Multiple Conllision Event Count */
UI32_T TDEC; /* TX Deferred Event Count */
UI32_T TLCEC; /* TX Late Collision Event Count */
UI32_T TXCEC; /* TX Excessive Collision Event Count */
UI32_T TPPC; /* TX Pause Packet */
UI32_T TL64PC; /* TX Packet Length 64 bytes */
UI32_T TL65PC; /* TX Packet Length 65 ~ 127 bytes */
UI32_T TL128PC; /* TX Packet Length 128 ~ 255 bytes */
UI32_T TL256PC; /* TX Packet Length 256 ~ 511 bytes */
UI32_T TL512PC; /* TX Packet Length 512 ~ 1023 bytes */
UI32_T TL1024PC; /* TX Packet Length 1024 ~ 1518 bytes */
UI32_T TL1519PC; /* TX Packet Length 1519 ~ max bytes */
UI32_T TODPC; /* TX Oversize Drop Packet */
UI64_T TOC; /* TX Octets good or bad packtes determined by TX_OCT_CNT_GOOD or TX_OCT_CNT_BAD(64 bit-width)*/
UI64_T TOC2; /* TX Octets bad packets (64 bit-width)*/
}AIR_MIB_CNT_TX_T;
typedef struct AIR_MIB_CNT_RX_S
{
UI32_T RDPC; /* RX Drop Packet */
UI32_T RFPC; /* RX filtering Packet */
UI32_T RUPC; /* RX Unicast Packet */
UI32_T RMPC; /* RX Multicast Packet */
UI32_T RBPC; /* RX Broadcast Packet */
UI32_T RAEPC; /* RX Alignment Error Packet */
UI32_T RCEPC; /* RX CRC Packet */
UI32_T RUSPC; /* RX Undersize Packet */
UI32_T RFEPC; /* RX Fragment Error Packet */
UI32_T ROSPC; /* RX Oversize Packet */
UI32_T RJEPC; /* RX Jabber Error Packet */
UI32_T RPPC; /* RX Pause Packet */
UI32_T RL64PC; /* RX Packet Length 64 bytes */
UI32_T RL65PC; /* RX Packet Length 65 ~ 127 bytes */
UI32_T RL128PC; /* RX Packet Length 128 ~ 255 bytes */
UI32_T RL256PC; /* RX Packet Length 256 ~ 511 bytes */
UI32_T RL512PC; /* RX Packet Length 512 ~ 1023 bytes */
UI32_T RL1024PC; /* RX Packet Length 1024 ~ 1518 bytes */
UI32_T RL1519PC; /* RX Packet Length 1519 ~ max bytes */
UI32_T RCDPC; /* RX_CTRL Drop Packet */
UI32_T RIDPC; /* RX Ingress Drop Packet */
UI32_T RADPC; /* RX ARL Drop Packet */
UI32_T FCDPC; /* FLow Control Drop Packet */
UI32_T WRDPC; /* WRED Drop Packtet */
UI32_T MRDPC; /* Mirror Drop Packet */
UI32_T SFSPC; /* RX sFlow Sampling Packet */
UI32_T SFTPC; /* Rx sFlow Total Packet */
UI32_T RXC_DPC; /* Port Control Drop Packet */
UI64_T ROC; /* RX Octets good or bad packtes determined by TX_OCT_CNT_GOOD or TX_OCT_CNT_BAD (64 bit-width)*/
UI64_T ROC2; /* RX Octets bad packets (64 bit-width)*/
}AIR_MIB_CNT_RX_T;
/* MACRO FUNCTION DECLARATIONS
*/
/* DATA TYPE DECLARATIONS
*/
/* EXPORTED SUBPROGRAM SPECIFICATIONS
*/
/* FUNCTION NAME: air_mib_setEnable
* PURPOSE:
* Enable or Disable mib count fucntion.
*
* INPUT:
* unit -- Device ID
* mib_en -- enable or disable mib_en
*
* OUTPUT:
* None
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
AIR_ERROR_NO_T
air_mib_setEnable(
const UI32_T unit,
const BOOL_T mib_en);
/* FUNCTION NAME: air_mib_getEnable
* PURPOSE:
* Enable or Disable mib count fucntion.
*
* INPUT:
* unit -- Device ID
*
* OUTPUT:
* mib_en -- enable or disable mib_en
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
AIR_ERROR_NO_T
air_mib_getEnable(
const UI32_T unit,
BOOL_T *mib_en);
/* FUNCTION NAME: air_mib_clear
* PURPOSE:
* Clear all counters of all MIB counters.
*
* INPUT:
* unit -- Device ID
*
* OUTPUT:
* None
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
AIR_ERROR_NO_T
air_mib_clear(
const UI32_T unit);
/* FUNCTION NAME: air_mib_clear_by_port
* PURPOSE:
* Clear all counters of all MIB counters.
*
* INPUT:
* unit -- Device ID
* port -- clear port number
*
* OUTPUT:
* None
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
AIR_ERROR_NO_T
air_mib_clear_by_port(
const UI32_T unit,
const UI32_T port);
/* FUNCTION NAME: air_mib_clearAclEvent
* PURPOSE:
* Clear all counters of ACL event
*
* INPUT:
* unit -- Device ID
*
* OUTPUT:
* None
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
/* FUNCTION NAME: air_mib_get
* PURPOSE:
* Get the structure of MIB counter for a specific port.
*
* INPUT:
* unit -- Device ID
* port -- Index of port number
*
* OUTPUT:
* ptr_rx_mib -- MIB Counters of Rx Event
* ptr_tx_mib -- MIB Counters of Tx Event
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
AIR_ERROR_NO_T
air_mib_get(
const UI32_T unit,
const UI32_T port,
AIR_MIB_CNT_RX_T *ptr_rx_mib,
AIR_MIB_CNT_TX_T *ptr_tx_mib);
AIR_ERROR_NO_T
air_mib_clearAclEvent(
const UI32_T unit);
/* FUNCTION NAME: air_mib_getAclEvent
* PURPOSE:
* Get the total number of ACL event occurred.
*
* INPUT:
* unit -- Device ID
* idx -- Index of ACL event
*
* OUTPUT:
* ptr_cnt -- The total number of ACL event occured
*
* RETURN:
* AIR_E_OK
* AIR_E_BAD_PARAMETER
*
* NOTES:
* None
*/
AIR_ERROR_NO_T
air_mib_getAclEvent(
const UI32_T unit,
const UI32_T idx,
UI32_T *ptr_cnt);
#endif /* End of AIR_MIB_H */