All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Maryam Tahhan <maryam.tahhan@intel.com>
To: dev@dpdk.org
Subject: [PATCH 2/4] ethdev: expose extended error stats
Date: Fri,  5 Jun 2015 18:35:03 +0100	[thread overview]
Message-ID: <1433525705-17041-3-git-send-email-maryam.tahhan@intel.com> (raw)
In-Reply-To: <1433525705-17041-1-git-send-email-maryam.tahhan@intel.com>

Extend rte_eth_xstats_get to retrieve additional stats from the device
driver as well the top level extended stats. Add additional drop
counters to the extended stats.

Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
---
 lib/librte_ether/rte_ethdev.c | 12 ++++++++----
 lib/librte_ether/rte_ethdev.h |  4 ++++
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 5a94654..8c22cda 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -129,6 +129,8 @@ static const struct rte_eth_xstats_name_off rte_stats_strings[] = {
 	{"rx_crc_errors", offsetof(struct rte_eth_stats, ibadcrc)},
 	{"rx_bad_length_errors", offsetof(struct rte_eth_stats, ibadlen)},
 	{"rx_errors", offsetof(struct rte_eth_stats, ierrors)},
+	{"rx_mac_err", offsetof(struct rte_eth_stats, imacerr)},
+	{"rx_phy_err", offsetof(struct rte_eth_stats, iphyerr)},
 	{"alloc_rx_buff_failed", offsetof(struct rte_eth_stats, rx_nombuf)},
 	{"fdir_match", offsetof(struct rte_eth_stats, fdirmatch)},
 	{"fdir_miss", offsetof(struct rte_eth_stats, fdirmiss)},
@@ -136,6 +138,8 @@ static const struct rte_eth_xstats_name_off rte_stats_strings[] = {
 	{"rx_flow_control_xon", offsetof(struct rte_eth_stats, rx_pause_xon)},
 	{"tx_flow_control_xoff", offsetof(struct rte_eth_stats, tx_pause_xoff)},
 	{"rx_flow_control_xoff", offsetof(struct rte_eth_stats, rx_pause_xoff)},
+	{"tx_drops", offsetof(struct rte_eth_stats, odrop)},
+	{"rx_drops", offsetof(struct rte_eth_stats, idrop)},
 };
 #define RTE_NB_STATS (sizeof(rte_stats_strings) / sizeof(rte_stats_strings[0]))
 
@@ -154,7 +158,6 @@ static const struct rte_eth_xstats_name_off rte_txq_stats_strings[] = {
 #define RTE_NB_TXQ_STATS (sizeof(rte_txq_stats_strings) /	\
 		sizeof(rte_txq_stats_strings[0]))
 
-
 /**
  * The user application callback description.
  *
@@ -1741,7 +1744,7 @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats,
 {
 	struct rte_eth_stats eth_stats;
 	struct rte_eth_dev *dev;
-	unsigned count, i, q;
+	unsigned count = 0, xcount = 0, i, q;
 	uint64_t val;
 	char *stats_ptr;
 
@@ -1754,18 +1757,19 @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats,
 
 	/* implemented by the driver */
 	if (dev->dev_ops->xstats_get != NULL)
-		return (*dev->dev_ops->xstats_get)(dev, xstats, n);
+		xcount = (*dev->dev_ops->xstats_get)(dev, xstats, n);
 
 	/* else, return generic statistics */
 	count = RTE_NB_STATS;
 	count += dev->data->nb_rx_queues * RTE_NB_RXQ_STATS;
 	count += dev->data->nb_tx_queues * RTE_NB_TXQ_STATS;
+	count += xcount;
 	if (n < count)
 		return count;
 
 	/* now fill the xstats structure */
 
-	count = 0;
+	count = xcount;
 	rte_eth_stats_get(port_id, &eth_stats);
 
 	/* global stats */
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 16dbe00..5bc3b81 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -224,6 +224,10 @@ struct rte_eth_stats {
 	/**< Total number of good bytes received from loopback,VF Only */
 	uint64_t olbbytes;
 	/**< Total number of good bytes transmitted to loopback,VF Only */
+	uint64_t imacerr;   /**< Total of RX packets with MAC Errors. */
+	uint64_t iphyerr;   /**< Total of RX packets with PHY Errors. */
+	uint64_t idrop;  /**< Total number of dropped received packets. */
+	uint64_t odrop;  /**< Total number of dropped transmitted packets. */
 };
 
 /**
-- 
1.8.1.4

  parent reply	other threads:[~2015-06-05 17:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 17:35 [PATCH 0/4] expose ixgbe extended stats to dpdk apps Maryam Tahhan
2015-06-05 17:35 ` [PATCH 1/4] ixgbe: expose extended error statistics Maryam Tahhan
2015-06-08 13:26   ` Tahhan, Maryam
2015-06-10  0:51   ` Stephen Hemminger
2015-06-10 14:24     ` Tahhan, Maryam
2015-06-17 12:52     ` Thomas Monjalon
2015-06-05 17:35 ` Maryam Tahhan [this message]
2015-06-17 13:58   ` [PATCH 2/4] ethdev: expose extended error stats Thomas Monjalon
2015-06-17 14:47     ` Kyle Larose
2015-06-22 14:12     ` Tahhan, Maryam
2015-06-22 15:12       ` Olivier MATZ
2015-06-22 15:35         ` Tahhan, Maryam
2015-06-05 17:35 ` [PATCH 3/4] testpmd: extend testpmd to show all extended stats Maryam Tahhan
2015-06-05 17:35 ` [PATCH 4/4] app: replace dump_cfg with proc_info Maryam Tahhan
2015-06-05 21:08   ` Thomas Monjalon
2015-06-08 13:45     ` Tahhan, Maryam
2015-06-08 14:22       ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1433525705-17041-3-git-send-email-maryam.tahhan@intel.com \
    --to=maryam.tahhan@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.