d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#ifndef _COMMON_UIF_H
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define _COMMON_UIF_H
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*
d14abf155341d55053c76eeec58b787a456b753bRobert MustacchiI M P O R T A N T
d14abf155341d55053c76eeec58b787a456b753bRobert MustacchiBEFORE YOU MODIFY THESE STRUCTS:
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchiplease make sure that DIAG was updated accordingly.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchiwindiag\ediag should be checked to compile and run correctly
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchimodification is in file: tcl_driver.c, function: driver_init_stats_object, macros: REGISTER_STAT_FIELD
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi*/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Hardware statistics structure for B10_IOC_GET_L2_CHIP_STATISTICS
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_l2_chip_statistics_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define L2_CHIP_STATISTICS_VER_NUM_1 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define L2_CHIP_STATISTICS_VER_NUM_2 2
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define L2_CHIP_STATISTICS_VER_NUM_3 3
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInOctets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInBadOctets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutOctets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutBadOctets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutPkts ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInPkts ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInUcastPkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInMulticastPkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInBroadcastPkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutUcastPkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutMulticastPkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutBroadcastPkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInUcastOctets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInMulticastOctets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInBroadcastOctets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutUcastOctets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutMulticastOctets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutBroadcastOctets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCOutDiscards ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfHCInFalseCarrierErrors ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsInternalMacTransmitErrors;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsCarrierSenseErrors;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsFCSErrors;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsAlignmentErrors;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsSingleCollisionFrames;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsMultipleCollisionFrames;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsDeferredTransmissions;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsExcessiveCollisions;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Dot3StatsLateCollisions;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsCollisions;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsFragments;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsJabbers;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsUndersizePkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsOverrsizePkts;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTx64Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTx65Octetsto127Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTx128Octetsto255Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTx256Octetsto511Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTx512Octetsto1023Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTx1024Octetsto1522Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t EtherStatsPktsTxOver1522Octets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t XonPauseFramesReceived;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t XoffPauseFramesReceived;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutXonSent;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutXoffSent;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t FlowControlDone;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t MacControlFramesReceived;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t XoffStateEntered;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInFramesL2FilterDiscards;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInTTL0Discards ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInxxOverflowDiscards ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInMBUFDiscards;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInErrors;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInErrorsOctets;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t IfInNoBrbBuffer;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved0 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved1 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved2 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved3 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // Nig statistics
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_brb_packet ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_brb_truncate ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_flow_ctrl_discard ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_flow_ctrl_octets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_flow_ctrl_packet ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_mng_discard ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_mng_octet_inp ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_mng_octet_out ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_mng_packet_inp ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_mng_packet_out ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_pbf_octets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_pbf_packet ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Nig_safc_inp ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_l2_chip_statistics_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_l2_chip_statistics_v2_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi struct _b10_l2_chip_statistics_t v1;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi struct _v2
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi {
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t Tx_lpi_count; // This counter counts the number of timers the debounced version of EEE link idle is asserted�
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi } v2;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_l2_chip_statistics_v2_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_l2_chip_statistics_v3_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi struct _b10_l2_chip_statistics_v2_t v2;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi struct _v3
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi {
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t coalesced_pkts /* the number of packets coalesced in all aggregations */;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t coalesced_bytes /* the number of bytes coalesced in all aggregations */;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t coalesced_events /* the number of aggregations */;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t coalesced_aborts /* the number of exception which avoid aggregation */;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi } v3;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_l2_chip_statistics_v3_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Hardware statistics structure for B10_IOC_GET_L4_CHIP_STATISTICS
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_l4_chip_statistics_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define L4_CHIP_STATISTISTCS_VER_NUM 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t NoTxCqes ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InTCP4Segments ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutTCP4Segments ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RetransmittedTCP4Segments ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InTCP4Errors ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP4Receives ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP4HeaderErrors ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP4Discards ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP4Delivers ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP4Octets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutIP4Octets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP4TruncatedPackets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InTCP6Segments ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutTCP6Segments ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RetransmittedTCP6Segments ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InTCP6Errors ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP6Receives ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP6HeaderErrors ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP6Discards ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP6Delivers ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP6Octets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutIP6Octets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIP6TruncatedPackets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved0 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved1 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved2 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved3 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_l4_chip_statistics_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Driver statistics structure for B10_IOC_GET_L2_DRIVER_STATISTICS
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_l2_driver_statistics_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define L2_DRIVER_STATISTISTCS_VER_NUM 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxIPv4FragCount;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxIpCsErrorCount;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxTcpCsErrorCount;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxLlcSnapCount;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxPhyErrorCount;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxIpv6ExtCount;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t TxNoL2Bd;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t TxNoSqWqe;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t TxL2AssemblyBufUse;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved0 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved1 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved2 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved3 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_l2_driver_statistics_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Driver statistics structure for B10_IOC_GET_L4_DRIVER_STATISTICS
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_l4_driver_statistics_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define L4_DRIVER_STATISTISTCS_VER_NUM 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t CurrentlyIpv4Established ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutIpv4Resets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutIpv4Fin ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIpv4Reset ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIpv4Fin ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t CurrentlyIpv6Established ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutIpv6Resets ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t OutIpv6Fin ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIpv6Reset ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t InIpv6Fin ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxIndicateReturnPendingCnt;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxIndicateReturnDoneCnt;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t RxActiveGenBufCnt;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t TxNoL4Bd;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t TxL4AssemblyBufUse ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved0 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved1 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved2 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved3 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_l4_driver_statistics_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Driver statistics structure for B10_IOC_GET_DRIVER_STATISTICS.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_driver_statistics_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define DRIVER_STATISTISTCS_VER_NUM 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t tx_lso_frames; // supported
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t tx_aborted; // supported
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t tx_no_bd;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t tx_no_desc;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t tx_no_coalesce_buf; // supported
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t tx_no_map_reg;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_aborted; // supported
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_err;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_crc;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_phy_err;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_alignment;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_short_packet;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t rx_giant_packet;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved0 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved1 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved2 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi //u64_t Reserved3 ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_driver_statistics_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define DCBX_CONFIG_INV_VALUE (0xFFFFFFFF)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchienum
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi OVERWRITE_SETTINGS_DISABLE = 0,
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi OVERWRITE_SETTINGS_ENABLE = 1,
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi OVERWRITE_SETTINGS_INVALID = DCBX_CONFIG_INV_VALUE
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi};
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * LLDP protocol registry configuration parameters.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _config_lldp_params_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t overwrite_settings;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t msg_tx_hold;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t msg_fast_tx;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t tx_credit_max;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t msg_tx_interval;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t tx_fast;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}config_lldp_params_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * LLDP structure for B10_IOC_GET_LLDP_PARAMS.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_lldp_params_get_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define LLDP_PARAMS_VER_NUM 2
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi config_lldp_params_t config_lldp_params;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // The reserved field should follow in case the struct above will increase
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t _reserved[50];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_status;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define LLDP_TX_ONLY 0x01
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define LLDP_RX_ONLY 0x02
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define LLDP_TX_RX 0x03
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define LLDP_DISABLED 0x04
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_chassis_id[65];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_port_id[65];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_chassis_id[2];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_port_id[2];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}b10_lldp_params_get_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * DCBX protocol registry configuration parameters.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _admin_priority_app_table_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t valid;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t priority;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define INVALID_TRAFFIC_TYPE_PRIORITY (0xFFFFFFFF)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t traffic_type;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define TRAFFIC_TYPE_ETH 0
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define TRAFFIC_TYPE_PORT 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t app_id;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}admin_priority_app_table_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _config_dcbx_params_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t dcb_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_dcbx_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // "admin_dcbx_enable" and "dcb_enable" are stand alone registry keys(if present
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // will always be valid and not ignored), for all other DCBX registry set only
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // if the entire DCBX registry set is present and differ from 0xFFFFFFFF (invalid
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // value) the DCBX registry parameters are taken, otherwise the registry key set
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // is ignored.)(Expect "admin_dcbx_enable" and "dcb_enable")
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t overwrite_settings;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_dcbx_version;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define ADMIN_DCBX_VERSION_CEE 0
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define ADMIN_DCBX_VERSION_IEEE 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_ets_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_pfc_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_tc_supported_tx_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_ets_configuration_tx_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_ets_recommendation_tx_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_pfc_tx_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_application_priority_tx_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_ets_willing;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_ets_reco_valid;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_pfc_willing;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_app_priority_willing;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_configuration_bw_percentage[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_configuration_ets_pg[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_recommendation_bw_percentage[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_recommendation_ets_pg[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_pfc_bitmap;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi admin_priority_app_table_t admin_priority_app_table[4];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t admin_default_priority;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}config_dcbx_params_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * DCBX structure for B10_IOC_GET_DCBX_PARAMS.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_dcbx_params_get_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define DCBX_PARAMS_VER_NUM 4
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi config_dcbx_params_t config_dcbx_params;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // The reserved field should follow in case the struct above will increase
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t _reserved[49];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t dcb_current_oper_state_bitmap;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define DCBX_CURRENT_STATE_IS_SYNC (1 << 0)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define PFC_IS_CURRENTLY_OPERATIONAL (1 << 1)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define ETS_IS_CURRENTLY_OPERATIONAL (1 << 2)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define PRIORITY_TAGGING_IS_CURRENTLY_OPERATIONAL (1 << 3)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define DRIVER_CONFIGURED_BY_OS_QOS (1 << 4)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define DRIVER_CONFIGURED_BY_OS_QOS_TO_WILLING (1 << 5)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_tc_supported;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_pfc_caps;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_tc_supported;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_pfc_cap;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_ets_willing;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_ets_reco_valid;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_pfc_willing;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_app_priority_willing;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_configuration_bw_percentage[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_configuration_ets_pg[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_recommendation_bw_percentage[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_recommendation_ets_pg[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t remote_pfc_bitmap;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi admin_priority_app_table_t remote_priority_app_table[16];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_ets_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_pfc_enable;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_configuration_bw_percentage[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_configuration_ets_pg[8];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t local_pfc_bitmap;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi admin_priority_app_table_t local_priority_app_table[16];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t pfc_mismatch;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t priority_app_mismatch;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t dcbx_frames_sent;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t dcbx_frames_received;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t pfc_frames_sent;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u64_t pfc_frames_received;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}b10_dcbx_params_get_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Transceiver Data B10_IOC_GET_TRANSCEIVER_DATA
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _b10_transceiver_data_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t ver_num;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define TRANSCEIVER_DATA_VER_NUM 1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t _pad[3];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi // NOTE: All these strings are ASCII buffers without trailing NULL '\0'
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t vendor_name[16]; // ELINK_SFP_EEPROM_VENDOR_NAME_ADDR
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t model_num[16]; // ELINK_SFP_EEPROM_PART_NO_ADDR
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t serial_num[16]; // ELINK_SFP_EEPROM_SERIAL_ADDR
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t revision_num[4]; // ELINK_SFP_EEPROM_REVISION_ADDR
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t mfg_date[6]; // ELINK_SFP_EEPROM_DATE_ADDR
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t _pad_[2];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t reserved[40];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} b10_transceiver_data_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#endif // _COMMON_UIF_H