All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com, Stephen Hurd <stephen.hurd@broadcom.com>
Subject: [PATCH v3 21/26] net/bnxt: add support to get and clear VF specific stats
Date: Wed, 31 May 2017 22:02:27 -0500	[thread overview]
Message-ID: <20170601030232.38677-22-ajit.khaparde@broadcom.com> (raw)
In-Reply-To: <20170601030232.38677-1-ajit.khaparde@broadcom.com>

This patch adds code to get and clear VF stats.
It also adds the necessary HWRM structures to send the command
to the firmware.

Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
--
v1->v2: regroup related patches and incorporate other review comments

v2->v3:
  - Rebasing to next-net tree
  - Use net/bnxt instead of just bnxt in patch subject
  - Add a protection against application calling the API for different
  vendor's port_id
  - Move the PF related MAC/VLAN anti spoof counter to xstats.
---
 app/test-pmd/cmdline.c                    | 23 +++++++--
 drivers/net/bnxt/bnxt_hwrm.c              | 38 ++++++++++++++
 drivers/net/bnxt/bnxt_hwrm.h              |  3 ++
 drivers/net/bnxt/bnxt_stats.c             | 60 +++++++++++++++++++++-
 drivers/net/bnxt/rte_pmd_bnxt.c           | 83 +++++++++++++++++++++++++++++++
 drivers/net/bnxt/rte_pmd_bnxt.h           | 52 +++++++++++++++++++
 drivers/net/bnxt/rte_pmd_bnxt_version.map |  3 ++
 7 files changed, 255 insertions(+), 7 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 90e4a27..f49d83b 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -13079,9 +13079,16 @@ cmd_show_vf_stats_parsed(
 	memset(&stats, 0, sizeof(stats));
 
 #ifdef RTE_LIBRTE_I40E_PMD
-	ret = rte_pmd_i40e_get_vf_stats(res->port_id,
-					res->vf_id,
-					&stats);
+	if (ret == -ENOTSUP)
+		ret = rte_pmd_i40e_get_vf_stats(res->port_id,
+						res->vf_id,
+						&stats);
+#endif
+#ifdef RTE_LIBRTE_BNXT_PMD
+	if (ret == -ENOTSUP)
+		ret = rte_pmd_bnxt_get_vf_stats(res->port_id,
+						res->vf_id,
+						&stats);
 #endif
 
 	switch (ret) {
@@ -13177,8 +13184,14 @@ cmd_clear_vf_stats_parsed(
 		return;
 
 #ifdef RTE_LIBRTE_I40E_PMD
-	ret = rte_pmd_i40e_reset_vf_stats(res->port_id,
-					  res->vf_id);
+	if (ret == -ENOTSUP)
+		ret = rte_pmd_i40e_reset_vf_stats(res->port_id,
+						  res->vf_id);
+#endif
+#ifdef RTE_LIBRTE_BNXT_PMD
+	if (ret == -ENOTSUP)
+		ret = rte_pmd_bnxt_reset_vf_stats(res->port_id,
+						  res->vf_id);
 #endif
 
 	switch (ret) {
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index f143541..6ea31ca 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1237,6 +1237,27 @@ int bnxt_hwrm_func_vf_mac(struct bnxt *bp, uint16_t vf, const uint8_t *mac_addr)
 	return rc;
 }
 
+int bnxt_hwrm_func_qstats_tx_drop(struct bnxt *bp, uint16_t fid,
+				  uint64_t *dropped)
+{
+	int rc = 0;
+	struct hwrm_func_qstats_input req = {.req_type = 0};
+	struct hwrm_func_qstats_output *resp = bp->hwrm_cmd_resp_addr;
+
+	HWRM_PREP(req, FUNC_QSTATS, -1, resp);
+
+	req.fid = rte_cpu_to_le_16(fid);
+
+	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
+
+	HWRM_CHECK_RESULT;
+
+	if (dropped)
+		*dropped = rte_le_to_cpu_64(resp->tx_drop_pkts);
+
+	return rc;
+}
+
 int bnxt_hwrm_func_qstats(struct bnxt *bp, uint16_t fid,
 			  struct rte_eth_stats *stats)
 {
@@ -1274,6 +1295,23 @@ int bnxt_hwrm_func_qstats(struct bnxt *bp, uint16_t fid,
 	return rc;
 }
 
+int bnxt_hwrm_func_clr_stats(struct bnxt *bp, uint16_t fid)
+{
+	int rc = 0;
+	struct hwrm_func_clr_stats_input req = {.req_type = 0};
+	struct hwrm_func_clr_stats_output *resp = bp->hwrm_cmd_resp_addr;
+
+	HWRM_PREP(req, FUNC_CLR_STATS, -1, resp);
+
+	req.fid = rte_cpu_to_le_16(fid);
+
+	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
+
+	HWRM_CHECK_RESULT;
+
+	return rc;
+}
+
 /*
  * HWRM utility functions
  */
diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
index f51ebcf..5aaf947 100644
--- a/drivers/net/bnxt/bnxt_hwrm.h
+++ b/drivers/net/bnxt/bnxt_hwrm.h
@@ -66,6 +66,9 @@ int bnxt_hwrm_func_reset(struct bnxt *bp);
 int bnxt_hwrm_func_driver_unregister(struct bnxt *bp, uint32_t flags);
 int bnxt_hwrm_func_qstats(struct bnxt *bp, uint16_t fid,
 			  struct rte_eth_stats *stats);
+int bnxt_hwrm_func_qstats_tx_drop(struct bnxt *bp, uint16_t fid,
+				  uint64_t *dropped);
+int bnxt_hwrm_func_clr_stats(struct bnxt *bp, uint16_t fid);
 int bnxt_hwrm_func_cfg_def_cp(struct bnxt *bp);
 int bnxt_hwrm_vf_func_cfg_def_cp(struct bnxt *bp);
 
diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c
index ade8195..d7d0e35 100644
--- a/drivers/net/bnxt/bnxt_stats.c
+++ b/drivers/net/bnxt/bnxt_stats.c
@@ -165,6 +165,49 @@ static const struct bnxt_xstats_name_off bnxt_tx_stats_strings[] = {
 				tx_bytes)},
 };
 
+static const struct bnxt_xstats_name_off bnxt_func_stats_strings[] = {
+	{"tx_ucast_pkts", offsetof(struct hwrm_func_qstats_output,
+				tx_ucast_pkts)},
+	{"tx_mcast_pkts", offsetof(struct hwrm_func_qstats_output,
+				tx_mcast_pkts)},
+	{"tx_bcast_pkts", offsetof(struct hwrm_func_qstats_output,
+				tx_bcast_pkts)},
+	{"tx_err_pkts", offsetof(struct hwrm_func_qstats_output,
+				tx_err_pkts)},
+	{"tx_drop_pkts", offsetof(struct hwrm_func_qstats_output,
+				tx_drop_pkts)},
+	{"tx_ucast_bytes", offsetof(struct hwrm_func_qstats_output,
+				tx_ucast_bytes)},
+	{"tx_mcast_bytes", offsetof(struct hwrm_func_qstats_output,
+				tx_mcast_bytes)},
+	{"tx_bcast_bytes", offsetof(struct hwrm_func_qstats_output,
+				tx_bcast_bytes)},
+	{"rx_ucast_pkts", offsetof(struct hwrm_func_qstats_output,
+				rx_ucast_pkts)},
+	{"rx_mcast_pkts", offsetof(struct hwrm_func_qstats_output,
+				rx_mcast_pkts)},
+	{"rx_bcast_pkts", offsetof(struct hwrm_func_qstats_output,
+				rx_bcast_pkts)},
+	{"rx_err_pkts", offsetof(struct hwrm_func_qstats_output,
+				rx_err_pkts)},
+	{"rx_drop_pkts", offsetof(struct hwrm_func_qstats_output,
+				rx_drop_pkts)},
+	{"rx_ucast_bytes", offsetof(struct hwrm_func_qstats_output,
+				rx_ucast_bytes)},
+	{"rx_mcast_bytes", offsetof(struct hwrm_func_qstats_output,
+				rx_mcast_bytes)},
+	{"rx_bcast_bytes", offsetof(struct hwrm_func_qstats_output,
+				rx_bcast_bytes)},
+	{"rx_agg_pkts", offsetof(struct hwrm_func_qstats_output,
+				rx_agg_pkts)},
+	{"rx_agg_bytes", offsetof(struct hwrm_func_qstats_output,
+				rx_agg_bytes)},
+	{"rx_agg_events", offsetof(struct hwrm_func_qstats_output,
+				rx_agg_events)},
+	{"rx_agg_aborts", offsetof(struct hwrm_func_qstats_output,
+				rx_agg_aborts)},
+};
+
 /*
  * Statistics functions
  */
@@ -224,6 +267,7 @@ int bnxt_dev_xstats_get_op(struct rte_eth_dev *eth_dev,
 	struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private;
 
 	unsigned int count, i;
+	uint64_t tx_drop_pkts;
 
 	if (!(bp->flags & BNXT_FLAG_PORT_STATS)) {
 		RTE_LOG(ERR, PMD, "xstats not supported for VF\n");
@@ -231,9 +275,10 @@ int bnxt_dev_xstats_get_op(struct rte_eth_dev *eth_dev,
 	}
 
 	bnxt_hwrm_port_qstats(bp);
+	bnxt_hwrm_func_qstats_tx_drop(bp, 0xffff, &tx_drop_pkts);
 
 	count = RTE_DIM(bnxt_rx_stats_strings) +
-		RTE_DIM(bnxt_tx_stats_strings);
+		RTE_DIM(bnxt_tx_stats_strings) + 1; /* For tx_drop_pkts */
 
 	if (n < count)
 		return count;
@@ -255,6 +300,10 @@ int bnxt_dev_xstats_get_op(struct rte_eth_dev *eth_dev,
 		count++;
 	}
 
+	/* The Tx drop pkts aka the Anti spoof coounter */
+	xstats[count].value = rte_le_to_cpu_64(tx_drop_pkts);
+	count++;
+
 	return count;
 }
 
@@ -262,8 +311,9 @@ int bnxt_dev_xstats_get_names_op(__rte_unused struct rte_eth_dev *eth_dev,
 	struct rte_eth_xstat_name *xstats_names,
 	__rte_unused unsigned int limit)
 {
+	/* Account for the Tx drop pkts aka the Anti spoof counter */
 	const unsigned int stat_cnt = RTE_DIM(bnxt_rx_stats_strings) +
-				RTE_DIM(bnxt_tx_stats_strings);
+				RTE_DIM(bnxt_tx_stats_strings) + 1;
 	unsigned int i, count;
 
 	if (xstats_names != NULL) {
@@ -284,6 +334,12 @@ int bnxt_dev_xstats_get_names_op(__rte_unused struct rte_eth_dev *eth_dev,
 				bnxt_tx_stats_strings[i].name);
 			count++;
 		}
+
+		snprintf(xstats_names[count].name,
+				sizeof(xstats_names[count].name),
+				"%s",
+				bnxt_func_stats_strings[4].name);
+		count++;
 	}
 	return stat_cnt;
 }
diff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c
index 4a714b1..d9e97ab 100644
--- a/drivers/net/bnxt/rte_pmd_bnxt.c
+++ b/drivers/net/bnxt/rte_pmd_bnxt.c
@@ -454,3 +454,86 @@ int rte_pmd_bnxt_set_vf_vlan_filter(struct rte_eth_dev *dev, uint16_t vlan,
 
 	return rc;
 }
+
+int rte_pmd_bnxt_get_vf_stats(uint8_t port,
+			      uint16_t vf_id,
+			      struct rte_eth_stats *stats)
+{
+	struct rte_eth_dev *dev;
+	struct rte_eth_dev_info dev_info;
+	struct bnxt *bp;
+
+	dev = &rte_eth_devices[port];
+	if (!is_bnxt_supported(dev))
+		return -ENOTSUP;
+
+	rte_eth_dev_info_get(port, &dev_info);
+	bp = (struct bnxt *)dev->data->dev_private;
+
+	if (vf_id >= dev_info.max_vfs)
+		return -EINVAL;
+
+	if (!BNXT_PF(bp)) {
+		RTE_LOG(ERR, PMD,
+			"Attempt to get VF %d stats on non-PF port %d!\n",
+			vf_id, port);
+		return -ENOTSUP;
+	}
+
+	return bnxt_hwrm_func_qstats(bp, bp->pf.first_vf_id + vf_id, stats);
+}
+
+int rte_pmd_bnxt_reset_vf_stats(uint8_t port,
+				uint16_t vf_id)
+{
+	struct rte_eth_dev *dev;
+	struct rte_eth_dev_info dev_info;
+	struct bnxt *bp;
+
+	dev = &rte_eth_devices[port];
+	if (!is_bnxt_supported(dev))
+		return -ENOTSUP;
+
+	rte_eth_dev_info_get(port, &dev_info);
+	bp = (struct bnxt *)dev->data->dev_private;
+
+	if (vf_id >= dev_info.max_vfs)
+		return -EINVAL;
+
+	if (!BNXT_PF(bp)) {
+		RTE_LOG(ERR, PMD,
+			"Attempt to reset VF %d stats on non-PF port %d!\n",
+			vf_id, port);
+		return -ENOTSUP;
+	}
+
+	return bnxt_hwrm_func_clr_stats(bp, bp->pf.first_vf_id + vf_id);
+}
+
+int rte_pmd_bnxt_get_vf_tx_drop_count(uint8_t port, uint16_t vf_id,
+				      uint64_t *count)
+{
+	struct rte_eth_dev *dev;
+	struct rte_eth_dev_info dev_info;
+	struct bnxt *bp;
+
+	dev = &rte_eth_devices[port];
+	if (!is_bnxt_supported(dev))
+		return -ENOTSUP;
+
+	rte_eth_dev_info_get(port, &dev_info);
+	bp = (struct bnxt *)dev->data->dev_private;
+
+	if (vf_id >= dev_info.max_vfs)
+		return -EINVAL;
+
+	if (!BNXT_PF(bp)) {
+		RTE_LOG(ERR, PMD,
+			"Attempt to query VF %d TX drops on non-PF port %d!\n",
+			vf_id, port);
+		return -ENOTSUP;
+	}
+
+	return bnxt_hwrm_func_qstats_tx_drop(bp, bp->pf.first_vf_id + vf_id,
+					     count);
+}
diff --git a/drivers/net/bnxt/rte_pmd_bnxt.h b/drivers/net/bnxt/rte_pmd_bnxt.h
index b9176cd..eef5212 100644
--- a/drivers/net/bnxt/rte_pmd_bnxt.h
+++ b/drivers/net/bnxt/rte_pmd_bnxt.h
@@ -165,6 +165,41 @@ int rte_pmd_bnxt_set_vf_rate_limit(uint8_t port, uint16_t vf,
 				uint16_t tx_rate, uint64_t q_msk);
 
 /**
+ * Get VF's statistics
+ *
+ * @param port
+ *    The port identifier of the Ethernet device.
+ * @param vf_id
+ *    VF on which to get.
+ * @param stats
+ *    A pointer to a structure of type *rte_eth_stats* to be filled with
+ *    the values of device counters supported statistics:
+ * @return
+ *   - (0) if successful.
+ *   - (-ENODEV) if *port* invalid.
+ *   - (-EINVAL) if bad parameter.
+ */
+
+int rte_pmd_bnxt_get_vf_stats(uint8_t port,
+			      uint16_t vf_id,
+			      struct rte_eth_stats *stats);
+
+/**
+ * Clear VF's statistics
+ *
+ * @param port
+ *    The port identifier of the Ethernet device.
+ * @param vf_id
+ *    VF on which to get.
+ * @return
+ *   - (0) if successful.
+ *   - (-ENODEV) if *port* invalid.
+ *   - (-EINVAL) if bad parameter.
+ */
+int rte_pmd_bnxt_reset_vf_stats(uint8_t port,
+				uint16_t vf_id);
+
+/**
  * Enable/Disable VF VLAN anti spoof
  *
  * @param port
@@ -181,4 +216,21 @@ int rte_pmd_bnxt_set_vf_rate_limit(uint8_t port, uint16_t vf,
  *   - (-EINVAL) if bad parameter.
  */
 int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);
+
+/**
+ * Queries the TX drop counter for the function
+ *
+ * @param port
+ *    The port identifier of the Ethernet device.
+ * @param vf_id
+ *    VF on which to get.
+ * @param count
+ *    Pointer to a uint64_t that will be populated with the counter value.
+ * @return
+ *   - Positive Non-zero value - Error code from HWRM
+ *   - (-EINVAL) invalid vf_id specified.
+ *   - (-ENOTSUP) Ethernet device is not a PF
+ */
+int rte_pmd_bnxt_get_vf_tx_drop_count(uint8_t port, uint16_t vf_id,
+				      uint64_t *count);
 #endif /* _PMD_BNXT_H_ */
diff --git a/drivers/net/bnxt/rte_pmd_bnxt_version.map b/drivers/net/bnxt/rte_pmd_bnxt_version.map
index 770b076..f0eda7b 100644
--- a/drivers/net/bnxt/rte_pmd_bnxt_version.map
+++ b/drivers/net/bnxt/rte_pmd_bnxt_version.map
@@ -9,6 +9,9 @@ DPDK_17.08 {
 	rte_pmd_bnxt_set_vf_vlan_stripq;
 	rte_pmd_bnxt_set_vf_vlan_filter;
 	rte_pmd_bnxt_set_vf_vlan_anti_spoof;
+	rte_pmd_bnxt_get_vf_stats;
+	rte_pmd_bnxt_reset_vf_stats;
+	rte_pmd_bnxt_get_vf_tx_drop_count;
 
 	local: *;
 };
-- 
2.10.1 (Apple Git-78)

  parent reply	other threads:[~2017-06-01  3:02 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-18  1:57 [PATCH 00/23] bnxt patchset Ajit Khaparde
2017-05-18  1:57 ` [PATCH 01/23] bnxt: add various hwrm input/output structures Ajit Khaparde
2017-05-18  1:57 ` [PATCH 02/23] bnxt: code reorg to properly allocate resources in PF/VF modes Ajit Khaparde
2017-05-18  1:57 ` [PATCH 03/23] bnxt: add tunneling support Ajit Khaparde
2017-05-18  1:57 ` [PATCH 04/23] bnxt: support lack of huge pages Ajit Khaparde
2017-05-18  1:57 ` [PATCH 05/23] bnxt: add functions for tx_loopback, set_vf_mac and queues_drop_en Ajit Khaparde
2017-05-18  1:57 ` [PATCH 06/23] bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-05-18  1:57 ` [PATCH 07/23] bnxt: add support for VLAN stripq, VLAN anti spoof and VLAN filtering for VFs Ajit Khaparde
2017-05-18  1:57 ` [PATCH 08/23] bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-05-18  1:57 ` [PATCH 09/23] bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-05-18  1:58 ` [PATCH 10/23] bnxt: add support to add a VF MAC address Ajit Khaparde
2017-05-18  1:58 ` [PATCH 11/23] bnxt: add support for xstats get/reset Ajit Khaparde
2017-05-18  1:58 ` [PATCH 12/23] bnxt: Add support for VLAN filter and strip dev_ops Ajit Khaparde
2017-05-18  1:58 ` [PATCH 13/23] bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-05-18  1:58 ` [PATCH 14/23] bnxt: add support for set_mc_addr_list and mac_addr_set Ajit Khaparde
2017-05-18  1:58 ` [PATCH 15/23] bnxt: add support for fw_version_get dev_op Ajit Khaparde
2017-05-18  1:58 ` [PATCH 16/23] bnxt: add support to set MTU Ajit Khaparde
2017-05-18  1:58 ` [PATCH 17/23] bnxt: add support for LRO Ajit Khaparde
2017-05-18  1:58 ` [PATCH 18/23] bnxt: add rxq_info_get and txq_info_get dev_ops Ajit Khaparde
2017-05-18  1:58 ` [PATCH 19/23] bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-05-18  1:58 ` [PATCH 20/23] bnxt: reorg the query stats code Ajit Khaparde
2017-05-18  1:58 ` [PATCH 21/23] bnxt: update to HWRM version 1.7.5 Ajit Khaparde
2017-05-18  1:58 ` [PATCH 22/23] bnxt: Add support to set VF rxmode Ajit Khaparde
2017-05-18  1:58 ` [PATCH 23/23] bnxt: add code to support vlan_pvid_set dev_op Ajit Khaparde
2017-05-22 10:55 ` [PATCH 00/23] bnxt patchset Ferruh Yigit
2017-05-22 23:02   ` Thomas Monjalon
2017-05-23 17:58   ` Ajit Khaparde
2017-05-26 18:39     ` [PATCH v2 00/25] " Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 01/25] bnxt: update to new HWRM version Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 02/25] bnxt: code reorg to properly allocate resources for PF/VF Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 03/25] bnxt: handle VF/PF initialization appropriately Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 04/25] bnxt: support lack of huge pages Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 05/25] bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 06/25] bnxt: add tunneling support Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 07/25] bnxt: add support for xstats get/reset Ajit Khaparde
2017-05-29 17:42         ` Ferruh Yigit
2017-05-26 18:39       ` [PATCH v2 08/25] bnxt: Add support for VLAN filter and strip dev_ops Ajit Khaparde
2017-05-29 17:43         ` Ferruh Yigit
2017-05-26 18:39       ` [PATCH v2 09/25] bnxt: add support for set multicast addr list and MAC addr set Ajit Khaparde
2017-05-29 17:42         ` Ferruh Yigit
2017-05-26 18:39       ` [PATCH v2 10/25] bnxt: add support for fw_version_get dev_op Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 11/25] bnxt: add support to set MTU Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 12/25] bnxt: add support for LRO Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 13/25] bnxt: add rxq/txq info_get dev_ops Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 14/25] bnxt: add code to support VLAN pvid set dev_op Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 15/25] bnxt: reorg the query stats code Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 16/25] bnxt: add support for led on/off Ajit Khaparde
2017-05-29 17:43         ` Ferruh Yigit
2017-05-26 18:39       ` [PATCH v2 17/25] bnxt: add support for tx loopback, set vf mac and queues drop Ajit Khaparde
2017-05-29 17:43         ` Ferruh Yigit
2017-05-26 18:39       ` [PATCH v2 18/25] bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 19/25] bnxt: add support for VLAN stripq, anti spoof and filtering for VFs Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 20/25] bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-05-29 17:43         ` Ferruh Yigit
2017-05-31  2:12           ` Ajit Khaparde
2017-05-31  9:57             ` Ferruh Yigit
2017-05-31 14:27               ` Ajit Khaparde
2017-05-31 14:46                 ` Ferruh Yigit
2017-05-31 16:15                   ` Thomas Monjalon
2017-05-31 18:41                     ` Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 21/25] bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-05-29 17:43         ` Ferruh Yigit
2017-05-26 18:39       ` [PATCH v2 22/25] bnxt: add support to add a VF MAC address Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 23/25] bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 24/25] bnxt: Add support to set VF rxmode Ajit Khaparde
2017-05-26 18:39       ` [PATCH v2 25/25] update release notes Ajit Khaparde
2017-05-29 17:44         ` Ferruh Yigit
2017-05-29 17:44       ` [PATCH v2 00/25] bnxt patchset Ferruh Yigit
2017-06-01  3:02         ` [PATCH v3 00/26] " Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 01/26] net/bnxt: update to new HWRM version Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 02/26] net/bnxt: code reorg to properly allocate resources for PF/VF Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 03/26] net/bnxt: handle VF/PF initialization appropriately Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 04/26] net/bnxt: support lack of huge pages Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 05/26] net/bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 06/26] net/bnxt: add tunneling support Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 07/26] net/bnxt: add support for xstats get/reset Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 08/26] net/bnxt: add support for VLAN filter and strip Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 09/26] net/bnxt: add support for set multicast addr list and MAC addr set Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 10/26] doc: update bnxt.ini to document Allmulticast mode Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 11/26] net/bnxt: add support to get fw version Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 12/26] net/bnxt: add support to set MTU Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 13/26] net/bnxt: add support for LRO Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 14/26] net/bnxt: add rxq/txq info_get Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 15/26] net/bnxt: add code to support VLAN pvid Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 16/26] net/bnxt: reorg the query stats code Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 17/26] doc: update default.ini to add LED support Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 18/26] net/bnxt: add support for led on/off Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 19/26] net/bnxt: add support for tx loopback, set vf mac and queues drop Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 20/26] net/bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-06-01  3:02           ` Ajit Khaparde [this message]
2017-06-01  3:02           ` [PATCH v3 22/26] net/bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-06-01 12:28             ` Ferruh Yigit
2017-06-01 16:36               ` Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 23/26] net/bnxt: add support to add a VF MAC address Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 24/26] net/bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 25/26] net/bnxt: add support to set VF rxmode Ajit Khaparde
2017-06-01  3:02           ` [PATCH v3 26/26] doc: update release notes Ajit Khaparde
2017-06-01 17:06           ` [PATCH v4 00/26] bnxt patchset Ajit Khaparde
2017-06-01 17:06             ` [PATCH v4 01/26] net/bnxt: update to new HWRM version Ajit Khaparde
2017-06-01 17:06             ` [PATCH v4 02/26] net/bnxt: code reorg to properly allocate resources for PF/VF Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 03/26] net/bnxt: handle VF/PF initialization appropriately Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 04/26] net/bnxt: support lack of huge pages Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 05/26] net/bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 06/26] net/bnxt: add tunneling support Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 07/26] net/bnxt: add support for xstats get/reset Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 08/26] net/bnxt: add support for VLAN filter and strip Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 09/26] net/bnxt: add support for set multicast addr list and MAC addr set Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 10/26] doc: update bnxt.ini to document Allmulticast mode Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 11/26] net/bnxt: add support to get fw version Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 12/26] net/bnxt: add support to set MTU Ajit Khaparde
2017-06-06 12:47               ` Ferruh Yigit
2017-06-06 14:00                 ` Ajit Khaparde
2017-06-06 14:25                   ` Ferruh Yigit
2017-06-01 17:07             ` [PATCH v4 13/26] net/bnxt: add support for LRO Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 14/26] net/bnxt: add rxq/txq info_get Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 15/26] net/bnxt: add code to support VLAN pvid Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 16/26] net/bnxt: reorg the query stats code Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 17/26] doc: update default.ini to add LED support Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 18/26] net/bnxt: add support for led on/off Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 19/26] net/bnxt: add support for tx loopback, set vf mac and queues drop Ajit Khaparde
2017-06-06 12:53               ` Ferruh Yigit
2017-06-06 14:09                 ` Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 20/26] net/bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 21/26] net/bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 22/26] net/bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 23/26] net/bnxt: add support to add a VF MAC address Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 24/26] net/bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 25/26] net/bnxt: add support to set VF rxmode Ajit Khaparde
2017-06-01 17:07             ` [PATCH v4 26/26] doc: update release notes Ajit Khaparde
2017-06-06 14:48             ` [PATCH v4 00/26] bnxt patchset 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=20170601030232.38677-22-ajit.khaparde@broadcom.com \
    --to=ajit.khaparde@broadcom.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=stephen.hurd@broadcom.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.