dpdk.git
8 years agombuf: fix performance with 128-byte cache line
Jerin Jacob [Fri, 29 Jan 2016 07:45:53 +0000 (13:15 +0530)]
mbuf: fix performance with 128-byte cache line

No need to split mbuf structure to two cache lines for 128-byte cache
line size targets as it can fit on a single 128-byte cache line.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
8 years agoeal: introduce new cache line macros
Jerin Jacob [Fri, 29 Jan 2016 07:45:52 +0000 (13:15 +0530)]
eal: introduce new cache line macros

- RTE_CACHE_LINE_MIN_SIZE(Supported minimum cache line size)
- __rte_cache_min_aligned(Force minimum cache line alignment)
- RTE_CACHE_LINE_SIZE_LOG2(Express cache line size in terms of log2)

Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
8 years agoconfig: clean cache line size selection scheme
Jerin Jacob [Mon, 7 Dec 2015 14:22:50 +0000 (19:52 +0530)]
config: clean cache line size selection scheme

by default, all the targets will be configured with the 64-byte cache line
size, targets which have different cache line size can be overridden
through target specific config file.

Selected ThunderX and power8 as CONFIG_RTE_CACHE_LINE_SIZE=128 targets
based on existing configuration.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agoconfig: add a common x86 flag
Thomas Monjalon [Fri, 5 Feb 2016 21:23:15 +0000 (22:23 +0100)]
config: add a common x86 flag

Intel Architecture (IA), also called x86, is declined in
- i686
- x86_x32
- x86_64

The code common to all of these architectures can now be guarded
by a single flag RTE_ARCH_X86.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
8 years agoconfig: remove obsolete machine descriptions
Thomas Monjalon [Fri, 5 Feb 2016 21:20:08 +0000 (22:20 +0100)]
config: remove obsolete machine descriptions

More and more machines and architectures are added without keeping
the lists up-to-date.
Replace the lists with a pointer to the reference directory.
The same kind of pointer is used for the supported compilers and environments.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
8 years agoconfig: remove useless explicit includes of generated header
Thomas Monjalon [Mon, 8 Feb 2016 14:18:22 +0000 (15:18 +0100)]
config: remove useless explicit includes of generated header

The file rte_config.h is automatically generated and included.
No need to #include it.

The example performance-thread needs a makefile fix to avoid
overwriting the default cflags.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agodoc: rename release notes 2.3 to 16.04
Bruce Richardson [Wed, 10 Feb 2016 17:02:12 +0000 (17:02 +0000)]
doc: rename release notes 2.3 to 16.04

Updated release documentation to reflect new numbering scheme.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agoversion: switch to year.month numbers
Bruce Richardson [Wed, 10 Feb 2016 17:02:11 +0000 (17:02 +0000)]
version: switch to year.month numbers

As discussed on list, switch numbering scheme to be based on year/month.
Release 2.3 then becomes 16.04.

    Ref: http://dpdk.org/ml/archives/dev/2015-December/030336.html

Also, added zero padding to the month so that it appear as 16.04 and
not 16.4 in "make showversion" and rte_version().

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agodoc: drop old naming of the project
Thomas Monjalon [Mon, 8 Feb 2016 10:30:07 +0000 (11:30 +0100)]
doc: drop old naming of the project

It was requested by Intel, more than one year ago, to replace the name
"Intel DPDK" by "DPDK".
Some references to the old name were still in some docs and code comments,
leading to confusion.

Fixes: ac8ada004c12 ("doc: remove Intel references from release notes")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
8 years agoremove extra parentheses in return statement
Huawei Xie [Wed, 27 Jan 2016 13:58:30 +0000 (21:58 +0800)]
remove extra parentheses in return statement

fix the error reported by checkpatch:
  "ERROR: return is not a function, parentheses are not required"

remove parentheses in return like:
  "return (logical expressions)"

remove parentheses in return a function like:
  "return (rte_mempool_lookup(...))"

Fixes: 6307b909b8e0 ("lib: remove extra parenthesis after return")

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
8 years agoeal/linux: support built-in kernel modules
Kamil Rytarowski [Thu, 28 Jan 2016 13:13:54 +0000 (14:13 +0100)]
eal/linux: support built-in kernel modules

Currently rte_eal_check_module() detects Linux kernel modules via reading
/proc/modules. Built-in ones aren't listed there and therefore they are not
being found.

Add support for checking built-in modules with parsing the sysfs files

This commit obsoletes the /proc/modules parsing approach.

Signed-off-by: Kamil Rytarowski <kamil.rytarowski@caviumnetworks.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
8 years agotools: support binding to built-in kernel modules
Kamil Rytarowski [Thu, 28 Jan 2016 13:13:53 +0000 (14:13 +0100)]
tools: support binding to built-in kernel modules

Currently dpdk_nic_bind.py detects Linux kernel modules via reading
/proc/modules. Built-in ones aren't listed there and therefore they are
not being found by the script.

Add support for checking built-in modules with parsing the sysfs files.

This commit obsoletes the /proc/modules parsing approach.

Signed-off-by: Kamil Rytarowski <kamil.rytarowski@caviumnetworks.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
8 years agotools: support Python 3 in bind script
Dawid Jurczak [Wed, 27 Jan 2016 19:59:44 +0000 (20:59 +0100)]
tools: support Python 3 in bind script

This patch fixes syntax errors during binding ethernet device
on systems where Python 3 is default.
Backward compatibility with Python 2 is preserved.

Signed-off-by: Dawid Jurczak <dawid_jurek@vp.pl>
8 years agotools: fix unbinding failure handling
Jeff Shaw [Tue, 9 Feb 2016 00:33:46 +0000 (16:33 -0800)]
tools: fix unbinding failure handling

We should call sys.exit(), not divide sys by exit().

Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
8 years agodoc: introduce networking driver matrix
Thomas Monjalon [Wed, 27 Jan 2016 20:07:09 +0000 (21:07 +0100)]
doc: introduce networking driver matrix

In order to better compare the drivers and check what is missing
for a common baseline, we need to fill a matrix.

A CSS trick is used to fit the HTML page.
The PDF output needs some LaTeX wizardry.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agodoc: add a further example in ACL guide
Antonio Fischetti [Mon, 11 Jan 2016 17:44:54 +0000 (17:44 +0000)]
doc: add a further example in ACL guide

Add a further ACL example where the elements of the search key
are not entirely fitting into the 4 consecutive bytes of all
input fields.

Signed-off-by: Antonio Fischetti <antonio.fischetti@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agodoc: fix multi-process guide
Ferruh Yigit [Tue, 2 Feb 2016 13:11:48 +0000 (13:11 +0000)]
doc: fix multi-process guide

* remove outdated chapter reference to Multi-process support.

* html output converts "--" to "-", this is wrong when explaining the
  command arguments, used fixed width quotes for them.

Fixes: fc1f2750a3ec ("doc: programmers guide")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
8 years agoeal/x86: fix build with clang for old AVX
Zhihong Wang [Thu, 4 Feb 2016 02:12:34 +0000 (21:12 -0500)]
eal/x86: fix build with clang for old AVX

When configuring RTE_MACHINE to "default", rte_memcpy implementation
is the default one (old AVX).
In this code, clang raises a warning thanks to -Wsometimes-uninitialized:

rte_memcpy.h:838:6: error:
variable 'srcofs' is used uninitialized whenever 'if' condition is false
        if (dstofss > 0) {
            ^~~~~~~~~~~
rte_memcpy.h:849:6: note: uninitialized use occurs here
        if (srcofs == 0) {
            ^~~~~~

It is fixed by moving srcofs initialization out of the condition.
Also dstofss calculation is corrected.

Fixes: 1ae817f9f887 ("eal/x86: tune memcpy for platforms without AVX512")

Reported-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agovirtio: move ioport macros
Yuanhan Liu [Tue, 2 Feb 2016 13:48:20 +0000 (21:48 +0800)]
virtio: move ioport macros

virtio_pci.c is the only file references macros VIRTIO_READ/WRITE_REG_X.
Move them there.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: support specification 1.0
Yuanhan Liu [Tue, 2 Feb 2016 13:48:19 +0000 (21:48 +0800)]
virtio: support specification 1.0

Modern (v1.0) virtio pci device defines several pci capabilities.
Each cap has a configure structure corresponding to it, and the
cap.bar and cap.offset fields tell us where to find it.

Firstly, we map the pci resources by rte_eal_pci_map_device().
We then could easily locate a cfg structure by:

    cfg_addr = dev->mem_resources[cap.bar].addr + cap.offset;

Therefore, the entrance of enabling modern (v1.0) pci device support
is to iterate the pci capability lists, and to locate some configs
we care; and they are:

- common cfg

  For generic virtio and virtqueue configuration, such as setting/getting
  features, enabling a specific queue, and so on.

- nofity cfg

  Combining with `queue_notify_off' from common cfg, we could use it to
  notify a specific virt queue.

- device cfg

  Where virtio_net_config structure is located.

- isr cfg

  Where to read isr (interrupt status).

If any of above cap is not found, we fallback to the legacy virtio
handling.

If succeed, hw->vtpci_ops is assigned to modern_ops, where all
operations are implemented by reading/writing a (or few) specific
configuration space from above 4 cfg structures. And that's basically
how this patch works.

Besides those changes, virtio 1.0 introduces a new status field:
FEATURES_OK, which is set after features negotiation is done.

Last, set the VIRTIO_F_VERSION_1 feature flag.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agopci: export device mapping functions
Yuanhan Liu [Tue, 2 Feb 2016 13:48:18 +0000 (21:48 +0800)]
pci: export device mapping functions

Normally we could set RTE_PCI_DRV_NEED_MAPPING flag so that eal will
invoke pci_map_device internally for us. From that point view, there
is no need to export pci_map_device.

However, for virtio pmd driver, which is designed to work without
binding UIO (or something similar first), pci_map_device() will fail,
which ends up with virtio pmd driver being skipped. Therefore, we can
not set RTE_PCI_DRV_NEED_MAPPING blindly at virtio pmd driver.

Therefore, this patch exports pci_map_device, and let virtio pmd call
it when necessary.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Santosh Shukla <sshukla@mvista.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: David Marchand <david.marchand@6wind.com>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: retrieve header size from device setting
Yuanhan Liu [Tue, 2 Feb 2016 13:48:17 +0000 (21:48 +0800)]
virtio: retrieve header size from device setting

The mergeable virtio net hdr format has been the standard and the
only virtio net hdr format since virtio 1.0. Therefore, we can
not hardcode hdr_size to "sizeof(struct virtio_net_hdr)" any more
at virtio_recv_pkts(), otherwise, there would be a mismatch of
hdr size from rte_vhost_enqueue_burst() and virtio_recv_pkts(),
leading a packet corruption.

Instead, we should retrieve it from hw->vtnet_hdr_size; we will
do proper settings at eth_virtio_dev_init() in later patches.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: switch to 64 bit features
Yuanhan Liu [Tue, 2 Feb 2016 13:48:16 +0000 (21:48 +0800)]
virtio: switch to 64 bit features

Switch to 64 bit features, which virtio 1.0 supports.

While legacy virtio only supports 32 bit features, it complains aloud
and quit when trying to setting > 32 bit features.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: move left PCI stuff in the right file
Yuanhan Liu [Tue, 2 Feb 2016 13:48:15 +0000 (21:48 +0800)]
virtio: move left PCI stuff in the right file

virtio_pci.c is a more proper place for pci stuff; virtio_ethdev is not.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: introduce PCI implementation structure
Yuanhan Liu [Tue, 2 Feb 2016 13:48:14 +0000 (21:48 +0800)]
virtio: introduce PCI implementation structure

Introduce struct virtio_pci_ops, to let legacy virtio (v0.95) and
modern virtio (1.0) have different implementation regarding to a
specific pci action, such as read host status.

With that, this patch reimplements all exported pci functions, in
a way like:

vtpci_foo_bar(struct virtio_hw *hw)
{
hw->vtpci_ops->foo_bar(hw);
}

So that we need pay attention to those pci related functions only
while adding virtio 1.0 support.

This patch introduced a new vtpci function, vtpci_init(), to do
proper virtio pci settings. It's pretty simple so far: just sets
hw->vtpci_ops to legacy_ops as we don't support 1.0 yet.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: define offset as size_t type
Yuanhan Liu [Tue, 2 Feb 2016 13:48:13 +0000 (21:48 +0800)]
virtio: define offset as size_t type

offset arg of vtpci_read/write_dev_config is derived from offsetof(),
which is of size_t type, instead of uint64_t. So, define it as size_t
type.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agovirtio: do not set vring address again at queue startup
Yuanhan Liu [Tue, 2 Feb 2016 13:48:12 +0000 (21:48 +0800)]
virtio: do not set vring address again at queue startup

As we have already set up it at virtio_dev_queue_setup(), and a vq
restart will not reset the settings.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Tested-by: Qian Xu <qian.q.xu@intel.com>
Reviewed-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Tested-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Huawei Xie <huawei.xie@intel.com>
8 years agodoc: add example text to release notes
John McNamara [Mon, 1 Feb 2016 15:24:47 +0000 (15:24 +0000)]
doc: add example text to release notes

Added example text to each of the release notes sections to show
the preferred format.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agoeal: move cpu flags out of headers
Ferruh Yigit [Thu, 28 Jan 2016 12:20:23 +0000 (12:20 +0000)]
eal: move cpu flags out of headers

Move cpu_feature_table array from arch specific rte_cpuflags.h files to
new arch specific rte_cpuflags.c files.

Main motivation is to escape from static variable declarations in
header files. cpu_feature_table has many copies in final binary, even
exist in some object files that does not use this variable at all.

And this can be a sample to create architecture specific source files
and move some functions which are not performance sensitive from
architecture header files to source files.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
8 years agolib: remove keyword extern for functions
Ferruh Yigit [Thu, 28 Jan 2016 14:31:23 +0000 (14:31 +0000)]
lib: remove keyword extern for functions

Remove "extern" keywords in header files,
the ones for function prototypes

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
8 years agovfio: support no-IOMMU mode
Anatoly Burakov [Thu, 28 Jan 2016 11:57:54 +0000 (11:57 +0000)]
vfio: support no-IOMMU mode

This commit is adding a generic mechanism to support multiple IOMMU
types. For now, it's only type 1 (x86 IOMMU) and no-IOMMU (a special
VFIO mode that doesn't use IOMMU at all), but it's easily extended
by adding necessary definitions to eal_vfio.h, and DMA mapping
functions to eal_pci_vfio.c.

Since type 1 IOMMU module is no longer necessary to have VFIO,
we fix the module check to check for vfio-pci instead. It's not
ideal and triggers VFIO checks more often (and thus produces more
error output, which was the reason behind the module check in the
first place), so we compensate for that by providing more verbose
logging, indicating whether VFIO initialization has succeeded or
failed.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Santosh Shukla <sshukla@mvista.com>
Tested-by: Santosh Shukla <sshukla@mvista.com>
8 years agoeal/x86: fix build with gcc 5.3.1
Michael Qiu [Thu, 28 Jan 2016 07:30:34 +0000 (15:30 +0800)]
eal/x86: fix build with gcc 5.3.1

In fedora 22 with GCC version 5.3.1, when compile,
will result an error:

    include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
                                is not defined [-Werror=undef]
    #elif RTE_MACHINE_CPUFLAG_AVX2

Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agoapp/test: adjust alignment unit for memcpy performance
Zhihong Wang [Mon, 18 Jan 2016 03:05:13 +0000 (22:05 -0500)]
app/test: adjust alignment unit for memcpy performance

Decide alignment unit for memcpy perf test based on predefined macros.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agoeal/x86: tune memcpy for platforms without AVX512
Zhihong Wang [Mon, 18 Jan 2016 03:05:14 +0000 (22:05 -0500)]
eal/x86: tune memcpy for platforms without AVX512

For prior platforms, add condition for unalignment handling, to keep this
operation from interrupting the batch copy loop for aligned cases.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agoeal/x86: optimize memcpy for AVX512 platforms
Zhihong Wang [Mon, 18 Jan 2016 03:05:12 +0000 (22:05 -0500)]
eal/x86: optimize memcpy for AVX512 platforms

Implement AVX512 memcpy and choose the right implementation based on
predefined macros, to make full utilization of hardware resources and
deliver high performance.

In current DPDK, memcpy holds a large proportion of execution time in
libs like Vhost, especially for large packets, and this patch can bring
considerable benefits for AVX512 platforms.

The implementation is based on the current DPDK memcpy framework, some
background introduction can be found in these threads:
http://dpdk.org/ml/archives/dev/2014-November/008158.html
http://dpdk.org/ml/archives/dev/2015-January/011800.html

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agoeal/x86: identify AVX512 CPU flag
Zhihong Wang [Mon, 18 Jan 2016 03:05:10 +0000 (22:05 -0500)]
eal/x86: identify AVX512 CPU flag

Read CPUID to check if AVX512 is supported by CPU.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agomk: predefine AVX512 macro for compiler
Zhihong Wang [Mon, 18 Jan 2016 03:05:11 +0000 (22:05 -0500)]
mk: predefine AVX512 macro for compiler

Predefine AVX512 macro if AVX512 is enabled by compiler.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agoexamples/l3fwd: handle SIGINT and SIGTERM
Zhihong Wang [Wed, 30 Dec 2015 21:59:51 +0000 (16:59 -0500)]
examples/l3fwd: handle SIGINT and SIGTERM

Handle SIGINT and SIGTERM in l3fwd.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
8 years agoexamples/l2fwd: handle SIGINT and SIGTERM
Zhihong Wang [Wed, 30 Dec 2015 21:59:50 +0000 (16:59 -0500)]
examples/l2fwd: handle SIGINT and SIGTERM

Handle SIGINT and SIGTERM in l2fwd.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
8 years agoapp/testpmd: handle SIGINT and SIGTERM
Zhihong Wang [Wed, 30 Dec 2015 21:59:49 +0000 (16:59 -0500)]
app/testpmd: handle SIGINT and SIGTERM

Handle SIGINT and SIGTERM in testpmd.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
8 years agoethdev: move hotplug checks and logs in a common place
David Marchand [Fri, 22 Jan 2016 14:06:58 +0000 (15:06 +0100)]
ethdev: move hotplug checks and logs in a common place

Move these error logs and checks on detach capabilities in a common place.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
8 years agoethdev: remove useless null checks
David Marchand [Fri, 22 Jan 2016 14:06:57 +0000 (15:06 +0100)]
ethdev: remove useless null checks

We are in static functions and those passed arguments can't be NULL.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
8 years agoremove unneeded tests for NULL when freeing
David Marchand [Thu, 21 Jan 2016 11:23:19 +0000 (12:23 +0100)]
remove unneeded tests for NULL when freeing

free() already handles NULL pointer.

Signed-off-by: David Marchand <david.marchand@6wind.com>
8 years agoeal: remove unnecessary hugepage zero-filling
Zhihong Wang [Sun, 22 Nov 2015 19:13:35 +0000 (14:13 -0500)]
eal: remove unnecessary hugepage zero-filling

The kernel fills new allocated (huge) pages with zeros.
DPDK just has to populate page tables to trigger the allocation.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
8 years agoeal: reduce timer initialization time
Zhihong Wang [Sun, 22 Nov 2015 19:13:34 +0000 (14:13 -0500)]
eal: reduce timer initialization time

Changing from 1/2 second to 1/10 doesn't compromise the precision,
and a 4/10 second is worth saving.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
8 years agomk: fix examples install
Christian Ehrhardt [Fri, 8 Jan 2016 11:03:01 +0000 (12:03 +0100)]
mk: fix examples install

Depending on non-doc targets being built before and the setting of DESTDIR
the copy of the examples dir being part of install-doc could in some cases
fail with a non existent "$(DESTDIR)$(datadir)" target directory.
Add the conditional rte_mkdir for that to avoid the issue.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agodoc: fix navigation levels in html sidebar of guides
John McNamara [Fri, 15 Jan 2016 16:35:32 +0000 (16:35 +0000)]
doc: fix navigation levels in html sidebar of guides

Fix issue where the navigation levels weren't displayed in the
html sidebar with the new read_the_docs theme.

This was due to the :titlesonly: directive in the high level
index.rst and also due to a stray newline in the parsed version
number.

Reported-by: Matthew Hall <mhall@mhcomputing.net>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agoixgbe/base: new FW values
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:57 +0000 (15:17 +0800)]
ixgbe/base: new FW values

This patch addes some new defines for FW, and includes some minor change.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: add X550T1 device
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:46 +0000 (15:17 +0800)]
ixgbe/base: add X550T1 device

Adds a new single-port Sage Pond device X550T1.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: support new thermal alarm
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:54 +0000 (15:17 +0800)]
ixgbe/base: support new thermal alarm

This patch adds support for the new thermal sensor alarms indication.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: add new X550 iXFI configuration function
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:55 +0000 (15:17 +0800)]
ixgbe/base: add new X550 iXFI configuration function

This patch should allow native SPI SFP+ to work as we understand it now.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: move X550 MDIO clock speed init
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:52 +0000 (15:17 +0800)]
ixgbe/base: move X550 MDIO clock speed init

The x550 MDIO clock speed must be configured prior to first MDIO read or
write. The default MDIO clock speed is not valid, therefore the driver
is configuring a valid speed prior to reading the copper PHY device id.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: prevent X550 KR PHY reset in init
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:56 +0000 (15:17 +0800)]
ixgbe/base: prevent X550 KR PHY reset in init

This patch removes KR PHY reset from ixgbe_init_phy_ops_X550em. Since
this function is meant to initialize function pointers for detected PHY
type. Internal PHY reset was moved to ixgbe_setup_internal_phy_t_x550em
which will now detect which mode does internal PHY work in, and setup it
as required.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: support KR mode for X550 link
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:49 +0000 (15:17 +0800)]
ixgbe/base: support KR mode for X550 link

KR auto-neg mode is what we will be using going forward. The SW
interface for this mode is different than what was used for iXFI.

While debugging, it was determined that the ucode diagnostic was
no longer needed. This code has been removed to simplify the init
flow.

A subtle semaphore error in the CS4227 reset flow was fixed.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: remove X550 driver config of KX4 PHY
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:47 +0000 (15:17 +0800)]
ixgbe/base: remove X550 driver config of KX4 PHY

The KX4 PHY will be configured by the NVM image. The driver
had been overwriting this config.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: avoid needless copper PHY access
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:43 +0000 (15:17 +0800)]
ixgbe/base: avoid needless copper PHY access

Avoid a needless PHY access on copper phys to save the 10ms wait
time for each PHY access. A helper function is introduced to
actually do the register access and process the contents.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: check MAC type when setting X550 callbacks
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:51 +0000 (15:17 +0800)]
ixgbe/base: check MAC type when setting X550 callbacks

Check mac type when accessing iosf registers and using the PHY token
for PHY access.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: use mac-dependent values
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:45 +0000 (15:17 +0800)]
ixgbe/base: use mac-dependent values

This patch changes code to use registers offsets stored in mvals table
instead of values defined statically.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: add flow director drop queue
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:50 +0000 (15:17 +0800)]
ixgbe/base: add flow director drop queue

This patch adds ixgbe_set_fdir_drop_queue_82599 for enabling and
setting flow director drop queue, and adds sets drop no match in
ixgbe_init_fdir_perfect_82599 for x550.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: remove wait and check flow director signature addition
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:44 +0000 (15:17 +0800)]
ixgbe/base: remove wait and check flow director signature addition

Waiting for FDIRCMD completion is an expensive thing to do in the
transmit hot path. This wait was added to catch problems with perfect
filter rules, and, at least in the Linux driver, there is no error
check anyway, so there is no point to adding the delay. So do not wait
for completion. Change the return of the function to void, since it has
no meaningful return value.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: add flow control ethertype for filtering
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:48 +0000 (15:17 +0800)]
ixgbe/base: add flow control ethertype for filtering

This patch adds the flow control ethertype to the defines for the
ETQF filter list. This only adds the define. Each driver
can add this ethertype to the filter. This is needed to prevent
denial of service by malicious VFs sending out flow control
packets.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: fix Tx hang in CEE mode
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:53 +0000 (15:17 +0800)]
ixgbe/base: fix Tx hang in CEE mode

Currently credit_refill and credit_max could be zero for a TC and that
is causing Tx hang for CEE mode configuration, so to fix that have at
min credit assigned to a TC and that is as what IEEE mode already does.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agoixgbe/base: update readme
Wenzhuo Lu [Fri, 20 Nov 2015 07:17:42 +0000 (15:17 +0800)]
ixgbe/base: update readme

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agodoc: fix missing link target in Linux guide
John McNamara [Wed, 16 Dec 2015 10:42:50 +0000 (10:42 +0000)]
doc: fix missing link target in Linux guide

Fix missing link in the Linux GSG, accidentally removed
in previous merge:

WARNING: undefined label: linux_gsg_compiling_dpdk

Fixes: 29c673401c4d ("doc: improve Linux guide layout")

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
8 years agodoc: remove DPDK from guide titles
Thomas Monjalon [Thu, 17 Dec 2015 11:11:38 +0000 (12:11 +0100)]
doc: remove DPDK from guide titles

In HTML and PDF guides, it is clear in the header that the doc
is related to the DPDK.
So "DPDK" is redundant and can be removed from FAQ and release notes
titles to improve consistency.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agodoc: init next release notes
Thomas Monjalon [Thu, 17 Dec 2015 11:02:29 +0000 (12:02 +0100)]
doc: init next release notes

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agoversion: 2.3.0-rc0
Thomas Monjalon [Thu, 17 Dec 2015 11:03:57 +0000 (12:03 +0100)]
version: 2.3.0-rc0

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agoversion: 2.2.0
Thomas Monjalon [Tue, 15 Dec 2015 16:42:32 +0000 (17:42 +0100)]
version: 2.2.0

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agoapp/testpmd: fix dead code
Jingjing Wu [Tue, 15 Dec 2015 15:42:30 +0000 (23:42 +0800)]
app/testpmd: fix dead code

Coverity issue (CID 119254): Control flow issues (DEADCODE).

Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agoi40e: fix flow director index sign
Jingjing Wu [Tue, 15 Dec 2015 16:23:07 +0000 (00:23 +0800)]
i40e: fix flow director index sign

Coverity issue reported like
CID 119268 (#1 of 1): Unintended sign extension
(SIGN_EXTENSION)sign_extension: Suspicious implicit sign extension:
vsi_id with type unsigned short (16 bits, unsigned) is promoted in
vsi_id << 23 to type int (32 bits, signed), then sign-extended to type
unsigned long (64 bits, unsigned). If vsi_id << 23 is greater than
0x7FFFFFFF, the upper bits of the result will all be 1.

Fixes: 88ebc2b7f976 ("i40e: extend flow director to support VF")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agoi40e: fix max frame size
Jingjing Wu [Tue, 15 Dec 2015 14:52:48 +0000 (22:52 +0800)]
i40e: fix max frame size

In FreeBsd driver, the max frame size is changed to MTU, but not
keep the default value defined in DataSheet. When DPDK runs on that
NIC, the configured value is not expected.
This patch sets the max frame size to default when initialization.

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

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
8 years agoixgbe: restore imissed stat counter
Robin Jarry [Tue, 15 Dec 2015 16:05:01 +0000 (17:05 +0100)]
ixgbe: restore imissed stat counter

This counter was left unmodified. Restore it in ixgbe_dev_stats_get.

The ierrors counter still includes imissed for ixgbe. This behaviour is
not consistent amongst all drivers. Another patch may be needed to unify
the meaning of the ierrors counter.

Fixes: 5e50ad1c1b63 ("ixgbe: add specific stats")

Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
8 years agodoc: fix ABI change announce for RETA configuration
Nelio Laranjeiro [Tue, 15 Dec 2015 14:15:12 +0000 (15:15 +0100)]
doc: fix ABI change announce for RETA configuration

Replace "entries" by "queues", it clarifies the case.

Fixes: bd3cea78abd8 ("doc: announce ABI change for RETA configuration")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
8 years agodoc: announce ABI change for extending filtering
Rahul Lakkireddy [Tue, 15 Dec 2015 14:10:53 +0000 (19:40 +0530)]
doc: announce ABI change for extending filtering

Current filtering support will be enhanced to accommodate support
for Chelsio T5 hardware filtering support.

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agoscripts: fix ABI validator when revision is a tag
Panu Matilainen [Tue, 15 Dec 2015 13:55:15 +0000 (15:55 +0200)]
scripts: fix ABI validator when revision is a tag

Commit 9cbae2aa64eb managed to break the only previously supported
case where a tag is used as a revision, due to git show output
differing between tags and other objects. The hash is on the last
line of the output in both cases though so just grab that.

Fixes: 9cbae2aa64eb ("scripts: support any git revisions as ABI validation range")

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
8 years agodoc: improve Linux guide layout
John McNamara [Tue, 15 Dec 2015 13:34:08 +0000 (13:34 +0000)]
doc: improve Linux guide layout

Fixed Linux Getting Started Guide rst layout to improve
rendering in PDF.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agodoc: fix -n option in FreeBSD guide
John McNamara [Tue, 15 Dec 2015 13:47:07 +0000 (13:47 +0000)]
doc: fix -n option in FreeBSD guide

Fix EAL usage to indicate that -n is, now, optional.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agodoc: improve FreeBSD guide layout
John McNamara [Tue, 15 Dec 2015 11:53:41 +0000 (11:53 +0000)]
doc: improve FreeBSD guide layout

Fixed FreeBSD Getting Started Guide rst layout to improve
rendering in PDF.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agodoc: remove unused references from faq
John McNamara [Tue, 15 Dec 2015 11:12:01 +0000 (11:12 +0000)]
doc: remove unused references from faq

The faq refers to Linux*, with an asterisk, without any equivalent
note or footnote. This is a legacy from older versions of the docs.
This update removes it.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agodoc: clean up index files
John McNamara [Tue, 15 Dec 2015 10:10:49 +0000 (10:10 +0000)]
doc: clean up index files

Remove **Contents** and |Today| from the rst doc index files since
these are already added automatically to PDF files and are of
little value to the Html files where the Contents is shown in a
sidebar.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
8 years agodoc: fix rendering of design section
John McNamara [Tue, 15 Dec 2015 09:55:51 +0000 (09:55 +0000)]
doc: fix rendering of design section

Fix minor rst doc issues in the contributing/design.rst doc to correct
rendering of notes and code blocks.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
8 years agodoc: fix spellings
John McNamara [Tue, 15 Dec 2015 09:38:59 +0000 (09:38 +0000)]
doc: fix spellings

Fix various spellings in rst docs.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
8 years agodoc: add statistics fixes in release notes
Harry van Haaren [Tue, 15 Dec 2015 12:10:30 +0000 (12:10 +0000)]
doc: add statistics fixes in release notes

This patch updates the release notes to include the changes
made (by me), which were not appropriately documented at the time.
Hence, this patch fixes a number of missing docs,

Fixes: e81a315e5dc5 ("ixgbe: add MAC short packet discard count to Rx errors")
Fixes: 48dd1a82a615 ("ixgbe: remove mac fault counts from Rx errors")
Fixes: 256ff05a9cae ("ixgbe: fix Rx errors statistics for UDP checksum")

Also, the CRC byte removal was not added to release notes, so
Fixes: 156c5a8cf913 ("e1000: remove CRC size from byte counters")
Fixes: c03fcee9abbd ("ixgbe: remove CRC size from byte counters")
Fixes: 0834d1524dee ("i40e: remove CRC size from byte counters")

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
8 years agoethdev: remove old flow director symbols
Thomas Monjalon [Tue, 15 Dec 2015 10:27:37 +0000 (11:27 +0100)]
ethdev: remove old flow director symbols

The API has been removed but the symbols were still declared in the map.

Fixes: a421b86a4a02 ("ethdev: remove old flow director API")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agoeal: remove zombie symbols
Thomas Monjalon [Tue, 15 Dec 2015 09:26:20 +0000 (10:26 +0100)]
eal: remove zombie symbols

test_mp_secondary was initially added by mistake.
rte_snprintf has been removed.

Fixes: 9d41beed24b0 ("lib: provide initial versioning")
Fixes: 3185322809c1 ("eal: remove rte_snprintf")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agodoc: announce ABI change for link speed
Thomas Monjalon [Tue, 15 Dec 2015 07:14:55 +0000 (08:14 +0100)]
doc: announce ABI change for link speed

A rework was prepared by Marc Sune:
http://dpdk.org/ml/archives/dev/2015-October/026037.html
The goal is to retrieve the supported link speed of a device
and to allow 100G devices while having a consistent API.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Jan Viktorin <viktorin@rehivetech.com>
Acked-by: Matej Vido <matejvido@gmail.com>
8 years agodoc: announce ABI change for tunnel filtering
Jingjing Wu [Tue, 10 Nov 2015 03:49:46 +0000 (11:49 +0800)]
doc: announce ABI change for tunnel filtering

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agodoc: announce ABI change for flow director
Jingjing Wu [Tue, 10 Nov 2015 03:11:26 +0000 (11:11 +0800)]
doc: announce ABI change for flow director

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Andrey Chilikin <andrey.chilikin@intel.com>
8 years agodoc: announce ABI change for RETA configuration
Nelio Laranjeiro [Mon, 9 Nov 2015 16:48:20 +0000 (17:48 +0100)]
doc: announce ABI change for RETA configuration

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
8 years agodoc: announce ABI change for cmdline buffer size
Nelio Laranjeiro [Mon, 9 Nov 2015 16:48:19 +0000 (17:48 +0100)]
doc: announce ABI change for cmdline buffer size

Current buffer size are not enough for a few testpmd commands.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
8 years agodoc: fix release notes for 2.2
John McNamara [Mon, 14 Dec 2015 18:51:16 +0000 (18:51 +0000)]
doc: fix release notes for 2.2

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

Signed-off-by: John McNamara <john.mcnamara@intel.com>
8 years agomlx: fix typos and inaccuracies in docs
Olga Shern [Mon, 14 Dec 2015 18:28:19 +0000 (20:28 +0200)]
mlx: fix typos and inaccuracies in docs

Signed-off-by: Olga Shern <olgas@mellanox.com>
8 years agodoc: add patch submit cheatsheet
Harry van Haaren [Mon, 14 Dec 2015 10:03:48 +0000 (10:03 +0000)]
doc: add patch submit cheatsheet

This patch adds the patch submission cheatsheet to
the contributers guide. Both HTML and PDF docs show
the cheatsheet on its own page.

Right clicking the SVG image in the HTML doc allows
for viewing the image on its own, useful for printing
in high quality.

The exact appearance of of the cheatsheet will depend
on the default monospace font installed.

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
8 years agodoc: add contributors guide
John McNamara [Mon, 14 Dec 2015 20:45:54 +0000 (20:45 +0000)]
doc: add contributors guide

Add a document to explain the DPDK patch submission and review process.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
8 years agoscripts: add help for build testing
Thomas Monjalon [Sun, 13 Dec 2015 02:00:48 +0000 (03:00 +0100)]
scripts: add help for build testing

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
8 years agoexamples/ip_pipeline: add sample configurations and scripts
Jasvinder Singh [Mon, 14 Dec 2015 14:20:42 +0000 (14:20 +0000)]
examples/ip_pipeline: add sample configurations and scripts

This patch includes the configuration and script files of the some
applications which can be built using DPDK Packet Framework. A
configuration file defines the application structure which include
packet processing stages (knowns as pipelines), their connectivity
and other parameters necessary to start and run the application. A
script file specifies CLI commands required for loading table entries
(rules/routes, etc). The configuration/script files for simple
applications such as l2 forwarding, l3 forwarding have been presented.
In addition, to demonstrate the use and inter-connectivity of various
pipeline modules (which are avilable in packet framework), a complex
packet processing workload i.e. edge router is considered. The
configuration of the pipeline stages used for upstream and downstream
flow processing has been specified separately in two configuration
files. All these configuration and script files don't affect the
compilation.

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
8 years agobonding: fix reordering of IP fragments
Andriy Berestovskyy [Tue, 8 Dec 2015 14:47:03 +0000 (15:47 +0100)]
bonding: fix reordering of IP fragments

Fragmented IPv4 packets have no TCP/UDP headers, so we hashed
random data introducing reordering of the fragments.

Signed-off-by: Andriy Berestovskyy <aber@semihalf.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
8 years agobonding: fix LACP mempool size
Andriy Berestovskyy [Tue, 8 Dec 2015 13:23:05 +0000 (14:23 +0100)]
bonding: fix LACP mempool size

The following messages might appear after some idle time:
"PMD: Failed to allocate LACP packet from pool"

The fix ensures the mempool size is greater than the sum
of TX descriptors.

Signed-off-by: Andriy Berestovskyy <aber@semihalf.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
8 years agodoc: add known VF issue when PF is reset
Helin Zhang [Mon, 14 Dec 2015 01:12:34 +0000 (09:12 +0800)]
doc: add known VF issue when PF is reset

Add a known issue to warn that PF reset event/request is not
handled by any VF drivers till 2.2, and which should be fixed
in the future.

Reported-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
8 years agoexamples: skip unsupported ethtool and l3fwd-power on FreeBSD
Yong Liu [Mon, 14 Dec 2015 02:32:52 +0000 (10:32 +0800)]
examples: skip unsupported ethtool and l3fwd-power on FreeBSD

Userspace ethtool and l3fwd-power not support FreeBSD.
So skip them when build samples.

Signed-off-by: Marvin Liu <yong.liu@intel.com>