Ed Czeck [Tue, 4 Apr 2017 19:50:40 +0000 (15:50 -0400)]
net/ark: provide API for hardware modules MPU RQP and pktdir
Provide C-level interface for Arkville's internal HW resources
MPU, (Memory Prefetch Unit) pktdir (Packet director), and RQP
(Request Pacer) modules
Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
Ed Czeck [Tue, 4 Apr 2017 19:50:23 +0000 (15:50 -0400)]
net/ark: stub PMD for Atomic Rules Arkville
Enable Arkville on supported configurations
Add overview documentation
Minimum driver support for valid compile
Arkville PMD is not supported on ARM or PowerPC at this time
Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
Signed-off-by: John Miller <john.miller@atomicrules.com>
Henry Cai [Wed, 5 Apr 2017 13:19:53 +0000 (21:19 +0800)]
net/i40e: fix allocation check
function i40evf_add_del_all_mac_addr without check return
value of rte_zmalloc
Fixes:
97ac72aa71a9 ("i40e: support setting VF MAC address")
Cc: stable@dpdk.org
Signed-off-by: Henry Cai <caihe@huawei.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Henry Cai [Tue, 28 Mar 2017 07:32:20 +0000 (15:32 +0800)]
net/cxgbe: fix possible null pointer dereference
Check return value of malloc.
Fixes:
3bd122eef2cc ("cxgbe/base: add hardware API for Chelsio T5 series adapters")
Cc: stable@dpdk.org
Signed-off-by: Henry Cai <caihe@huawei.com>
Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Santosh Shukla [Tue, 18 Apr 2017 14:41:30 +0000 (20:11 +0530)]
test/mempool_perf: support default mempool
Mempool_perf autotest currently does perf regression for:
* nochache
* cache
Introducing default_pool, mainly targeted for ext-mempool regression
test. Ext-mempool don't need 'cache' modes so only adding test-case
support for 'nocache' mode.
So to run ext-mempool perf regression, user has to set
RTE_MBUF_DEFAULT_MEMPOOL_OPS="<>"
There is chance of duplication ie.. if user sets
RTE_MBUF_DEFAULT_MEMPOOL_OPS="ring_mp_mc" then regression
will happen twice for 'ring_mp_mc'
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Santosh Shukla [Tue, 18 Apr 2017 14:41:29 +0000 (20:11 +0530)]
test/mempool_perf: free mempool on exit
Mempool_perf test not freeing pool memory.
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Santosh Shukla [Tue, 18 Apr 2017 14:41:28 +0000 (20:11 +0530)]
test/mempool_perf: remove mempool global vars
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Shreyansh Jain [Wed, 5 Apr 2017 09:35:34 +0000 (15:05 +0530)]
test/mempool: support default mempool
Mempool test currently supports:
* ring_mp_mc
* stack
Adding a new default pool options. So, ring* + stack + default
(which can be 'stack' or 'ring')
* This way, whatever the value of RTE_MBUF_DEFAULT_MEMPOOL_OPS is set,
it would be verified.
* even if that means duplicating some test (for example when "stack" is
set as default and it already part of standard test)
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Shreyansh Jain [Wed, 5 Apr 2017 09:35:33 +0000 (15:05 +0530)]
test/mempool: free mempool on exit
mempool autotest was not freeing the mempools.
Fixes:
8ef772ae ("app/test: rework mempool test")
Cc: stable@dpdk.org
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Shreyansh Jain [Thu, 13 Apr 2017 09:02:07 +0000 (14:32 +0530)]
mk: link app with ring mempool by default
From the discussion in [1], it was observed that application should
have a default pool already linked even in case of shared builds.
Ring is especially important because packet mbuf creation API refer to
ring_mp_mc as default handler.
Documentation for this is pending.
[1] http://dpdk.org/ml/archives/dev/2017-April/063819.html
Fixes:
9a8e9b57f544 ("mempool: move ring handler as a driver")
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Thomas Monjalon [Wed, 19 Apr 2017 12:00:29 +0000 (14:00 +0200)]
doc: fix sphinx warning
Seen with recent version of sphinx:
WARNING: latex_preamble conflicts with latex_elements['preamble'], ignored.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Shahaf Shuler [Thu, 13 Apr 2017 05:29:27 +0000 (08:29 +0300)]
ethdev: fix build with strict flags
Compilation error seen while compiling mlx5 in debug mode
under RHEL 7.3:
rte_ethdev.h:1670:7: error: type of bit-field 'state' is a GCC extension
[-Werror=pedantic]
Address it by removing the unnecessary bit-field width limitation.
Fixes:
d52268a8b24b ("ethdev: expose device states")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Ferruh Yigit [Mon, 17 Apr 2017 14:35:59 +0000 (15:35 +0100)]
eventdev: fix build for clang 4
build error:
.../lib/librte_eventdev/rte_eventdev.c:371:6:
error: logical not is only applied to the left hand side of this
bitwise operator [-Werror,-Wlogical-not-parentheses]
if (!dev_conf->event_dev_cfg & RTE_EVENT_DEV_CFG_PER_DEQUEUE_TIMEOUT)
^
Added parentheses after the '!' to evaluate the bitwise operator first.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Mon, 17 Apr 2017 14:35:58 +0000 (15:35 +0100)]
mk: fix build for clang 4
clang 4 gives "taking address of packed member may result in an
unaligned pointer value" warnings in a few locations [1].
Disabled "-Waddress-of-packed-member" warning for clang >= 4
[1] build errors:
.../lib/librte_eal/common/eal_common_memzone.c:275:25:
error: taking address of packed member 'mlock' of class or structure
'rte_mem_config' may result in an unaligned pointer value
[-Werror,-Waddress-of-packed-member]
rte_rwlock_write_lock(&mcfg->mlock);
^~~~~~~~~~~
.../lib/librte_ip_frag/rte_ipv4_reassembly.c:139:31:
error: taking address of packed member 'src_addr' of class or structure
'ipv4_hdr' may result in an unaligned pointer value
[-Werror,-Waddress-of-packed-member]
psd = (unaligned_uint64_t *)&ip_hdr->src_addr;
^~~~~~~~~~~~~~~~
.../lib/librte_vhost/vhost_user.c:1037:34:
error: taking address of packed member 'payload' of class or structure
'VhostUserMsg' may result in an unaligned pointer value
[-Werror,-Waddress-of-packed-member]
vhost_user_set_vring_num(dev, &msg.payload.state);
^~~~~~~~~~~~~~~~~
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Wed, 19 Apr 2017 09:52:09 +0000 (10:52 +0100)]
net/xenvirt: fix build error
build error:
.../drivers/net/xenvirt/rte_eth_xenvirt.c:676:9:
error: ‘struct rte_eth_dev’ has no member named ‘driver’
eth_dev->driver = NULL;
^~
ethdev driver removed, removing assignment to it to fix the build error
Fixes:
9dca21fb80b6 ("ethdev: remove ethdev driver")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:49 +0000 (17:44 +0200)]
ethdev: do not include PCI header
Since the PCI functionality has been moved to the PCI specific ethdev
header we don't need to include rte_pci.h from here anymore.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:48 +0000 (17:44 +0200)]
ethdev: remove PCI helper from generic ethdev header
This moves the rte_eth_copy_pci_info() into the PCI specific ethdev
header. As a side effect this also removes it from the list of symbols
exported by the rte_ethdev library.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:46 +0000 (17:44 +0200)]
ethdev: remove ethdev driver
This removes the now unused struct eth_driver.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:45 +0000 (17:44 +0200)]
ethdev: remove ethdev PCI probe/remove
This removes the now unused rte_eth_dev_pci_probe() and
rte_eth_dev_pci_remove() functions.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:24 +0000 (17:44 +0200)]
drivers/net: do not use ethdev driver
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:23 +0000 (17:44 +0200)]
ethdev: add PCI driver helpers
This adds the following helper intended to be used by rte_pci_driver
implementations working with ethdev:
- rte_eth_dev_pci_allocate
- rte_eth_dev_pci_release
- rte_eth_dev_pci_generic_probe
- rte_eth_dev_pci_generic_remove
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:12 +0000 (17:44 +0200)]
drivers/net: use ethdev allocation helper for vdev
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:11 +0000 (17:44 +0200)]
ethdev: add allocation helper for virtual drivers
This helper should be used by ethdev drivers supporting virtual devices
to help allocating a new ethdev and properly filling the default fields.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:17 +0000 (17:44 +0200)]
net/null: internalize create function
There is no need to export this API. Remaining users should use the
rte_eal_vdev_init() function instead.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:16 +0000 (17:44 +0200)]
test: do not short-circuit null device creation
A virtual device should get initialized through the rte_eal_vdev_init()
function to properly initialize the driver.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:10 +0000 (17:44 +0200)]
net/nfp: use ethdev DMA helper
This driver can use the library function rte_eth_dma_zone_reserve()
instead of duplicating the code.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:19 +0000 (17:44 +0200)]
net/bonding: call through EAL on create/free
To properly embed the generic rte_device into the rte_eth_dev this reworks
the bonding API to call through rte_eal_vdev_init().
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:09 +0000 (17:44 +0200)]
eal: parse driver argument before probing drivers
In some cases the virtual device name should be totally different than
the driver being used for the device. Therefore lets parse the devargs for
the "driver" argument before probing drivers in vdev_probe_all_drivers().
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:08 +0000 (17:44 +0200)]
eal: add name field to generic device
This adds a name field to the generic struct rte_device. The EAL is
checking for the name being populated when registering a device but
doesn't enforce global unique names as this is left to the bus
implementations.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:13 +0000 (17:44 +0200)]
vdev: use generic vdev struct for probe and remove
This is a preparation to embed the generic rte_device into the rte_eth_dev
also for virtual devices.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:12 +0000 (17:44 +0200)]
vdev: make virtual bus use its device struct
This allows the virtual bus to be rescanned and probed by tracking the
creation of rte_vdev_device.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:11 +0000 (17:44 +0200)]
vdev: add virtual device arguments helper function
This adds the rte_vdev_device_args() helper function to prepare for
changing the virtual drivers probe() functions take a rte_vdev_device
pointer instead of the name+args strings.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Jan Blunck [Tue, 11 Apr 2017 15:44:10 +0000 (17:44 +0200)]
vdev: add virtual device name helper function
This adds the rte_vdev_device_name() helper function to retrieve the
rte_vdev_device name which makes moving the name of the low-level
device into struct rte_device easier in the future.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:09 +0000 (17:44 +0200)]
vdev: add virtual device struct
This adds the rte_vdev_device structure which embeds a generic rte_device.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:08 +0000 (17:44 +0200)]
vdev: refactor probe/remove
This is a preparation for the introduction of the struct rte_vdev_device.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:07 +0000 (17:44 +0200)]
eal: remove unused device init function
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:06 +0000 (17:44 +0200)]
vdev: move virtual device probing into a bus
This is a refactoring of the virtual device probing which moves into into
a proper bus structure.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Jan Blunck [Tue, 11 Apr 2017 15:44:05 +0000 (17:44 +0200)]
eal: probe new virtual bus after other bus devices
Also see commit
f4ce209a8ce5 ("eal: postpone vdev initialization").
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Shreyansh Jain [Tue, 11 Apr 2017 11:07:34 +0000 (13:07 +0200)]
eal: bump ABI version for bus refactoring
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Shreyansh Jain [Tue, 11 Apr 2017 11:07:32 +0000 (13:07 +0200)]
pci: use bus driver for scan/probe
Remove EAL initiated direct PCI scan/probe and enable PCI Bus linkage.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Reviewed-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Shreyansh Jain [Tue, 11 Apr 2017 11:07:31 +0000 (13:07 +0200)]
pci: add bus driver
Based on EAL Bus APIs, PCI bus callbacks and support functions are
introduced in this patch.
EAL continues to have direct PCI init/scan calls as well. These would be
removed in subsequent patches to enable bus only PCI devices.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Reviewed-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Shreyansh Jain [Tue, 11 Apr 2017 11:07:30 +0000 (13:07 +0200)]
pci: remove loop over drivers in device detach
rte_eal_pci_detach calls pci_detach_all_drivers which loops over all
PCI drivers for detaching the device. This is unnecessary as the device
already has the PCI driver reference which can be used directly.
Removing pci_detach_all_drivers and restructuring rte_eal_pci_detach
and rte_eal_pci_detach_dev to work without looping over driver list.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Shreyansh Jain [Tue, 11 Apr 2017 11:07:29 +0000 (13:07 +0200)]
pci: split match and probe
Matching of PCI device address and driver ID table is being done at two
discreet locations duplicating the code. (rte_eal_pci_probe_one_driver
and rte_eal_pci_detach_dev).
Refactor the match logic as a single function.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Gaetan Rivet [Tue, 11 Apr 2017 11:07:28 +0000 (13:07 +0200)]
test: remove PCI tests
These tests are not suited for the rte_bus PCI implementation anymore.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Ami Sabo [Thu, 2 Mar 2017 09:00:42 +0000 (11:00 +0200)]
net/virtio-user: fix multi-process attach
Secondary process doesn't properly attach to the rte_eth_device
initialized by the primary process.
Accessing device from secondary process (e.g. via rte_eth_rx_burst),
causes process to crash. because rte_eth_dev_data is not properly set.
The issue was flood by
'commit
7f95f78a8aea ("ethdev: clear data when allocating device")'
which now clears rte_eth_dev_data entry.
For pci devices the struct is initialized by rte_eth_dev_pci_probe
->eth_dev_attach_secondary().
However, for virtio-user virtio_user_pmd_probe() is called instead of
rte_eth_dev_pci_probe().
The fix is to call rte_eth_dev_attach_secondary(), for secondary
process, from virtio_user_pmd_probe.
Fixes:
7f95f78a8aea ("ethdev: clear data when allocating device")
Cc: stable@dpdk.org
Signed-off-by: Ami Sabo <amis@radware.com>
Ami Sabo [Thu, 2 Mar 2017 09:00:41 +0000 (11:00 +0200)]
ethdev: export secondary attach function
Today eth_dev_attach_secondary is defined as static and can only be
called by pci drivers. However, the functionality is also required for
non-pci drivers - so the patch export the function.
Signed-off-by: Ami Sabo <amis@radware.com>
Bruce Richardson [Thu, 13 Apr 2017 09:42:56 +0000 (10:42 +0100)]
ring: fix return value for single dequeue
The error return code for rte_ring_dequeue() function should be -ENOENT
rather than -ENOBUFS (which is the error value from the enqueue() fn).
Fixes:
cfa7c9e6fc1f ("ring: make bulk and burst return values consistent")
Reported-by: Zhihong Wang <zhihong.wang@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Stephen Hemminger [Fri, 7 Apr 2017 17:44:57 +0000 (13:44 -0400)]
test: remove unnecessary cast of void pointer
Remove unnecessary casts of void * pointers to a specific type.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Fri, 7 Apr 2017 17:44:47 +0000 (13:44 -0400)]
lib: remove unnecessary void cast
Remove unnecessary casts of void * pointers to a specific type.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Jeff Guo [Wed, 5 Apr 2017 04:48:43 +0000 (12:48 +0800)]
app/testpmd: fix IPv6 tunnel checksum
When ipv6 packet is tunnel packet, "PKT_TX_OUTER_IPV6" flag must
be set, to let prepare the correct mbuf meta data for tx forward.
Fixes:
2b76648872c9 ("net/e1000: add Tx preparation")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Jeff Guo [Wed, 5 Apr 2017 04:48:42 +0000 (12:48 +0800)]
lib: fix IPv6 tunnel checksum
When packet is flag of "PKT_TX_OUTER_IPV6", it also need to be
considered to be tunnel case, in order to calculate the correct
csum value.
Fixes:
2b76648872c9 ("net/e1000: add Tx preparation")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Jeff Guo [Sat, 8 Apr 2017 05:56:39 +0000 (13:56 +0800)]
examples: enable HW CRC strip by default
Since VF can not disable/enable HW CRC strip for non-DPDK PF drivers,
and kernel driver almost default enable that feature, if disable it in
example app's rxmode, VF driver will report the VF launch failure. So
this patch default to enable HW CRC strip to let VF launch successful.
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Jeff Guo [Sat, 8 Apr 2017 05:56:41 +0000 (13:56 +0800)]
test: enable HW CRC strip by default
Since VF can not disable/enable HW CRC strip for non-DPDK PF drivers,
and kernel driver almost default enable that feature, if disable it in
test app's rxmode, VF driver will report the VF launch failure. So
this patch default to enable HW CRC strip to let VF launch successful.
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Jeff Guo [Sat, 8 Apr 2017 05:56:40 +0000 (13:56 +0800)]
app: enable HW CRC strip by default
Since VF can not disable/enable HW CRC strip for non-DPDK PF drivers,
and kernel driver almost default enable that feature, if disable it in
app's rxmode, VF driver will report the VF launch failure. So this
patch default to enable HW CRC strip to let VF launch successful.
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Pascal Mazon [Mon, 10 Apr 2017 12:18:51 +0000 (14:18 +0200)]
mk: fix quoting for ARM mtune argument
The mtune argument needs an unquoted argument, otherwise the compiler
complains:
arm-buildroot-linux-gnueabi-gcc.br_real: error:
unrecognized argument in option ‘-mtune="cortex-a9"’
Fixes:
02a8686263de ("mk: introduce ARMv7 architecture")
Fixes:
4a7e4626975a ("mk: introduce NXP dpaa2 architecture based on armv8-a")
Cc: stable@dpdk.org
Reported-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Tested-by: Jan Viktorin <viktorin@rehivetech.com>
Matej Vido [Fri, 7 Apr 2017 20:12:47 +0000 (22:12 +0200)]
maintainers: rename section for szedata2 driver
The name of company is listed for other drivers.
Use the company name also for szedata2 driver.
Cards are available from Netcope rather than Cesnet.
Signed-off-by: Matej Vido <vido@cesnet.cz>
Matej Vido [Fri, 7 Apr 2017 20:12:46 +0000 (22:12 +0200)]
doc: update szedata2 guide
NICs are available from Netcope under the names NFB-*.
Change names and direct the links to Netcope web.
Signed-off-by: Matej Vido <vido@cesnet.cz>
Acked-by: John McNamara <john.mcnamara@intel.com>
Ilya Maximets [Mon, 10 Apr 2017 08:14:19 +0000 (11:14 +0300)]
app: do not build test-crypto-perf if cryptodev disabled
This fixes build in following configuration:
CONFIG_RTE_LIBRTE_CRYPTODEV=n
CONFIG_RTE_APP_CRYPTO_PERF=y
Fixes:
f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
Cc: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Olivier Matz [Fri, 7 Apr 2017 08:43:16 +0000 (10:43 +0200)]
latency: fix build without timer library
Remove the include to "rte_timer.h" which is not needed
by latencystats library (only "rte_cycles.h" is used).
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Thomas Monjalon [Thu, 6 Apr 2017 21:25:18 +0000 (23:25 +0200)]
version: 17.05-rc1
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Andrew Rybchenko [Tue, 4 Apr 2017 14:59:20 +0000 (15:59 +0100)]
pci: do not log false failures for non-whitelisted devices
If probe of the whitelisted PCI device fails, reset ret to zero
to silently skip non-whitelisted PCI devices.
Fixes:
10f6c93cea38 ("eal: do not panic on PCI failures")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Aaron Conole [Tue, 4 Apr 2017 15:38:58 +0000 (11:38 -0400)]
eal: deprecate old cpu features check function
It's likely that this function isn't used anywhere, but since it was part
of the public API, mark the function for deprecation for at least one
release.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Aaron Conole [Tue, 4 Apr 2017 15:38:57 +0000 (11:38 -0400)]
eal: add missing function to symbol map
This function rte_cpu_is_supported is now part of the public ABI,
so should be advertised as such.
Fixes:
37e97ad2c56a ("eal: do not panic when CPU is not supported")
Signed-off-by: Aaron Conole <aconole@redhat.com>
Thomas Monjalon [Tue, 14 Mar 2017 10:00:16 +0000 (11:00 +0100)]
doc: add maintainer role about replying questions
The first line of the MAINTAINERS file are:
"
The intention of this file is to provide a set of names that we can rely on
for helping in patch reviews and questions.
"
Unfortunately, some maintainers do not endorse their role for questions
asked on the mailing list.
Hope making it clear in the contribution guide will enforce more
responsive maintainer participation.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Wenzhuo Lu [Thu, 30 Mar 2017 16:32:41 +0000 (17:32 +0100)]
doc: add how to use VF daemon
VFd (the VF daemon) is a mechanism which can be used to configure
features on a VF without direct access to the PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
John McNamara [Thu, 6 Apr 2017 16:36:42 +0000 (17:36 +0100)]
doc: fix doc warning due to missing architecture
TILE-GX is no longer supported but the tap driver includes it in its
NIC overview ini file which causes a doc warning:
$ make doc-guides-html
sphinx processing guides-html...
Warning generate_nic_overview_table():
Unknown feature 'TILE-Gx' in 'tap.ini'
Fixes:
04b2c3c94346 ("doc: add tap features")
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Bruce Richardson [Wed, 29 Mar 2017 16:38:56 +0000 (17:38 +0100)]
devtools: add test apps to build script
Since the test app is no longer being build by default as part of a build,
we need to update the testbuild script to take account of this.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Bruce Richardson [Wed, 29 Mar 2017 16:38:54 +0000 (17:38 +0100)]
config: enable crypto scheduler PMD by default
The crypto scheduler PMD has no external dependencies to enable that by
default.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Bruce Richardson [Wed, 29 Mar 2017 16:38:53 +0000 (17:38 +0100)]
examples: enable build of performance-thread
The performance-thread example was not build by default in the make
examples build target. It will compile ok for x86_64 targets so add it to
the examples makefile list for that platform.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Yuanhan Liu [Thu, 6 Apr 2017 06:33:41 +0000 (14:33 +0800)]
devtools: make commits with stable tag outstanding
So that, as a stable maintainer while picking commits to a stable release,
I could pay less attention to those have it and pay more attention to those
don't have it.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Qi Zhang [Thu, 6 Apr 2017 12:42:22 +0000 (20:42 +0800)]
eal: clean up interrupt handle
The patch change the prototype of callback function
(rte_intr_callback_fn) by removing the unnecessary parameter.
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Qi Zhang [Thu, 6 Apr 2017 12:42:21 +0000 (20:42 +0800)]
vfio: keep interrupt source read only
Remove the inappropriate modification on get_max_intr
field that keep the intr_source read only.
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Ferruh Yigit [Wed, 5 Apr 2017 16:07:14 +0000 (17:07 +0100)]
drivers/net: remove unused DEPDIRS from makefiles
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Beilei Xing [Thu, 6 Apr 2017 07:12:34 +0000 (15:12 +0800)]
net/i40e: fix tunnel filter to VF
Failed to destroy tunnel filter rule if the action of
the tunnel filter is VF, root cause is the wrong vsi
used.
Fixes:
c50474f31efe ("net/i40e: support tunnel filter to VF")
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Ferruh Yigit [Thu, 6 Apr 2017 17:05:11 +0000 (18:05 +0100)]
event/sw: fix build for gcc 4.5.1
build error:
.../event/sw/sw_evdev_worker.c: In function ‘sw_event_release’:
.../event/sw/sw_evdev_worker.c:52:3: error: unknown field ‘op’ specified
in initializer
Fixed by updating struct initialization.
Fixes:
656af9180014 ("event/sw: add worker core functions")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Ferruh Yigit [Thu, 6 Apr 2017 17:05:10 +0000 (18:05 +0100)]
event/octeontx: fix build for gcc < 4.6
-Ofast option supported from gcc4.6 [1], for older versions using
"-O3 -ffast-math" instead.
[1] build error:
cc1: error: invalid option argument ‘-Ofast’
Also struct initialization build error [2] fixed.
[2] build error:
.../event/octeontx/ssovf_mbox.c: In function ‘mbox_send_request’:
.../event/octeontx/ssovf_mbox.c:95:9: error: unknown field ‘u64’
specified in initializer
Fixes:
32ff26393bb2 ("event/octeontx: add SSO HW device operations")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Ferruh Yigit [Thu, 6 Apr 2017 17:05:09 +0000 (18:05 +0100)]
net/thunderx: disable PMD for old compilers
Disable for gcc < 4.7 and icc <= 14.0
PMD uses some compiler builtins and new compiler options. Tested with
gcc 4.5.1 and following were not supported:
option:
-Ofast
macros:
_Static_assert
__ORDER_LITTLE_ENDIAN__
__ORDER_BIG_ENDIAN__
__BYTE_ORDER__
__atomic_fetch_add
__ATOMIC_ACQUIRE
__atomic_load_n
__ATOMIC_RELAXED
__atomic_store_n
__ATOMIC_RELEASE
It is not easy to fix all in PMD, disabling PMD for older compilers.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Fan Zhang [Wed, 5 Apr 2017 16:03:23 +0000 (17:03 +0100)]
crypto/scheduler: deprecate get/set mode functions
This patch deprecates the following functions in 17.05,
which will be removed in 17.08.
- rte_crpytodev_scheduler_mode_get()
- rte_crpytodev_scheduler_mode_set()
These two new functions replace them, fixing the typo in their names.
- rte_cryptodev_scheduler_mode_get()
- rte_cryptodev_scheduler_mode_set()
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Fan Zhang [Mon, 3 Apr 2017 15:33:19 +0000 (16:33 +0100)]
crypto/scheduler: add more options
This patch adds initial mode and ordering enable/disable EAL
options to cryptodev scheduler PMD.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Fan Zhang [Tue, 4 Apr 2017 09:31:08 +0000 (10:31 +0100)]
crypto/scheduler: fix session free
This patch fixes the incorrection slave session free operation.
Fixes:
57523e682bb7 ("crypto/scheduler: register operation functions")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Fiona Trahe [Mon, 3 Apr 2017 14:13:21 +0000 (15:13 +0100)]
crypto/qat: support device D15xx
Add support for Intel QuickAssist Technology device D15xx
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Fiona Trahe [Mon, 3 Apr 2017 14:13:22 +0000 (15:13 +0100)]
doc: restructure QAT guide
Restructure QAT PMD instructions and add a device table to
minimise duplication for each device and make it easier to add devices.
Fix some device name typos and poor formatting.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Fiona Trahe [Mon, 3 Apr 2017 15:51:33 +0000 (16:51 +0100)]
cryptodev: add API note
Add note to cryptodev API that chained mbufs
are not supported in DOCSISBPI mode.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Arek Kusztal [Fri, 31 Mar 2017 12:53:20 +0000 (13:53 +0100)]
test/crypto: add ZUC test cases for QAT
This patch adds ZUC EEA3/EIA3 test cases for QAT crypto test suite
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Arek Kusztal [Fri, 31 Mar 2017 12:53:19 +0000 (13:53 +0100)]
test/crypto: merge ZUC test vectors into one file
This patch merges ZUC test vectors into one header file
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Arek Kusztal [Fri, 31 Mar 2017 12:53:18 +0000 (13:53 +0100)]
crypto/qat: add ZUC EEA3/EIA3 capability
This commit adds ZUC EEA3 cipher and ZUC EIA3 MAC capability
to Intel(R) QuickAssist Technology driver
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Arek Kusztal [Fri, 31 Mar 2017 12:53:17 +0000 (13:53 +0100)]
crypto/qat: refactor capabilities infrastructure
Refactor capabilities data structures to facilitate
defining different capability sets for different devices
without duplication of data.
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Fan Zhang [Thu, 30 Mar 2017 13:39:18 +0000 (14:39 +0100)]
crypto/scheduler: add API to get attached slaves
This patch adds an API to get the run-time slaves number and list
of a cryptodev scheduler PMD.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Arek Kusztal [Wed, 29 Mar 2017 10:31:46 +0000 (11:31 +0100)]
crypto/qat: fix crash in session create
This patch fixes segementation fault that may occur in case
of wrong parameters being provided to the cryptographic
session. Unused fields which would cause null dereference
are removed.
Fixes:
1703e94ac5ce ("qat: add driver for QuickAssist devices")
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Fiona Trahe [Thu, 2 Mar 2017 13:03:12 +0000 (13:03 +0000)]
test/crypto: add out-of-place tests
Added out-of-place (OOP) tests for AES-CBC, AES-DOCSIS and DES-DOCSIS
to tests suites for QuickAssist and openssl PMDs.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Fiona Trahe [Thu, 2 Mar 2017 13:03:09 +0000 (13:03 +0000)]
crypto/qat: support DOCSIS BPI mode
DOCSIS BPI mode is handled in the QAT PMD by sending full blocks to the
hardware device for encryption and using OpenSSL libcrypto for pre- or
post-processing of any partial blocks.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Pablo de Lara [Thu, 23 Feb 2017 15:21:32 +0000 (15:21 +0000)]
crypto/openssl: support DES DOCSIS BPI
Adds support in OpenSSL PMD for algorithm following the DOCSIS
specification, which combines DES-CBC for full DES blocks (8 bytes)
and DES-CFB for last runt block (less than 8 bytes).
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Tested-by: Yang Gang <gangx.yang@intel.com>
Pablo de Lara [Thu, 23 Feb 2017 15:06:29 +0000 (15:06 +0000)]
crypto/aesni_mb: support AES DOCSIS BPI
Underlying IPSec Multi buffer library implements
DOCSIS specification, so this commit adds support
for this new feature, which combines AES-CBC for full
AES blocks (16 bytes) and AES-CFB for last runt block
(less than 16 bytes).
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Pablo de Lara [Thu, 30 Mar 2017 15:04:18 +0000 (16:04 +0100)]
crypto/aesni_mb: support IPSec Multi-buffer lib v0.45
IPSec Multi-buffer library v0.45 has been released,
which includes, among other features, support for DOCSIS BPI
specification and include AVX512 optimizations.
This new version added const qualifiers to some of the function
prototypes, so the PMD has been updated to include these changes.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Declan Doherty [Thu, 30 Mar 2017 13:34:53 +0000 (14:34 +0100)]
crypto/aesni_mb: process crypto op on dequeue
Moving the crypto processing from the enqueue burst to the dequeue burst,
to remove the requirement to continually call the
rte_cryptodev_burst_enqueue function to guarantee that all operations get
flushed from the multi-buffer managers buffers.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Sergio Gonzalez Monroy [Wed, 29 Mar 2017 13:42:53 +0000 (14:42 +0100)]
crypto/aesni_gcm: do crypto op in dequeue function
There is bug when more crypto ops are enqueued than dequeued.
The return value is not checked when trying to enqueue the
processed crypto op into the internal ring, which in the case of being
full will results in crypto ops and mbufs being leaked.
The issue is more obvious with different cores doing enqueue/dequeue.
This patch moves the crypto operation to the dequeue function which
fixes the above issue without having to check for the number of free
entries in the ring.
Fixes:
eec136f3c54f ("aesni_gcm: add driver for AES-GCM crypto operations")
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Fan Zhang [Wed, 29 Mar 2017 16:31:32 +0000 (17:31 +0100)]
crypto/scheduler: add fail-over scheduling mode
Fail-over mode works with 2 slaves, primary slave and secondary slave.
In this mode, the scheduler will enqueue the incoming crypto op burst
to the primary slave. When one or more crypto ops are failed to be
enqueued, they then will be enqueued to the secondary slave.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Fan Zhang [Thu, 30 Mar 2017 10:47:14 +0000 (11:47 +0100)]
crypto/scheduler: add packet size based mode
Packet-size based distribution mode is a scheduling mode works with 2
slaves, primary slave and secondary slave, and distribute the enqueued
crypto ops to them based on their data lengths. A crypto op will be
distributed to the primary slave if its data length equals or bigger
than the designated threshold, otherwise it will be handled by the
secondary slave.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Pablo de Lara [Mon, 27 Mar 2017 11:26:06 +0000 (12:26 +0100)]
app/crypto-perf: reorg options structure
Reorganize options structure, to have all the parameters
used in a single run in the first bytes of the structure,
so all fit in a single cache line.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Pablo de Lara [Mon, 27 Mar 2017 11:26:05 +0000 (12:26 +0100)]
app/crypto-perf: add extra option checks
When using the verify test, test name is necessary
to be passed when digest is needed.
Also, when using an block cipher algorithm (CBC, ECB),
the buffer size has to be aligned to the block size.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>