All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shijith Thotton <shijith.thotton@caviumnetworks.com>
To: ferruh.yigit@intel.com
Cc: dev@dpdk.org, Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	Derek Chickles <derek.chickles@caviumnetworks.com>,
	Venkat Koppula <venkat.koppula@caviumnetworks.com>,
	Srisivasubramanian S <ssrinivasan@caviumnetworks.com>,
	Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
Subject: [PATCH v2 42/46] net/liquidio: add APIs for hardware stats
Date: Thu,  2 Mar 2017 17:02:47 +0530	[thread overview]
Message-ID: <1488454371-3342-43-git-send-email-shijith.thotton@caviumnetworks.com> (raw)
In-Reply-To: <1488454371-3342-1-git-send-email-shijith.thotton@caviumnetworks.com>

Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com>
Signed-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com>
Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
Signed-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
---
 drivers/net/liquidio/base/lio_hw_defs.h |   2 +
 drivers/net/liquidio/lio_ethdev.c       | 194 ++++++++++++++++++++++++++++++++
 drivers/net/liquidio/lio_ethdev.h       |  83 ++++++++++++++
 3 files changed, 279 insertions(+)

diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
index cc189ad..8a22d10 100644
--- a/drivers/net/liquidio/base/lio_hw_defs.h
+++ b/drivers/net/liquidio/base/lio_hw_defs.h
@@ -124,6 +124,7 @@ enum octeon_tag_type {
 #define LIO_OPCODE_NW_DATA		0x02 /* network packet data */
 #define LIO_OPCODE_CMD			0x03
 #define LIO_OPCODE_INFO			0x04
+#define LIO_OPCODE_PORT_STATS		0x05
 #define LIO_OPCODE_IF_CFG		0x09
 
 #define LIO_MIN_RX_BUF_SIZE		64
@@ -132,6 +133,7 @@ enum octeon_tag_type {
 /* NIC Command types */
 #define LIO_CMD_CHANGE_DEVFLAGS		0x3
 #define LIO_CMD_RX_CTL			0x4
+#define LIO_CMD_CLEAR_STATS		0x6
 #define LIO_CMD_SET_RSS			0xD
 #define LIO_CMD_TNL_RX_CSUM_CTL		0x10
 #define LIO_CMD_TNL_TX_CSUM_CTL		0x11
diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
index 7f0e9f4..8459986 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -117,6 +117,197 @@
 	return 0;
 }
 
+/* store statistics names and its offset in stats structure */
+struct rte_lio_xstats_name_off {
+	char name[RTE_ETH_XSTATS_NAME_SIZE];
+	unsigned int offset;
+};
+
+static const struct rte_lio_xstats_name_off rte_lio_stats_strings[] = {
+	{"rx_pkts", offsetof(struct octeon_rx_stats, total_rcvd)},
+	{"rx_bytes", offsetof(struct octeon_rx_stats, bytes_rcvd)},
+	{"rx_broadcast_pkts", offsetof(struct octeon_rx_stats, total_bcst)},
+	{"rx_multicast_pkts", offsetof(struct octeon_rx_stats, total_mcst)},
+	{"rx_flow_ctrl_pkts", offsetof(struct octeon_rx_stats, ctl_rcvd)},
+	{"rx_fifo_err", offsetof(struct octeon_rx_stats, fifo_err)},
+	{"rx_dmac_drop", offsetof(struct octeon_rx_stats, dmac_drop)},
+	{"rx_fcs_err", offsetof(struct octeon_rx_stats, fcs_err)},
+	{"rx_jabber_err", offsetof(struct octeon_rx_stats, jabber_err)},
+	{"rx_l2_err", offsetof(struct octeon_rx_stats, l2_err)},
+	{"rx_vxlan_pkts", offsetof(struct octeon_rx_stats, fw_rx_vxlan)},
+	{"rx_vxlan_err", offsetof(struct octeon_rx_stats, fw_rx_vxlan_err)},
+	{"rx_lro_pkts", offsetof(struct octeon_rx_stats, fw_lro_pkts)},
+	{"tx_pkts", (offsetof(struct octeon_tx_stats, total_pkts_sent)) +
+						sizeof(struct octeon_rx_stats)},
+	{"tx_bytes", (offsetof(struct octeon_tx_stats, total_bytes_sent)) +
+						sizeof(struct octeon_rx_stats)},
+	{"tx_broadcast_pkts",
+		(offsetof(struct octeon_tx_stats, bcast_pkts_sent)) +
+			sizeof(struct octeon_rx_stats)},
+	{"tx_multicast_pkts",
+		(offsetof(struct octeon_tx_stats, mcast_pkts_sent)) +
+			sizeof(struct octeon_rx_stats)},
+	{"tx_flow_ctrl_pkts", (offsetof(struct octeon_tx_stats, ctl_sent)) +
+						sizeof(struct octeon_rx_stats)},
+	{"tx_fifo_err", (offsetof(struct octeon_tx_stats, fifo_err)) +
+						sizeof(struct octeon_rx_stats)},
+	{"tx_total_collisions", (offsetof(struct octeon_tx_stats,
+					  total_collisions)) +
+						sizeof(struct octeon_rx_stats)},
+	{"tx_tso", (offsetof(struct octeon_tx_stats, fw_tso)) +
+						sizeof(struct octeon_rx_stats)},
+	{"tx_vxlan_pkts", (offsetof(struct octeon_tx_stats, fw_tx_vxlan)) +
+						sizeof(struct octeon_rx_stats)},
+};
+
+#define LIO_NB_XSTATS	RTE_DIM(rte_lio_stats_strings)
+
+/* Get hw stats of the port */
+static int
+lio_dev_xstats_get(struct rte_eth_dev *eth_dev, struct rte_eth_xstat *xstats,
+		   unsigned int n)
+{
+	struct lio_device *lio_dev = LIO_DEV(eth_dev);
+	uint16_t timeout = LIO_MAX_CMD_TIMEOUT;
+	struct octeon_link_stats *hw_stats;
+	struct lio_link_stats_resp *resp;
+	struct lio_soft_command *sc;
+	uint32_t resp_size;
+	unsigned int i;
+	int retval;
+
+	if (!lio_dev->intf_open) {
+		lio_dev_err(lio_dev, "Port %d down\n",
+			    lio_dev->port_id);
+		return -EINVAL;
+	}
+
+	if (n < LIO_NB_XSTATS)
+		return LIO_NB_XSTATS;
+
+	resp_size = sizeof(struct lio_link_stats_resp);
+	sc = lio_alloc_soft_command(lio_dev, 0, resp_size, 0);
+	if (sc == NULL)
+		return -ENOMEM;
+
+	resp = (struct lio_link_stats_resp *)sc->virtrptr;
+	lio_prepare_soft_command(lio_dev, sc, LIO_OPCODE,
+				 LIO_OPCODE_PORT_STATS, 0, 0, 0);
+
+	/* Setting wait time in seconds */
+	sc->wait_time = LIO_MAX_CMD_TIMEOUT / 1000;
+
+	retval = lio_send_soft_command(lio_dev, sc);
+	if (retval == LIO_IQ_SEND_FAILED) {
+		lio_dev_err(lio_dev, "failed to get port stats from firmware. status: %x\n",
+			    retval);
+		goto get_stats_fail;
+	}
+
+	while ((*sc->status_word == LIO_COMPLETION_WORD_INIT) && --timeout) {
+		lio_flush_iq(lio_dev, lio_dev->instr_queue[sc->iq_no]);
+		lio_process_ordered_list(lio_dev);
+		rte_delay_ms(1);
+	}
+
+	retval = resp->status;
+	if (retval) {
+		lio_dev_err(lio_dev, "failed to get port stats from firmware\n");
+		goto get_stats_fail;
+	}
+
+	lio_swap_8B_data((uint64_t *)(&resp->link_stats),
+			 sizeof(struct octeon_link_stats) >> 3);
+
+	hw_stats = &resp->link_stats;
+
+	for (i = 0; i < LIO_NB_XSTATS; i++) {
+		xstats[i].id = i;
+		xstats[i].value =
+		    *(uint64_t *)(((char *)hw_stats) +
+					rte_lio_stats_strings[i].offset);
+	}
+
+	lio_free_soft_command(sc);
+
+	return LIO_NB_XSTATS;
+
+get_stats_fail:
+	lio_free_soft_command(sc);
+
+	return -1;
+}
+
+static int
+lio_dev_xstats_get_names(struct rte_eth_dev *eth_dev,
+			 struct rte_eth_xstat_name *xstats_names,
+			 unsigned limit __rte_unused)
+{
+	struct lio_device *lio_dev = LIO_DEV(eth_dev);
+	unsigned int i;
+
+	if (!lio_dev->intf_open) {
+		lio_dev_err(lio_dev, "Port %d down\n",
+			    lio_dev->port_id);
+		return -EINVAL;
+	}
+
+	if (xstats_names == NULL)
+		return LIO_NB_XSTATS;
+
+	/* Note: limit checked in rte_eth_xstats_names() */
+
+	for (i = 0; i < LIO_NB_XSTATS; i++) {
+		snprintf(xstats_names[i].name, sizeof(xstats_names[i].name),
+			 "%s", rte_lio_stats_strings[i].name);
+	}
+
+	return LIO_NB_XSTATS;
+}
+
+/* Reset hw stats for the port */
+static void
+lio_dev_xstats_reset(struct rte_eth_dev *eth_dev)
+{
+	struct lio_device *lio_dev = LIO_DEV(eth_dev);
+	struct lio_dev_ctrl_cmd ctrl_cmd;
+	struct lio_ctrl_pkt ctrl_pkt;
+
+	if (!lio_dev->intf_open) {
+		lio_dev_err(lio_dev, "Port %d down\n",
+			    lio_dev->port_id);
+		return;
+	}
+
+	/* flush added to prevent cmd failure
+	 * incase the queue is full
+	 */
+	lio_flush_iq(lio_dev, lio_dev->instr_queue[0]);
+
+	memset(&ctrl_pkt, 0, sizeof(struct lio_ctrl_pkt));
+	memset(&ctrl_cmd, 0, sizeof(struct lio_dev_ctrl_cmd));
+
+	ctrl_cmd.eth_dev = eth_dev;
+	ctrl_cmd.cond = 0;
+
+	ctrl_pkt.ncmd.s.cmd = LIO_CMD_CLEAR_STATS;
+	ctrl_pkt.ctrl_cmd = &ctrl_cmd;
+
+	if (lio_send_ctrl_pkt(lio_dev, &ctrl_pkt)) {
+		lio_dev_err(lio_dev, "Failed to send clear stats command\n");
+		return;
+	}
+
+	if (lio_wait_for_ctrl_cmd(lio_dev, &ctrl_cmd)) {
+		lio_dev_err(lio_dev, "Clear stats command timed out\n");
+		return;
+	}
+
+	/* clear stored per queue stats */
+	RTE_FUNC_PTR_OR_RET(*eth_dev->dev_ops->stats_reset);
+	(*eth_dev->dev_ops->stats_reset)(eth_dev);
+}
+
 /* Retrieve the device statistics (# packets in/out, # bytes in/out, etc */
 static void
 lio_dev_stats_get(struct rte_eth_dev *eth_dev,
@@ -1471,7 +1662,10 @@ static int lio_dev_configure(struct rte_eth_dev *eth_dev)
 	.allmulticast_disable	= lio_dev_allmulticast_disable,
 	.link_update		= lio_dev_link_update,
 	.stats_get		= lio_dev_stats_get,
+	.xstats_get		= lio_dev_xstats_get,
+	.xstats_get_names	= lio_dev_xstats_get_names,
 	.stats_reset		= lio_dev_stats_reset,
+	.xstats_reset		= lio_dev_xstats_reset,
 	.dev_infos_get		= lio_dev_info_get,
 	.mtu_set		= lio_dev_change_vf_mtu,
 	.rx_queue_setup		= lio_dev_rx_queue_setup,
diff --git a/drivers/net/liquidio/lio_ethdev.h b/drivers/net/liquidio/lio_ethdev.h
index 6543061..150e9c9 100644
--- a/drivers/net/liquidio/lio_ethdev.h
+++ b/drivers/net/liquidio/lio_ethdev.h
@@ -62,6 +62,83 @@ struct octeon_if_cfg_info {
 	char lio_firmware_version[LIO_FW_VERSION_LENGTH];
 };
 
+/** Stats for each NIC port in RX direction. */
+struct octeon_rx_stats {
+	/* link-level stats */
+	uint64_t total_rcvd;
+	uint64_t bytes_rcvd;
+	uint64_t total_bcst;
+	uint64_t total_mcst;
+	uint64_t runts;
+	uint64_t ctl_rcvd;
+	uint64_t fifo_err; /* Accounts for over/under-run of buffers */
+	uint64_t dmac_drop;
+	uint64_t fcs_err;
+	uint64_t jabber_err;
+	uint64_t l2_err;
+	uint64_t frame_err;
+
+	/* firmware stats */
+	uint64_t fw_total_rcvd;
+	uint64_t fw_total_fwd;
+	uint64_t fw_total_fwd_bytes;
+	uint64_t fw_err_pko;
+	uint64_t fw_err_link;
+	uint64_t fw_err_drop;
+	uint64_t fw_rx_vxlan;
+	uint64_t fw_rx_vxlan_err;
+
+	/* LRO */
+	uint64_t fw_lro_pkts;   /* Number of packets that are LROed */
+	uint64_t fw_lro_octs;   /* Number of octets that are LROed */
+	uint64_t fw_total_lro;  /* Number of LRO packets formed */
+	uint64_t fw_lro_aborts; /* Number of times lRO of packet aborted */
+	uint64_t fw_lro_aborts_port;
+	uint64_t fw_lro_aborts_seq;
+	uint64_t fw_lro_aborts_tsval;
+	uint64_t fw_lro_aborts_timer;
+	/* intrmod: packet forward rate */
+	uint64_t fwd_rate;
+};
+
+/** Stats for each NIC port in RX direction. */
+struct octeon_tx_stats {
+	/* link-level stats */
+	uint64_t total_pkts_sent;
+	uint64_t total_bytes_sent;
+	uint64_t mcast_pkts_sent;
+	uint64_t bcast_pkts_sent;
+	uint64_t ctl_sent;
+	uint64_t one_collision_sent;	/* Packets sent after one collision */
+	/* Packets sent after multiple collision */
+	uint64_t multi_collision_sent;
+	/* Packets not sent due to max collisions */
+	uint64_t max_collision_fail;
+	/* Packets not sent due to max deferrals */
+	uint64_t max_deferral_fail;
+	/* Accounts for over/under-run of buffers */
+	uint64_t fifo_err;
+	uint64_t runts;
+	uint64_t total_collisions; /* Total number of collisions detected */
+
+	/* firmware stats */
+	uint64_t fw_total_sent;
+	uint64_t fw_total_fwd;
+	uint64_t fw_total_fwd_bytes;
+	uint64_t fw_err_pko;
+	uint64_t fw_err_link;
+	uint64_t fw_err_drop;
+	uint64_t fw_err_tso;
+	uint64_t fw_tso;     /* number of tso requests */
+	uint64_t fw_tso_fwd; /* number of packets segmented in tso */
+	uint64_t fw_tx_vxlan;
+};
+
+struct octeon_link_stats {
+	struct octeon_rx_stats fromwire;
+	struct octeon_tx_stats fromhost;
+};
+
 union lio_if_cfg {
 	uint64_t if_cfg64;
 	struct {
@@ -87,6 +164,12 @@ struct lio_if_cfg_resp {
 	uint64_t status;
 };
 
+struct lio_link_stats_resp {
+	uint64_t rh;
+	struct octeon_link_stats link_stats;
+	uint64_t status;
+};
+
 struct lio_link_status_resp {
 	uint64_t rh;
 	struct octeon_link_info link_info;
-- 
1.8.3.1

  parent reply	other threads:[~2017-03-02 11:40 UTC|newest]

Thread overview: 175+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-21  9:26 [PATCH 00/50] LiquidIO PMD Shijith Thotton
2017-02-21  9:26 ` [PATCH 01/50] net/liquidio/base: hardware register definitions Shijith Thotton
2017-02-21  9:26 ` [PATCH 02/50] config: liquidio PMD configuration Shijith Thotton
2017-02-21  9:26 ` [PATCH 03/50] net/liquidio: added PMD version map file Shijith Thotton
2017-02-21  9:26 ` [PATCH 04/50] net/liquidio: definitions for log Shijith Thotton
2017-02-21  9:26 ` [PATCH 05/50] maintainers: claim responsibility for LiquidIO PMD Shijith Thotton
2017-02-23 14:28   ` Ferruh Yigit
2017-02-23 17:44     ` Shijith Thotton
2017-02-21  9:26 ` [PATCH 06/50] net/liquidio: liquidio VF PMD Driver registration Shijith Thotton
2017-02-23 14:29   ` Ferruh Yigit
2017-02-23 17:51     ` Shijith Thotton
2017-02-21  9:26 ` [PATCH 07/50] net/liquidio: added Makefile Shijith Thotton
2017-02-23 14:27   ` Ferruh Yigit
2017-02-21  9:26 ` [PATCH 08/50] net/liquidio/base: macros to read and write register Shijith Thotton
2017-02-21  9:26 ` [PATCH 09/50] net/liquidio: liquidio device init Shijith Thotton
2017-02-21  9:26 ` [PATCH 10/50] net/liquidio: add API to disable io queues Shijith Thotton
2017-02-21  9:26 ` [PATCH 11/50] net/liquidio: add API to setup io queue registers Shijith Thotton
2017-02-21  9:26 ` [PATCH 12/50] net/liquidio: add mbox APIs for PF/VF communication Shijith Thotton
2017-02-21  9:26 ` [PATCH 13/50] net/liquidio: add API to setup mbox registers Shijith Thotton
2017-02-21  9:26 ` [PATCH 14/50] net/liquidio: add API for VF/PF handshake Shijith Thotton
2017-02-21  9:26 ` [PATCH 15/50] net/liquidio: add API for VF FLR Shijith Thotton
2017-02-21  9:26 ` [PATCH 16/50] net/liquidio: add APIs to allocate and free IQ Shijith Thotton
2017-02-23 14:30   ` Ferruh Yigit
2017-02-23 18:35     ` Shijith Thotton
2017-02-21  9:26 ` [PATCH 17/50] net/liquidio: add API to setup instruction queue Shijith Thotton
2017-02-21  9:26 ` [PATCH 18/50] net/liquidio: add API to allocate and free command pool Shijith Thotton
2017-02-21  9:26 ` [PATCH 19/50] net/liquidio: add API to allocate and free soft command Shijith Thotton
2017-02-21  9:26 ` [PATCH 20/50] net/liquidio: add APIs for response list Shijith Thotton
2017-02-21  9:26 ` [PATCH 21/50] net/liquidio: add APIs to send packet to device Shijith Thotton
2017-02-21  9:26 ` [PATCH 22/50] net/liquidio: add API to configure device Shijith Thotton
2017-02-21  9:26 ` [PATCH 23/50] net/liquidio: add API to setup Rx queue Shijith Thotton
2017-02-21  9:26 ` [PATCH 24/50] net/liquidio: initialize " Shijith Thotton
2017-02-21  9:26 ` [PATCH 25/50] net/liquidio: add Rx data path Shijith Thotton
2017-02-21  9:26 ` [PATCH 26/50] net/liquidio: add API to release Rx queue Shijith Thotton
2017-02-21  9:26 ` [PATCH 27/50] net/liquidio: add API to setup Tx queue Shijith Thotton
2017-02-21  9:26 ` [PATCH 28/50] net/liquidio: add APIs for sg list Shijith Thotton
2017-02-23 14:31   ` Ferruh Yigit
2017-02-21  9:26 ` [PATCH 29/50] net/liquidio: add API to enable and disable IO queues Shijith Thotton
2017-02-21  9:26 ` [PATCH 30/50] net/liquidio: add Tx data path for single segment Shijith Thotton
2017-02-23 14:31   ` Ferruh Yigit
2017-02-21  9:26 ` [PATCH 31/50] net/liquidio: add Tx data path for multiple segments Shijith Thotton
2017-02-21  9:26 ` [PATCH 32/50] net/liquidio: add APIs to flush IQ and free buffers Shijith Thotton
2017-02-21  9:26 ` [PATCH 33/50] net/liquidio: add API to release Tx queue Shijith Thotton
2017-02-21  9:26 ` [PATCH 34/50] net/liquidio: add API to start device and check link Shijith Thotton
2017-02-21  9:26 ` [PATCH 35/50] net/liquidio: add API for link update Shijith Thotton
2017-02-21  9:26 ` [PATCH 36/50] net/liquidio: add API to alloc and send command Shijith Thotton
2017-02-23 14:33   ` Ferruh Yigit
2017-02-23 18:47     ` Shijith Thotton
2017-02-21  9:26 ` [PATCH 37/50] net/liquidio: add API to control Rx Shijith Thotton
2017-02-21  9:26 ` [PATCH 38/50] net/liquidio: add RSS support Shijith Thotton
2017-02-21  9:26 ` [PATCH 39/50] net/liquidio: add API to get device info Shijith Thotton
2017-02-21  9:26 ` [PATCH 40/50] net/liquidio: add API to set MTU Shijith Thotton
2017-02-23 14:34   ` Ferruh Yigit
2017-02-21  9:26 ` [PATCH 41/50] net/liquidio: add API to enable and disable multicast Shijith Thotton
2017-02-21  9:26 ` [PATCH 42/50] net/liquidio: add API to set link up and down Shijith Thotton
2017-02-21  9:26 ` [PATCH 43/50] net/liquidio: add API to configure udp tunnel port Shijith Thotton
2017-02-21  9:26 ` [PATCH 44/50] net/liquidio: add support for Rx stats Shijith Thotton
2017-02-21  9:27 ` [PATCH 45/50] net/liquidio: add support for Tx stats Shijith Thotton
2017-02-21  9:27 ` [PATCH 46/50] net/liquidio: add APIs for hardware stats Shijith Thotton
2017-02-21  9:27 ` [PATCH 47/50] net/liquidio: add API for dev stop Shijith Thotton
2017-02-21  9:27 ` [PATCH 48/50] net/liquidio: add API for dev close Shijith Thotton
2017-02-21  9:27 ` [PATCH 49/50] net/liquidio: add API to add and remove VLAN port Shijith Thotton
2017-02-21  9:27 ` [PATCH 50/50] doc: added documents Shijith Thotton
2017-02-23 14:35   ` Ferruh Yigit
2017-02-25 16:26     ` Shijith Thotton
2017-02-23 16:50   ` Mcnamara, John
2017-02-21 20:22 ` [PATCH 00/50] LiquidIO PMD Stephen Hemminger
2017-02-22  4:56   ` Shijith Thotton
2017-02-23  9:56     ` Ferruh Yigit
2017-03-02 11:32 ` [PATCH v2 00/46] " Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 01/46] config: add liquidio PMD skeleton Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 02/46] net/liquidio/base: hardware register definitions Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 03/46] net/liquidio: definitions for log Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 04/46] net/liquidio: liquidio VF PMD driver registration Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 05/46] net/liquidio/base: macros to read and write register Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 06/46] net/liquidio: liquidio device init Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 07/46] net/liquidio: add API to disable IO queues Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 08/46] net/liquidio: add API to setup IO queue registers Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 09/46] net/liquidio: add mbox APIs for PF VF communication Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 10/46] net/liquidio: add API to setup mbox registers Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 11/46] net/liquidio: add API for PF VF handshake Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 12/46] net/liquidio: add API for VF FLR Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 13/46] net/liquidio: add APIs to allocate and free IQ Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 14/46] net/liquidio: add API to setup IQ Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 15/46] net/liquidio: add APIs to allocate and free SC buffer pool Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 16/46] net/liquidio: add APIs to allocate and free soft command Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 17/46] net/liquidio: add APIs for response list Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 18/46] net/liquidio: add API to send packet to device Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 19/46] net/liquidio: add API to configure device Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 20/46] net/liquidio: add API to setup Rx queue Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 21/46] net/liquidio: initialize " Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 22/46] net/liquidio: add Rx data path Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 23/46] net/liquidio: add API to release Rx queue Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 24/46] net/liquidio: add API to setup Tx queue Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 25/46] net/liquidio: add APIs for SG list Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 26/46] net/liquidio: add APIs to enable and disable IO queues Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 27/46] net/liquidio: add Tx data path for single segment Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 28/46] net/liquidio: add Tx data path for multiple segments Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 29/46] net/liquidio: add API to flush IQ Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 30/46] net/liquidio: add API to release Tx queue Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 31/46] net/liquidio: add APIs to start device and update link Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 32/46] net/liquidio: add APIs to alloc and send control command Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 33/46] net/liquidio: add API to control Rx Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 34/46] net/liquidio: add RSS support Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 35/46] net/liquidio: add API to get device info Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 36/46] net/liquidio: add API to set MTU Shijith Thotton
2017-03-21 12:24     ` Ferruh Yigit
2017-03-21 12:53       ` Shijith Thotton
2017-03-21 13:01         ` Ferruh Yigit
2017-03-21 13:56           ` Shijith Thotton
2017-03-21 14:09             ` Ferruh Yigit
2017-03-23  5:02               ` Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 37/46] net/liquidio: add APIs to enable and disable multicast Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 38/46] net/liquidio: add APIs to set link up and down Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 39/46] net/liquidio: add API to configure UDP tunnel port Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 40/46] net/liquidio: add support for Rx stats Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 41/46] net/liquidio: add support for Tx stats Shijith Thotton
2017-03-02 11:32   ` Shijith Thotton [this message]
2017-03-02 11:32   ` [PATCH v2 43/46] net/liquidio: add API to stop device Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 44/46] net/liquidio: add API to close device Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 45/46] net/liquidio: add API to add and remove VLAN port Shijith Thotton
2017-03-02 11:32   ` [PATCH v2 46/46] doc: add doc for liquidio Shijith Thotton
2017-03-21 12:33     ` Ferruh Yigit
2017-03-23  5:44       ` Shijith Thotton
2017-03-23 13:38         ` Ferruh Yigit
2017-03-21 12:38   ` [PATCH v2 00/46] LiquidIO PMD Ferruh Yigit
2017-03-24 11:29     ` Shijith Thotton
2017-03-25  6:24   ` [PATCH v3 " Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 01/46] net/liquidio: add liquidio PMD skeleton Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 02/46] net/liquidio/base: hardware register definitions Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 03/46] net/liquidio: definitions for log Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 04/46] net/liquidio: liquidio VF PMD driver registration Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 05/46] net/liquidio/base: macros to read and write register Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 06/46] net/liquidio: liquidio device init Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 07/46] net/liquidio: add API to disable IO queues Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 08/46] net/liquidio: add API to setup IO queue registers Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 09/46] net/liquidio: add mbox APIs for PF VF communication Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 10/46] net/liquidio: add API to setup mbox registers Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 11/46] net/liquidio: add API for PF VF handshake Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 12/46] net/liquidio: add API for VF FLR Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 13/46] net/liquidio: add APIs to allocate and free IQ Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 14/46] net/liquidio: add API to setup IQ Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 15/46] net/liquidio: add APIs to allocate and free SC buffer pool Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 16/46] net/liquidio: add APIs to allocate and free soft command Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 17/46] net/liquidio: add APIs for response list Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 18/46] net/liquidio: add API to send packet to device Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 19/46] net/liquidio: add API to configure device Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 20/46] net/liquidio: add API to setup Rx queue Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 21/46] net/liquidio: initialize " Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 22/46] net/liquidio: add Rx data path Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 23/46] net/liquidio: add API to release Rx queue Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 24/46] net/liquidio: add API to setup Tx queue Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 25/46] net/liquidio: add APIs for SG list Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 26/46] net/liquidio: add APIs to enable and disable IO queues Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 27/46] net/liquidio: add Tx data path for single segment Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 28/46] net/liquidio: add Tx data path for multiple segments Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 29/46] net/liquidio: add API to flush IQ Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 30/46] net/liquidio: add API to release Tx queue Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 31/46] net/liquidio: add APIs to start device and update link Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 32/46] net/liquidio: add APIs to alloc and send control command Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 33/46] net/liquidio: add API to control Rx Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 34/46] net/liquidio: add RSS support Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 35/46] net/liquidio: add API to get device info Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 36/46] net/liquidio: add API to validate VF MTU Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 37/46] net/liquidio: add APIs to enable and disable multicast Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 38/46] net/liquidio: add APIs to set link up and down Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 39/46] net/liquidio: add APIs to configure UDP tunnel port Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 40/46] net/liquidio: add support for Rx stats Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 41/46] net/liquidio: add support for Tx stats Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 42/46] net/liquidio: add APIs for hardware stats Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 43/46] net/liquidio: add API to stop device Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 44/46] net/liquidio: add API to close device Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 45/46] net/liquidio: add API to add and remove VLAN port Shijith Thotton
2017-03-25  6:24     ` [PATCH v3 46/46] doc: add doc for liquidio and update release notes Shijith Thotton
2017-03-27 10:41     ` [PATCH v3 00/46] LiquidIO PMD Ferruh Yigit

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=1488454371-3342-43-git-send-email-shijith.thotton@caviumnetworks.com \
    --to=shijith.thotton@caviumnetworks.com \
    --cc=derek.chickles@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=mjatharakonda@oneconvergence.com \
    --cc=ssrinivasan@caviumnetworks.com \
    --cc=venkat.koppula@caviumnetworks.com \
    /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.