[dpdk-dev,v2,1/1] ixgbe: Fix phy errors in stats->ierrors

Message ID 1437395309-197026-1-git-send-email-maryam.tahhan@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Tahhan, Maryam July 20, 2015, 12:28 p.m. UTC
  Fixes: f6bf669b990004dc69231476d9fcf0b80574e568. Bug fix to remove
(rxnfgpc - hw_stats->gprc) which does not account for phy errors.
hw_stats->gprc is the Number of good (non-erred) Rx packets (from the
network) that pass L2 filtering and has a legal length as defined by
LongPacketEnable. While rxnfgpc is the Number of good (non-erred with
legal length) Rx packets (from the network) regardless of packet
filtering and receive enablement. Thus hw_stats->gprc can be > rxnfgpc
and this calculation should be removed from the calculation of ierrors.
Validated with testpmd by sending packets to the interface without
forwarding enabled - packets should be dropped and the error counters
incremented.

v2:
 - specified the commit that this bug fix fixes.

Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
  

Comments

Balazs Nemeth July 20, 2015, 12:48 p.m. UTC | #1
> Fixes: f6bf669b990004dc69231476d9fcf0b80574e568. Bug fix to remove
> (rxnfgpc - hw_stats->gprc) which does not account for phy errors.
> hw_stats->gprc is the Number of good (non-erred) Rx packets (from the
> network) that pass L2 filtering and has a legal length as defined by
> LongPacketEnable. While rxnfgpc is the Number of good (non-erred with
> legal length) Rx packets (from the network) regardless of packet
> filtering and receive enablement. Thus hw_stats->gprc can be > rxnfgpc
> and this calculation should be removed from the calculation of ierrors.
> Validated with testpmd by sending packets to the interface without
> forwarding enabled - packets should be dropped and the error counters
> incremented.

> v2:
>  - specified the commit that this bug fix fixes

Acked-by: Balazs Nemeth <balazs.nemeth at intel.com>
  
Wenzhuo Lu July 21, 2015, 5:41 a.m. UTC | #2
Hi,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Maryam Tahhan
> Sent: Monday, July 20, 2015 8:28 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2 1/1] ixgbe: Fix phy errors in stats->ierrors
> 
> Fixes: f6bf669b990004dc69231476d9fcf0b80574e568. Bug fix to remove
> (rxnfgpc - hw_stats->gprc) which does not account for phy errors.
> hw_stats->gprc is the Number of good (non-erred) Rx packets (from the
> network) that pass L2 filtering and has a legal length as defined by
> LongPacketEnable. While rxnfgpc is the Number of good (non-erred with legal
> length) Rx packets (from the network) regardless of packet filtering and receive
> enablement. Thus hw_stats->gprc can be > rxnfgpc and this calculation should
> be removed from the calculation of ierrors.
> Validated with testpmd by sending packets to the interface without forwarding
> enabled - packets should be dropped and the error counters incremented.
> 
> v2:
>  - specified the commit that this bug fix fixes.
> 
> Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
  
Marvin Liu July 21, 2015, 12:41 p.m. UTC | #3
Tested-by: Marvin Liu <yong.liu@intel.com>

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Lu, Wenzhuo
> Sent: Tuesday, July 21, 2015 1:41 PM
> To: Tahhan, Maryam; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 1/1] ixgbe: Fix phy errors in stats-
> >ierrors
> 
> Hi,
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Maryam Tahhan
> > Sent: Monday, July 20, 2015 8:28 PM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH v2 1/1] ixgbe: Fix phy errors in stats-
> >ierrors
> >
> > Fixes: f6bf669b990004dc69231476d9fcf0b80574e568. Bug fix to remove
> > (rxnfgpc - hw_stats->gprc) which does not account for phy errors.
> > hw_stats->gprc is the Number of good (non-erred) Rx packets (from the
> > network) that pass L2 filtering and has a legal length as defined by
> > LongPacketEnable. While rxnfgpc is the Number of good (non-erred with
> legal
> > length) Rx packets (from the network) regardless of packet filtering and
> receive
> > enablement. Thus hw_stats->gprc can be > rxnfgpc and this calculation
> should
> > be removed from the calculation of ierrors.
> > Validated with testpmd by sending packets to the interface without
> forwarding
> > enabled - packets should be dropped and the error counters incremented.
> >
> > v2:
> >  - specified the commit that this bug fix fixes.
> >
> > Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
  
Thomas Monjalon July 23, 2015, 1 p.m. UTC | #4
> > > Fixes: f6bf669b990004dc69231476d9fcf0b80574e568. Bug fix to remove
> > > (rxnfgpc - hw_stats->gprc) which does not account for phy errors.
> > > hw_stats->gprc is the Number of good (non-erred) Rx packets (from the
> > > network) that pass L2 filtering and has a legal length as defined by
> > > LongPacketEnable. While rxnfgpc is the Number of good (non-erred with
> > legal
> > > length) Rx packets (from the network) regardless of packet filtering and
> > receive
> > > enablement. Thus hw_stats->gprc can be > rxnfgpc and this calculation
> > should
> > > be removed from the calculation of ierrors.
> > > Validated with testpmd by sending packets to the interface without
> > forwarding
> > > enabled - packets should be dropped and the error counters incremented.
> > >
> > > v2:
> > >  - specified the commit that this bug fix fixes.
> > >
> > > Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
> > Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> Tested-by: Marvin Liu <yong.liu@intel.com>

Applied, thanks
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 3a8cff0..09fac25 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -2143,8 +2143,7 @@  ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 	                  hw_stats->rfc +
 	                  hw_stats->rjc +
 	                  hw_stats->fccrc +
-	                  hw_stats->fclast +
-	                  (rxnfgpc - hw_stats->gprc); /* PHY Errors*/
+	                  hw_stats->fclast;
 
 	/* Tx Errors */
 	/*txdgpc: packets that are DMA'ed*/