static void mvEthMibPrint(int port, MV_U32 offset, char *mib_name) { MV_U32 regVaLo, regValHi = 0; regVaLo = mvEthMibCounterRead(port, offset, ®ValHi); if (!regValHi) mvOsPrintf(" %-32s: %u\n", mib_name, regVaLo); else mvOsPrintf(" t%-32s: 0x%08x%08x\n", mib_name, regValHi, regVaLo); }
/* Print RMON counters of the Ethernet port */ void ethPortRmonCounters(int port) { void* pHndl; pHndl = mvEthPortHndlGet(port); if(pHndl == NULL) return; mvOsPrintf("\n\t Port #%d RMON MIB Counters\n\n", port); mvOsPrintf("64 ByteFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_FRAMES_64_OCTETS, NULL)); mvOsPrintf("65...127 ByteFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_FRAMES_65_TO_127_OCTETS, NULL)); mvOsPrintf("128...255 ByteFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_FRAMES_128_TO_255_OCTETS, NULL)); mvOsPrintf("256...511 ByteFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_FRAMES_256_TO_511_OCTETS, NULL)); mvOsPrintf("512...1023 ByteFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_FRAMES_512_TO_1023_OCTETS, NULL)); mvOsPrintf("1024...Max ByteFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_FRAMES_1024_TO_MAX_OCTETS, NULL)); }
/* Print counters of the Ethernet port */ void ethPortCounters(int port) { MV_U32 regValue, regValHigh; void* pHndl; pHndl = mvEthPortHndlGet(port); if(pHndl == NULL) return; mvOsPrintf("\n\t Port #%d MIB Counters\n\n", port); mvOsPrintf("GoodFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_GOOD_FRAMES_RECEIVED, NULL)); mvOsPrintf("BadFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_BAD_FRAMES_RECEIVED, NULL)); mvOsPrintf("BroadcastFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_BROADCAST_FRAMES_RECEIVED, NULL)); mvOsPrintf("MulticastFramesReceived = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_MULTICAST_FRAMES_RECEIVED, NULL)); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_GOOD_OCTETS_RECEIVED_LOW, ®ValHigh); mvOsPrintf("GoodOctetsReceived = 0x%08x%08x\n", regValHigh, regValue); mvOsPrintf("\n"); mvOsPrintf("GoodFramesSent = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_GOOD_FRAMES_SENT, NULL)); mvOsPrintf("BroadcastFramesSent = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_BROADCAST_FRAMES_SENT, NULL)); mvOsPrintf("MulticastFramesSent = %u\n", mvEthMibCounterRead(pHndl, ETH_MIB_MULTICAST_FRAMES_SENT, NULL)); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_GOOD_OCTETS_SENT_LOW, ®ValHigh); mvOsPrintf("GoodOctetsSent = 0x%08x%08x\n", regValHigh, regValue); mvOsPrintf("\n\t FC Control Counters\n"); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_UNREC_MAC_CONTROL_RECEIVED, NULL); mvOsPrintf("UnrecogMacControlReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_GOOD_FC_RECEIVED, NULL); mvOsPrintf("GoodFCFramesReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_BAD_FC_RECEIVED, NULL); mvOsPrintf("BadFCFramesReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_FC_SENT, NULL); mvOsPrintf("FCFramesSent = %u\n", regValue); mvOsPrintf("\n\t RX Errors\n"); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_BAD_OCTETS_RECEIVED, NULL); mvOsPrintf("BadOctetsReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_UNDERSIZE_RECEIVED, NULL); mvOsPrintf("UndersizeFramesReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_FRAGMENTS_RECEIVED, NULL); mvOsPrintf("FragmentsReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_OVERSIZE_RECEIVED, NULL); mvOsPrintf("OversizeFramesReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_JABBER_RECEIVED, NULL); mvOsPrintf("JabbersReceived = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_MAC_RECEIVE_ERROR, NULL); mvOsPrintf("MacReceiveErrors = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_BAD_CRC_EVENT, NULL); mvOsPrintf("BadCrcReceived = %u\n", regValue); mvOsPrintf("\n\t TX Errors\n"); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_INTERNAL_MAC_TRANSMIT_ERR, NULL); mvOsPrintf("TxMacErrors = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_EXCESSIVE_COLLISION, NULL); mvOsPrintf("TxExcessiveCollisions = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_COLLISION, NULL); mvOsPrintf("TxCollisions = %u\n", regValue); regValue = mvEthMibCounterRead(pHndl, ETH_MIB_LATE_COLLISION, NULL); mvOsPrintf("TxLateCollisions = %u\n", regValue); mvOsPrintf("\n"); regValue = MV_REG_READ( ETH_RX_DISCARD_PKTS_CNTR_REG(port)); mvOsPrintf("Rx Discarded packets counter = %u\n", regValue); regValue = MV_REG_READ(ETH_RX_OVERRUN_PKTS_CNTR_REG(port)); mvOsPrintf("Rx Overrun packets counter = %u\n", regValue); }