Commit Graph

10637 Commits

Author SHA1 Message Date
Hemant Agrawal
a4862c9e1a license: introduce SPDX identifiers
The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are naturally GPLv2 licensed.

Many of the files in the DPDK source code contain the full text of the
applicable license. For example, most of the BSD-3-Clause files contain a
full copy of the BSD-3-Clause license text.

Including big blocks of License headers in all files blows up the source
code with mostly redundant information.  An additional problem is that even
the same licenses are referred to by a number of slightly varying text
blocks (full, abbreviated, different indentation, line wrapping and/or
white space, with obsolete address information, ...) which makes validation
and automatic processing a nightmare.

To make this easier, DPDK uses of a single line reference to
Unique License Identifiers in source files as defined by the Linux
Foundation's SPDX project https://spdk.org.

Adding license information in this fashion, rather than adding full license
text, can be more efficient for developers; decreases errors; and improves
automated detection of licenses. The current set of valid, predefined SPDX
identifiers is set forth on the SPDX License List at
https://spdx.org/licenses/.

For example, to label a file as subject to the BSD-3-Clause license,
the following text would be used as the top line of the file.

SPDX-License-Identifier: BSD-3-Clause

Note: Any new file contributions in DPDK shall adhere to the above scheme.
It is also recommended to replace or at least amend the existing license
text in the code with SPDX-License-Identifiers.

Any exception to DPDK IP policies shall be approved by DPDK tech board and
DPDK Governing Board. Steps for any exception approval:
1. Mention the appropriate license identifier form SPDX. If the license is
   not listed in SPDX Licenses. It is the submitters responsibiliity to get
   it first listed.
2. Get the required approval from the DPDK Technical Board. Technical board
   may advise the author to check alternate means first. If no other
   alternatives are found and the merit of the contributions are important
   for DPDK's mission, it may decide on such exception with two-thirds vote
   of the members.
3. Technical board then approach Governing board for such limited approval
   for the given contribution only.

Any approvals shall be documented in "licenses/exceptions.txt" with record
dates.

Note: From the legal point of view, this patch is supposed to be only a
change to the textual representation of the license information, but in no
way any change to the actual license terms. With this patch applied, all
files will still be licensed under the same terms they were before.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2018-01-04 22:41:38 +01:00
Ferruh Yigit
cb9c546f90 devtools: add git log checks for SCTP and IOVA
Acronyms must be uppercase.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-01-04 18:33:34 +01:00
Olivier Matz
2ba9a32c96 devtools: enhance error message in get maintainer script
When the DPDK_GETMAINTAINER_PATH variable was not set, the error
message from get-maintainer.sh was quite cheap:

	$ devtools/get-maintainer.sh --help
	usage: get-maintainer.sh <patch>
	Cannot execute DPDK_GETMAINTAINER_PATH

Add a more detailed explanation about this variable in the help.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-01-04 18:15:35 +01:00
Tiwei Bie
91a0eabf00 maintainers: claim responsibility for virtio PMD
Add myself as co-maintainer for virtio driver.

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2017-12-24 10:33:40 +01:00
Jingjing Wu
637ff7d9b2 maintainers: update for i40e
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
2017-12-24 10:33:40 +01:00
Tomasz Duszynski
be10015cdd maintainers: update mrvl crypto
Fix typo in email address.

Fixes: 8a61c83af2 ("crypto/mrvl: add mrvl crypto driver")

Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
2017-12-24 10:33:40 +01:00
Jingjing Wu
b410f08b65 maintainers: update for testpmd
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
2017-12-24 10:33:40 +01:00
Marko Kovacevic
6baada7d64 maintainers: claim co-maintainership of docs
Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-12-24 10:33:40 +01:00
Sergio Gonzalez Monroy
175b916916 maintainers: resign from maintenance
I will not be directly working on the DPDK project anymore.

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-12-24 10:33:40 +01:00
Ferruh Yigit
996672d351 bus/dpaa: fix build when assert enabled
Enabling CONFIG_RTE_ENABLE_ASSERT cause build error because some fields
protected by RTE_LIBRTE_DPAA_HWDEBUG macro accessed within DPAA_ASSERT.

All DPAA_ASSERT macro usage causing the build error wrapped with
RTE_LIBRTE_DPAA_HWDEBUG macro.

Fixes: f38f61e982 ("bus/dpaa: add BMAN hardware interfaces")
Fixes: c47ff048b9 ("bus/dpaa: add QMAN driver core routines")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2017-12-23 16:26:14 +01:00
Ilya V. Matveychikov
65f88eb284 eal: update assertion macro
Update RTE_VERIFY macro to make it possible to use complex expressions
in RTE_ASSERT.

Now it’s possible to have % char inside the expression, for example:
RTE_ASSERT((sizeof(some_struct) % 64) == 0)

Before the patch, “%" sign acts like a conversion specification
beginning character.

Fixes: 148f963fb5 ("xen: core library changes")

Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-12-22 00:25:13 +00:00
Ferruh Yigit
e976052a11 mk: remove TILE-Gx machine type
This file was forgotten when removing TILE-Gx arch.

Fixes: 31123211bd ("remove unmaintained TILE-Gx architecture")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-12-16 00:58:43 +01:00
Stephen Hemminger
90f3229fc0 doc: update oldest supported kernel in Linux guide
The DPDK needs to stay up to date with current LTS Linux kernel support.
If the kernel is older than LTS it is likely to be insecure and buggy.
Therefore only require DPDK to work on oldest LTS kernel.

If distribution vendors want to support DPDK on older kernels, that is
their choice. But the upstream source does not need to be cluttered
with support for this.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
2017-12-15 15:23:31 +01:00
Timothy Redaelli
72224f55b2 app/testpmd: remove xenvirt again
The xenvirt PMD was removed from 17.11
while this link parameter was added.

Fixes: 5b590fbe09 ("app/testpmd: add traffic management forwarding mode")
Cc: stable@dpdk.org

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
2017-12-15 15:19:46 +01:00
Ferruh Yigit
d291fb3a8d kni: fix build with kernel 4.15
build error:
.../dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:2809:2:
 error: implicit declaration of function ‘setup_timer’;
 did you mean ‘sk_stop_timer’? [-Werror=implicit-function-declaration]
  setup_timer(&adapter->watchdog_timer, &igb_watchdog,
  ^~~~~~~~~~~
  sk_stop_timer
cc1: all warnings being treated as errors

error observed whed CONFIG_RTE_KNI_KMOD_ETHTOOL config option enabled.

Because Linux removed setup_timer macros for kernel version >= 4.15
Linux: 513ae785c63c ("timer: Remove setup_*timer() interface")

Replaced setup_timer with timer_setup for new kernel versions.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-12-15 15:05:42 +01:00
Thomas Monjalon
224374cc0e version: 18.02-rc0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-23 23:33:52 +01:00
John McNamara
cacfbcf82d doc: add template release notes for 18.02
Add template release notes for DPDK 18.02 with inline
comments and explanations of the various sections.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
2017-11-23 23:31:35 +01:00
Thomas Monjalon
d84aad6504 version: 17.11.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-15 19:00:28 +01:00
Thomas Monjalon
7fe928713e doc: fix GSO guide as PDF
The PDF cannot be built because of some images integration being
forced as SVG. They are converted for PDF format, so the extension
must be a wildcard in the RST file.

Fixes: f6010c7655 ("doc: add GSO programmer's guide")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-15 19:00:28 +01:00
Shahaf Shuler
0384f21dff net/mlx5: fix flow mark action on port start
Mark action flag was not set on the flow, causing the rx burst function
after port start to ignore the flow mark.

Fixes: 8086cf08b2 ("net/mlx5: handle RSS hash configuration in RSS flow")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-11-15 09:06:31 +01:00
Thomas Monjalon
1e447bcc61 maintainers: move NXP bus drivers in related section
A bus maintainers section has been introduced in 17.11.
Let's move all bus drivers in the same place.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-15 01:47:06 +01:00
Thomas Monjalon
8999f8f679 doc: add bus libraries to release notes
Fixes: 919eeaccb2 ("bus/dpaa: introduce NXP DPAA bus driver skeleton")
Fixes: 7e7df6d0a4 ("bus/fslmc: introduce fsl-mc bus driver")
Fixes: c752998b5e ("pci: introduce library and driver")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-15 01:39:09 +01:00
John McNamara
09dd01ad9a doc: announce behaviour change to i40e RSS
Add deprecation notice to highlight a future change in the
default configuration behavior for flexible payload for RSS.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Andrey Chilikin <andrey.chilikin@intel.com>
2017-11-15 01:18:15 +01:00
Maria Lingemark
421ca44ae2 pdump: fix typo in error log
Fixes: 278f945402 ("pdump: add new library for packet capture")

Signed-off-by: Maria Lingemark <maria.lingemark@ericsson.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-11-15 00:25:09 +01:00
Ilya V. Matveychikov
1a60a0daa6 mbuf: fix segments number type increase
Update types of variables to correspond to nb_segs type change from
uint8_t to uint16_t.

Fixes: 97cb466d65 ("mbuf: use 2 bytes for port and nb segments")
Cc: stable@dpdk.org

Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-11-15 00:25:09 +01:00
Andrew Rybchenko
048da2530d net/sfc: avoid Tx queue setup failure if thresholds are set
Tx queue prefetch, host and writeback thresholds are used for
performance fine-tuning and not applicable to Solarflare NICs.
It is safe to just log warning and do not fail Tx queue setup
to be more friendly to DPDK applications which hardcode it.

Fixes: b1b7ad933b ("net/sfc: set up and release Tx queues")
Cc: stable@dpdk.org

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2017-11-14 18:57:22 +01:00
Andrew Rybchenko
fdd7361b68 net/sfc: avoid Rx queue setup failure if thresholds are set
Rx queue prefetch, host and writeback thresholds are used for
performance fine-tuning and not applicable to Solarflare NICs.
It is safe to just log warning and do not fail Rx queue setup
to be more friendly to DPDK applications which hardcode it.

Fixes: ce35b05c63 ("net/sfc: implement Rx queue setup release operations")
Cc: stable@dpdk.org

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2017-11-14 18:55:41 +01:00
Thierry Herbelot
cb98affeef net/mlx5: fix build without soft counters
total_length is only visible when SOFT_COUNTERS are enabled

Fixes: 3f13f8c23a ("net/mlx5: support hardware TSO")
Cc: stable@dpdk.org

Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-11-14 18:44:24 +01:00
Nelio Laranjeiro
e49f113654 net/mlx5: fix flow director deletion
The specification are wrongly computed causing the rule to not be match
correctly for deletion.

Fixes: 4c3e9bcdd5 ("net/mlx5: support flow director")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2017-11-14 06:31:18 +01:00
Thomas Monjalon
4b08726301 version: 17.11-rc4
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-13 06:40:50 +01:00
Raslan Darawsheh
e1139d7511 doc: add tested platforms with Mellanox NICs
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
2017-11-13 06:36:27 +01:00
Rami Rosen
f88bf5a9c2 doc: fix a typo in EAL guide
Fix an error in DPDK programmer's guide (EAL section):
it should be rte_thread_get_affinity() instead of
rte_pthread_get_affinity().

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-11-13 06:36:27 +01:00
Rami Rosen
eae494e7b6 doc: fix a typo in pipeline app guide
This patch fixes a trivial typo in ip pipeline app guide.

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-11-13 06:36:27 +01:00
Pavel Shirshov
e483961492 usertools: fix a typo in bind script
Signed-off-by: Pavel Shirshov <pavel.shirshov@gmail.com>
2017-11-13 06:26:28 +01:00
Pavel Shirshov
e32cb57973 lib: fix typos
Signed-off-by: Pavel Shirshov <pavel.shirshov@gmail.com>
2017-11-13 06:26:17 +01:00
Jerin Jacob
82bf1caf5f bus/pci: fix a typo in doxygen file description
Fixes: 764bf26873 ("add FreeBSD support")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-11-12 19:50:43 +01:00
Pengzhen Liu
43d18765c0 net/virtio: fix memory leak on failure
In function eth_virtio_dev_init(), dynamic memory stored
in "eth_dev->data->mac_addrs" variable and it is not freed
when function return,
this is a possible memory leak.

Fixes: 8ced1542f7 ("net/virtio: eth_dev->data->mac_addrs is not freed")
Cc: stable@dpdk.org

Signed-off-by: Pengzhen Liu <liupengzhen3@huawei.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-11-12 19:50:43 +01:00
Jia He
9bc2cbb007 ring: guarantee load/load order in enqueue and dequeue
We watched a rte panic of mbuf_autotest in our qualcomm arm64 server
(Amberwing).

Root cause:
In __rte_ring_move_cons_head()
...
        do {
                /* Restore n as it may change every loop */
                n = max;

                *old_head = r->cons.head;                //1st load
                const uint32_t prod_tail = r->prod.tail; //2nd load

In weak memory order architectures (powerpc,arm), the 2nd load might be
reodered before the 1st load, that makes *entries is bigger than we wanted.
This nasty reording messed enque/deque up.

cpu1(producer)          cpu2(consumer)          cpu3(consumer)
                        load r->prod.tail
in enqueue:
load r->cons.tail
load r->prod.head

store r->prod.tail

                                                load r->cons.head
                                                load r->prod.tail
                                                ...
                                                store r->cons.{head,tail}
                        load r->cons.head

Then, r->cons.head will be bigger than prod_tail, then make *entries very
big and the consumer will go forward incorrectly.

After this patch, the old cons.head will be recaculated after failure of
rte_atomic32_cmpset

There is no such issue on X86, because X86 is strong memory order model.
But rte_smp_rmb() doesn't have impact on runtime performance on X86, so
keep the same code without architectures specific concerns.

Fixes: 50d7690548 ("ring: add burst API")
Cc: stable@dpdk.org

Signed-off-by: Jia He <jia.he@hxt-semitech.com>
Signed-off-by: Jie Liu <jie2.liu@hxt-semitech.com>
Signed-off-by: Bing Zhao <bing.zhao@hxt-semitech.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Jianbo Liu <jianbo.liu@arm.com>
2017-11-12 18:59:14 +01:00
Pablo de Lara
2148d54349 maintainers: update PTP client example
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-11-12 08:10:23 +01:00
Pablo de Lara
d6455a4d29 maintainers: update job stats library
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-11-12 06:17:34 +01:00
Xiao Wang
cb1fa2d246 maintainers: update for fm10k
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
2017-11-12 06:17:34 +01:00
Nelio Laranjeiro
c789a3e9ca maintainers: resign from mlx4 maintenance
I have been a little too busy these past months and could not follow all
the re-work of this PMD.

So the best thing for this PMD would be to move the mlx4 maintenance to
more involved people.

Cc: stable@dpdk.org

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-11-12 06:17:34 +01:00
Jianfeng Tan
e5c2a02217 maintainers: claim maintainership of VDEV bus
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Zhiyong Yang <zhiyong.yang@intel.com>
2017-11-12 06:17:34 +01:00
Thomas Monjalon
a0fc322e40 maintainers: fill git trees for net and crypto API
The ethdev API (including rte_flow) is managed in the dpdk-next-net tree.
The crypto API is managed in the dpdk-next-crypto tree.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-12 06:17:34 +01:00
Luca Boccassi
5768fa9de2 doc: mention 17.11 LTS in contributing guide
Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-12 05:40:00 +01:00
Bruce Richardson
43bec6e263 doc: update API/ABI policy
Following agreement at the DPDK Technical Board meeting of 2017-10-13 [1],
update the documentation with the ABI/API policy changes.

[1] http://dpdk.org/ml/archives/dev/2017-October/079961.html

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-12 05:20:52 +01:00
Shahaf Shuler
3004d34541 doc: update deprecation of ethdev offload API
Update deprecation notice for the new ethdev offloads API.
Deprecation of the old offloads API is set to 18.05.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-12 05:20:52 +01:00
Gaetan Rivet
d87a0ce0ad doc: postpone devargs clean-up
These changes were planned for 17.11 but were proposed too late.
Postpone those to v18.02 instead.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-11-12 05:20:52 +01:00
John McNamara
c9b13d9440 doc: update release notes for 17.11
Fix grammar, spelling and formatting of DPDK 17.11 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
2017-11-12 05:20:52 +01:00
Yulong Pei
c0f6cd9a35 doc: add tested Intel platforms with Intel NICs
Add tested Intel platforms with Intel NICs to the release note.

Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2017-11-12 05:20:52 +01:00