/* fill in MAC rx frame stats */
                for (k += 6; k < 80; k += 2)
                        data = qlcnic_83xx_copy_stats(cmd, data, k);
+               /* fill in eSwitch stats */
+               for (; k < total_regs; k += 2)
+                       data = qlcnic_83xx_copy_stats(cmd, data, k);
                break;
        case QLC_83XX_STAT_RX:
                for (k = 2; k < 8; k += 2)
 
 #define QLC_83XX_STAT_MAC      1
 #define QLC_83XX_TX_STAT_REGS  14
 #define QLC_83XX_RX_STAT_REGS  40
-#define QLC_83XX_MAC_STAT_REGS 80
+#define QLC_83XX_MAC_STAT_REGS 94
 
 #define QLC_83XX_GET_FUNC_PRIVILEGE(VAL, FN)   (0x3 & ((VAL) >> (FN * 2)))
 #define QLC_83XX_SET_FUNC_OPMODE(VAL, FN)      ((VAL) << (FN * 2))
 
        "mac_rx_dropped",
        "mac_crc_error",
        "mac_align_error",
+       "eswitch_frames",
+       "eswitch_bytes",
+       "eswitch_multicast_frames",
+       "eswitch_broadcast_frames",
+       "eswitch_unicast_frames",
+       "eswitch_error_free_frames",
+       "eswitch_error_free_bytes",
 };
 
 #define QLCNIC_STATS_LEN       ARRAY_SIZE(qlcnic_gstrings_stats)