From: Maciej Gajdzica <maciejx.t.gajdzica@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 01/13] port: added structures for port stats
Date: Mon, 30 Mar 2015 12:28:52 +0200 [thread overview]
Message-ID: <1427711340-29048-2-git-send-email-maciejx.t.gajdzica@intel.com> (raw)
In-Reply-To: <1427711340-29048-1-git-send-email-maciejx.t.gajdzica@intel.com>
---
lib/librte_port/rte_port.h | 60 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 55 insertions(+), 5 deletions(-)
diff --git a/lib/librte_port/rte_port.h b/lib/librte_port/rte_port.h
index d84e5a1..ab433e5 100644
--- a/lib/librte_port/rte_port.h
+++ b/lib/librte_port/rte_port.h
@@ -81,6 +81,12 @@ extern "C" {
Cannot be changed. */
#define RTE_PORT_IN_BURST_SIZE_MAX 64
+/** Input port statistics */
+struct rte_port_in_stats {
+ uint64_t n_pkts_in;
+ uint64_t n_pkts_drop;
+};
+
/**
* Input port create
*
@@ -120,17 +126,42 @@ typedef int (*rte_port_in_op_rx)(
struct rte_mbuf **pkts,
uint32_t n_pkts);
+/**
+ * Input port stats get
+ *
+ * @param port
+ * Handle to output port instance
+ * @param stats
+ * Handle to port_in stats struct to copy data
+ * @param clear
+ * Flag indicating that stats should be cleared after read
+ *
+ * @return
+ * Error code or 0 on success.
+ */
+typedef int (*rte_port_in_op_stats_read)(
+ void *port,
+ struct rte_port_in_stats *stats,
+ int clear);
+
/** Input port interface defining the input port operation */
struct rte_port_in_ops {
rte_port_in_op_create f_create; /**< Create */
rte_port_in_op_free f_free; /**< Free */
rte_port_in_op_rx f_rx; /**< Packet RX (packet burst) */
+ rte_port_in_op_stats_read f_stats; /**< Stats */
};
/*
* Port OUT
*
*/
+/** Output port statistics */
+struct rte_port_out_stats {
+ uint64_t n_pkts_in;
+ uint64_t n_pkts_drop;
+};
+
/**
* Output port create
*
@@ -197,13 +228,32 @@ typedef int (*rte_port_out_op_tx_bulk)(
*/
typedef int (*rte_port_out_op_flush)(void *port);
+/**
+ * Output port stats read
+ *
+ * @param port
+ * Handle to output port instance
+ * @param stats
+ * Handle to port_out stats struct to copy data
+ * @param clear
+ * Flag indicating that stats should be cleared after read
+ *
+ * @return
+ * Error code or 0 on success.
+ */
+typedef int (*rte_port_out_op_stats_read)(
+ void *port,
+ struct rte_port_out_stats *stats,
+ int clear);
+
/** Output port interface defining the output port operation */
struct rte_port_out_ops {
- rte_port_out_op_create f_create; /**< Create */
- rte_port_out_op_free f_free; /**< Free */
- rte_port_out_op_tx f_tx; /**< Packet TX (single packet) */
- rte_port_out_op_tx_bulk f_tx_bulk; /**< Packet TX (packet burst) */
- rte_port_out_op_flush f_flush; /**< Flush */
+ rte_port_out_op_create f_create; /**< Create */
+ rte_port_out_op_free f_free; /**< Free */
+ rte_port_out_op_tx f_tx; /**< Packet TX (single packet) */
+ rte_port_out_op_tx_bulk f_tx_bulk; /**< Packet TX (packet burst) */
+ rte_port_out_op_flush f_flush; /**< Flush */
+ rte_port_out_op_stats_read f_stats; /**< Stats */
};
#ifdef __cplusplus
--
1.7.9.5
next prev parent reply other threads:[~2015-03-30 10:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-30 10:28 [dpdk-dev] [PATCH 00/13] port: added port statistics Maciej Gajdzica
2015-03-30 10:28 ` Maciej Gajdzica [this message]
2015-03-30 10:28 ` [dpdk-dev] [PATCH 02/13] port: added port_ethdev_reader stats Maciej Gajdzica
2015-03-30 10:28 ` [dpdk-dev] [PATCH 03/13] port: added port_ethdev_writer stats Maciej Gajdzica
2015-03-30 10:28 ` [dpdk-dev] [PATCH 04/13] port: added port_ethdev_writer_nodrop stats Maciej Gajdzica
2015-03-30 10:28 ` [dpdk-dev] [PATCH 05/13] port: added port_frag stats Maciej Gajdzica
2015-03-30 10:28 ` [dpdk-dev] [PATCH 06/13] port: added port_ras stats Maciej Gajdzica
2015-03-30 10:28 ` [dpdk-dev] [PATCH 07/13] port: added port_ring_reader stats Maciej Gajdzica
2015-03-30 10:28 ` [dpdk-dev] [PATCH 08/13] port: added port_ring_writer stats Maciej Gajdzica
2015-03-30 10:29 ` [dpdk-dev] [PATCH 09/13] port: added port_ring_writer_nodrop stats Maciej Gajdzica
2015-03-30 11:57 ` [dpdk-dev] [PATCH 00/13] port: added port statistics Dumitrescu, Cristian
2015-03-30 16:45 ` Stephen Hemminger
2015-03-30 20:27 ` David Marchand
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=1427711340-29048-2-git-send-email-maciejx.t.gajdzica@intel.com \
--to=maciejx.t.gajdzica@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 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).