Commit Graph

6121 Commits

Author SHA1 Message Date
Wei Dai
f1d54e6dfb pci: fix check of mknod
In function pci_mknod_uio_dev() in lib/librte_eal/eal/eal_pci_uio.c,
The return value of mknod() is ret, not f got by fopen().
So the value of ret should be checked for mknod().

Fixes: f7f97c1604 ("pci: add option --create-uio-dev to run without hotplug")

Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2016-12-06 11:59:39 +01:00
Olivier Matz
5d8f0baf69 log: do not drop debug logs at compile time
Today, all logs whose level is lower than INFO are dropped at
compile-time. This prevents from enabling debug logs at runtime using
--log-level=8.

The rationale was to remove debug logs from the data path at
compile-time, avoiding a test at run-time.

This patch changes the behavior of RTE_LOG() to avoid the compile-time
optimization, and introduces the RTE_LOG_DP() macro that has the same
behavior than the previous RTE_LOG(), for the rare cases where debug
logs are in the data path.

So it is now possible to enable debug logs at run-time by just
specifying --log-level=8. Some drivers still have special compile-time
options to enable more debug log. Maintainers may consider to
remove/reduce them.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2016-12-01 18:09:13 +01:00
Neil Horman
112fc39b82 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: 98b0fdb0ff ("pmdinfogen: add buildtools and pmdinfogen utility")

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
2016-12-01 16:11:51 +01:00
Thomas Monjalon
814c8822ef 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>
2016-12-01 16:03:01 +01:00
Thomas Monjalon
b5415fbc69 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: 8005feef42 ("scripts: add standard input to checkpatch")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2016-11-30 15:22:31 +01:00
John McNamara
39a46d36fd 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>
2016-11-30 14:53:18 +01:00
John McNamara
3a62719f0b maintainers: replace lthreads maintainer
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-29 12:11:52 +01:00
John McNamara
edb4e7408e 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>
2016-11-29 12:07:41 +01:00
Jingjing Wu
e6bb2553dc 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>
2016-11-29 11:52:28 +01:00
Thomas Monjalon
3549dd6715 version: 17.02-rc0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-14 15:16:46 +01:00
John McNamara
8ca2c96faa 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>
2016-11-14 15:16:46 +01:00
Ferruh Yigit
579a5c987f 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>
2016-11-14 15:12:10 +01:00
Ferruh Yigit
7f30fb8285 maintainers: add staging tree for network drivers
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-14 15:12:10 +01:00
Thomas Monjalon
d3bfeaaabf version: 16.11.0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-13 15:28:12 +01:00
Thomas Monjalon
ad20fb4225 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>
2016-11-13 15:25:12 +01:00
John McNamara
8ccc927962 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>
2016-11-13 15:25:12 +01:00
John McNamara
b959792f5e 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>
2016-11-13 15:25:12 +01:00
Qiming Yang
4726bb4269 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>
2016-11-13 14:55:53 +01:00
Bernard Iremonger
3ffa1cc05a 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>
2016-11-13 14:55:53 +01:00
Bernard Iremonger
d569777187 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>
2016-11-13 14:55:53 +01:00
Shreyansh Jain
4098ccacf2 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>
2016-11-13 14:55:41 +01:00
Jianfeng Tan
3bac1dbc1e 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>
2016-11-13 14:54:09 +01:00
Yulong Pei
6be532b929 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>
2016-11-12 22:48:00 +01:00
Fiona Trahe
fd8036ef74 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>
2016-11-12 22:48:00 +01:00
Olivier Matz
dd030a0ee8 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: 231fa88ed5 ("app/test: verify LPM tbl8 recycle")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Wei Dai <wei.dai@intel.com>
2016-11-12 22:27:09 +01:00
Reshma Pattan
c9c7758dde 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>
2016-11-12 22:27:09 +01:00
Nipun Gupta
f5e9ed5c4e 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: d1d914ebbc ("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>
2016-11-12 22:27:09 +01:00
Harish Patil
1ea56b80f9 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: 64c239b7f8 ("net/qede: fix advertising link speed capability")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
2016-11-12 22:27:09 +01:00
Wei Zhao
d722022737 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: 1726b9cd9c ("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>
2016-11-11 00:53:22 +01:00
Jerin Jacob
174dd78e93 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>
2016-11-11 00:52:23 +01:00
Jerin Jacob
8a946db34a 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>
2016-11-11 00:51:19 +01:00
Jerin Jacob
9d5ba88c2d 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>
2016-11-11 00:51:19 +01:00
Reshma Pattan
9a998f2dda 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>
2016-11-11 00:33:20 +01:00
Thomas Monjalon
37f0179311 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>
2016-11-11 00:32:45 +01:00
Olivier Matz
a4366ade74 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>
2016-11-09 23:21:19 +01:00
Jianfeng Tan
9a24cbb957 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>
2016-11-09 23:04:11 +01:00
John McNamara
2ebbace2bf maintainers: update documentation maintainers
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
2016-11-09 23:04:11 +01:00
Thomas Monjalon
a02a9135dc version: 16.11-rc3
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-07 22:13:27 +01:00
Pablo de Lara
057c0aaddc 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>
2016-11-07 22:07:59 +01:00
Fiona Trahe
a49342abbb 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>
2016-11-07 22:03:18 +01:00
Jerin Jacob
dab1d47552 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>
2016-11-07 21:53:37 +01:00
Alain Leon
8035bdde78 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>
2016-11-07 21:50:27 +01:00
Fan Zhang
a1469c319f examples/ipsec-secgw: fix configuration parsing
Fix pointer to local outside scope.

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

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2016-11-07 21:44:42 +01:00
Fan Zhang
63e8c07c72 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>
2016-11-07 21:38:45 +01:00
Wei Dai
083e2f2600 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>
2016-11-07 21:33:38 +01:00
Wenzhuo Lu
91cd905af9 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: 347a1e037f ("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>
2016-11-07 21:27:50 +01:00
Haifeng Lin
9ed2c8a299 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>
2016-11-07 21:19:57 +01:00
Yong Wang
646edddf07 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: dfaff37fc4 ("vmxnet3: import new vmxnet3 poll mode driver implementation")

Signed-off-by: Yong Wang <yongwang@vmware.com>
2016-11-07 21:15:23 +01:00
Rasesh Mody
956cc5461b net/qede: fix gcc option checks
Using GCC_VERSION to check gcc version and decide whether to include
that compiler option.

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

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2016-11-07 21:08:54 +01:00
Harish Patil
64c239b7f8 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: 95e67b4795 ("net/qede: add 100G link speed capability")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
2016-11-07 20:46:52 +01:00