DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats
@ 2015-10-02 12:47 Maryam Tahhan
  2015-10-02 13:25 ` Jay Rolette
  0 siblings, 1 reply; 4+ messages in thread
From: Maryam Tahhan @ 2015-10-02 12:47 UTC (permalink / raw)
  To: dev

Make a distniction between dropped packets and error statistics to allow
a higher level fault management entity to interact with DPDK and take
appropriate measures when errors are detected. It will also provide
valuable information for any applications that collects/extracts DPDK
stats, such applications include Open vSwitch.
After this patch the distinction is:
ierrors = Total number of packets dropped by hardware (malformed
packets, ...) Where the # of drops can ONLY be <=  the packets received
(without overlap between registers).
Rx_pkt_errors = Total number of erroneous received packets. Where the #
of errors can be >= the packets received (without overlap between
registers), this is because there may be multiple errors associated with
a packet.

Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
---
 lib/librte_ether/rte_ethdev.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 8a8c82b..53dd55d 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -200,8 +200,9 @@ struct rte_eth_stats {
 	/**< Deprecated; Total of RX packets with CRC error. */
 	uint64_t ibadlen;
 	/**< Deprecated; Total of RX packets with bad length. */
-	uint64_t ierrors;   /**< Total number of erroneous received packets. */
+	uint64_t ierrors;   /**< Total number of dropped received packets. */
 	uint64_t oerrors;   /**< Total number of failed transmitted packets. */
+	uint64_t ipkterrors;   /**< Total number of erroneous received packets. */
 	uint64_t imcasts;
 	/**< Deprecated; Total number of multicast received packets. */
 	uint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */
-- 
2.4.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats
  2015-10-02 12:47 [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats Maryam Tahhan
@ 2015-10-02 13:25 ` Jay Rolette
  2015-10-08 14:37   ` Tahhan, Maryam
  0 siblings, 1 reply; 4+ messages in thread
From: Jay Rolette @ 2015-10-02 13:25 UTC (permalink / raw)
  To: Maryam Tahhan; +Cc: DPDK

Can you improve the comments on these counters? If you didn't happen to
follow this thread, there's no way to reasonably figure out what the
difference is from looking at the code without chasing it all the way down
and cross-referencing the NIC datasheet.

Thanks,
Jay

On Fri, Oct 2, 2015 at 7:47 AM, Maryam Tahhan <maryam.tahhan@intel.com>
wrote:

> Make a distniction between dropped packets and error statistics to allow
> a higher level fault management entity to interact with DPDK and take
> appropriate measures when errors are detected. It will also provide
> valuable information for any applications that collects/extracts DPDK
> stats, such applications include Open vSwitch.
> After this patch the distinction is:
> ierrors = Total number of packets dropped by hardware (malformed
> packets, ...) Where the # of drops can ONLY be <=  the packets received
> (without overlap between registers).
> Rx_pkt_errors = Total number of erroneous received packets. Where the #
> of errors can be >= the packets received (without overlap between
> registers), this is because there may be multiple errors associated with
> a packet.
>
> Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
> ---
>  lib/librte_ether/rte_ethdev.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 8a8c82b..53dd55d 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -200,8 +200,9 @@ struct rte_eth_stats {
>         /**< Deprecated; Total of RX packets with CRC error. */
>         uint64_t ibadlen;
>         /**< Deprecated; Total of RX packets with bad length. */
> -       uint64_t ierrors;   /**< Total number of erroneous received
> packets. */
> +       uint64_t ierrors;   /**< Total number of dropped received packets.
> */
>         uint64_t oerrors;   /**< Total number of failed transmitted
> packets. */
> +       uint64_t ipkterrors;   /**< Total number of erroneous received
> packets. */
>         uint64_t imcasts;
>         /**< Deprecated; Total number of multicast received packets. */
>         uint64_t rx_nombuf; /**< Total number of RX mbuf allocation
> failures. */
> --
> 2.4.3
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats
  2015-10-02 13:25 ` Jay Rolette
@ 2015-10-08 14:37   ` Tahhan, Maryam
  2015-10-08 15:42     ` Jay Rolette
  0 siblings, 1 reply; 4+ messages in thread
From: Tahhan, Maryam @ 2015-10-08 14:37 UTC (permalink / raw)
  To: Jay Rolette; +Cc: DPDK

Hi Jay
Yeah, I will do this to make the distinction clear for the counters I’m modifying in my patch. But please note that these aren’t counters that are defined in the NIC datasheets, these are the high level DPDK general counters for ethdevs. Their descriptions exist in the code and the generated DPDK docs.

Best Regards,
Maryam

From: Jay Rolette [mailto:rolette@infiniteio.com]
Sent: Friday, October 2, 2015 2:25 PM
To: Tahhan, Maryam
Cc: DPDK
Subject: Re: [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats

Can you improve the comments on these counters? If you didn't happen to follow this thread, there's no way to reasonably figure out what the difference is from looking at the code without chasing it all the way down and cross-referencing the NIC datasheet.

Thanks,
Jay

On Fri, Oct 2, 2015 at 7:47 AM, Maryam Tahhan <maryam.tahhan@intel.com<mailto:maryam.tahhan@intel.com>> wrote:
Make a distniction between dropped packets and error statistics to allow
a higher level fault management entity to interact with DPDK and take
appropriate measures when errors are detected. It will also provide
valuable information for any applications that collects/extracts DPDK
stats, such applications include Open vSwitch.
After this patch the distinction is:
ierrors = Total number of packets dropped by hardware (malformed
packets, ...) Where the # of drops can ONLY be <=  the packets received
(without overlap between registers).
Rx_pkt_errors = Total number of erroneous received packets. Where the #
of errors can be >= the packets received (without overlap between
registers), this is because there may be multiple errors associated with
a packet.

Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com<mailto:maryam.tahhan@intel.com>>
---
 lib/librte_ether/rte_ethdev.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 8a8c82b..53dd55d 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -200,8 +200,9 @@ struct rte_eth_stats {
        /**< Deprecated; Total of RX packets with CRC error. */
        uint64_t ibadlen;
        /**< Deprecated; Total of RX packets with bad length. */
-       uint64_t ierrors;   /**< Total number of erroneous received packets. */
+       uint64_t ierrors;   /**< Total number of dropped received packets. */
        uint64_t oerrors;   /**< Total number of failed transmitted packets. */
+       uint64_t ipkterrors;   /**< Total number of erroneous received packets. */
        uint64_t imcasts;
        /**< Deprecated; Total number of multicast received packets. */
        uint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */
--
2.4.3


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats
  2015-10-08 14:37   ` Tahhan, Maryam
@ 2015-10-08 15:42     ` Jay Rolette
  0 siblings, 0 replies; 4+ messages in thread
From: Jay Rolette @ 2015-10-08 15:42 UTC (permalink / raw)
  To: Tahhan, Maryam; +Cc: DPDK

On Thu, Oct 8, 2015 at 9:37 AM, Tahhan, Maryam <maryam.tahhan@intel.com>
wrote:

> Hi Jay
>
> Yeah, I will do this to make the distinction clear for the counters I’m
> modifying in my patch. But please note that these aren’t counters that are
> defined in the NIC datasheets, these are the high level DPDK general
> counters for ethdevs. Their descriptions exist in the code and the
> generated DPDK docs.
>

Yeah, I know. The problem is that the generated docs don't make it clear
what the counters really are and you end up having to trace through the
code and, frequently, go look at NIC datasheets.

I just went through this a few months ago when I was integrating DPDK port
stats into our stat tracking system.

I appreciate you making the extra effort to make this clearer for app
developers :-)

Jay


> *From:* Jay Rolette [mailto:rolette@infiniteio.com]
> *Sent:* Friday, October 2, 2015 2:25 PM
> *To:* Tahhan, Maryam
> *Cc:* DPDK
> *Subject:* Re: [dpdk-dev] [PATCH] ethdev: distinguish between drop and
> error stats
>
>
>
> Can you improve the comments on these counters? If you didn't happen to
> follow this thread, there's no way to reasonably figure out what the
> difference is from looking at the code without chasing it all the way down
> and cross-referencing the NIC datasheet.
>
>
>
> Thanks,
>
> Jay
>
>
>
> On Fri, Oct 2, 2015 at 7:47 AM, Maryam Tahhan <maryam.tahhan@intel.com>
> wrote:
>
> Make a distniction between dropped packets and error statistics to allow
> a higher level fault management entity to interact with DPDK and take
> appropriate measures when errors are detected. It will also provide
> valuable information for any applications that collects/extracts DPDK
> stats, such applications include Open vSwitch.
> After this patch the distinction is:
> ierrors = Total number of packets dropped by hardware (malformed
> packets, ...) Where the # of drops can ONLY be <=  the packets received
> (without overlap between registers).
> Rx_pkt_errors = Total number of erroneous received packets. Where the #
> of errors can be >= the packets received (without overlap between
> registers), this is because there may be multiple errors associated with
> a packet.
>
> Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
> ---
>  lib/librte_ether/rte_ethdev.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 8a8c82b..53dd55d 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -200,8 +200,9 @@ struct rte_eth_stats {
>         /**< Deprecated; Total of RX packets with CRC error. */
>         uint64_t ibadlen;
>         /**< Deprecated; Total of RX packets with bad length. */
> -       uint64_t ierrors;   /**< Total number of erroneous received
> packets. */
> +       uint64_t ierrors;   /**< Total number of dropped received packets.
> */
>         uint64_t oerrors;   /**< Total number of failed transmitted
> packets. */
> +       uint64_t ipkterrors;   /**< Total number of erroneous received
> packets. */
>         uint64_t imcasts;
>         /**< Deprecated; Total number of multicast received packets. */
>         uint64_t rx_nombuf; /**< Total number of RX mbuf allocation
> failures. */
> --
> 2.4.3
>
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-10-08 15:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-02 12:47 [dpdk-dev] [PATCH] ethdev: distinguish between drop and error stats Maryam Tahhan
2015-10-02 13:25 ` Jay Rolette
2015-10-08 14:37   ` Tahhan, Maryam
2015-10-08 15:42     ` Jay Rolette

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).