Bruce Richardson [Thu, 9 Aug 2018 15:22:35 +0000 (16:22 +0100)]
mk: fix permissions when using make install
When using make install, the permissions of the resulting file should be
those of the user using make install, not those of the user who ran the
build. This would not be the case when a user explicitly runs:
"make && sudo make install"
Fix this by changing "cp -a", which preserves all attributes, to
"cp -dR --preserve=timestamp", and by adding the flags
"--no-same-owner --no-same-permissions" to the calls to tar.
Fixes:
1fa0fd9d6b42 ("mk: allow to specify DESTDIR in build rule")
Fixes:
6b62a72a70d0 ("mk: install a standard cutomizable tree")
Fixes:
576de42b83e5 ("doc: render and install man pages")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Thomas Monjalon [Sun, 5 Aug 2018 09:38:47 +0000 (11:38 +0200)]
devtools: fix symbol check for dash
The script check-symbol-change.sh was not running when
/bin/sh redirects to dash.
Fixes:
4bec48184e33 ("devtools: add checks for ABI symbol addition")
Cc: nhorman@tuxdriver.com
Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Rami Rosen [Sun, 5 Aug 2018 20:03:28 +0000 (23:03 +0300)]
ethdev: fix a doxygen comment for port allocation
This patch fixes a doxygen comment of the rte_eth_dev_allocate()
method. There is no parameter named "type" for this
method; so this patch removes the doxygen comment about it.
Fixes:
6751f6deb798 ("ethdev: get rid of device type")
Cc: stable@dpdk.org
Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Rami Rosen [Wed, 8 Aug 2018 18:40:54 +0000 (21:40 +0300)]
bus/pci: remove unneeded EAL private include
This trivial patch removes an uneeded include
from drivers/bus/pci/linux/pci.c.
Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Rami Rosen [Tue, 7 Aug 2018 19:09:14 +0000 (22:09 +0300)]
bus/pci: remove useless forward declaration
This patch removes the forward declaration of rte_pci_remove_device()
method. In the past, this forward decalaration was needed for
rte_pci_detach(), which is now removed from pci_common.c.
Fixes:
e690338a7b85 ("bus/pci: remove unused function to detach by address")
Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Drocula Lambda [Thu, 9 Aug 2018 12:09:06 +0000 (12:09 +0000)]
kni: fix build on RHEL 7.5
This patch fixes compilation errors on Centos 7.5 when
CONFIG_RTE_KNI_KMOD_ETHTOOL is set to 'y'.
On RHEL75 ndo_change_mtu has changed to ndo_change_mtu_rh74.
See commit
37d477b6863e5c06 ("kni: fix build on RHEL 7.5")
Signed-off-by: Drocula Lambda <quzeyao@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Dan Gora [Thu, 28 Jun 2018 22:58:38 +0000 (15:58 -0700)]
kni: fix crash with null name
Fix a segmentation fault which occurs when the kni_autotest is run
in the 'test' application.
This segmenation fault occurs when rte_kni_get() is called with a
NULL value for 'name'.
Fixes:
0c6bc8ef70ba ("kni: memzone pool for alloc and release")
Cc: stable@dpdk.org
Signed-off-by: Dan Gora <dg@adax.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Fri, 3 Aug 2018 14:37:52 +0000 (16:37 +0200)]
doc: announce deprecation of flow copy function
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Thomas Monjalon [Wed, 8 Aug 2018 22:28:57 +0000 (00:28 +0200)]
doc: update deprecation notice about devargs
The devargs parsing function has changed in 18.08.
The devargs rework should be completed in 18.11.
Fixes:
a23bc2c4e01b ("devargs: add non-variadic parsing function")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Olivier Matz [Tue, 7 Aug 2018 21:34:43 +0000 (23:34 +0200)]
eal: remove experimental tag for user mbuf pool ops
Remove experimental tag from rte_eal_mbuf_user_pool_ops().
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Olivier Matz [Tue, 7 Aug 2018 21:34:42 +0000 (23:34 +0200)]
eal: remove deprecated function for mbuf pool ops
rte_eal_mbuf_default_mempool_ops() is replaced by
rte_mbuf_best_mempool_ops().
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Thomas Monjalon [Wed, 8 Aug 2018 18:37:36 +0000 (20:37 +0200)]
doc: fix PDF build
The SVG images must be referenced without their extension,
because it is converted to PNG for PDF.
Fixes:
54c4cbb6ccf1 ("doc: add graphics to bbdev guide")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Lijuan Tu [Mon, 6 Aug 2018 10:56:31 +0000 (18:56 +0800)]
doc: add tested Intel platforms with Intel NICs
Add tested Intel platforms with Intel NICs to the release note.
Signed-off-by: Lijuan Tu <lijuan.tu@intel.com>
Raslan Darawsheh [Wed, 8 Aug 2018 15:32:57 +0000 (18:32 +0300)]
doc: add tested platforms with Mellanox NICs
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Shahaf Shuler [Sun, 5 Aug 2018 11:13:17 +0000 (14:13 +0300)]
doc: update release notes for Mellanox drivers
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Yongseok Koh [Wed, 8 Aug 2018 19:32:47 +0000 (12:32 -0700)]
net/mlx5: fix minimum size of multi-packet Rx queue
The size of Rx queue is determined by dividing the number of descriptors by
the number of strides. As device can't support single slot queue, if the
number of descriptors is same as the number of strides, MPRQ shouldn't be
enabled. Otherwise, this will cause HW fault. For example, if rxd is set to
512 with testpmd on ConnectX-4 Lx, PMD can't receive more than 512 packets
because the minimum number of strides for ConnectX-4 Lx is 512. Users have
to configure larger number of descriptors in this case.
Fixes:
7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Rasesh Mody [Wed, 8 Aug 2018 05:38:35 +0000 (22:38 -0700)]
net/qede: bump version to 2.9.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Shahed Shaikh [Wed, 8 Aug 2018 05:38:34 +0000 (22:38 -0700)]
net/qede: fix ntuple filter configuration
PMD did not pass down the intended queue id while
configuring the ntuple filter.
Fixes:
622075356e8f ("net/qede: support ntuple and flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
Cristian Dumitrescu [Mon, 6 Aug 2018 15:24:16 +0000 (16:24 +0100)]
examples/ip_pipeline: fix RSS
After adding RSS hash offload checks, flags that are not supported by
the current device result in RSS configuration failing as opposed to
unsupported flags being silently discarded. This fix is making sure
that only device supported flags are passed to RSS configuration.
Fixes:
aa1a6d87f15d ("ethdev: force RSS offload rules again")
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Matan Azrad [Mon, 6 Aug 2018 10:58:47 +0000 (10:58 +0000)]
net/tap: fix zeroed flow mask configurations
The rte_flow meaning of zero flow mask configuration is to match all
the range of the item value.
For example, the flow eth / ipv4 dst spec 1.2.3.4 dst mask 0.0.0.0
should much all the ipv4 traffic from the rte_flow API perspective.
>From some kernel perspectives the above rule means to ignore all the
ipv4 traffic (e.g. Ubuntu 16.04, 4.15.10).
Due to the fact that the tap PMD should provide the rte_flow meaning,
it is necessary to ignore the spec in case the mask is zero when it
forwards such like flows to the kernel.
So, the above rule should be translated to eth / ipv4 to get the
correct meaning.
Ignore spec configurations when the mask is zero.
Fixes:
de96fe68ae95 ("net/tap: add basic flow API patterns and actions")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Pablo de Lara [Tue, 7 Aug 2018 02:00:04 +0000 (03:00 +0100)]
hash: fix doxygen of return values
rte_hash_lookup_data() and rte_hash_lookup_with_hash_data()
functions return the index of the table where the key is stored
when this is found, and not 0 as the Doxygen currently states.
Also, these functions, and rte_hash_get_key_with_position()
return negative values when keys are not found (-EINVAL and -ENOENT),
where the minus sign was missing.
Bugzilla ID: 78
Fixes:
473d1bebce43 ("hash: allow to store data in hash table")
Fixes:
6dc34e0afe7a ("hash: retrieve a key given its position")
Cc: stable@dpdk.org
Reported-by: Petr Houska <t-pehous@microsoft.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Stephen Hemminger [Mon, 6 Aug 2018 16:31:07 +0000 (09:31 -0700)]
doc: clarify usage of netvsc PMD
Since netvsc PMD does not support SR-IOV accelerated networking,
it is not recommended for use on Azure. Make this clear in the
guide.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Mon, 6 Aug 2018 18:22:44 +0000 (11:22 -0700)]
net/netvsc: report checksum failures
The host will notify netvsc device about failed UDP and TCP
checksum. Propagate that information into the mbuf.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Mon, 6 Aug 2018 18:22:43 +0000 (11:22 -0700)]
net/netvsc: support packet type
The Netvsc PMD was not filling in the packet type information.
Fixes:
4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Mon, 6 Aug 2018 18:11:08 +0000 (11:11 -0700)]
bus/vmbus: handle EOF on IRQ read
This function is not used by netvsc driver yet.
Still the code should handle case where device driver returns
zero (due to rescind).
Coverity issue: 302871
Fixes:
831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Mon, 6 Aug 2018 18:11:07 +0000 (11:11 -0700)]
bus/vmbus: make sure path is null terminated
Use strlcpy rather than strncpy to avoid any issues about
null termination.
Coverity issue 302859
Fixes:
831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Mon, 6 Aug 2018 18:11:06 +0000 (11:11 -0700)]
bus/vmbus: close directory in error path
Fix bug reported by Coverity where directory being scanned was
not closed in error path (leaking file descriptor).
Coverity issue: 302848
Fixes:
831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Thomas Monjalon [Mon, 6 Aug 2018 10:51:19 +0000 (12:51 +0200)]
ethdev: bump library version
The old offload API is removed in 18.08,
so the library version must be increased,
in order to show the incompatibility with 18.05 one.
Fixes:
ab3ce1e0c193 ("ethdev: remove old offload API")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Thomas Monjalon [Sun, 5 Aug 2018 23:45:20 +0000 (01:45 +0200)]
version: 18.08-rc3
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Anatoly Burakov [Wed, 1 Aug 2018 12:07:16 +0000 (13:07 +0100)]
doc: add deprecation notice for external memory
Due to the upcoming external memory support [1], some API and ABI
changes will be required. In addition, although the changes called
out in the deprecation notice are not yet present in form of code
in the published RFC itself, they are based on consensus on the
mailing list [2] on how to best implement this feature.
[1] http://patches.dpdk.org/project/dpdk/list/?series=453&state=*
[2] https://mails.dpdk.org/archives/dev/2018-July/108002.html
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Zhihong Wang <zhihong.wang@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Kevin Traynor [Wed, 1 Aug 2018 15:30:49 +0000 (16:30 +0100)]
meter: remove experimental tag from profile API
As per guideline that new APIs must be experimental
for at least one release, it is now possible to remove
the experimental tag from:
rte_meter_srtcm_profile_config()
rte_meter_trtcm_profile_config()
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Andrew Rybchenko [Wed, 11 Jul 2018 14:14:10 +0000 (15:14 +0100)]
eal: deprecate device attach and detach functions
Hotplug functions should be used directly to add and remove devices.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Andrew Rybchenko [Wed, 11 Jul 2018 14:14:09 +0000 (15:14 +0100)]
ethdev: deprecate attach and detach functions
These functions are buggy from the very beginning and should not be used.
Generic EAL hotplug mechanisms should be used instead.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Andrew Rybchenko [Wed, 11 Jul 2018 14:14:08 +0000 (15:14 +0100)]
app/pdump: use EAL hotplug instead of ethdev attach
rte_eth_dev_attach() is to be deprecated.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Andrew Rybchenko [Fri, 27 Jul 2018 13:46:05 +0000 (14:46 +0100)]
mempool: fold memory size calculation helper
rte_mempool_calc_mem_size_helper() was introduced to avoid
code duplication and used in deprecated rte_mempool_mem_size() and
rte_mempool_op_calc_mem_size_default(). Now the first one is removed
and it is better to fold the helper into the second one to make it
more readable.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Fri, 27 Jul 2018 13:46:04 +0000 (14:46 +0100)]
mempool: remove deprecated functions
Functions rte_mempool_populate_phys(), rte_mempool_virt2phy() and
rte_mempool_populate_phys_tab() are just wrappers for corresponding
IOVA functions and were deprecated in v17.11.
Functions rte_mempool_xmem_create(), rte_mempool_xmem_size(),
rte_mempool_xmem_usage() and rte_mempool_populate_iova_tab() were
deprecated in v18.05 and removal was announced earlier in v18.02.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Rosen Xu [Tue, 31 Jul 2018 12:52:40 +0000 (20:52 +0800)]
examples/flow_filtering: add flow director config for i40e
Rte_fdir_conf of rte_eth_conf should be initialized before
port initialization. It is a workaround solution when working
with Intel I40e.
Fixes:
4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API")
Cc: stable@dpdk.org
Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Ori Kam <orika@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Gage Eads [Mon, 30 Jul 2018 15:10:00 +0000 (10:10 -0500)]
examples/multi_process: remove l2fwd fork example
l2fwd_fork relies on a multiprocess model that DPDK does not support
(calling rte_eal_init() before fork()), in particular in light of recent
EAL changes like the multiproess communication channel.
This example can mislead users into thinking this is a supported
multiprocess model; hence, this commit removes this example and the
corresponding user guide documentation as well.
This patch was made following this mailing list discussion:
http://mails.dpdk.org/archives/dev/2018-July/108106.html
Signed-off-by: Gage Eads <gage.eads@intel.com>
Kevin Laatz [Fri, 20 Jul 2018 13:09:06 +0000 (14:09 +0100)]
doc: add PCI address naming in IP pipeline guide
Add a note to the 'link' command in the IP Pipeline documentation
specifying the PCI device name format required to run the application.
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Jerin Jacob [Tue, 17 Jul 2018 17:14:17 +0000 (22:44 +0530)]
eal: fix bitmap documentation
n_bits comes as first argument, align doxygen comment.
n_bit need to not be multiple of 512 as n_bits
are rounding to RTE_BITMAP_CL_BIT_SIZE.
Fixes:
14456f59e9f7 ("doc: fix doxygen warnings in QoS API")
Fixes:
de3cfa2c9823 ("sched: initial import")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Honnappa Nagarahalli [Tue, 17 Jul 2018 04:52:44 +0000 (23:52 -0500)]
ring: clarify preemptible nature of algorithm
rte_ring implementation is not preemptible only under certain
circumstances. This clarification is helpful for data plane and
control plane communication using rte_ring.
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Pablo de Lara [Thu, 2 Aug 2018 00:35:04 +0000 (01:35 +0100)]
mempool: check for zero size creation
Currently, a mempool can be created if the number of
objects is zero. However, in this scenario,
rte_mempool_create should return NULL,
as the mempool created is useless otherwise.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Kevin Traynor [Thu, 2 Aug 2018 18:39:41 +0000 (19:39 +0100)]
ethdev: decrease log level for unneeded actions
Change log level of messages from ERR to INFO where
the post condition of the API is success, but no action
was actually needed as the condition already existed.
e.g. calling rte_eth_dev_start() for a device that is
already started.
Fixes:
bea1e0c70cfc ("ethdev: convert static log type usage to dynamic")
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Tomasz Jozwiak [Thu, 2 Aug 2018 15:09:26 +0000 (17:09 +0200)]
common/qat: fix offset greater than first segment
This patch fixes sgl filling to handle offset
greater than first sgl segment
Fixes:
1947bd18580b ("compress/qat: support scatter-gather buffers")
Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Tomasz Jozwiak [Thu, 2 Aug 2018 15:09:25 +0000 (17:09 +0200)]
compress/qat: fix buffer lengths in offset case
Fixed lengths for src and dest buffers
Fixes:
32842f2a6d7d ("compress/qat: create FW request and process response")
Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Pablo de Lara [Thu, 2 Aug 2018 08:44:39 +0000 (09:44 +0100)]
app/crypto-perf: fix auth IV offset
Auth IV offset was not being set when creating the crypto session.
Fixes:
acf8616901b5 ("cryptodev: add auth IV")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 1 Aug 2018 13:23:43 +0000 (14:23 +0100)]
compress/isal: fix offset check
This commit fixes an offset check in decompression which was checking
destination offset size against dst data_len rather than checking
against dst pkt_len as required, to support single and multi-segment
buffers.
Fixes:
788e748d3845 ("compress/isal: support chained mbufs")
Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Harry van Haaren [Thu, 2 Aug 2018 14:43:29 +0000 (15:43 +0100)]
event: fix ring init failure handling
This commit fixes a bug in a 32-bit environment where the
generic ring_init() would fail, but given the interaction
with memzones the next iteration of the event_ring_autotest
would actually *pass* because the ring in question would
exist already an be looked-up.
This commit rightly error checks the result of ring_init(),
and calls rte_free() on the memory as required.
Fixes:
dc39e2f359b5 ("eventdev: add ring structure for events")
Cc: stable@dpdk.org
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Yongseok Koh [Thu, 2 Aug 2018 21:00:07 +0000 (14:00 -0700)]
net/mlx5: fix minimum number of Multi-Packet RQ buffers
If MPRQ is enabled, a PMD-private mempool is allocated. For ConnectX-4 Lx,
the minimum number of strides is 512 which ConnectX-5 supports 8. This
results in quite small number of elements for the MPRQ mempool. For
example, if the size of Rx ring is configured as 512, only one MPRQ buffer
can cover the whole ring. If there's only one Rx queue is configured. In
the following code in mlx5_mprq_alloc_mp(), desc is 1 and obj_num will be
36 as a result.
desc *= 4;
obj_num = desc + MLX5_MPRQ_MP_CACHE_SZ * priv->rxqs_n;
However, rte_mempool_create_empty() has a sanity check to refuse large
per-lcore cache size compared to the number of elements. Cache flush
threshold should not exceed the number of elements of a mempool. For the
above example, the threshold is 32 * 1.5 = 48 which is larger than 36 and
it fails to create the mempool.
Fixes:
7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Fri, 3 Aug 2018 22:00:56 +0000 (15:00 -0700)]
net/mlx5: fix check for MPLS-in-GRE
Multiple tunnel isn't allowed but MPLS over GRE should be accepted.
Fixes:
a4a5cd21d20a ("net/mlx5: add flow MPLS item")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Thu, 2 Aug 2018 21:06:32 +0000 (14:06 -0700)]
net/mlx5: preserve allmulticast flag for flow isolation mode
mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling allmulti
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as
rte_eth_allmulticast_enable/disable() fail to set the flag
(dev->data->all_multicast). The flag is used when starting traffic by
mlx5_traffic_enable(). When switching out of flow isolation mode, allmulti
mode will not be set even though it has been enabled.
Fixes:
0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Thu, 2 Aug 2018 21:06:31 +0000 (14:06 -0700)]
net/mlx5: preserve promiscuous flag for flow isolation mode
mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling promiscuous
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as rte_eth_promiscuous_enable/disable()
fail to set the flag (dev->data->promiscuous). The flag is used when
starting traffic by mlx5_traffic_enable(). When switching out of flow
isolation mode, promiscuous mode will not be set even though it has been
enabled.
Fixes:
0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Wei Dai [Fri, 3 Aug 2018 12:55:32 +0000 (20:55 +0800)]
app/testpmd: fix commands for some offloads
Without this patch, testpmd command to config Rx offload keep_crc
would fail and report "Bad argument".
This patch also fix the command to config the Tx offload mbuf_fast_free.
Fixes:
70815c9ecadd ("ethdev: add new offload flag to keep CRC")
Fixes:
c73a9071877a ("app/testpmd: add commands to test new offload API")
Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Jasvinder Singh [Tue, 24 Jul 2018 15:50:25 +0000 (16:50 +0100)]
app/testpmd: update softnic mode documentation
Update tespmd documentation with softnic forwarding mode description.
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Jasvinder Singh [Tue, 24 Jul 2018 15:50:24 +0000 (16:50 +0100)]
doc: add softnic documentation
Add softnic documentation to NIC drivers guide.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Stephen Hemminger [Tue, 24 Jul 2018 21:08:53 +0000 (14:08 -0700)]
bus/vmbus: avoid signalling host on read
Don't signal host that receive ring has been read until all events
have been processed. This reduces the number of guest exits and
therefore improves performance.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Tue, 24 Jul 2018 21:08:52 +0000 (14:08 -0700)]
net/netvsc: add queue info
This helps when diagnosing ring issues in testpmd.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Tue, 24 Jul 2018 21:08:51 +0000 (14:08 -0700)]
net/netvsc: avoid over filling Rx descriptor ring
If the number of packets requested are already present in the
rx_ring then skip reading the ring buffer from the host.
If the ring between the poll and receive side is full, then don't
poll (let incoming packets stay on host).
If no more transmit descriptors are available, then still try and
flush any outstanding data.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Tue, 24 Jul 2018 21:08:50 +0000 (14:08 -0700)]
net/netvsc: change Rx descriptor setup and sizing
Increase the size of the ring used to hold mbuf's received
but not processed. The default is now based off the size
of the receive mbuf pool not the number of sections from the host.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Stephen Hemminger [Wed, 1 Aug 2018 23:18:33 +0000 (16:18 -0700)]
net/netvsc: fix ring freeing
The internal receive ring should be freed with rte_ring_free
not rte_free.
Fixes:
4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Radu Nicolau [Wed, 18 Jul 2018 13:21:17 +0000 (14:21 +0100)]
net/bonding: fix slave add for mode 4
Moved the link status validity check from the slave add to the slave
activation step. Otherwise slave add will fail for mode 4 if
the ports are all stopped but only one of them checked.
Removed activate slave call from slave add function.
Bugzilla ID: 52
Fixes:
b77d21cc2364 ("ethdev: add link status get/set helper functions")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Radu Nicolau [Wed, 25 Jul 2018 09:39:40 +0000 (10:39 +0100)]
net/bonding: fix race condition
Race condition can appear in the bond_mode_8023ad_periodic_cb()
callback when bonding port is stopped, reconfigured and restarted.
Re-ordered calls in bond_ethdev_start() to have callback alarm set
after slave ports are reconfigured.
Fixes:
2efb58cbab6e ("bond: new link bonding library")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Chas Williams <chas3@att.com>
Maxime Coquelin [Thu, 2 Aug 2018 17:21:22 +0000 (19:21 +0200)]
vhost: flush IOTLB cache on new mem table handling
IOTLB entries contain the host virtual address of the guest
pages. When receiving a new VHOST_USER_SET_MEM_TABLE request,
the previous regions get unmapped, so the IOTLB entries, if any,
will be invalid. It does cause the vhost-user process to
segfault.
This patch introduces a new function to flush the IOTLB cache,
and call it as soon as the backend handles a VHOST_USER_SET_MEM
request.
Fixes:
69c90e98f483 ("vhost: enable IOMMU support")
Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Vipin Varghese [Tue, 24 Jul 2018 05:05:47 +0000 (10:35 +0530)]
net/tap: call probe finish for tun secondary
Invoke rte_eth_dev_probing_finish for rte_pmd_tun_probe.
Fixes:
fbe90cdd776c ("ethdev: add probing finish function")
Cc: stable@dpdk.org
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Xiaoyun Li [Wed, 25 Jul 2018 07:14:30 +0000 (15:14 +0800)]
net/avf: fix offload capabilities
There are several tx/rx offload capabilities missing in AVF.
Add them in this patch since AVF supports them.
Fixes:
69dd4c3d0898 ("net/avf: enable queue and device")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Wei Zhao [Wed, 1 Aug 2018 02:54:50 +0000 (10:54 +0800)]
net/i40e: revert fix of flow director check
This reverts commit
7546dc4a1331340ecb665af9af0a005bb8b657c8.
In i40e FDIR PMD code for checking programming status,
when the action of add FDIR filter is ok, i40e NIC will
not write back to programming status descriptor, so if
PMD code check DD is not done after period of time dealy,
it means the add or remove filter action is ok. It only write
back descriptor when fail. So, there is no issue for the original
code.
Fixes:
7546dc4a1331 ("net/i40e: fix check of flow director programming status")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Harry van Haaren [Mon, 30 Jul 2018 17:34:19 +0000 (18:34 +0100)]
net/i40e: fix rearm check in AVX2 Rx
This commit fixes an infinite loop bug that could occur
if the i40e AVX2 driver is used, and high traffic rates
cause the mempool from which the rxq pulls mbufs to become
empty.
The result would be an infinite loop of checking if we
should perform an rx rearm, calling the function and an
error return due the the mempool being emtpy.
The fix is to align the code in the AVX2 driver with the
SSE driver, where an if() is used instead of a while(),
allowing the thread to return from i40e rx function even
if the mempool is empty.
Fixes:
dafadd73762e ("net/i40e: add AVX2 Rx function")
Cc: stable@dpdk.org
Reported-by: David Coyle <david.coyle@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Brendan Ryan <brendan.ryan@intel.com>
Tested-by: David Coyle <david.coyle@intel.com>
Xiaoyun Li [Wed, 25 Jul 2018 03:27:35 +0000 (11:27 +0800)]
doc: add recommended versions for i40e
Add suggested DPDK/kernel driver/firmware version matching list for i40e.
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Yanglong Wu [Fri, 27 Jul 2018 04:40:00 +0000 (12:40 +0800)]
net/i40e: fix maximum frame size check
Check packet size according to TSO or no-TSO.
Fixes:
bfeed0262b0c ("net/i40e: check illegal packets")
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Beilei Xing [Thu, 26 Jul 2018 02:19:15 +0000 (10:19 +0800)]
net/i40e: fix device parameter parsing
There's parsing error when using device argument
support-multi-driver or queue-num-per-vf or both.
Error log is "PMD: Error parsing device, invalid
key <support-multi-driver>" and "PMD: Error parsing
device, invalid key <queue-num-per-vf>". The root
cause is that device argument will be parsed in
different parsing functions with local valid key .
This patch fixes the issue by combine all supported
arguments's valid keys.
Fixes:
cfdfca493cae ("net/i40e: fix multiple driver support")
Fixes:
ee653bd80044 ("net/i40e: determine number of queues per VF at run time")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Adrien Mazarguil [Thu, 2 Aug 2018 10:20:51 +0000 (12:20 +0200)]
net/mlx5: fix VLAN pop action on switch flow rules
TC message for VLAN POP is broken due to an unfinished nested attribute.
Fixes:
7ac6778d50e0 ("net/mlx5: add VLAN item and actions to switch flow rules")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 2 Aug 2018 09:25:08 +0000 (11:25 +0200)]
net/mlx5: fix VLAN matching on switch flow rules
VLAN ID is not properly translated to TC due to swapped byte order.
Fixes:
7ac6778d50e0 ("net/mlx5: add VLAN item and actions to switch flow rules")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Moti Haimovsky [Thu, 2 Aug 2018 08:41:07 +0000 (11:41 +0300)]
net/mlx5: fix RSS flow configuration crash
This commit fixes a segmentation fault observed when configuring
mlx5 with RSS flow rule containing invalid queues indices such as
negative numbers, queue numbers bigger than the number Rx queues the
PMD or has no queues at all.
Fixes:
592f05b29a25 ("net/mlx5: add RSS flow action")
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Ophir Munk [Tue, 31 Jul 2018 22:38:04 +0000 (22:38 +0000)]
net/mlx5: fix secondary process resource leakage
When running testpmd with an mlx5 device and then executing at testpmd
prompt in a raw: "port start all" followed by "port stop all"
a new file named /var/tmp/net_mlx5_<socket num> is created as a result
of creating a new unix domain socket (used for communication between
the primary and secondary processes).
When the new unix socket file is created the old unix socket file should
have been removed. This commit fixes it by closing the old unix socket
just before creating the new one in function mlx5_socket_init()
Fixes:
f8b9a3bad467 ("net/mlx5: install a socket to exchange a file descriptor")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Shahaf Shuler [Tue, 31 Jul 2018 07:57:20 +0000 (10:57 +0300)]
net/mlx5: fix VLAN filtering
The below commit has added a graph based expansion logic for RSS rule to
satisfy Verbs requirements. With this logic, for example, the rule:
flow create 0 ingress pattern eth / end actions rss queues 0 1 end types
ipv4-tcp ipv6-tcp end / end
will be expanded into the rules:
flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss queues 0 1
end types ipv4-tcp ipv6-tcp end / end
flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss queues 0 1
end types ipv4-tcp ipv6-tcp end / end
flow create 0 ingress pattern eth / end actions queue index 0 / end
The below commit defined two graphs:
1. graph for the tunnel case which starts from the ETH item
2. graph for the non-tunnel case which starts from the ETH item
The graphs are ignoring the VLAN case. Hence rules with VLAN item will
fail to traverse the graph and it will result in flow rule creation error.
Adding the VLAN item to the existing graphs will not work as the flow
engine will reject any VLAN item without a specific vid.
To solve this case two new graphs were added (for the tunnel and
non-tunnel case) which contain the VLAN item and are being used only
when the VLAN item exists in the flow pattern.
Two cases left un-covered for the inner RSS:
1. The case were VLAN exists in the pattern as part of the inner headers
2. The case were VLAN exists in the pattern both in the outer and the
inner headers
Solving those cases will require to add two more graphs.
Holding a VLAN for the overlay network is not common, the subnets are
usually defined by the tunnel protocol, for example the VXLAN vni.
Hence adding those two graphs seems like an overkill at this point.
Based on needs one can add those to provide the full support.
Fixes:
592f05b29a25 ("net/mlx5: add RSS flow action")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Moti Haimovsky [Tue, 31 Jul 2018 16:13:06 +0000 (19:13 +0300)]
net/mlx4: advertise Rx jumbo frame support
This commit adds the missing Rx jumbo frame support advertisement
in Rx offload capabilities.
Cc: stable@dpdk.org
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Wed, 1 Aug 2018 08:37:38 +0000 (08:37 +0000)]
net/mlx5: fix packet type offload for tunnels
There are dedicated QP attributes, tunnel offload flag and mask, which
must be configured in order to allow part of the HW tunnel offloads.
So, if a QP is pointed by a tunnel flow, the above QP attributes
should be configured.
The mask configuration is wrongly only performed if an internal RSS was
configured by the user, while there is no reason to condition the
tunnel offloads in RSS configurations.
Consequently, some of the tunnel offloads was not performed by the HW
when a tunnel flow was configured, for example, the packet tunnel
types was not reported to the user.
Replace the internal RSS condition with the tunnel flow condition.
Fixes:
df6afd377ace ("net/mlx5: remove useless arguments in hrxq API")
Signed-off-by: Matan Azrad <matan@mellanox.com>
Timothy Redaelli [Tue, 31 Jul 2018 13:15:28 +0000 (15:15 +0200)]
net/mlx5: avoid stripping the glue library
Stripping binaries at build time is usually a bad thing since it makes
impossible to generate (split) debug symbols and this can lead to a more
difficult debugging.
Fixes:
59b91bec12c6 ("net/mlx5: spawn rdma-core dependency plug-in")
Cc: stable@dpdk.org
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Timothy Redaelli [Tue, 31 Jul 2018 13:15:27 +0000 (15:15 +0200)]
net/mlx4: avoid stripping the glue library
Stripping binaries at build time is usually a bad thing since it makes
impossible to generate (split) debug symbols and this can lead to a more
difficult debugging.
Fixes:
27cea11686ff ("net/mlx4: spawn rdma-core dependency plug-in")
Cc: stable@dpdk.org
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Shahaf Shuler [Sun, 29 Jul 2018 10:43:32 +0000 (13:43 +0300)]
net/mlx5: fix flow count action for shared counter
According to commit
fb8fd96d4251 ("ethdev: add shared counter to flow
API") the counter id should be taken into account only when the shared
flag is set.
Fixes:
60bd8c9747e8 ("net/mlx5: add count flow action")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Moti Haimovsky [Wed, 25 Jul 2018 14:47:39 +0000 (17:47 +0300)]
net/mlx4: check RSS queues number limitation
This patch verifies that the number of Rx queues configured for RSS
is supported by the device hardware.
RSS support in mlx4 requires contiguous chunk of QPs to be reserved,
there is a hardware limitation on the amount of contiguous QPs which
is reported by the hardware. Ignoring this value will cause Rx queues
creation to fail.
Cc: stable@dpdk.org
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Gavin Hu [Tue, 31 Jul 2018 07:51:37 +0000 (15:51 +0800)]
net/dpaa2: remove loop for unused pool entries
Currently only one buffer pool is configured and in use,
looping for up to maxmum 8 times is unnecessary and might
be buggy as assigned uninititalized values.
The fix is to loop for the configured times with initialize
with valid values.
Fixes:
16bbc98a3e ("bus/fslmc: update MC to 10.3.x")
Cc: stable@dpdk.org
Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Rasesh Mody [Fri, 27 Jul 2018 15:47:27 +0000 (08:47 -0700)]
net/bnx2x: move SPDX tags to source files
We were using LICENSE.bnx2x_pmd to reference inclusion of SPDX licensing
tag from all the source file. Remove the LICENSE.bnx2x_pmd file and
directly include SPDX tags in source files.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Rasesh Mody [Fri, 27 Jul 2018 15:45:00 +0000 (08:45 -0700)]
net/bnx2x: fix copyright
Originally the PMD had "QLogic Corporation" copyright. When we submitted
commit
e3de5dad2a5d ("net/bnx2x: change copyright info to Cavium"),
the "Qlogic Corporation" copyright was accidentally replaced
with "Cavium Inc". So now we see multiple Cavium copyright messages.
We're changing it to "Broadcom Corporation" copyright.
Fixes:
e3de5dad2a5d ("net/bnx2x: change copyright info to Cavium")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Fri, 3 Aug 2018 04:42:46 +0000 (21:42 -0700)]
net/bnx2x: bump version to 1.0.6.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Fri, 3 Aug 2018 04:42:45 +0000 (21:42 -0700)]
net/bnx2x: fix poll link status
The PMD has been modified to invoke the polling function in the link
management code which detects the peer speed/mode, configure the link
and update the status accordingly. This patch is the fix for the link
down issue seen when we do dev_stop() and dev_start() from an
application.
Fixes:
540a211084a7 ("bnx2x: driver core")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 1 Aug 2018 18:19:20 +0000 (11:19 -0700)]
net/bnx2x: fix FW command timeout during stop
This patch fixes firmware command timeout error seen during device stop
while stopping queues. It patially reverts an earlier preventive change
commit
91b7e432bcef ("net/bnx2x: disable fast path interrupts") to now
enable fast path interrupts.
The original issue of performance degradation is not observed anymore,
with or without the fix.
Fixes:
91b7e432bcef ("net/bnx2x: disable fast path interrupts")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Shahed Shaikh [Tue, 24 Jul 2018 22:18:44 +0000 (15:18 -0700)]
net/qede: fix MAC address removal failure message
Don't treat MAC address removal failure as a fatal error
and print in logs.
Fixes:
77fac1b54fc9 ("net/qede: fix filtering code")
Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
Rasesh Mody [Tue, 24 Jul 2018 22:18:43 +0000 (15:18 -0700)]
net/qede/base: fix GRC attention callback
Treat any attention which is not for timeout event as invalid
and return status accordingly. The HW error handler logs and clears
the HW attention. Without this fix we can see flood of GRC attentions.
Fixes:
e6051bd6b07d ("qede: add interrupt handling support")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Tue, 24 Jul 2018 22:18:42 +0000 (15:18 -0700)]
net/qede/base: fix to clear HW indication
VDMs may cause the was_error indication to be set after the driver
clears it. Clear the indication after the internal FID_enable for
the PF is set.
Fixes:
60c78a5e258a ("net/qede/base: fix recovery from previous ungraceful exit")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Shahed Shaikh [Tue, 24 Jul 2018 22:18:41 +0000 (15:18 -0700)]
net/qede: fix interrupt handler unregister
Commit
023d7a0449f11 ("net/qede: fix legacy interrupt mode")
added a handler for legacy interrupt mode but forgot to
unregister same handler in rte_intr_callback_unregister()
Fixes:
245aec289338 ("net/qede: fix legacy interrupt mode")
Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
Ajit Khaparde [Thu, 26 Jul 2018 01:15:48 +0000 (18:15 -0700)]
net/bnxt: fix RETA size
The reta_size being indicated in the bnxt_dev_info_get_op was incorrect.
Set it to the value supported by the hardware.
Fixes:
0a6d2a720078 ("net/bnxt: get device infos")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Tested-by: Randy Schacher <stuart.schacher@broadcom.com>
Ajit Khaparde [Thu, 26 Jul 2018 01:15:47 +0000 (18:15 -0700)]
net/bnxt: check access denied for HWRM commands
Firmware can restrict access to certain resources in the hardware
depending on various factors. In such cases when the PMD tries to
configure these resources the firmware will return
HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED error. Parse this and return
the standard EACCES error to the applications.
Fixes:
804e746c7b73 ("net/bnxt: add hardware resource manager init code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Thu, 26 Jul 2018 01:15:46 +0000 (18:15 -0700)]
net/bnxt: fix lock release on NVM write failure
In bnxt_hwrm_flash_nvram, before attempting to allocate a buffer
we are grabbing the rte_spinlock. And if the allocation fails we
are returning before releasing the spinlock. We avoid the situation
by calling HWRM_PREP which grabs the lock after the buffer is
allocated successfully.
Fixes:
19e6af01bb36 ("net/bnxt: support get/set EEPROM")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Ajit Khaparde [Thu, 26 Jul 2018 01:15:45 +0000 (18:15 -0700)]
net/bnxt: fix memory leaks in NVM commands
In some cases we may not be freeing up memory allocated for certain
NVM commands because the code might have bailed out before reaching
rte_free(). This patch moves some code around to ensure the allocated
memory is freed before exiting the function.
Fixes:
19e6af01bb36 ("net/bnxt: support get/set EEPROM")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Michael Wildt <michael.wildt@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Somnath Kotur [Thu, 26 Jul 2018 01:15:44 +0000 (18:15 -0700)]
net/bnxt: fix filter freeing
bnxt_clear_hwrm_vnic_filters() was removing the created filter from HW,
but not clearing the internal data structures by removing it from the
struct bnxt_vnic_info->filter list.
Fixes:
5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Shagun Agrawal [Thu, 26 Jul 2018 07:28:06 +0000 (12:58 +0530)]
net/cxgbevf: do not allocate control queues
Control queues can not be allocated for VFs. So, add check to
only allocate control queues for PFs. This fixes adapter crash
when an attempt is made to allocate control queues for VFs.
Fixes:
3a3aaabc ("net/cxgbe: add control queue to communicate filter requests")
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Shagun Agrawal [Thu, 26 Jul 2018 08:19:32 +0000 (13:49 +0530)]
net/cxgbe: fix null dereference on CLIP failure
Coverity issue: 302872
Fixes:
3f2c1e209cfc ("net/cxgbe: add Compressed Local IP region")
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Hyong Youb Kim [Tue, 31 Jul 2018 21:26:13 +0000 (14:26 -0700)]
net/enic: reset VXLAN port during initialization
The NIC persists the vxlan port number across vNIC init/de-init
(e.g. restart testpmd). So, explicitly reset the setting to the
default value (4789) as part of the initialization.
Fixes:
8a4efd17410c ("net/enic: add handlers to add/delete vxlan port number")
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Hyong Youb Kim [Thu, 26 Jul 2018 02:30:28 +0000 (19:30 -0700)]
net/enic: revert mbuf fast free offload
This reverts the patch that enabled mbuf fast free.
There are two main reasons.
First, enic_fast_free_wq_bufs is broken. When
DEV_TX_OFFLOAD_MBUF_FAST_FREE is enabled, the driver calls this
function to free transmitted mbufs. This function currently does not
reset next and nb_segs. This is simply wrong as the fast-free flag
does not imply anything about next and nb_segs.
We could fix enic_fast_free_wq_bufs by making it to call
rte_pktmbuf_prefree_seg to reset the required fields. But, it negates
most of cycle saving.
Second, there are customer applications that blindly enable all Tx
offloads supported by the device. Some of these applications do not
satisfy the requirements of mbuf fast free (i.e. a single pool per
queue and refcnt = 1), and end up crashing or behaving badly.
Fixes:
bcaa54c1a148 ("net/enic: support mbuf fast free offload")
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>