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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Wei Zhao [Thu, 21 Sep 2017 06:32:22 +0000 (14:32 +0800)]
net/i40e: fix clear xstats bug in VF
Clearing VSI stats done by setting an offset value to latest stats
and further stats values are subtracted from that offset.
This setting offset and baselining logic exists in PF driver, but for VF
there is no way to update its VSI offset in the PF.
So same baselining logic added into VF, also setting VSI offset in VF
fixed to support VF stats clear.
Fixes:
da61cd0849766 ("i40evf: add extended stats")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
John Daley [Mon, 11 Sep 2017 18:58:33 +0000 (11:58 -0700)]
net/enic: fix multi-process operation
- Use rte_malloc() instead of malloc() for the per device 'vdev' structure
so that it can be shared across processes.
- Only initialize the device if the process type is RTE_PROC_PRIMARY
- Only allow the primary process to do queue setup, start/stop, promisc
allmulticast, mac add/del, mtu.
Fixes:
fefed3d1e62c ("enic: new driver")
Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Sebastian Basierski [Tue, 19 Sep 2017 11:47:58 +0000 (13:47 +0200)]
net/vmxnet3: fix unintentional integer overflow
Fixed overflow by casting txq->cmd_ring.next2fill to uint64_t type.
Coverity issue: 143457
Fixes:
01fef6e3c181 ("net/vmxnet3: allow variable length Tx data ring")
Cc: stable@dpdk.org
Signed-off-by: Sebastian Basierski <sebastianx.basierski@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Vipin Varghese [Mon, 18 Sep 2017 18:47:35 +0000 (19:47 +0100)]
net/tap: fix unregistering callback with invalid fd
tap_intr_handle_set() called by tap_dev_start(), and if LSC is disabled
(dev_conf.intr_conf.lsc == 0), it tries to unregister interrupt
callback without checking the interrupt file descriptor.
Fixes:
c0bddd3a057f ("net/tap: add link status notification")
Cc: stable@dpdk.org
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
Bruce Richardson [Thu, 14 Sep 2017 15:57:56 +0000 (16:57 +0100)]
net/bonding: rename map file to standard name
Naming convention for net drivers is "rte_pmd_<name>_version.map"
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Rasesh Mody [Tue, 19 Sep 2017 01:51:43 +0000 (18:51 -0700)]
net/qede/base: update PMD version to 2.6.0.1
Update QEDE PMD version to 2.6.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Tue, 19 Sep 2017 01:51:42 +0000 (18:51 -0700)]
net/qede/base: remove unused input parameter
Remove unused input parameter from ecore_dcbx_info_free().
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Tue, 19 Sep 2017 01:51:41 +0000 (18:51 -0700)]
net/qede/base: support WoL writes
Add support programing of WoL Bitmap paterns via management FW mailbox.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Tue, 19 Sep 2017 01:51:40 +0000 (18:51 -0700)]
net/qede/base: disable aRFS for NPAR and 100G
Disable accelerated RFS for NPAR and 100G using ECORE_MF_DISABLE_ARFS
multi function mode bit.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Tue, 19 Sep 2017 01:51:39 +0000 (18:51 -0700)]
net/qede/base: retain dcbx config till actually applied
Retain user dcbx configurations till the config is applied to the adapter
i.e. till the negotiation completes. If base driver receives a config
update before negotiation completes, then base driver merges the new config
with the cached config and sends it to management FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Tue, 19 Sep 2017 01:51:38 +0000 (18:51 -0700)]
net/qede/base: catch an init command write failure
In case ecore_init_rt() fails for some reason, catch the failure and
fail the initialization.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>