From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0138.outbound.protection.outlook.com [157.56.111.138]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id CF3941A032C for ; Fri, 24 Oct 2014 23:46:29 +1100 (AEDT) Message-ID: <544A420E.4000103@freescale.com> Date: Fri, 24 Oct 2014 20:11:58 +0800 From: Jianhua Xie MIME-Version: 1.0 To: "Kokoris, Ioannis" , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" Subject: Re: [PATCH] ucc_geth: invalid rx checksum error values References: In-Reply-To: Content-Type: multipart/alternative; boundary="------------000209050909000306030905" Cc: Zhao Qiang , netdev@vger.kernel.org, Timur Tabi List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , --------------000209050909000306030905 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Hi Ioannis , Thank you very much for finding and reporting the issue. I help to broadcast to netdev mailing-list. Thanks & Best Regards, Jianhua 在 2014年10月22日 21:07, Kokoris, Ioannis 写道: > Hi, > > The value in QE UCC ethernet interfaces shows random values: > > # ethtool -S eth0 > NIC statistics: > ... > rx-ip-checksum-errors: 3933892214 > > The problem is located in a mismatch between the rx_fw_stat_gstrings fields > - used in ucc_geth_ethtool - and the ucc_geth_rx_firmware_statistics_pram > fields - used in ucc_geth. > Although the QE UCC Ethernet Controller includes the Rx checksum error > counter in the 'Rx firmware counters', the related field is missing from the > ucc_geth driver. > After adding the RxChecksumError field in > ucc_geth_rx_firmware_statistics_pram structure the counter works fine. > > > > Signed-off-by: Ioannis Kokkoris > > > diff -Nru a/drivers/net/ethernet/freescale/ucc_geth.h > b/drivers/net/ethernet/freescale/ucc_geth.h > --- a/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22 > 15:19:16.000000000 +0300 > +++ b/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22 > 15:24:39.000000000 +0300 > @@ -541,6 +541,8 @@ > replaced */ > u32 insertvlan; /* total frames that had their VLAN tag > inserted */ > + u32 checksumerr; /* total frames that have IP Checksum Error > + */ > } __packed; > > struct ucc_geth_rx_interrupt_coalescing_entry { > > > > Best Regards, > Ioannis > > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev --------------000209050909000306030905 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit Hi Ioannis ,

Thank you very much for finding and reporting the issue.
I help to broadcast to netdev mailing-list.

Thanks & Best Regards,
Jianhua

在 2014年10月22日 21:07, Kokoris, Ioannis 写道:
Hi, 

The value in QE UCC ethernet interfaces shows random values:

# ethtool -S eth0
NIC statistics:
     ...
     rx-ip-checksum-errors: 3933892214

The problem is located in a mismatch between the rx_fw_stat_gstrings fields
- used in ucc_geth_ethtool - and the ucc_geth_rx_firmware_statistics_pram
fields - used in ucc_geth.
Although the QE UCC Ethernet Controller includes the Rx checksum error
counter in the 'Rx firmware counters', the related field is missing from the
ucc_geth driver.  
After adding the RxChecksumError field in
ucc_geth_rx_firmware_statistics_pram structure the counter works fine.



Signed-off-by: Ioannis Kokkoris <ioannis.kokoris@unify.com>


diff -Nru a/drivers/net/ethernet/freescale/ucc_geth.h
b/drivers/net/ethernet/freescale/ucc_geth.h
--- a/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22
15:19:16.000000000 +0300
+++ b/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22
15:24:39.000000000 +0300
@@ -541,6 +541,8 @@
                                   replaced */
        u32 insertvlan;         /* total frames that had their VLAN tag
                                   inserted */
+       u32 checksumerr;        /* total frames that have IP Checksum Error
+                                */
 } __packed;

 struct ucc_geth_rx_interrupt_coalescing_entry {



Best Regards,
Ioannis


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

--------------000209050909000306030905-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jianhua Xie Subject: Re: [PATCH] ucc_geth: invalid rx checksum error values Date: Fri, 24 Oct 2014 20:11:58 +0800 Message-ID: <544A420E.4000103@freescale.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3956806432227448486==" Cc: Zhao Qiang , netdev@vger.kernel.org, Timur Tabi To: "Kokoris, Ioannis" , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: netdev.vger.kernel.org --===============3956806432227448486== Content-Type: multipart/alternative; boundary="------------000209050909000306030905" --------------000209050909000306030905 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable Hi Ioannis , Thank you very much for finding and reporting the issue. I help to broadcast to netdev mailing-list. Thanks & Best Regards, Jianhua =E5=9C=A8 2014=E5=B9=B410=E6=9C=8822=E6=97=A5 21:07, Kokoris, Ioannis =E5= =86=99=E9=81=93: > Hi, > > The value in QE UCC ethernet interfaces shows random values: > > # ethtool -S eth0 > NIC statistics: > ... > rx-ip-checksum-errors: 3933892214 > > The problem is located in a mismatch between the rx_fw_stat_gstrings fi= elds > - used in ucc_geth_ethtool - and the ucc_geth_rx_firmware_statistics_pr= am > fields - used in ucc_geth. > Although the QE UCC Ethernet Controller includes the Rx checksum error > counter in the 'Rx firmware counters', the related field is missing fro= m the > ucc_geth driver. > After adding the RxChecksumError field in > ucc_geth_rx_firmware_statistics_pram structure the counter works fine. > > > > Signed-off-by: Ioannis Kokkoris > > > diff -Nru a/drivers/net/ethernet/freescale/ucc_geth.h > b/drivers/net/ethernet/freescale/ucc_geth.h > --- a/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22 > 15:19:16.000000000 +0300 > +++ b/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22 > 15:24:39.000000000 +0300 > @@ -541,6 +541,8 @@ > replaced */ > u32 insertvlan; /* total frames that had their VLAN ta= g > inserted */ > + u32 checksumerr; /* total frames that have IP Checksum E= rror > + */ > } __packed; > > struct ucc_geth_rx_interrupt_coalescing_entry { > > > > Best Regards, > Ioannis > > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev --------------000209050909000306030905 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Ioannis ,

Thank you very much for finding and reporting the issue.
I help to broadcast to netdev mailing-list.

Thanks & Best Regards,
Jianhua

=E5=9C=A8 2014=E5=B9=B410=E6=9C=8822=E6= =97=A5 21:07, Kokoris, Ioannis =E5=86=99=E9=81=93:
Hi,=20

The value in QE UCC ethernet interfaces shows random values:

# ethtool -S eth0
NIC statistics:
     ...
     rx-ip-checksum-errors: 3933892214

The problem is located in a mismatch between the rx_fw_stat_gstrings fiel=
ds
- used in ucc_geth_ethtool - and the ucc_geth_rx_firmware_statistics_pram
fields - used in ucc_geth.
Although the QE UCC Ethernet Controller includes the Rx checksum error
counter in the 'Rx firmware counters', the related field is missing from =
the
ucc_geth driver. =20
After adding the RxChecksumError field in
ucc_geth_rx_firmware_statistics_pram structure the counter works fine.



Signed-off-by: Ioannis Kokkoris <ioannis.kokoris@unify.com>


diff -Nru a/drivers/net/ethernet/freescale/ucc_geth.h
b/drivers/net/ethernet/freescale/ucc_geth.h
--- a/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22
15:19:16.000000000 +0300
+++ b/drivers/net/ethernet/freescale/ucc_geth.h 2014-10-22
15:24:39.000000000 +0300
@@ -541,6 +541,8 @@
                                   replaced */
        u32 insertvlan;         /* total frames that had their VLAN tag
                                   inserted */
+       u32 checksumerr;        /* total frames that have IP Checksum Err=
or
+                                */
 } __packed;

 struct ucc_geth_rx_interrupt_coalescing_entry {



Best Regards,
Ioannis


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
    

--------------000209050909000306030905-- --===============3956806432227448486== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXhwcGMt ZGV2IG1haWxpbmcgbGlzdApMaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZwpodHRwczovL2xp c3RzLm96bGFicy5vcmcvbGlzdGluZm8vbGludXhwcGMtZGV2 --===============3956806432227448486==--