Author: davidcs
Date: Tue Jan 12 23:44:03 2016
New Revision: 293790
URL: https://svnweb.freebsd.org/changeset/base/293790

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/9/sys/dev/bxe/bxe.c
  stable/9/sys/dev/bxe/bxe_stats.c
  stable/9/sys/dev/bxe/bxe_stats.h
Directory Properties:
  stable/9/   (props changed)
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/bxe/bxe.c
==============================================================================
--- stable/9/sys/dev/bxe/bxe.c  Tue Jan 12 23:26:45 2016        (r293789)
+++ stable/9/sys/dev/bxe/bxe.c  Tue Jan 12 23:44:03 2016        (r293790)
@@ -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 */
@@ -16163,12 +16174,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/9/sys/dev/bxe/bxe_stats.c
==============================================================================
--- stable/9/sys/dev/bxe/bxe_stats.c    Tue Jan 12 23:26:45 2016        
(r293789)
+++ stable/9/sys/dev/bxe/bxe_stats.c    Tue Jan 12 23:44:03 2016        
(r293790)
@@ -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/9/sys/dev/bxe/bxe_stats.h
==============================================================================
--- stable/9/sys/dev/bxe/bxe_stats.h    Tue Jan 12 23:26:45 2016        
(r293789)
+++ stable/9/sys/dev/bxe/bxe_stats.h    Tue Jan 12 23:44:03 2016        
(r293790)
@@ -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;
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to