dpdk.git
7 years agopmdinfogen: fix endianness with cross-compilation
Neil Horman [Fri, 18 Nov 2016 18:47:52 +0000 (13:47 -0500)]
pmdinfogen: fix endianness with cross-compilation

pmdinfogen has a bug in which, during build, it pulls in rte_byteorder.h to
obtain the rte macros for byteswapping between the cpu byte order and big or
little endian.  Unfortunately, pmdinfogen is a tool that is only meant to be run
during the build of dpdk components, and so, it runs on the host.  In cross
compile environments however, the rte_byteorder.h is configured using a target
cpu, who's endianness may differ from that of the host, leading to improper
swapping.

The fix is to use host system defined byte swapping routines rather than the
dpdk provided routines.  Note that we are using non posix compliant routines, as
the posix compliant api only addresses 16 and 32 bit swaps, and we also need 64
bit swaps.  Those macros exist (via endian.h), but BSD and Linux put that header
in different locations so some ifdeffery is required.

Tested successfully by myself on Linux and BSD systems.

Fixes: 98b0fdb0ffc6 ("pmdinfogen: add buildtools and pmdinfogen utility")

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
7 years agoscripts: check cc stable mailing list in commit
Thomas Monjalon [Mon, 21 Nov 2016 22:43:14 +0000 (23:43 +0100)]
scripts: check cc stable mailing list in commit

Add a check for commits fixing a released bug.
Such commits are found thanks to scripts/git-log-fixes.sh.
They must be sent CC: stable@dpdk.org.
In order to avoid forgetting CC, this mail header can be written
in the git commit message.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoscripts: fix checkpatch from standard input
Thomas Monjalon [Mon, 21 Nov 2016 22:42:41 +0000 (23:42 +0100)]
scripts: fix checkpatch from standard input

When checking a valid patch from standard input,
the footer lines of the report are not filtered out.

The function check is called outside of any loop,
so the statement continue can have no effect and the footer is printed.

More precisons about possible behaviours
- with dash, the 'continue' acts like a return in that case
- with bash, it displays an error:
  "continue: only meaningful in a `for', `while', or `until' loop"
- with bash --posix, the 'continue' is ignored

Fixes: 8005feef421d ("scripts: add standard input to checkpatch")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
7 years agomaintainers: update pcap maintainers
John McNamara [Tue, 29 Nov 2016 14:39:15 +0000 (14:39 +0000)]
maintainers: update pcap maintainers

Remove Nico Pernas Maradei as a PCAP PMD maintainer.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agomaintainers: replace lthreads maintainer
John McNamara [Fri, 18 Nov 2016 17:09:51 +0000 (17:09 +0000)]
maintainers: replace lthreads maintainer

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agomaintainers: update procinfo maintainer
John McNamara [Fri, 18 Nov 2016 17:09:26 +0000 (17:09 +0000)]
maintainers: update procinfo maintainer

Update procinfo maintainer and name of the application.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agomaintainers: replace testpmd maintainer
Jingjing Wu [Tue, 29 Nov 2016 07:58:50 +0000 (15:58 +0800)]
maintainers: replace testpmd maintainer

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agoversion: 17.02-rc0
Thomas Monjalon [Mon, 14 Nov 2016 14:16:10 +0000 (15:16 +0100)]
version: 17.02-rc0

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agodoc: add template release notes for 17.02
John McNamara [Mon, 14 Nov 2016 12:31:38 +0000 (12:31 +0000)]
doc: add template release notes for 17.02

Add template release notes for DPDK 17.02 with inline
comments and explanations of the various sections.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
7 years agodoc: add sub-repositories information
Ferruh Yigit [Fri, 11 Nov 2016 13:34:17 +0000 (13:34 +0000)]
doc: add sub-repositories information

DPDK switched to main and sub-repositories approach, this patch
documents new approach and updates development process according.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agomaintainers: add staging tree for network drivers
Ferruh Yigit [Thu, 10 Nov 2016 12:14:40 +0000 (12:14 +0000)]
maintainers: add staging tree for network drivers

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agoversion: 16.11.0
Thomas Monjalon [Sun, 13 Nov 2016 14:25:52 +0000 (15:25 +0100)]
version: 16.11.0

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agoimprove git diff
Thomas Monjalon [Wed, 9 Nov 2016 15:37:58 +0000 (16:37 +0100)]
improve git diff

Sometimes git does not print the name of the function being changed
after @@. It happens especially after a goto label which is not indented.
Giving a hint about the languages of files .c, .h and .py
will improve hunk headers of "git diff" rendering.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agodoc: rearrange the high level index
John McNamara [Fri, 11 Nov 2016 13:45:55 +0000 (13:45 +0000)]
doc: rearrange the high level index

Rearrange the order of the high level documenation index into
a more logical sequence for a new user.

Also, improve some of the high-level document names.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix release notes for 16.11
John McNamara [Fri, 11 Nov 2016 12:04:42 +0000 (12:04 +0000)]
doc: fix release notes for 16.11

Fix grammar, spelling and formatting of DPDK 16.11 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Reviewed-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agodoc: announce ABI change for firmware version in ethdev
Qiming Yang [Sun, 9 Oct 2016 03:16:42 +0000 (11:16 +0800)]
doc: announce ABI change for firmware version in ethdev

This patch adds a notice that the ABI change for ethtool app to
get the NIC firmware version in the 17.02 release.

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
7 years agodoc: announce API removal from ethdev
Bernard Iremonger [Tue, 18 Oct 2016 13:38:07 +0000 (14:38 +0100)]
doc: announce API removal from ethdev

In 17.02 five rte_eth_dev_set_vf_*** functions will be removed
from librte_ether, renamed and moved to the ixgbe PMD.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: announce API change for ethdev callback
Bernard Iremonger [Tue, 18 Oct 2016 13:38:08 +0000 (14:38 +0100)]
doc: announce API change for ethdev callback

The _rte_eth_dev_call_process function will change to return "int"
and a fourth parameter "void* ret_param" will be added. This change
targets release 17.02.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agodoc: announce API and ABI changes for bus in EAL
Shreyansh Jain [Thu, 10 Nov 2016 11:17:58 +0000 (16:47 +0530)]
doc: announce API and ABI changes for bus in EAL

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
7 years agodoc: announce iomem and ioport removal from igb_uio
Jianfeng Tan [Thu, 22 Sep 2016 05:44:05 +0000 (05:44 +0000)]
doc: announce iomem and ioport removal from igb_uio

In igb_uio, iomem is mapped, and both ioport and io mem are recorded
into uio framework (then into sysfs files), which is duplicated with
what Linux has already provided for user space, and makes the code
too complex.

For iomem, DPDK user space code never opens or reads files under
/sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/maps/. Instead,
/sys/pci/bus/devices/xxxx:xx:xx.x/resourceY are used to map device
memory.

For ioport, non-x86 platforms cannot read from files under
/sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/portio/ directly, because
non-x86 platforms need to map port region for access in user space,
see non-x86 version pci_uio_ioport_map(). x86 platforms can use the
the same way as uio_pci_generic.

This will remove iomem and ioport mapping in igb_uio kernel module,
and adjusts the iomem implementation in both igb_uio and
uio_pci_generic:
  - for x86 platform, get ports info from /proc/ioports;
  - for non-x86 platform, map and get ports info by pci_uio_ioport_map().

Note: this will affect those applications who are using files under
/sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/maps/ and
/sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/portio/.

Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
7 years agodoc: add more tested environments
Yulong Pei [Thu, 10 Nov 2016 10:02:44 +0000 (18:02 +0800)]
doc: add more tested environments

Add more tested platforms and nics and OSes to the release notes.

Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: add known issue with QAT
Fiona Trahe [Thu, 10 Nov 2016 17:27:21 +0000 (17:27 +0000)]
doc: add known issue with QAT

Issue is with the digest appended feature on QAT PMD.
A workaround is also documented.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: John Griffin <john.griffin@intel.com>
7 years agoapp/test: fix crash of LPM test
Olivier Matz [Wed, 9 Nov 2016 13:08:26 +0000 (14:08 +0100)]
app/test: fix crash of LPM test

The test recently added accesses to lpm->tbl8[ip >> 8] with is much
larger than the size of the table, causing a crash of the test
application.

Fix this typo by replacing tbl8 by tbl24.

Fixes: 231fa88ed522 ("app/test: verify LPM tbl8 recycle")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Wei Dai <wei.dai@intel.com>
7 years agopdump: fix log messages
Reshma Pattan [Thu, 10 Nov 2016 16:29:40 +0000 (16:29 +0000)]
pdump: fix log messages

The ethdev Rx/Tx remove callback apis doesn't set rte_errno during
failures, instead they just return negative error number, so using
that number in logs instead of rte_errno upon Rx and Tx callback
removal failures.

Fixes: 278f9454 ("pdump: add new library for packet capture")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agomempool: fix leak if populate fails
Nipun Gupta [Fri, 11 Nov 2016 15:47:10 +0000 (21:17 +0530)]
mempool: fix leak if populate fails

This patch fixes the issue of memzone not being freed incase the
rte_mempool_populate_phys fails in the rte_mempool_populate_default

This issue was identified when testing with OVS ~2.6
- configure the system with low memory (e.g. < 500 MB)
- add bridge and dpdk interfaces
- delete brigde
- keep on repeating the above sequence.

Fixes: d1d914ebbc25 ("mempool: allocate in several memory chunks by default")

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
7 years agonet/qede: fix speed capability
Harish Patil [Fri, 11 Nov 2016 17:41:36 +0000 (09:41 -0800)]
net/qede: fix speed capability

- Fix to use bitmapped values in NVM configuration for speed capability
  advertisement. This issue is specific to 25G NIC since it is capable
  of 25G and 10G speeds.

- Update feature list.

Fixes: 64c239b7f8b7 ("net/qede: fix advertising link speed capability")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
7 years agonet/ixgbe: fix link up with X552
Wei Zhao [Wed, 9 Nov 2016 07:00:28 +0000 (15:00 +0800)]
net/ixgbe: fix link up with X552

The links never coming up when bring up x552 NIC, device id is 15ac.
This is caused by delete some code which casing
removes X550em SFP iXFI setup for the drivers in function
ixgbe_setup_mac_link_sfp_x550em().
Fix method is recover the deleted code.

Fixes: 1726b9cd9c40 ("net/ixgbe/base: remove X550em SFP iXFI setup")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agonet/thunderx: support CN83xx devices
Jerin Jacob [Tue, 8 Nov 2016 06:31:26 +0000 (12:01 +0530)]
net/thunderx: support CN83xx devices

83xx NIC subsystem differs in new PCI subsystem_device_id and
NICVF_CAP_DISABLE_APAD capability.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
7 years agonet/thunderx: disable L3 alignment padding
Jerin Jacob [Tue, 8 Nov 2016 06:31:25 +0000 (12:01 +0530)]
net/thunderx: disable L3 alignment padding

Based on the packet type(IPv4 or IPv6), the nicvf HW aligns
L3 data to the 64bit memory address.
The alignment creates a hole in mbuf(between the
end of headroom and packet data start).
The new revision of the HW provides an option to disable
the L3 alignment feature and make mbuf layout looks
more like other NICs. For better application compatibility,
disabling l3 alignment feature on the hardware revisions it supports.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
7 years agodoc: add ARM profiling methods
Jerin Jacob [Tue, 8 Nov 2016 03:32:56 +0000 (09:02 +0530)]
doc: add ARM profiling methods

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agodoc: fix l3fwd mode selection
Reshma Pattan [Thu, 10 Nov 2016 16:29:50 +0000 (16:29 +0000)]
doc: fix l3fwd mode selection

The l3fwd application route lookup mode can be selected at run time
but not at compile time. This patch corrects the statement in the doc.

Fixes: d0dff9ba ("doc: sample application user guide")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: postpone ABI changes for Tx prepare
Thomas Monjalon [Wed, 9 Nov 2016 22:27:30 +0000 (23:27 +0100)]
doc: postpone ABI changes for Tx prepare

The changes for the feature "Tx prepare" should be made in version 17.02.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agodoc: postpone ABI changes for mbuf
Olivier Matz [Wed, 9 Nov 2016 16:12:01 +0000 (17:12 +0100)]
doc: postpone ABI changes for mbuf

Mbuf modifications are not ready for 16.11, postpone them to 17.02.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
7 years agomaintainers: claim responsability for Xen
Jianfeng Tan [Mon, 7 Nov 2016 07:38:46 +0000 (07:38 +0000)]
maintainers: claim responsability for Xen

As some users are still using xen as the hypervisor, I suggest to
continue support for xen in DPDK. And from 16.11, I will be the
maintainer of all xen-related files.

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
7 years agomaintainers: update documentation maintainers
John McNamara [Tue, 8 Nov 2016 09:31:47 +0000 (09:31 +0000)]
maintainers: update documentation maintainers

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
7 years agoversion: 16.11-rc3
Thomas Monjalon [Mon, 7 Nov 2016 21:13:27 +0000 (22:13 +0100)]
version: 16.11-rc3

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agodoc: add limitation for l3fwd-power sample
Pablo de Lara [Fri, 4 Nov 2016 12:48:17 +0000 (12:48 +0000)]
doc: add limitation for l3fwd-power sample

L3fwd-power app needs vector mode to be disabled in order to work
properly. The app used to work previously, because it was using
Rx scalar function, but now it uses vector function.

Vector mode needs to be disabled to make the app works,
which has been documented in release notes.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: add VT-d/iommu settings for QAT
Fiona Trahe [Wed, 26 Oct 2016 17:23:31 +0000 (18:23 +0100)]
doc: add VT-d/iommu settings for QAT

Add more information about VT-d/iommu settings for QAT PMD.
Remove limitation indicating QAT driver is not performance tuned.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
7 years agodoc: remove Intel reference from multi-process guide
Jerin Jacob [Thu, 27 Oct 2016 06:11:19 +0000 (11:41 +0530)]
doc: remove Intel reference from multi-process guide

multi-process support has been verified on non IA such as ARMv8.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix typos
Alain Leon [Mon, 7 Nov 2016 03:20:19 +0000 (03:20 +0000)]
doc: fix typos

Fixes typos present in the documentation and code comments.

Signed-off-by: Alain Leon <xerebz@gmail.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agoexamples/ipsec-secgw: fix configuration parsing
Fan Zhang [Mon, 7 Nov 2016 17:25:37 +0000 (17:25 +0000)]
examples/ipsec-secgw: fix configuration parsing

Fix pointer to local outside scope.

Coverity issue: 137871
Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoexamples/ipsec-secgw: fix configuration parsing
Fan Zhang [Mon, 7 Nov 2016 14:21:06 +0000 (14:21 +0000)]
examples/ipsec-secgw: fix configuration parsing

Fix copy into fixed size buffer issue.

Coverity issue: 137875
Fixes: 0d547ed0 ("examples/ipsec-secgw: support configuration file")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoethdev: comment statistics field support
Wei Dai [Fri, 26 Aug 2016 10:08:24 +0000 (18:08 +0800)]
ethdev: comment statistics field support

Add comments to describe that not all statistics fields in
struct rte_eth_stats are supported by any type of network
interface card. If any statistics field is not supported,
its value is 0.

Signed-off-by: Wei Dai <wei.dai@intel.com>
7 years agoip_frag: fix IP reassembly regression
Wenzhuo Lu [Sun, 6 Nov 2016 17:16:14 +0000 (12:16 -0500)]
ip_frag: fix IP reassembly regression

After changing pkt[0] to pkt[], the example IP reassembly is not working.
It's weird because this change is fine. There should be no difference
between them.
As a workaround, revert this change.

Fixes: 347a1e037fd3 ("lib: use C99 syntax for zero-size arrays")

Reported-by: Huilong Xu <huilongx.xu@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agonet/bonding: handle only LACP slow packets
Haifeng Lin [Fri, 4 Nov 2016 03:30:21 +0000 (11:30 +0800)]
net/bonding: handle only LACP slow packets

We should not drop the slow packets which subtype is
not marker or lacp. Because slow packets have other subtype
like OAM,OSSP,user defined and so on.

Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com>
Reviewed-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
7 years agonet/vmxnet3: fix mbuf release on reset/stop
Yong Wang [Wed, 26 Oct 2016 17:45:07 +0000 (10:45 -0700)]
net/vmxnet3: fix mbuf release on reset/stop

During device reset/stop, vmxnet3 releases all mbufs in tx and
rx cmd ring.  For rx, we should go over all ring descriptors and
free using rte_pktmbuf_free_seg() instead of rte_pktmbuf_free()
as the metadata of the mbuf might not be properly initialized
(initialization after mempool creation is done in the rx routine)
and the mbuf should always be a single-segment one when populated.
For tx, we can use the existing way as mbuf, if any, will be a
valid one stashed in the eop.

Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")

Signed-off-by: Yong Wang <yongwang@vmware.com>
7 years agonet/qede: fix gcc option checks
Rasesh Mody [Fri, 28 Oct 2016 06:37:57 +0000 (23:37 -0700)]
net/qede: fix gcc option checks

Using GCC_VERSION to check gcc version and decide whether to include
that compiler option.

Fixes: ecc7a5a27ffe ("net/qede/base: fix 32-bit build")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
7 years agonet/qede: fix advertising link speed capability
Harish Patil [Mon, 31 Oct 2016 18:35:01 +0000 (11:35 -0700)]
net/qede: fix advertising link speed capability

Fix to advertise device's link speed capability based on NVM
port configuration instead of returning driver supported speeds.

Fixes: 95e67b479506 ("net/qede: add 100G link speed capability")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
7 years agonet/bnxt: remove support for few devices
Ajit Khaparde [Mon, 7 Nov 2016 15:11:39 +0000 (09:11 -0600)]
net/bnxt: remove support for few devices

Some of the production parts will arrive after the 16.11 release.
Back off support for those devices. We will add these IDs again
at an appropriate time.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: add a fallthrough comment in cascading switch
Ajit Khaparde [Mon, 7 Nov 2016 15:11:55 +0000 (09:11 -0600)]
net/bnxt: add a fallthrough comment in cascading switch

The cascading switch statement in bnxt_hwrm.c is missing the FALLTHROUGH
comment. Adding that.

Coverity issue: 127552

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/bnxt: fix data type for vnic attributes entry size
Ajit Khaparde [Mon, 7 Nov 2016 15:12:04 +0000 (09:12 -0600)]
net/bnxt: fix data type for vnic attributes entry size

Prevent the arithmetic in bnxt_alloc_vnic_attributes from causing
any unintentional havoc because of the usage of a signed variable.

Coverity issue: 137874

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agodoc: update release notes for mlx5
Nelio Laranjeiro [Thu, 3 Nov 2016 13:45:31 +0000 (14:45 +0100)]
doc: update release notes for mlx5

Add list of tested and validated NICs too.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: update mlx5 dependencies
Nelio Laranjeiro [Wed, 2 Nov 2016 13:46:43 +0000 (14:46 +0100)]
doc: update mlx5 dependencies

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: add speed capabilities feature for mlx5
Nelio Laranjeiro [Thu, 27 Oct 2016 15:04:22 +0000 (17:04 +0200)]
doc: add speed capabilities feature for mlx5

Fixes: 75ef62a94301 ("net/mlx5: fix link speed capability information")
Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/mlx: fix support for new Rx checksum flags
Nelio Laranjeiro [Wed, 2 Nov 2016 10:39:39 +0000 (11:39 +0100)]
net/mlx: fix support for new Rx checksum flags

Fixes: 5842289a546c ("mbuf: add new Rx checksum flags")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: define explicit fields for Rx offloads
Nelio Laranjeiro [Wed, 2 Nov 2016 10:39:38 +0000 (11:39 +0100)]
net/mlx5: define explicit fields for Rx offloads

This commit redefines the completion queue element structure as the
original lacks the required fields.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix Rx checksum macros
Nelio Laranjeiro [Wed, 2 Nov 2016 10:39:37 +0000 (11:39 +0100)]
net/mlx5: fix Rx checksum macros

Add missing:

 - MLX5_CQE_RX_IPV4_PACKET
 - MLX5_CQE_RX_IPV6_PACKET
 - MLX5_CQE_RX_OUTER_IPV4_PACKET
 - MLX5_CQE_RX_OUTER_IPV6_PACKET
 - MLX5_CQE_RX_TUNNEL_PACKET
 - MLX5_CQE_RX_OUTER_IP_CSUM_OK
 - MLX5_CQE_RX_OUTER_TCP_UDP_CSUM_OK

Fixes: 51a50a3d9b8f ("net/mlx5: add definitions for data path without Verbs")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix handling of small mbuf sizes
Raslan Darawsheh [Mon, 24 Oct 2016 08:10:59 +0000 (11:10 +0300)]
net/mlx5: fix handling of small mbuf sizes

When mbufs are smaller than MRU, multi-segment support must be enabled to
default set when not in promiscuous or allmulticast modes.

Fixes: 9964b965ad69 ("net/mlx5: re-add Rx scatter support")

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix buffer alignment in Tx
Elad Persiko [Tue, 1 Nov 2016 08:13:27 +0000 (08:13 +0000)]
net/mlx5: fix buffer alignment in Tx

Constraint alignment was not respected in Tx because of a
wrong use of vector instruction.

Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path")

Signed-off-by: Elad Persiko <eladpe@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agodoc: update release notes with enic changes
John Daley [Thu, 3 Nov 2016 18:01:33 +0000 (11:01 -0700)]
doc: update release notes with enic changes

Signed-off-by: John Daley <johndale@cisco.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/enic: fix max packet length check
John Daley [Tue, 1 Nov 2016 18:08:28 +0000 (11:08 -0700)]
net/enic: fix max packet length check

When the device was configured with an explicit maximum packet length,
it would fail if the value was greater than MTU configured in CIMC/UCSM
(plus L2 header length). It should have been compared against maximum
allowed by the device.

Fixes: bb34ffb848a0 ("net/enic: determine max egress packet size and max MTU")

Signed-off-by: John Daley <johndale@cisco.com>
7 years agonet/ena: check for free buffers prior Tx
Jakub Palider [Sat, 29 Oct 2016 01:06:15 +0000 (03:06 +0200)]
net/ena: check for free buffers prior Tx

Signed-off-by: Tal Avraham <talavr@annapurnalabs.com>
Signed-off-by: Jakub Palider <jpa@semihalf.com>
7 years agonet/ena: use unmasked head and tail
Jakub Palider [Sat, 29 Oct 2016 01:06:14 +0000 (03:06 +0200)]
net/ena: use unmasked head and tail

The next_to_clean and next_to_use ring pointers sometimes were kept
wrapped around ring size, sometimes used beyond this limit. From now
on we increment them without regard to ring size limits, but when
reading the values they are wrapped accordingly. Moreover unit16_t
are unsed whenever possible.

Signed-off-by: Tal Avraham <talavr@annapurnalabs.com>
Signed-off-by: Jakub Palider <jpa@semihalf.com>
7 years agonet/i40e: fix VF bonded device link down
Qiming Yang [Fri, 4 Nov 2016 09:10:51 +0000 (17:10 +0800)]
net/i40e: fix VF bonded device link down

If VF device is used as slave of a bond device, it will be polled
periodically through alarm. Interrupt is involved here. And then
VF will send I40E_VIRTCHNL_OP_GET_LINK_STAT message to
PF to query the status. The response is handled by interrupt
callback. Interrupt is involved here again. That's why bond
device cannot bring up.

This patch removes I40E_VIRTCHNL_OP_GET_LINK_STAT
message. Link status in VF driver will be updated when PF driver
notify it, and VF stores this link status locally. VF driver just
returns the local status when being required.

Fixes: 4861cde46116 ("i40e: new poll mode driver")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: fix link status change interrupt
Qiming Yang [Fri, 4 Nov 2016 09:10:50 +0000 (17:10 +0800)]
net/i40e: fix link status change interrupt

Previously, link status interrupt in i40e is achieved by checking
LINK_STAT_CHANGE_MASK in PFINT_ICR0 register which is provided only
for diagnostic use. Instead, drivers need to get the link status
change notification by using LSE (Link Status Event).

This patch enables LSE and calls LSC callback when the event is
received. This patch also removes the processing on
LINK_STAT_CHANGE_MASK.

Fixes: 4861cde46116 ("i40e: new poll mode driver")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: fix floating VEB
Beilei Xing [Fri, 4 Nov 2016 11:08:08 +0000 (19:08 +0800)]
net/i40e: fix floating VEB

Turning off S-TAG identification will impact floating VEB,
VFs can't communicate with each other.
This patch fixes this issue by judging whether floating
VEB is enabled, S-TAG identification will be turned off
only when floating VEB is disabled.

Fixes: 4d61120d5ce7 ("net/i40e: fix dropping packets with ethertype 0x88A8")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: fix DCB configuration
Jingjing Wu [Fri, 4 Nov 2016 05:42:33 +0000 (13:42 +0800)]
net/i40e: fix DCB configuration

Removing stopping LLDP in firmware is a workaround for a
known errata which can cause Rx hang. But the changing will
cause DCB configuration fails. That is because when LLDP is
enabled, the return value of i40e_init_dcb is success. But
following check just considered the case when LLDP agent
is disabled.
This patch fixes this issue.

Fixes: fcbd40d4327b ("net/i40e: fix Rx hang when disable LLDP")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
7 years agoapp/testpmd: fix DCB configuration
Bernard Iremonger [Thu, 3 Nov 2016 17:35:38 +0000 (17:35 +0000)]
app/testpmd: fix DCB configuration

Data Centre Bridge (DCB) configuration fails when SRIOV is
enabled if nb_rxq or nb_txq are greater than nb_q_per_pool.

The failure occurs during configuration of the ixgbe PMD when
it is started, in the ixgbe_check_mq_mode function.

Fixes: 2a977b891f99 ("app/testpmd: fix DCB configuration")

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agodoc: add ixgbe specific API
Bernard Iremonger [Fri, 14 Oct 2016 16:35:08 +0000 (17:35 +0100)]
doc: add ixgbe specific API

Add information about new ixgbe PMD API.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/ixgbe: fix VF registers
Wenzhuo Lu [Sun, 6 Nov 2016 16:57:04 +0000 (11:57 -0500)]
net/ixgbe: fix VF registers

Some VF registers are using PF's name or address by mistake.
Although some of them are sharing the same addresses.

Fixes: 0198848a47f5 ("ixgbe: add access to specific device info")

Reported-by: Xuekun Hu <xuekun.hu@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agonet/e1000: fix forced configuration of speed and duplex
Ananda Sathyanarayana [Wed, 2 Nov 2016 23:36:55 +0000 (16:36 -0700)]
net/e1000: fix forced configuration of speed and duplex

From the code, it looks like, hw->mac.autoneg, variable is used to
switch between calling either autoneg function or forcing
speed/duplex function. But this variable is not modified in
eth_em_start/eth_igb_start routines (it is always set to 1)
even while forcing the link speed.

Following discussion thread has some more information on this:
http://dpdk.org/ml/archives/dev/2016-October/049272.html

Signed-off-by: Ananda Sathyanarayana <ananda@versa-networks.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agovhost: remove references to vhost-cuse
Yuanhan Liu [Wed, 2 Nov 2016 03:15:01 +0000 (11:15 +0800)]
vhost: remove references to vhost-cuse

vhost-cuse is removed, update corresponding comments that are still
referencing it.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: update vhost sample guide
Yuanhan Liu [Wed, 2 Nov 2016 03:15:00 +0000 (11:15 +0800)]
doc: update vhost sample guide

For vhost-switch sample, the old guide takes too many words on
vhost-cuse, which is mainly due to vhost-cuse is invented before
vhost-user.

Now vhost-cuse is removed, meaning the best part of the doc is useless.
Instead of amending one piece here and there, this patch simply removes
the most part of the doc and replace it with a simple test guide.

For tep_term sample, mainly for removing the part has "vhost-cuse".

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: update vhost programming guide
Yuanhan Liu [Wed, 2 Nov 2016 03:14:59 +0000 (11:14 +0800)]
doc: update vhost programming guide

vhost-cuse has been removed in this release. Update the doc, with the
vhost-cuse part being removed.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/virtio: fix multiple queue enabling
Yuanhan Liu [Mon, 7 Nov 2016 09:25:06 +0000 (17:25 +0800)]
net/virtio: fix multiple queue enabling

When queue number shrinks to 1 from X, the following code stops us
sending the multiple queue ctrl message:

        if (nb_queues > 1) {
                if (virtio_set_multiple_queues(dev, nb_queues) != 0)
                        return -EINVAL;
        }

This ends up with still X queues being enabled, which is obviously
wrong. Fix it by replacing the check with a multiple queue enabled
or not check.

Fixes: 823ad647950a ("virtio: support multiple queues")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
7 years agonet/virtio: fix less queues being enabled
Yuanhan Liu [Sat, 5 Nov 2016 09:41:04 +0000 (17:41 +0800)]
net/virtio: fix less queues being enabled

From the virtio spec of view, multiple-queue is always enabled/disabled
in queue pairs. DPDK somehow allows the case when Tx and Rx queue number
are different.

Currently, virtio PMD get the queue pair number from the nb_rx_queues
field, which could be an issue when Tx queue number > Rx queue number.
Say, 2 Tx queues and 1 Rx queues. This would end up with 1 quues being
enabled. Which is wrong.

The fix is straightforward. Just pick a bigger number and enable that many
of queues.

Fixes: 823ad647950a ("virtio: support multiple queues")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
7 years agonet/virtio: remove started field
Yuanhan Liu [Sat, 5 Nov 2016 09:41:03 +0000 (17:41 +0800)]
net/virtio: remove started field

The "hw->started" field was introduced to stop touching queues
on restart. We never touches queues on restart any more, thus
it's safe to remove this flag.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/virtio: complete init stage at the right place
Yuanhan Liu [Sat, 5 Nov 2016 09:41:02 +0000 (17:41 +0800)]
net/virtio: complete init stage at the right place

Invoking vtpci_reinit_complete() at port start stage doesn't make any
sense, instead, it should be done at the end of dev init stage.

So move it here.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/virtio: move queue configure code to proper place
Yuanhan Liu [Sat, 5 Nov 2016 09:41:01 +0000 (17:41 +0800)]
net/virtio: move queue configure code to proper place

The only piece of code of virtio_dev_rxtx_start() is actually doing
queue configure/setup work. So, move it to corresponding queue_setup
callback.

Once that is done, virtio_dev_rxtx_start() becomes an empty function,
thus it's being removed.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/virtio: initiate vring at init stage
Yuanhan Liu [Sat, 5 Nov 2016 09:41:00 +0000 (17:41 +0800)]
net/virtio: initiate vring at init stage

virtio_dev_vring_start() is actually doing the vring initiation job.
And the vring initiation job should be done at the dev init stage, as
stated with great details in former commit.

So move it there, and rename it to virtio_init_vring().

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/virtio: allocate queue at init stage
Yuanhan Liu [Sat, 5 Nov 2016 09:40:59 +0000 (17:40 +0800)]
net/virtio: allocate queue at init stage

Queue allocation should be done once, since the queue related info (such
as vring addreess) will only be informed to the vhost-user backend once
without virtio device reset.

That means, if you allocate queues again after the vhost-user negotiation,
the vhost-user backend will not be informed any more. Leading to a state
that the vring info mismatches between virtio PMD driver and vhost-backend:
the driver switches to the new address has just been allocated, while the
vhost-backend still sticks to the old address has been assigned in the init
stage.

Unfortunately, that is exactly how the virtio driver is coded so far: queue
allocation is done at queue_setup stage (when rte_eth_tx/rx_queue_setup is
invoked). This is wrong, because queue_setup can be invoked several times.
For example,

    $ start_testpmd.sh ... --txq=1 --rxq=1 ...
    > port stop 0
    > port config all txq 1 # just trigger the queue_setup callback again
    > port config all rxq 1
    > port start 0

The right way to do is allocate the queues in the init stage, so that the
vring info could be persistent with the vhost-user backend.

Besides that, we should allocate max_queue pairs the device supports, but
not nr queue pairs firstly configured, to make following case work.

    $ start_testpmd.sh ... --txq=1 --rxq=1 ...
    > port stop 0
    > port config all txq 2
    > port config all rxq 2
    > port start 0

Since the allocation is switched to init stage, the free should also
moved from the rx/tx_queue_release to dev close stage. That leading we
could do nothing an empty rx/tx_queue_release() implementation.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
7 years agonet/virtio: simplify queue allocation
Yuanhan Liu [Sat, 5 Nov 2016 09:40:58 +0000 (17:40 +0800)]
net/virtio: simplify queue allocation

Let rxq/txq/cq be the union field of the virtqueue struct. This would
simplifies the vq allocation a bit: we don't need calculate the vq_size
any more based on the queue type.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/virtio: simplify queue memzone name
Yuanhan Liu [Sat, 5 Nov 2016 09:40:57 +0000 (17:40 +0800)]
net/virtio: simplify queue memzone name

Instead of setting up a queue memzone name like "port0_rxq0", "port0_txq0",
it could be simplified a bit to something like "port0_vq0", "port0_vq1" ...

Meanwhile, the code is also simplified a bit.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/virtio: revert fix restart
Yuanhan Liu [Sat, 5 Nov 2016 09:40:56 +0000 (17:40 +0800)]
net/virtio: revert fix restart

This reverts commit 9a0615af7746 ("virtio: fix restart"); conflict is
manually addressed.

Kyle reported an issue with above commit

    qemu-kvm: Guest moved used index from 5 to 1

with following steps,

    1) Start my virtio interfaces
    2) Send some traffic into/out of the interfaces
    3) Stop the interfaces
    4) Start the interfaces
    5) Send some more traffic

And here are some quotes from Kyle's analysis,

    Prior to the patch, if an interface were stopped then started, without
    restarting the application, the queues would be left as-is, because
    hw->started would be set to 1. Now, calling stop sets hw->started to 0,
    which means the next call to start will "touch the queues". This is the
    unintended side-effect that causes the problem.

We should not touch the queues once the init is done, otherwise, the vring
state of virtio PMD driver and vhost-user would be inconsistent, leading
some issue like above.

Thus this patch is reverted.

Fixes: 9a0615af7746 ("virtio: fix restart")

Reported-by: Kyle Larose <klarose@sandvine.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agonet/ring: remove unnecessary NULL check
Mauricio Vasquez B [Wed, 2 Nov 2016 13:46:09 +0000 (08:46 -0500)]
net/ring: remove unnecessary NULL check

Coverity detected this as an issue because internals->data will never be NULL,
then the check is not necessary.

Coverity issue: 137873
Fixes: d082c0395bf6 ("ring: fix memory leak when detaching")

Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agopci: fix probing error if no driver found
Igor Ryzhov [Thu, 4 Aug 2016 11:50:06 +0000 (14:50 +0300)]
pci: fix probing error if no driver found

The rte_eal_pci_probe_one function could return false positive result if
no driver is found for the device.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Acked-by: David Marchand <david.marchand@6wind.com>
7 years agopci: unset driver if probe fails
David Marchand [Mon, 7 Nov 2016 09:03:29 +0000 (10:03 +0100)]
pci: unset driver if probe fails

dev->driver should be set only if a driver did take the device.

Signed-off-by: David Marchand <david.marchand@6wind.com>
7 years agoexamples/ipsec-secgw: fix configuration string termination
Fan Zhang [Thu, 3 Nov 2016 12:12:40 +0000 (12:12 +0000)]
examples/ipsec-secgw: fix configuration string termination

Coverity issue: 137854, 137855
Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/test: fix hanging in SNOW 3G performance test
Arek Kusztal [Fri, 28 Oct 2016 11:37:09 +0000 (12:37 +0100)]
app/test: fix hanging in SNOW 3G performance test

This commit fixes problem with device hanging because of
wrong pointer values in snow3g performance test

Fixes: 97fe6461c7cb ("app/test: add SNOW 3G performance test")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
7 years agocryptodev: clarify how operations affect buffers
Fiona Trahe [Wed, 2 Nov 2016 17:53:46 +0000 (17:53 +0000)]
cryptodev: clarify how operations affect buffers

Updated comments on API to clarify which parts of mbufs are
copied or changed by crypto operations.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/test: fix crash when checking LPM performance twice
Nikita Kozlov [Tue, 1 Nov 2016 11:55:55 +0000 (12:55 +0100)]
app/test: fix crash when checking LPM performance twice

num_route_entries needs to be resetted.

Fixes: 17d60f5b5eea ("app/test: remove large IPv4 LPM data file")

Signed-off-by: Nikita Kozlov <nikita@elyzion.net>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Wei Dai <wei.dai@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
7 years agolpm: fix freeing memory
Wei Dai [Thu, 3 Nov 2016 10:15:59 +0000 (18:15 +0800)]
lpm: fix freeing memory

The memory pointed by lpm->rules_tbl should also be freed
when memory malloc for tbl8 fails in rte_lpm_create_v1604( ).
And the memory pointed by lpm->tbl8 should also be freed
when the lpm object is freed in rte_lpm_free_v1604( ).

Fixes: f1f7261838b3 ("lpm: add a new config structure for IPv4")

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
Signed-off-by: Wei Dai <wei.dai@intel.com>
7 years agocfgfile: fix API comments
Dmitriy Yakovlev [Wed, 19 Oct 2016 00:33:03 +0000 (03:33 +0300)]
cfgfile: fix API comments

Fixed style and return values in Doxygen comments.

Fixes: eaafbad419bf ("cfgfile: library to interpret config files")

Signed-off-by: Dmitriy Yakovlev <bombermag@gmail.com>
7 years agonet: remove mempool dependency
Ferruh Yigit [Tue, 1 Nov 2016 17:03:31 +0000 (17:03 +0000)]
net: remove mempool dependency

Fixes: b25c2a8c692d ("net: introduce net library")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: add net library in release notes
Ferruh Yigit [Tue, 1 Nov 2016 17:03:30 +0000 (17:03 +0000)]
doc: add net library in release notes

Fixes: b25c2a8c692d ("net: introduce net library")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agopci: probe only devices without any driver
Ben Walker [Tue, 25 Oct 2016 21:50:40 +0000 (14:50 -0700)]
pci: probe only devices without any driver

If the user asks to probe multiple times, the probe
callback should only be called on devices that don't have
a driver already loaded.

This is useful if a driver is registered after the
execution of a program has started and the list of devices
needs to be re-scanned.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
7 years agoeal/ppc: fix file descriptor leak when getting CPU features
Jianbo Liu [Fri, 4 Nov 2016 09:46:43 +0000 (15:16 +0530)]
eal/ppc: fix file descriptor leak when getting CPU features

Close the file descriptor after finish using it.

Fixes: 9ae15538 ("eal/ppc: cpu flag checks for IBM Power")

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Jan Viktorin <viktorin@rehivetech.com>
7 years agoeal/arm: fix file descriptor leak when getting CPU features
Jianbo Liu [Fri, 4 Nov 2016 09:46:42 +0000 (15:16 +0530)]
eal/arm: fix file descriptor leak when getting CPU features

Close the file descriptor after finish using it.

Fixes: b94e5c94 ("eal/arm: add CPU flags for ARMv7")
Fixes: 97523f82 ("eal/arm: add CPU flags for ARMv8")

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Jan Viktorin <viktorin@rehivetech.com>
7 years agoethdev: rename library for consistency
Thomas Monjalon [Sun, 6 Nov 2016 18:18:23 +0000 (19:18 +0100)]
ethdev: rename library for consistency

The library was named libethdev without rte_ prefix.
It is now fixed, the library namespace is consistent.

Note: the ABI version has already been changed in this release cycle.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agolib: fix ABI version after device model rework
Shreyansh Jain [Thu, 27 Oct 2016 11:29:12 +0000 (16:59 +0530)]
lib: fix ABI version after device model rework

rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER variable. This patches bumps the macro of affected libs:

- libcryptodev and libetherdev have been bumped
- librte_eal version changed in
  d7e61ad3ae36 ("log: remove deprecated history dump")

Details of ABI/API changes:
- EAL [version already bumped in: d7e61ad3ae36]
  |- type field was removed from rte_driver
  |- rte_pci_device now embeds rte_device
  |- rte_pci_resource renamed to rte_mem_resource
  |- numa_node and devargs of rte_pci_driver is moved to rte_driver
  |- APIs for device hotplug (attach/detach) moved into EAL
  |- API rte_eal_pci_device_name added for PCI device naming
  |- vdev registration API introduced (rte_eal_vdrv_register,
  |  rte_eal_vdrv_unregister

- librte_crypto (v 1=>2)
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

- librte_ethdev (v 4=>5)
  |- rte_eth_dev_type is removed
  |- removed dev_type from rte_eth_dev_allocate API
  |- removed API rte_eth_dev_get_device_type
  |- removed API rte_eth_dev_get_addr_by_port
  |- removed API rte_eth_dev_get_port_by_addr
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

[1] http://dpdk.org/ml/archives/dev/2016-September/047087.html

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>