diff options
Diffstat (limited to 'common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-15-18-net-axgbe-add-generic-transmit-and-receive-stats-support.patch')
-rw-r--r-- | common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-15-18-net-axgbe-add-generic-transmit-and-receive-stats-support.patch | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-15-18-net-axgbe-add-generic-transmit-and-receive-stats-support.patch b/common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-15-18-net-axgbe-add-generic-transmit-and-receive-stats-support.patch deleted file mode 100644 index 24e98b27..00000000 --- a/common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-15-18-net-axgbe-add-generic-transmit-and-receive-stats-support.patch +++ /dev/null @@ -1,121 +0,0 @@ -From patchwork Fri Mar 9 08:42:31 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [dpdk-dev, v3, - 15/18] net/axgbe: add generic transmit and receive stats support -From: Ravi Kumar <ravi1.kumar@amd.com> -X-Patchwork-Id: 35834 -X-Patchwork-Delegate: ferruh.yigit@intel.com -Message-Id: <1520584954-130575-15-git-send-email-Ravi1.kumar@amd.com> -List-Id: dev.dpdk.org -To: dev@dpdk.org -Cc: ferruh.yigit@intel.com -Date: Fri, 9 Mar 2018 03:42:31 -0500 - -Signed-off-by: Ravi Kumar <Ravi1.kumar@amd.com> ---- - doc/guides/nics/axgbe.rst | 1 + - doc/guides/nics/features/axgbe.ini | 1 + - drivers/net/axgbe/axgbe_ethdev.c | 51 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 53 insertions(+) - -diff --git a/doc/guides/nics/axgbe.rst b/doc/guides/nics/axgbe.rst -index 8fe75bf..9038463 100644 ---- a/doc/guides/nics/axgbe.rst -+++ b/doc/guides/nics/axgbe.rst -@@ -136,6 +136,7 @@ AXGBE PMD has support for: - - Base L2 features - - TSS (Transmit Side Scaling) - - Promiscuous mode -+- Port statistics - - Multicast mode - - RSS (Receive Side Scaling) - - Checksum offload -diff --git a/doc/guides/nics/features/axgbe.ini b/doc/guides/nics/features/axgbe.ini -index 9f4d38f..042ff1e 100644 ---- a/doc/guides/nics/features/axgbe.ini -+++ b/doc/guides/nics/features/axgbe.ini -@@ -13,5 +13,6 @@ RSS hash = Y - CRC offload = Y - L3 checksum offload = Y - L4 checksum offload = Y -+Basic stats = Y - Linux UIO = Y - x86-64 = Y -diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c -index 0b67cf6..9e5114b 100644 ---- a/drivers/net/axgbe/axgbe_ethdev.c -+++ b/drivers/net/axgbe/axgbe_ethdev.c -@@ -143,6 +143,9 @@ static void axgbe_dev_allmulticast_enable(struct rte_eth_dev *dev); - static void axgbe_dev_allmulticast_disable(struct rte_eth_dev *dev); - static int axgbe_dev_link_update(struct rte_eth_dev *dev, - int wait_to_complete); -+static int axgbe_dev_stats_get(struct rte_eth_dev *dev, -+ struct rte_eth_stats *stats); -+static void axgbe_dev_stats_reset(struct rte_eth_dev *dev); - static void axgbe_dev_info_get(struct rte_eth_dev *dev, - struct rte_eth_dev_info *dev_info); - -@@ -204,6 +207,8 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = { - .allmulticast_enable = axgbe_dev_allmulticast_enable, - .allmulticast_disable = axgbe_dev_allmulticast_disable, - .link_update = axgbe_dev_link_update, -+ .stats_get = axgbe_dev_stats_get, -+ .stats_reset = axgbe_dev_stats_reset, - .dev_infos_get = axgbe_dev_info_get, - .rx_queue_setup = axgbe_dev_rx_queue_setup, - .rx_queue_release = axgbe_dev_rx_queue_release, -@@ -418,6 +423,52 @@ axgbe_dev_link_update(struct rte_eth_dev *dev, - return old_link_status == dev->data->dev_link.link_status ? -1 : 0; - } - -+static int -+axgbe_dev_stats_get(struct rte_eth_dev *dev, -+ struct rte_eth_stats *stats) -+{ -+ struct axgbe_rx_queue *rxq; -+ struct axgbe_tx_queue *txq; -+ unsigned int i; -+ -+ for (i = 0; i < dev->data->nb_rx_queues; i++) { -+ rxq = dev->data->rx_queues[i]; -+ stats->q_ipackets[i] = rxq->pkts; -+ stats->ipackets += rxq->pkts; -+ stats->q_ibytes[i] = rxq->bytes; -+ stats->ibytes += rxq->bytes; -+ } -+ for (i = 0; i < dev->data->nb_tx_queues; i++) { -+ txq = dev->data->tx_queues[i]; -+ stats->q_opackets[i] = txq->pkts; -+ stats->opackets += txq->pkts; -+ stats->q_obytes[i] = txq->bytes; -+ stats->obytes += txq->bytes; -+ } -+ -+ return 0; -+} -+ -+static void -+axgbe_dev_stats_reset(struct rte_eth_dev *dev) -+{ -+ struct axgbe_rx_queue *rxq; -+ struct axgbe_tx_queue *txq; -+ unsigned int i; -+ -+ for (i = 0; i < dev->data->nb_rx_queues; i++) { -+ rxq = dev->data->rx_queues[i]; -+ rxq->pkts = 0; -+ rxq->bytes = 0; -+ rxq->errors = 0; -+ } -+ for (i = 0; i < dev->data->nb_tx_queues; i++) { -+ txq = dev->data->tx_queues[i]; -+ txq->pkts = 0; -+ txq->bytes = 0; -+ txq->errors = 0; -+ } -+} - - static void - axgbe_dev_info_get(struct rte_eth_dev *dev, |