When the size of the packet is less than the minimum or greater than the maximum, the packet will be counted twice in the error packet counter. Fixes: e6defdfddc3b ("net/igc: enable statistics") Cc: stable@dpdk.org Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> --- drivers/net/igc/igc_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 0ea6e2a..c398701 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -1901,8 +1901,7 @@ static int eth_igc_vlan_tpid_set(struct rte_eth_dev *dev, /* Rx Errors */ rte_stats->imissed = stats->mpc; - rte_stats->ierrors = stats->crcerrs + - stats->rlec + stats->ruc + stats->roc + + rte_stats->ierrors = stats->crcerrs + stats->rlec + stats->rxerrc + stats->algnerrc; /* Tx Errors */ -- 1.8.3.1
> -----Original Message----- > From: Zhang, AlvinX <alvinx.zhang@intel.com> > Sent: Thursday, April 1, 2021 09:17 > To: Wang, Haiyue <haiyue.wang@intel.com>; Guo, Jia <jia.guo@intel.com> > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>; stable@dpdk.org > Subject: [PATCH] net/igc: fix Rx error counter for badlen packets > > When the size of the packet is less than the minimum or greater > than the maximum, the packet will be counted twice in the error > packet counter. This message is not clear, the packet should be minimum or greater, but not at the same time, why twice ? Please describe the new stats you use more clear. > > Fixes: e6defdfddc3b ("net/igc: enable statistics") > Cc: stable@dpdk.org > > Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> > --- > drivers/net/igc/igc_ethdev.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c > index 0ea6e2a..c398701 100644 > --- a/drivers/net/igc/igc_ethdev.c > +++ b/drivers/net/igc/igc_ethdev.c > @@ -1901,8 +1901,7 @@ static int eth_igc_vlan_tpid_set(struct rte_eth_dev *dev, > > /* Rx Errors */ > rte_stats->imissed = stats->mpc; > - rte_stats->ierrors = stats->crcerrs + > - stats->rlec + stats->ruc + stats->roc + > + rte_stats->ierrors = stats->crcerrs + stats->rlec + > stats->rxerrc + stats->algnerrc; > > /* Tx Errors */ > -- > 1.8.3.1
When the size of a packet in Rx channel is less than the minimum or greater than the maximum, the packet will be simultaneously counted by RLEC(Receive Length Error Count) and RUC(Receive Under Size Count)/ROC(Receive Oversize Count) registers. This patch fixed the issue of counting a length error packet twice when counting the total number of received error packets. Fixes: e6defdfddc3b ("net/igc: enable statistics") Cc: stable@dpdk.org Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> --- V2: Refine commit log --- drivers/net/igc/igc_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 0ea6e2a..c398701 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -1901,8 +1901,7 @@ static int eth_igc_vlan_tpid_set(struct rte_eth_dev *dev, /* Rx Errors */ rte_stats->imissed = stats->mpc; - rte_stats->ierrors = stats->crcerrs + - stats->rlec + stats->ruc + stats->roc + + rte_stats->ierrors = stats->crcerrs + stats->rlec + stats->rxerrc + stats->algnerrc; /* Tx Errors */ -- 1.8.3.1
When the size of a packet in Rx channel is less than the minimum or greater than the maximum, the packet will be simultaneously counted by RLEC(Receive Length Error Count) and RUC(Receive Under Size Count)/ROC(Receive Oversize Count) registers. This patch fixes the issue of counting a length error packet twice when counting the total number of received error packets. Fixes: e6defdfddc3b ("net/igc: enable statistics") Cc: stable@dpdk.org Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> --- V2: Refine commit log --- drivers/net/igc/igc_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 0ea6e2a..c398701 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -1901,8 +1901,7 @@ static int eth_igc_vlan_tpid_set(struct rte_eth_dev *dev, /* Rx Errors */ rte_stats->imissed = stats->mpc; - rte_stats->ierrors = stats->crcerrs + - stats->rlec + stats->ruc + stats->roc + + rte_stats->ierrors = stats->crcerrs + stats->rlec + stats->rxerrc + stats->algnerrc; /* Tx Errors */ -- 1.8.3.1
> -----Original Message----- > From: Zhang, AlvinX <alvinx.zhang@intel.com> > Sent: Thursday, April 1, 2021 13:21 > To: Wang, Haiyue <haiyue.wang@intel.com>; Guo, Jia <jia.guo@intel.com> > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>; stable@dpdk.org > Subject: [PATCH v2] net/igc: fix Rx error counter for badlen packets > > When the size of a packet in Rx channel is less than the minimum > or greater than the maximum, the packet will be simultaneously > counted by RLEC(Receive Length Error Count) and > RUC(Receive Under Size Count)/ROC(Receive Oversize Count) registers. > > This patch fixes the issue of counting a length error packet twice > when counting the total number of received error packets. > > Fixes: e6defdfddc3b ("net/igc: enable statistics") > Cc: stable@dpdk.org > > Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> > --- > > V2: Refine commit log > --- > drivers/net/igc/igc_ethdev.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > Acked-by: Haiyue Wang <haiyue.wang@intel.com> > -- > 1.8.3.1
> -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Wang, Haiyue > Sent: Thursday, April 1, 2021 2:16 PM > To: Zhang, AlvinX <alvinx.zhang@intel.com>; Guo, Jia <jia.guo@intel.com> > Cc: dev@dpdk.org; stable@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2] net/igc: fix Rx error counter for badlen > packets > > > -----Original Message----- > > From: Zhang, AlvinX <alvinx.zhang@intel.com> > > Sent: Thursday, April 1, 2021 13:21 > > To: Wang, Haiyue <haiyue.wang@intel.com>; Guo, Jia <jia.guo@intel.com> > > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>; > > stable@dpdk.org > > Subject: [PATCH v2] net/igc: fix Rx error counter for badlen packets > > > > When the size of a packet in Rx channel is less than the minimum or > > greater than the maximum, the packet will be simultaneously counted by > > RLEC(Receive Length Error Count) and RUC(Receive Under Size > > Count)/ROC(Receive Oversize Count) registers. > > > > This patch fixes the issue of counting a length error packet twice > > when counting the total number of received error packets. > > > > Fixes: e6defdfddc3b ("net/igc: enable statistics") > > Cc: stable@dpdk.org > > > > Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> > > --- > > > > V2: Refine commit log > > --- > > drivers/net/igc/igc_ethdev.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > Acked-by: Haiyue Wang <haiyue.wang@intel.com> Applied to dpdk-next-net-intel. Thanks Qi > > > -- > > 1.8.3.1