dpdk.git
7 years agonet/i40e: enable cloud filter for GTP-C and GTP-U
Beilei Xing [Thu, 5 Oct 2017 08:14:57 +0000 (16:14 +0800)]
net/i40e: enable cloud filter for GTP-C and GTP-U

This patch sets TEID of GTP-C and GTP-U as filter type
by replacing existed filter types inner_mac and TUNNEL_KEY.
This configuration will be set when adding GTP-C or
GTP-U filter rules, and it will be invalid only by
NIC core reset.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: add cloud filter parsing function for GTP
Beilei Xing [Thu, 5 Oct 2017 08:14:56 +0000 (16:14 +0800)]
net/i40e: add cloud filter parsing function for GTP

This patch adds i40e_flow_parse_gtp_filter parsing
function for GTP-C and GTP-U to support cloud filter.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: add FDIR support for GTP-C and GTP-U
Beilei Xing [Thu, 5 Oct 2017 08:14:55 +0000 (16:14 +0800)]
net/i40e: add FDIR support for GTP-C and GTP-U

This patch adds FDIR support for GTP-C and GTP-U. The
input set of GTP-C and GTP-U is TEID.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
7 years agonet/i40e: finish integration FDIR with generic flow API
Beilei Xing [Thu, 5 Oct 2017 08:14:54 +0000 (16:14 +0800)]
net/i40e: finish integration FDIR with generic flow API

rte_eth_fdir_* structures are still used in FDIR functions.
This patch adds i40e private FDIR related structures and
functions to finish integration FDIR with generic flow API.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
7 years agoethdev: add GTP items to support flow API
Beilei Xing [Thu, 5 Oct 2017 08:14:53 +0000 (16:14 +0800)]
ethdev: add GTP items to support flow API

This patch adds GTP, GTPC and GTPU items for
generic flow API, and also exposes item fields
through the flow command.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
7 years agonet/i40e: update ptype and pctype info
Beilei Xing [Thu, 5 Oct 2017 08:14:52 +0000 (16:14 +0800)]
net/i40e: update ptype and pctype info

Update new packet type and new pctype info when downloading
profile.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agombuf: support GTP in software packet type parser
Beilei Xing [Thu, 5 Oct 2017 08:14:51 +0000 (16:14 +0800)]
mbuf: support GTP in software packet type parser

Add support of GTP-C and GTP-U tunnels in rte_net_get_ptype().

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
7 years agonet/bnxt: add missing PMD feature list
Ajit Khaparde [Thu, 5 Oct 2017 15:06:45 +0000 (10:06 -0500)]
net/bnxt: add missing PMD feature list

bnxt.ini was not updated correctly. This patch fixes it.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix number of MAC addresses for VMDq
Ajit Khaparde [Thu, 5 Oct 2017 15:06:44 +0000 (10:06 -0500)]
net/bnxt: fix number of MAC addresses for VMDq

We were hardcoding the max MAC addresses to 32, while the HW
can support more than that. This was restricting the number of VMDQ
pools that we could support. Use the value obtained from FW instead.

Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: add ntuple filtering support
Ajit Khaparde [Thu, 5 Oct 2017 15:06:43 +0000 (10:06 -0500)]
net/bnxt: add ntuple filtering support

Add support for ntuple filtering.
Only RTE_5TUPLE_FLAGS is supported currently.
RTE_2TUPLE_FLAGS is not supported.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agoethdev: remove unnecessary check for new flow type
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:13 +0000 (13:52 +0100)]
ethdev: remove unnecessary check for new flow type

Remove unnecessary check for new flow type for rss hash filter update.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/testpmd: support updating pctype mapping
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:12 +0000 (13:52 +0100)]
app/testpmd: support updating pctype mapping

Add new commands to manipulate with dynamic flow type to
pctype mapping table in i40e PMD.
Commands allow to print table, modify it and reset to default value.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: support updating pctype mapping table
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:11 +0000 (13:52 +0100)]
net/i40e: support updating pctype mapping table

Add new functions which allow modify, return or reset to default
the contents of flow type to pctype dynamic mapping table.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: add dynamic mapping of SW flow types to HW pctypes
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:10 +0000 (13:52 +0100)]
net/i40e: add dynamic mapping of SW flow types to HW pctypes

Implement dynamic mapping of software flow types to hardware pctypes.
This allows to add new flow types and pctypes for DDP without changing
API of the driver. The mapping table is located in private
data area for particular network adapter and can be individually
modified with set of appropriate functions.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: remove unnecessary bit operations
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:09 +0000 (13:52 +0100)]
net/i40e: remove unnecessary bit operations

Remove unnecessary bit operations in I40E_PFQF_HENA
and I40E_VFQF_HENA registers.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/testpmd: get ddp profile protocol info
Kirill Rybalchenko [Wed, 4 Oct 2017 14:00:04 +0000 (15:00 +0100)]
app/testpmd: get ddp profile protocol info

Update 'ddp get info' command to display protocols defined in  a profile

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: get ddp profile protocol info
Kirill Rybalchenko [Wed, 4 Oct 2017 14:00:03 +0000 (15:00 +0100)]
net/i40e: get ddp profile protocol info

This patch adds new package info types to get list of protocols,
pctypes and ptypes defined in a profile

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: add details on ethdev offloads API
Shahaf Shuler [Wed, 4 Oct 2017 08:18:01 +0000 (11:18 +0300)]
doc: add details on ethdev offloads API

Add the programmers guide details on the new offloads API introduced
by commits:

commit 67a1a59b597f ("ethdev: introduce Rx queue offloads API")
commit f883eb32e2d4 ("ethdev: introduce Tx queue offloads API")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agoethdev: add mbuf fast free Tx offload
Shahaf Shuler [Wed, 4 Oct 2017 08:18:00 +0000 (11:18 +0300)]
ethdev: add mbuf fast free Tx offload

PMDs which expose this offload cap supports optimization for fast release
of mbufs following successful Tx.
Such optimization requires that per queue, all mbufs come from the same
mempool and has refcnt = 1.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoethdev: introduce Tx queue offloads API
Shahaf Shuler [Wed, 4 Oct 2017 08:17:59 +0000 (11:17 +0300)]
ethdev: introduce Tx queue offloads API

Introduce a new API to configure Tx offloads.

In the new API, offloads are divided into per-port and per-queue
offloads. The PMD reports capability for each of them.
Offloads are enabled using the existing DEV_TX_OFFLOAD_* flags.
To enable per-port offload, the offload should be set on both device
configuration and queue configuration. To enable per-queue offload, the
offloads can be set only on queue configuration.

In addition the Tx offloads will be disabled by default and be
enabled per application needs. This will much simplify PMD management of
the different offloads.

Applications should set the ETH_TXQ_FLAGS_IGNORE flag on txq_flags
field in order to move to the new API.

The old Tx offloads API is kept for the meanwhile, in order to enable a
smooth transition for PMDs and application to the new API.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoethdev: introduce Rx queue offloads API
Shahaf Shuler [Wed, 4 Oct 2017 08:17:58 +0000 (11:17 +0300)]
ethdev: introduce Rx queue offloads API

Introduce a new API to configure Rx offloads.

In the new API, offloads are divided into per-port and per-queue
offloads. The PMD reports capability for each of them.
Offloads are enabled using the existing DEV_RX_OFFLOAD_* flags.
To enable per-port offload, the offload should be set on both device
configuration and queue configuration. To enable per-queue offload, the
offloads can be set only on queue configuration.

Applications should set the ignore_offload_bitfield bit on rxmode
structure in order to move to the new API.

The old Rx offloads API is kept for the meanwhile, in order to enable a
smooth transition for PMDs and application to the new API.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/sfc: add device state check to reta update
Ivan Malov [Wed, 4 Oct 2017 07:34:26 +0000 (08:34 +0100)]
net/sfc: add device state check to reta update

The callback must not attempt to program RSS table to the HW
in non-started state; the new table must be remembered and
applied on the next start

Fixes: 32bcfb0a50b1 ("net/sfc: update RSS redirection table")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
7 years agonet/igb: add i210 flashless device ids
Markus Theil [Mon, 21 Aug 2017 11:47:25 +0000 (13:47 +0200)]
net/igb: add i210 flashless device ids

This patch adds two missing device IDs for Intel i210 chips in flashless
mode. Copper flashless mode was tested on a PC Engines APU2C4 board.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
7 years agoapp/testpmd: port info prints dynamically mapped flow types
Kirill Rybalchenko [Wed, 20 Sep 2017 15:06:27 +0000 (16:06 +0100)]
app/testpmd: port info prints dynamically mapped flow types

Port info command prints information about all supported flow types,
including dynamically mapped ones.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/bonding: support bifurcated driver in eal
Gowrishankar Muthukrishnan [Wed, 20 Sep 2017 18:04:58 +0000 (23:34 +0530)]
net/bonding: support bifurcated driver in eal

At present, creating bonding devices using --vdev is broken for PMD like
mlx5 as it is neither UIO nor VFIO based and hence PMD driver is unknown
to find_port_id_by_pci_addr(), as below.

testpmd <EAL args> --vdev 'net_bonding0,mode=1,slave=<PCI>,socket_id=0'

PMD: bond_ethdev_parse_slave_port_kvarg(150) - Invalid slave port value
 (<PCI ID>) specified
EAL: Failed to parse slave ports for bonded device net_bonding0

This patch fixes parsing PCI ID from bonding device params by verifying
it in RTE PCI bus, rather than checking dev->kdrv.

Fixes: eac901ce29be ("ethdev: decouple from PCI device")
Cc: stable@dpdk.org
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Reviewed-by: Gaetan Rivet <gaetan.rivet@6wind.com>
7 years agonet/dpaa: support extended statistics
Hemant Agrawal [Thu, 28 Sep 2017 12:30:00 +0000 (18:00 +0530)]
net/dpaa: support extended statistics

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa: support firmware version get API
Hemant Agrawal [Thu, 28 Sep 2017 12:29:59 +0000 (17:59 +0530)]
net/dpaa: support firmware version get API

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa: add packet dump for debugging
Shreyansh Jain [Thu, 28 Sep 2017 12:29:58 +0000 (17:59 +0530)]
net/dpaa: add packet dump for debugging

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support scattered Rx
Shreyansh Jain [Thu, 28 Sep 2017 12:29:57 +0000 (17:59 +0530)]
net/dpaa: support scattered Rx

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support checksum offload
Shreyansh Jain [Thu, 28 Sep 2017 12:29:56 +0000 (17:59 +0530)]
net/dpaa: support checksum offload

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support packet type parsing
Shreyansh Jain [Thu, 28 Sep 2017 12:29:55 +0000 (17:59 +0530)]
net/dpaa: support packet type parsing

Add support for parsing the packet type and L2/L3 checksum offload
capability information.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support hashed RSS
Shreyansh Jain [Thu, 28 Sep 2017 12:29:54 +0000 (17:59 +0530)]
net/dpaa: support hashed RSS

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support flow control
Shreyansh Jain [Thu, 28 Sep 2017 12:29:53 +0000 (17:59 +0530)]
net/dpaa: support flow control

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support basic stats
Shreyansh Jain [Thu, 28 Sep 2017 12:29:52 +0000 (17:59 +0530)]
net/dpaa: support basic stats

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support MAC address update
Shreyansh Jain [Thu, 28 Sep 2017 12:29:51 +0000 (17:59 +0530)]
net/dpaa: support MAC address update

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support multicast toggle
Shreyansh Jain [Thu, 28 Sep 2017 12:29:50 +0000 (17:59 +0530)]
net/dpaa: support multicast toggle

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support promiscuous toggle
Shreyansh Jain [Thu, 28 Sep 2017 12:29:49 +0000 (17:59 +0530)]
net/dpaa: support promiscuous toggle

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support device info and speed capability
Shreyansh Jain [Thu, 28 Sep 2017 12:29:48 +0000 (17:59 +0530)]
net/dpaa: support device info and speed capability

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support link status update
Shreyansh Jain [Thu, 28 Sep 2017 12:29:47 +0000 (17:59 +0530)]
net/dpaa: support link status update

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support jumbo frames
Shreyansh Jain [Thu, 28 Sep 2017 12:29:46 +0000 (17:59 +0530)]
net/dpaa: support jumbo frames

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support MTU update
Shreyansh Jain [Thu, 28 Sep 2017 12:29:45 +0000 (17:59 +0530)]
net/dpaa: support MTU update

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support Tx and Rx queue setup
Shreyansh Jain [Thu, 28 Sep 2017 12:29:44 +0000 (17:59 +0530)]
net/dpaa: support Tx and Rx queue setup

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agoconfig: enable NXP DPAA PMD compilation
Shreyansh Jain [Thu, 28 Sep 2017 12:29:43 +0000 (17:59 +0530)]
config: enable NXP DPAA PMD compilation

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: add NXP DPAA PMD driver skeleton
Shreyansh Jain [Thu, 28 Sep 2017 12:29:42 +0000 (17:59 +0530)]
net/dpaa: add NXP DPAA PMD driver skeleton

A skeleton which would be called after bus device scan. It currently
fails to identify the device.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add DPAA PMD logging macros
Shreyansh Jain [Thu, 28 Sep 2017 12:29:41 +0000 (17:59 +0530)]
bus/dpaa: add DPAA PMD logging macros

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agoconfig: enable compilation of DPAA mempool driver
Shreyansh Jain [Thu, 28 Sep 2017 12:29:40 +0000 (17:59 +0530)]
config: enable compilation of DPAA mempool driver

This patch also adds configuration necessary for compilation of DPAA
Mempool driver into the DPAA specific config file.
CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS=dpaa is also configured to allow
applications to use DPAA mempool as default.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agomempool/dpaa: support NXP DPAA mempool
Shreyansh Jain [Thu, 28 Sep 2017 12:29:39 +0000 (17:59 +0530)]
mempool/dpaa: support NXP DPAA mempool

This Mempool driver works with DPAA BMan hardware block. This block
manages data buffers in memory, and provides efficient interface with
other hardware and software components for buffer requests.

This patch adds support for BMan. Compilation would be enabled in
subsequent patches.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add DPAA mempool logging macros
Shreyansh Jain [Thu, 28 Sep 2017 12:29:38 +0000 (17:59 +0530)]
bus/dpaa: add DPAA mempool logging macros

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agodoc: add NXP DPAA PMD documentation
Shreyansh Jain [Thu, 28 Sep 2017 12:29:37 +0000 (17:59 +0530)]
doc: add NXP DPAA PMD documentation

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: integrate DPAA bus with hardware blocks
Shreyansh Jain [Thu, 28 Sep 2017 12:29:36 +0000 (17:59 +0530)]
bus/dpaa: integrate DPAA bus with hardware blocks

Now that QBMAN (QMAN, BMAN) and FMAN drivers are available, this patch
integrates the DPAA Bus driver for using the drivers for scanning
devices and calling the PMD registered probe callbacks.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add fman flow control threshold setting
Shreyansh Jain [Thu, 28 Sep 2017 12:29:35 +0000 (17:59 +0530)]
bus/dpaa: add fman flow control threshold setting

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add BMAN hardware interfaces
Shreyansh Jain [Thu, 28 Sep 2017 12:29:34 +0000 (17:59 +0530)]
bus/dpaa: add BMAN hardware interfaces

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: support FMAN frame queue lookup
Shreyansh Jain [Thu, 28 Sep 2017 12:29:33 +0000 (17:59 +0530)]
bus/dpaa: support FMAN frame queue lookup

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add BMAN driver core
Shreyansh Jain [Thu, 28 Sep 2017 12:29:32 +0000 (17:59 +0530)]
bus/dpaa: add BMAN driver core

The Buffer Manager (BMan) is a hardware buffer pool management block that
allows software and accelerators on the datapath to acquire and release
buffers in order to build frames.

This patch adds the core routines.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add QMAN driver core routines
Shreyansh Jain [Thu, 28 Sep 2017 12:29:31 +0000 (17:59 +0530)]
bus/dpaa: add QMAN driver core routines

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add QMAN interface driver
Shreyansh Jain [Thu, 28 Sep 2017 12:29:30 +0000 (17:59 +0530)]
bus/dpaa: add QMAN interface driver

The Queue Manager (QMan) is a hardware queue management block that
allows software and accelerators on the datapath to enqueue and dequeue
frames in order to communicate.

This part of QBMAN DPAA Block.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add routines for managing a RB tree
Shreyansh Jain [Thu, 28 Sep 2017 12:29:29 +0000 (17:59 +0530)]
bus/dpaa: add routines for managing a RB tree

QMAN frames are managed over a RB tree data structure.
This patch introduces necessary routines for implementing a RB tree.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add layer for interrupt emulation using pthread
Shreyansh Jain [Thu, 28 Sep 2017 12:29:28 +0000 (17:59 +0530)]
bus/dpaa: add layer for interrupt emulation using pthread

An interrupt manager is implemented by emulating over pthreads.
Handlers are registered by QBMAN layer for being notified about
any interrupt request from DPAA blocks in userspace.

Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: enable DPAA IOCTL portal driver
Shreyansh Jain [Thu, 28 Sep 2017 12:29:27 +0000 (17:59 +0530)]
bus/dpaa: enable DPAA IOCTL portal driver

Userspace applications interact with DPAA blocks using this IOCTL driver.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add FMAN hardware operations
Shreyansh Jain [Thu, 28 Sep 2017 12:29:26 +0000 (17:59 +0530)]
bus/dpaa: add FMAN hardware operations

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: introducing FMan configurations
Shreyansh Jain [Thu, 28 Sep 2017 12:29:25 +0000 (17:59 +0530)]
bus/dpaa: introducing FMan configurations

FMan or Frame Manager, inspects traffic, splits it into queueson ingress.
It is also responsible for directing traffic on queues on egress.

This patch introduces FMan configurational interfaces. This layer is
used by Bus driver for configuring the hardware block.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add OF parser for device scanning
Shreyansh Jain [Thu, 28 Sep 2017 12:29:24 +0000 (17:59 +0530)]
bus/dpaa: add OF parser for device scanning

This layer is used by Bus driver's scan function. Devices are parsed
using OF parser and added to DPAA device list.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add compatibility and helper macros
Hemant Agrawal [Thu, 28 Sep 2017 12:29:23 +0000 (17:59 +0530)]
bus/dpaa: add compatibility and helper macros

Linked list, bit operations and compatibility macros.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/dpaa: introduce NXP DPAA bus driver skeleton
Shreyansh Jain [Thu, 28 Sep 2017 12:29:22 +0000 (17:59 +0530)]
bus/dpaa: introduce NXP DPAA bus driver skeleton

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agoconfig: add NXP DPAA SoC build configuration
Shreyansh Jain [Thu, 28 Sep 2017 12:29:21 +0000 (17:59 +0530)]
config: add NXP DPAA SoC build configuration

This patch adds skeleton build configuration for DPAA platform.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/vmxnet3: fix dereference before null check
Michal Jastrzebski [Fri, 29 Sep 2017 13:04:02 +0000 (15:04 +0200)]
net/vmxnet3: fix dereference before null check

Coverity reports check_after_deref:
Null-checking rq suggests that it may be null, but it
has already been dereferenced on all paths leading to
the check.
This patch removes NULL checking of "rq" from function
vmxnet3_dev_rx_queue_reset as it is already checked against NULL
one level up the callstack (function vmxnet3_dev_clear_queues).

Coverity issue: 143468
Fixes: 5aecdc17a97d ("vmxnet3: fix stop/restart")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agomk: add silvermont to replace atom as a target
Xiaoyun Li [Fri, 8 Sep 2017 03:28:52 +0000 (11:28 +0800)]
mk: add silvermont to replace atom as a target

The -march=atom flag is for older atom CPUs and don't support SSE4 which
is the minimum requirement for DPDK. And in fact, the current atom CPUs
support SSE4. So this patch removes atom as a target for DPDK builds and
adds a silvermont replacement instead.

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
7 years agonet/bnxt: support enable/disable interrupt
Somnath Kotur [Thu, 28 Sep 2017 21:43:45 +0000 (16:43 -0500)]
net/bnxt: support enable/disable interrupt

Implement Rx Queue interrupt enable/disable functions

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support get/set EEPROM
Somnath Kotur [Thu, 28 Sep 2017 21:43:44 +0000 (16:43 -0500)]
net/bnxt: support get/set EEPROM

Add support for get/set_eeprom, get_eeprom_length dev_ops.
Defined the structures required to get/set the eeprom length/data
in hsi_struct_defs hdr file along with implementation.

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support getting ptypes
Ajit Khaparde [Thu, 28 Sep 2017 21:43:43 +0000 (16:43 -0500)]
net/bnxt: support getting ptypes

This patch adds support for dev_supported_ptypes_get

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix interrupt handler
Ajit Khaparde [Thu, 28 Sep 2017 21:43:42 +0000 (16:43 -0500)]
net/bnxt: fix interrupt handler

In some cases the interrupt handler is accessing cpr, which has
already been freed causing segfaults. This patch avoids such accesses.

Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix per queue stats display in xstats
Ajit Khaparde [Thu, 28 Sep 2017 21:43:41 +0000 (16:43 -0500)]
net/bnxt: fix per queue stats display in xstats

While gathering per queue stats, we are overwriting some of the
stats. This causes some of the counters in xstats to be incorrect.

Fixes: 577d3dced0dc ("net/bnxt: refactor the query stats")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agodoc: update release notes for bnxt
Ajit Khaparde [Thu, 28 Sep 2017 21:43:40 +0000 (16:43 -0500)]
doc: update release notes for bnxt

Update release doc briefly describing updates to bnxt PMD.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support flow filter ops
Ajit Khaparde [Thu, 28 Sep 2017 21:43:39 +0000 (16:43 -0500)]
net/bnxt: support flow filter ops

This patch adds support for flow validate/create/destroy/flush,
ethertype add/del ops

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: add new HWRM structs to support flow filtering
Ajit Khaparde [Thu, 28 Sep 2017 21:43:38 +0000 (16:43 -0500)]
net/bnxt: add new HWRM structs to support flow filtering

HWRM structs added:
hwrm_cfa_ntuple_filter_alloc, hwrm_cfa_ntuple_filter_free,
hwrm_cfa_ntuple_filter_cfg, hwrm_cfa_em_flow_alloc,
hwrm_cfa_em_flow_free, hwrm_cfa_em_flow_cfg

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support Tx descriptor status
Ajit Khaparde [Thu, 28 Sep 2017 21:43:37 +0000 (16:43 -0500)]
net/bnxt: support Tx descriptor status

Add support for tx_descriptor_status dev_op

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support Rx descriptor status
Ajit Khaparde [Thu, 28 Sep 2017 21:43:36 +0000 (16:43 -0500)]
net/bnxt: support Rx descriptor status

Add support for rx_descriptor_status dev_op

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support Rx queue count
Ajit Khaparde [Thu, 28 Sep 2017 21:43:35 +0000 (16:43 -0500)]
net/bnxt: support Rx queue count

add support for rx_queue_count dev_op

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: set the hash key size
Ajit Khaparde [Thu, 28 Sep 2017 21:43:34 +0000 (16:43 -0500)]
net/bnxt: set the hash key size

We were not setting the dev_info.hash_key_size. Setting it now.

Fixes: 0a6d2a720078 ("net/bnxt: get device infos")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix config RSS update
Ajit Khaparde [Thu, 28 Sep 2017 21:43:33 +0000 (16:43 -0500)]
net/bnxt: fix config RSS update

We are not configuring the RSS settings updated by rss_hash_update().
Fixing it.

Fixes: fcc0aa1edc10 ("net/bnxt: add RSS hash configuration")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support xstats get by id
Ajit Khaparde [Thu, 28 Sep 2017 21:43:32 +0000 (16:43 -0500)]
net/bnxt: support xstats get by id

This patch adds support for xstats_get_by_id/xstats_get_names_by_id.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: update status of Rx IP/L4 CKSUM
Ajit Khaparde [Thu, 28 Sep 2017 21:43:31 +0000 (16:43 -0500)]
net/bnxt: update status of Rx IP/L4 CKSUM

update ol_flags with the appropriate status of IP/L4 cksum in Rx path.

Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: set checksum offload flags correctly
Ajit Khaparde [Thu, 28 Sep 2017 21:43:30 +0000 (16:43 -0500)]
net/bnxt: set checksum offload flags correctly

We are not correctly setting hw checksum offload for all the
offload flags. This patch fixes that.

Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix usage of VMDq flags
Ajit Khaparde [Thu, 28 Sep 2017 21:43:29 +0000 (16:43 -0500)]
net/bnxt: fix usage of VMDq flags

Map ETH_VMDQ_ACCEPT_HASH_UC to the promiscuous bit.
Also, set ALLMULTI and MCAST when MCAST is set to ensure multicast traffic
is received regardless of the VF driver list.

Fixes: 4cfe399f6550 ("net/bnxt: support to set VF rxmode")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix an issue with broadcast traffic
Ajit Khaparde [Thu, 28 Sep 2017 21:43:28 +0000 (16:43 -0500)]
net/bnxt: fix an issue with broadcast traffic

In bnxt_hwrm_cfa_l2_set_rx_mask, we are ignoring the previous
setting of HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_BCAST and
setting it again, thereby wrongly enabling Broadcast.

Fixes: 244bc98b0da7 ("net/bnxt: set L2 Rx mask")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix Rx handling and buffer allocation logic
Ajit Khaparde [Thu, 28 Sep 2017 21:43:27 +0000 (16:43 -0500)]
net/bnxt: fix Rx handling and buffer allocation logic

Even when rx buffer allocation fails, we are wrongly updating
the producer index. This patch fixes that.
Also in case of a buffer allocation failure, reattempt buffer
allocation before the rx handler exits.

Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: handle multi queue mode properly
Ajit Khaparde [Thu, 28 Sep 2017 21:43:26 +0000 (16:43 -0500)]
net/bnxt: handle multi queue mode properly

We are currently not handling multi queue RX/RSS modes correctly.
If RSS is not requested, create one VNIC per RXQ.

Fixes: 6133f207970c ("net/bnxt: add Rx queue create/destroy")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix calculation of number of pools
Ajit Khaparde [Thu, 28 Sep 2017 21:43:25 +0000 (16:43 -0500)]
net/bnxt: fix calculation of number of pools

The calculation for number of pools is wrong.
We are wrongly overwriting the calculated value with ETH_64_POOLS.
Accordingly fix the size of ff_pools array.
Fix the log message as well.

Fixes: 4cfe399f6550 ("net/bnxt: support to set VF rxmode")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix an issue with group id calculation
Ajit Khaparde [Thu, 28 Sep 2017 21:43:24 +0000 (16:43 -0500)]
net/bnxt: fix an issue with group id calculation

start_grp_id is incremented wrongly. Fixing it.

Fixes: daef48efe5e5 ("net/bnxt: support set MTU")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: use 64-bits of address for VLAN table
Ajit Khaparde [Thu, 28 Sep 2017 21:43:23 +0000 (16:43 -0500)]
net/bnxt: use 64-bits of address for VLAN table

We are wrongly using just 16 bits of address from rte_mem_virt2phy
while filling the vlan table address instead of 64-bytes.
Most likely a copy-paste error.

Fixes: 36735a932ca7 ("net/bnxt: support set VF QOS and MAC anti spoof")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix HWRM macros and locking
Ajit Khaparde [Thu, 28 Sep 2017 21:43:22 +0000 (16:43 -0500)]
net/bnxt: fix HWRM macros and locking

Obtain the spinlock in HWRM_PREP()
Eliminate two unnecessary arguments in HWRM_PREP().
Unlock the spinlock before returning in HWRM_ERROR_CHECK()
Add new HWRM_UNLOCK() macro
Update usage of the thre macros.

Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/i40e: fix mirror rule reset when port is closed
Wei Dai [Mon, 25 Sep 2017 06:36:53 +0000 (14:36 +0800)]
net/i40e: fix mirror rule reset when port is closed

When an i40e PF port is stopped, all mirror rules should be reserved.
But when an i40e PF port is closed, all mirror rules should be removed.
When a mirror rule is removed, its associated hardware and software
resource should also be removed.

Fixes: a4def5edf0fc ("i40e: enable port mirroring")
Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com>
Tested-by: Lijuan Tu <lijuanx.a.tu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/mlx5: support upstream rdma-core
Shachar Beiser [Tue, 26 Sep 2017 15:38:24 +0000 (17:38 +0200)]
net/mlx5: support upstream rdma-core

This removes the dependency on specific Mellanox OFED libraries by
using the upstream rdma-core and linux upstream community code.
Both rdma-core upstream and Mellanox OFED are Linux user-space packages:
  1. Rdma-core is Linux upstream user-space package.(Generic)
  2. Mellanox OFED is Mellanox's Linux user-space package.(Proprietary)
The difference between the two are the APIs towards the kernel.

Support for x86-32 is removed due to issues in rdma-core library.
ICC compilation will be supported as soon as the following patch is
integrated in rdma-core:
https://marc.info/?l=linux-rdma&m=150643474705690&w=2

Signed-off-by: Shachar Beiser <shacharbe@mellanox.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/ark: add null pointer check
Yong Wang [Thu, 14 Sep 2017 12:03:56 +0000 (08:03 -0400)]
net/ark: add null pointer check

In function ark_config_device(), there are several malloc without null
point check. Fix it by adding null point check.

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: Ed Czeck <ed.czeck@atomicrules.com>
7 years agonet/i40e: fix assignment of enum values
Tomasz Kulasek [Fri, 22 Sep 2017 12:36:25 +0000 (14:36 +0200)]
net/i40e: fix assignment of enum values

mixed_enums: Mixing enum types enum i40e_vsi_type and enum
             virtchnl_vsi_type for type

Coverity issue 158651
Fixes: a58860f68929 ("net/i40e/base: use new virtchnl header file")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agodoc: add Linux flower support check in TAP guide
Thomas Monjalon [Wed, 20 Sep 2017 13:03:13 +0000 (15:03 +0200)]
doc: add Linux flower support check in TAP guide

The flow API is supported in TAP PMD if flower is supported in Linux.
Some commands are combined to suggest a convenient check of its support
by the running kernel.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/af_packet: make qdisc bypass configurable
Chas Williams [Thu, 21 Sep 2017 09:57:58 +0000 (05:57 -0400)]
net/af_packet: make qdisc bypass configurable

In certain situations, low speed interfaces, it may be desirable to
have the flow control provided by the kernel queuing disciplines.

Signed-off-by: Chas Williams <chas3@att.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: refactor some stats related functions
Wei Zhao [Thu, 21 Sep 2017 06:32:25 +0000 (14:32 +0800)]
net/i40e: refactor some stats related functions

Merge i40evf_dev_stats_get and i40evf_get_statistics to be one function.

Rename i40evf_update_stats to i40evf_query_stats,
and chang i40evf_update_vsi_stats to i40evf_update_stats.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: support reset stats in VF
Wei Zhao [Thu, 21 Sep 2017 06:32:24 +0000 (14:32 +0800)]
net/i40e: support reset stats in VF

Add stats reset support to VF.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/testpmd: fix packet throughput after stats reset
Wei Zhao [Thu, 21 Sep 2017 06:32:23 +0000 (14:32 +0800)]
app/testpmd: fix packet throughput after stats reset

Testpmd calculates packet throughput by getting a diff of previous stats
value and current one.

If a stats clear called after previous sample taken, the diff will be
negative and throughput calculation will be wrong.

If current stats value is smaller than previous one, set throughput to
zero.

Fixes: 0e106980301d ("app/testpmd: show throughput in port stats")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>