dpdk.git
7 years agonet/i40e: fix hash input set on X722
Jeff Guo [Thu, 6 Apr 2017 02:35:26 +0000 (10:35 +0800)]
net/i40e: fix hash input set on X722

There are some new PCTYPEs on X722, but they have not been announced
on the RTE lib, so if it can not set corresponding hash input set for
these packet type, the hash function won’t work.

So we need to handle them base on the translation of the new
PCTYPE and the original PCTYPE.

Fixes: b6a0ec418274 ("i40e: use AQ for Rx control register read/write")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/enic: remove initialization of some mbuf fields
John Daley [Tue, 11 Apr 2017 01:37:19 +0000 (18:37 -0700)]
net/enic: remove initialization of some mbuf fields

Remove initialization of next and nb_segs mbuf fields in the Rx path
since they are now initialized in the mbuf pool.

See commit 8f094a9ac5d7 ("mbuf: set mbuf fields while in pool").

Signed-off-by: John Daley <johndale@cisco.com>
7 years agonet/thunderx: use internal byte ordering macros
Jerin Jacob [Mon, 10 Apr 2017 19:44:34 +0000 (01:14 +0530)]
net/thunderx: use internal byte ordering macros

The base code was using native GCC macros
for endian detection. Change to portable
rte_byteorder.h based endian detection.

Fixes: 262d43fe20ee ("net/thunderx/base: add HW register definitions")

Suggested-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
7 years agonet/tap: update driver param string
Pascal Mazon [Tue, 11 Apr 2017 09:01:03 +0000 (11:01 +0200)]
net/tap: update driver param string

Fixes: 2bc06869cd94 ("net/tap: add remote netdevice traffic capture")

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/ixgbe: remove option to disable offload flags
Konstantin Ananyev [Mon, 10 Apr 2017 15:59:42 +0000 (16:59 +0100)]
net/ixgbe: remove option to disable offload flags

Having packets received without any offload flags given in the mbuf is not
very useful, and performance tests with testpmd indicates little
benefit is got with the current code by turning off the flags. This makes
the build-time option pointless, so we can remove it.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/ixgbe: eliminate mbuf write on rearm
Konstantin Ananyev [Mon, 10 Apr 2017 15:59:41 +0000 (16:59 +0100)]
net/ixgbe: eliminate mbuf write on rearm

With the mbuf rework, we now have 8 contiguous bytes to be rearmed in the
mbuf just before the 8-bytes of olflags. If we don't do the rearm write
inside the descriptor ring replenishment function, and delay it to
receiving the packet, we can do a single 16B write inside the RX function
to set both the rearm data, and the flags together.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/i40e: sync between x86 and arm64 vector PMD
Jianbo Liu [Thu, 6 Apr 2017 08:33:21 +0000 (16:33 +0800)]
net/i40e: sync between x86 and arm64 vector PMD

Porting two changes from x86 SSE implematation.
    net/i40e: fix checksum flag in x86 vector Rx
    net/i40e: eliminate mbuf write on rearm

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agonet/i40e: remove option to disable offload flags
Bruce Richardson [Thu, 6 Apr 2017 11:32:17 +0000 (12:32 +0100)]
net/i40e: remove option to disable offload flags

Having packets received without any offload flags given in the mbuf is not
very useful, and performance tests with testpmd indicates little to no
benefit is got with the current code by turning off the flags. This makes
the build-time option pointless, so we can remove it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agonet/i40e: eliminate mbuf write on rearm
Bruce Richardson [Thu, 6 Apr 2017 11:32:16 +0000 (12:32 +0100)]
net/i40e: eliminate mbuf write on rearm

With the mbuf rework, we now have 8 contiguous bytes to be rearmed in the
mbuf just before the 8-bytes of olflags. If we don't do the rearm write
inside the descriptor ring replenishment function, and delay it to
receiving the packet, we can do a single 16B write inside the RX function
to set both the rearm data, and the flags together.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agonet/liquidio: fix null pointer check
Shijith Thotton [Mon, 10 Apr 2017 07:18:56 +0000 (12:48 +0530)]
net/liquidio: fix null pointer check

Fix null pointer check in release Rx/Tx queue APIs.

Coverity issue: 1423923
Coverity issue: 1423924
Fixes: 9a30013b9884 ("net/liquidio: add API to release Rx queue")
Fixes: cf6bfcbea178 ("net/liquidio: add API to release Tx queue")

Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
7 years agonet/liquidio/base: fix mbox command initialization
Shijith Thotton [Mon, 10 Apr 2017 07:18:55 +0000 (12:48 +0530)]
net/liquidio/base: fix mbox command initialization

Initialize mail box command to request VF FLR. Data field was
uninitialized before as it was not required and caused the following
error during scan.

Coverity issue: 1384518
Fixes: cdb166963cae ("net/liquidio: add API for VF FLR")

Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
7 years agonet/i40e: add missing 25G link speed
Qi Zhang [Sun, 9 Apr 2017 18:05:06 +0000 (14:05 -0400)]
net/i40e: add missing 25G link speed

Add missing 25G link speed decode in i40evf_dev_link_update.

Fixes: 75d133dd3296 ("net/i40e: enable 25G device")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
7 years agonet/i40e: fix VF link speed
Qi Zhang [Sun, 9 Apr 2017 18:05:05 +0000 (14:05 -0400)]
net/i40e: fix VF link speed

When PF notify link speed to VF, encode of link speed need to
be converted from ETH_SPEED_XXX to I40E_LINK_SPEED_XXX.

Fixes: bb6722fb5c0e ("net/i40e: fix VF bonded device link down")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
7 years agonet/i40e: remove duplicate code
Qi Zhang [Sun, 9 Apr 2017 18:05:04 +0000 (14:05 -0400)]
net/i40e: remove duplicate code

Make i40e_notify_all_vfs_link_status as a wrapper of
i40e_notify_vf_link_status so duplicate code can be removed.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
7 years agonet/i40e: fix QinQ eth pattern parsing
Bernard Iremonger [Wed, 5 Apr 2017 14:03:57 +0000 (15:03 +0100)]
net/i40e: fix QinQ eth pattern parsing

The eth keyword only should be accepted.

Fixes: d37705068ee8 ("net/i40e: parse QinQ pattern")

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
7 years agonet/sfc: remove unnecessary mbuf initialization on Rx
Andrew Rybchenko [Tue, 4 Apr 2017 11:57:36 +0000 (12:57 +0100)]
net/sfc: remove unnecessary mbuf initialization on Rx

mbuf next is equal to NULL, nb_segs and reference counter are equal to 1
when mbuf is obtained from mempool.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
7 years agoconfig: enable AVP driver only on x86 64-bit
Allain Legacy [Tue, 4 Apr 2017 17:37:24 +0000 (13:37 -0400)]
config: enable AVP driver only on x86 64-bit

The AVP devices are only supported on Intel 64-bit architectures so
adjusting the defconfig attributes accordingly.

Fixes: 908072e9d0e6 ("net/avp: support driver registration")

Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
7 years agonet/ark: integrate PMD
Ed Czeck [Tue, 4 Apr 2017 19:51:32 +0000 (15:51 -0400)]
net/ark: integrate PMD

* Flesh out device configuration
* Add links dev_ops
* Allow dynamic extension loading
* Update release notes and feature listing

Signed-off-by: Shepard Siegel <shepard.siegel@atomicrules.com>
Signed-off-by: John Miller <john.miller@atomicrules.com>
Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
7 years agonet/ark: add Rx initial version
Ed Czeck [Tue, 4 Apr 2017 19:51:19 +0000 (15:51 -0400)]
net/ark: add Rx initial version

* Core RX packet moving functions

Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
7 years agonet/ark: add Tx initial version
Ed Czeck [Tue, 4 Apr 2017 19:51:08 +0000 (15:51 -0400)]
net/ark: add Tx initial version

* Core TX packet moving functions
* Flesh out ark_adapter struct to support TX code
(not all fields used at this patch)

Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
7 years agonet/ark: provide API for hardware modules pktchkr and pktgen
Ed Czeck [Tue, 4 Apr 2017 19:50:58 +0000 (15:50 -0400)]
net/ark: provide API for hardware modules pktchkr and pktgen

Provide C-level interface for Arkville's internal HW resources
pktchkr and pktgen

Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
7 years agonet/ark: provide API for hardware modules UDM and DDM
Ed Czeck [Tue, 4 Apr 2017 19:50:49 +0000 (15:50 -0400)]
net/ark: provide API for hardware modules UDM and DDM

Provide C-level interface for Arkville's internal HW resources
DDM (Downstream Data Mover) and UDM (Upstream Data Mover) modules

Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
7 years agonet/ark: provide API for hardware modules MPU RQP and pktdir
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>
7 years agonet/ark: stub PMD for Atomic Rules Arkville
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>
7 years agonet/i40e: fix allocation check
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>
7 years agonet/cxgbe: fix possible null pointer dereference
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>
7 years agotest/mempool_perf: support default mempool
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>
7 years agotest/mempool_perf: free mempool on exit
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>
7 years agotest/mempool_perf: remove mempool global vars
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>
7 years agotest/mempool: support default mempool
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>
7 years agotest/mempool: free mempool on exit
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>
7 years agomk: link app with ring mempool by default
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>
7 years agodoc: fix sphinx warning
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>
7 years agoethdev: fix build with strict flags
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>
7 years agoeventdev: fix build for clang 4
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>
7 years agomk: fix build for clang 4
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>
7 years agonet/xenvirt: fix build error
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>
7 years agoethdev: do not include PCI header
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>
7 years agoethdev: remove PCI helper from generic ethdev header
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>
7 years agoethdev: remove ethdev driver
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>
7 years agoethdev: remove ethdev PCI probe/remove
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>
7 years agodrivers/net: do not use ethdev driver
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>
7 years agoethdev: add PCI driver helpers
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>
7 years agodrivers/net: use ethdev allocation helper for vdev
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>
7 years agoethdev: add allocation helper for virtual drivers
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>
7 years agonet/null: internalize create function
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>
7 years agotest: do not short-circuit null device creation
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>
7 years agonet/nfp: use ethdev DMA helper
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>
7 years agonet/bonding: call through EAL on create/free
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>
7 years agoeal: parse driver argument before probing drivers
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>
7 years agoeal: add name field to generic device
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>
7 years agovdev: use generic vdev struct for probe and remove
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>
7 years agovdev: make virtual bus use its device struct
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>
7 years agovdev: add virtual device arguments helper function
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>
7 years agovdev: add virtual device name helper function
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>
7 years agovdev: add virtual device struct
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>
7 years agovdev: refactor probe/remove
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>
7 years agoeal: remove unused device init function
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>
7 years agovdev: move virtual device probing into a bus
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>
7 years agoeal: probe new virtual bus after other bus devices
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>
7 years agoeal: bump ABI version for bus refactoring
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>
7 years agopci: use bus driver for scan/probe
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>
7 years agopci: add bus driver
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>
7 years agopci: remove loop over drivers in device detach
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>
7 years agopci: split match and probe
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>
7 years agotest: remove PCI tests
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>
7 years agonet/virtio-user: fix multi-process attach
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>
7 years agoethdev: export secondary attach function
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>
7 years agoring: fix return value for single dequeue
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>
7 years agotest: remove unnecessary cast of void pointer
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>
7 years agolib: remove unnecessary void cast
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>
7 years agoapp/testpmd: fix IPv6 tunnel checksum
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>
7 years agolib: fix IPv6 tunnel checksum
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>
7 years agoexamples: enable HW CRC strip by default
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>
7 years agotest: enable HW CRC strip by default
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>
7 years agoapp: enable HW CRC strip by default
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>
7 years agomk: fix quoting for ARM mtune argument
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>
7 years agomaintainers: rename section for szedata2 driver
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>
7 years agodoc: update szedata2 guide
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>
7 years agoapp: do not build test-crypto-perf if cryptodev disabled
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>
7 years agolatency: fix build without timer library
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>
7 years agoversion: 17.05-rc1
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>
7 years agopci: do not log false failures for non-whitelisted devices
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>
7 years agoeal: deprecate old cpu features check function
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>
7 years agoeal: add missing function to symbol map
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>
7 years agodoc: add maintainer role about replying questions
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>
7 years agodoc: add how to use VF daemon
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>
7 years agodoc: fix doc warning due to missing architecture
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>
7 years agodevtools: add test apps to build script
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>
7 years agoconfig: enable crypto scheduler PMD by default
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>
7 years agoexamples: enable build of performance-thread
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>
7 years agodevtools: make commits with stable tag outstanding
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>
7 years agoeal: clean up interrupt handle
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>
7 years agovfio: keep interrupt source read only
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>
7 years agodrivers/net: remove unused DEPDIRS from makefiles
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>
7 years agonet/i40e: fix tunnel filter to VF
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>
7 years agoevent/sw: fix build for gcc 4.5.1
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>
7 years agoevent/octeontx: fix build for gcc < 4.6
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>
7 years agonet/thunderx: disable PMD for old compilers
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>
7 years agocrypto/scheduler: deprecate get/set mode functions
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>