Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 01:11:32 +0000 (UTC)
From:      David C Somayajulu <davidcs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r293798 - stable/7/sys/dev/bxe
Message-ID:  <201601130111.u0D1BWYa044276@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: davidcs
Date: Wed Jan 13 01:11:32 2016
New Revision: 293798
URL: https://svnweb.freebsd.org/changeset/base/293798

Log:
  MFC r292638
        Check for packet_length is greater than 60 bytes as well as packet_length is
        greater than len_on_bd, before invoking the routine to handle jumbo over SGL
        (bxe_service_rxsgl()).
        Add counters for number of jumbo_over_SGL packets (rx_bxe_service_rxsgl) and
        erroneous jumbo_over_SGL packets (rx_erroneous_jumbo_sge_pkts)
  
        Fix formatting in bxe_sysctl_state()

Modified:
  stable/7/sys/dev/bxe/bxe.c
  stable/7/sys/dev/bxe/bxe_stats.c
  stable/7/sys/dev/bxe/bxe_stats.h
Directory Properties:
  stable/7/   (props changed)
  stable/7/sys/   (props changed)

Modified: stable/7/sys/dev/bxe/bxe.c
==============================================================================
--- stable/7/sys/dev/bxe/bxe.c	Wed Jan 13 01:09:32 2016	(r293797)
+++ stable/7/sys/dev/bxe/bxe.c	Wed Jan 13 01:11:32 2016	(r293798)
@@ -483,6 +483,10 @@ static const struct {
                 4, STATS_FLAGS_FUNC, "rx_pkts"},
     { STATS_OFFSET32(rx_tpa_pkts),
                 4, STATS_FLAGS_FUNC, "rx_tpa_pkts"},
+    { STATS_OFFSET32(rx_erroneous_jumbo_sge_pkts),
+                4, STATS_FLAGS_FUNC, "rx_erroneous_jumbo_sge_pkts"},
+    { STATS_OFFSET32(rx_bxe_service_rxsgl),
+                4, STATS_FLAGS_FUNC, "rx_bxe_service_rxsgl"},
     { STATS_OFFSET32(rx_jumbo_sge_pkts),
                 4, STATS_FLAGS_FUNC, "rx_jumbo_sge_pkts"},
     { STATS_OFFSET32(rx_soft_errors),
@@ -596,6 +600,10 @@ static const struct {
                 4, "rx_pkts"},
     { Q_STATS_OFFSET32(rx_tpa_pkts),
                 4, "rx_tpa_pkts"},
+    { Q_STATS_OFFSET32(rx_erroneous_jumbo_sge_pkts),
+                4, "rx_erroneous_jumbo_sge_pkts"},
+    { Q_STATS_OFFSET32(rx_bxe_service_rxsgl),
+                4, "rx_bxe_service_rxsgl"},
     { Q_STATS_OFFSET32(rx_jumbo_sge_pkts),
                 4, "rx_jumbo_sge_pkts"},
     { Q_STATS_OFFSET32(rx_soft_errors),
@@ -3486,11 +3494,14 @@ bxe_rxeof(struct bxe_softc    *sc,
         m_adj(m, pad);
         m->m_pkthdr.len = m->m_len = len;
 
-        if (len != lenonbd){
+        if ((len > 60) && (len > lenonbd)) {
+            fp->eth_q_stats.rx_bxe_service_rxsgl++;
             rc = bxe_service_rxsgl(fp, len, lenonbd, m, cqe_fp);
             if (rc)
                 break;
             fp->eth_q_stats.rx_jumbo_sge_pkts++;
+        } else if (lenonbd < len) {
+            fp->eth_q_stats.rx_erroneous_jumbo_sge_pkts++;
         }
 
         /* assign packet to this interface interface */
@@ -16165,12 +16176,12 @@ bxe_sysctl_state(SYSCTL_HANDLER_ARGS)
     }
 
     if (result == 1) {
-	uint32_t  temp;
+        uint32_t  temp;
         sc = (struct bxe_softc *)arg1;
 
         BLOGI(sc, "... dumping driver state ...\n");
-	temp = SHMEM2_RD(sc, temperature_in_half_celsius);
-	BLOGI(sc, "\t Device Temperature = %d Celsius\n", (temp/2));
+        temp = SHMEM2_RD(sc, temperature_in_half_celsius);
+        BLOGI(sc, "\t Device Temperature = %d Celsius\n", (temp/2));
     }
 
     return (error);

Modified: stable/7/sys/dev/bxe/bxe_stats.c
==============================================================================
--- stable/7/sys/dev/bxe/bxe_stats.c	Wed Jan 13 01:09:32 2016	(r293797)
+++ stable/7/sys/dev/bxe/bxe_stats.c	Wed Jan 13 01:11:32 2016	(r293798)
@@ -1227,6 +1227,8 @@ bxe_drv_stats_update(struct bxe_softc *s
         UPDATE_ESTAT_QSTAT(rx_calls);
         UPDATE_ESTAT_QSTAT(rx_pkts);
         UPDATE_ESTAT_QSTAT(rx_tpa_pkts);
+        UPDATE_ESTAT_QSTAT(rx_erroneous_jumbo_sge_pkts);
+        UPDATE_ESTAT_QSTAT(rx_bxe_service_rxsgl);
         UPDATE_ESTAT_QSTAT(rx_jumbo_sge_pkts);
         UPDATE_ESTAT_QSTAT(rx_soft_errors);
         UPDATE_ESTAT_QSTAT(rx_hw_csum_errors);

Modified: stable/7/sys/dev/bxe/bxe_stats.h
==============================================================================
--- stable/7/sys/dev/bxe/bxe_stats.h	Wed Jan 13 01:09:32 2016	(r293797)
+++ stable/7/sys/dev/bxe/bxe_stats.h	Wed Jan 13 01:11:32 2016	(r293798)
@@ -218,6 +218,8 @@ struct bxe_eth_stats {
     uint32_t rx_calls;
     uint32_t rx_pkts;
     uint32_t rx_tpa_pkts;
+    uint32_t rx_erroneous_jumbo_sge_pkts;
+    uint32_t rx_bxe_service_rxsgl;
     uint32_t rx_jumbo_sge_pkts;
     uint32_t rx_soft_errors;
     uint32_t rx_hw_csum_errors;
@@ -319,6 +321,8 @@ struct bxe_eth_q_stats {
     uint32_t rx_calls;
     uint32_t rx_pkts;
     uint32_t rx_tpa_pkts;
+    uint32_t rx_erroneous_jumbo_sge_pkts;
+    uint32_t rx_bxe_service_rxsgl;
     uint32_t rx_jumbo_sge_pkts;
     uint32_t rx_soft_errors;
     uint32_t rx_hw_csum_errors;
@@ -413,6 +417,8 @@ struct bxe_eth_q_stats_old {
     uint32_t rx_calls_old;
     uint32_t rx_pkts_old;
     uint32_t rx_tpa_pkts_old;
+    uint32_t rx_erroneous_jumbo_sge_pkts_old;
+    uint32_t rx_bxe_service_rxsgl_old;
     uint32_t rx_jumbo_sge_pkts_old;
     uint32_t rx_soft_errors_old;
     uint32_t rx_hw_csum_errors_old;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601130111.u0D1BWYa044276>