dpdk.git
7 years agoapp/testpmd: add items eth/vlan to flow command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:36 +0000 (15:51 +0100)]
app/testpmd: add items eth/vlan to flow command

These pattern items match basic Ethernet headers (source, destination and
type) and related 802.1Q/ad VLAN headers.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add item raw to flow command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:35 +0000 (15:51 +0100)]
app/testpmd: add item raw to flow command

Matches arbitrary byte strings with properties:

- relative: look for pattern after the previous item.
- search: search pattern from offset (see also limit).
- offset: absolute or relative offset for pattern.
- limit: search area limit for start of pattern.
- length: pattern length.
- pattern: byte string to look for.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add various items to flow command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:34 +0000 (15:51 +0100)]
app/testpmd: add various items to flow command

- PF: match packets addressed to the physical function.
- VF: match packets addressed to a virtual function ID.
- PORT: device-specific physical port index to use.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add item any to flow command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:33 +0000 (15:51 +0100)]
app/testpmd: add item any to flow command

This pattern item matches any protocol in place of the current layer and
has two properties:

- min: minimum number of layers covered (0 or more).
- max: maximum number of layers covered (0 means infinity).

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: support flow bit-field
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:32 +0000 (15:51 +0100)]
app/testpmd: support flow bit-field

Several rte_flow structures expose bit-fields that cannot be set in a
generic fashion at byte level. Add bit-mask support to handle them.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow item spec prefix length
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:31 +0000 (15:51 +0100)]
app/testpmd: add flow item spec prefix length

Generating bit-masks from prefix lengths is often more convenient than
providing them entirely (e.g. to define IPv4 and IPv6 subnets).

This commit adds the "prefix" operator that assigns generated bit-masks to
any pattern item specification field.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow item spec handler
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:30 +0000 (15:51 +0100)]
app/testpmd: add flow item spec handler

Add parser code to fully set individual fields of pattern item
specification structures, using the following operators:

- fix: sets field and applies full bit-mask for perfect matching.
- spec: sets field without modifying its bit-mask.
- last: sets upper value of the spec => last range.
- mask: sets bit-mask affecting both spec and last from arbitrary value.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow query command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:29 +0000 (15:51 +0100)]
app/testpmd: add flow query command

Syntax:

 flow query {port_id} {rule_id} {action}

Query a specific action of an existing flow rule.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow validate/create commands
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:28 +0000 (15:51 +0100)]
app/testpmd: add flow validate/create commands

Syntax:

 flow (validate|create) {port_id}
    [group {group_id}] [priority {level}] [ingress] [egress]
    pattern {item} [/ {item} [...]] / end
    actions {action} [/ {action} [...]] / end

Either check the validity of a flow rule or create it. Any number of
pattern items and actions can be provided in any order. Completion is
available for convenience.

This commit only adds support for the most basic item and action types,
namely:

- END: terminates pattern items and actions lists.
- VOID: item/action filler, no operation.
- INVERT: inverted pattern matching, process packets that do not match.
- PASSTHRU: action that leaves packets up for additional processing by
  subsequent flow rules.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow destroy command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:27 +0000 (15:51 +0100)]
app/testpmd: add flow destroy command

Syntax:

 flow destroy {port_id} rule {rule_id} [...]

Destroy a given set of flow rules associated with a port.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow flush command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:26 +0000 (15:51 +0100)]
app/testpmd: add flow flush command

Syntax:

 flow flush {port_id}

Destroy all flow rules on a port.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow list command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:25 +0000 (15:51 +0100)]
app/testpmd: add flow list command

Syntax:

 flow list {port_id} [group {group_id}] [...]

List configured flow rules on a port. Output can optionally be limited to a
given set of group identifiers.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: support flow integer
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:24 +0000 (15:51 +0100)]
app/testpmd: support flow integer

Parse all integer types and handle conversion to network byte order in a
single function.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: add flow command
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:23 +0000 (15:51 +0100)]
app/testpmd: add flow command

Managing generic flow API functions from command line requires the use of
dynamic tokens for convenience as flow rules are not fixed and cannot be
defined statically.

This commit adds specific flexible parser code and object for a new "flow"
command in separate file.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoapp/testpmd: implement basic support for flow API
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:22 +0000 (15:51 +0100)]
app/testpmd: implement basic support for flow API

Add basic management functions for the generic flow API (validate, create,
destroy, flush, query and list). Flow rule objects and properties are
arranged in lists associated with each port.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agocmdline: add alignment constraint
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:21 +0000 (15:51 +0100)]
cmdline: add alignment constraint

This prevents sigbus errors on architectures that cannot handle unexpected
unaligned accesses to the output buffer.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agocmdline: support dynamic tokens
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:20 +0000 (15:51 +0100)]
cmdline: support dynamic tokens

Considering tokens must be hard-coded in a list part of the instruction
structure, context-dependent tokens cannot be expressed.

This commit adds support for building dynamic token lists through a
user-provided function, which is called when the static token list is empty
(a single NULL entry).

Because no structures are modified (existing fields are reused), this
commit has no impact on the current ABI.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agodoc: announce deprecation of legacy filter types
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:19 +0000 (15:51 +0100)]
doc: announce deprecation of legacy filter types

They are superseded by the generic flow API (rte_flow). Target release is
not defined yet.

Suggested-by: Kevin Traynor <ktraynor@redhat.com>
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agodoc: add generic flow API guide
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:18 +0000 (15:51 +0100)]
doc: add generic flow API guide

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agoethdev: introduce generic flow API
Adrien Mazarguil [Wed, 21 Dec 2016 14:51:17 +0000 (15:51 +0100)]
ethdev: introduce generic flow API

This new API supersedes all the legacy filter types described in
rte_eth_ctrl.h. It is slightly higher level and as a result relies more on
PMDs to process and validate flow rules.

Benefits:

- A unified API is easier to program for, applications do not have to be
  written for a specific filter type which may or may not be supported by
  the underlying device.

- The behavior of a flow rule is the same regardless of the underlying
  device, applications do not need to be aware of hardware quirks.

- Extensible by design, API/ABI breakage should rarely occur if at all.

- Documentation is self-standing, no need to look up elsewhere.

Existing filter types will be deprecated and removed in the near future.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olga Shern <olgas@mellanox.com>
7 years agoethdev: cleanup device ops struct whitespace
Ferruh Yigit [Thu, 22 Dec 2016 13:10:13 +0000 (13:10 +0000)]
ethdev: cleanup device ops struct whitespace

- Grouped related items using empty lines
- Aligned arguments to same column
- All item comments that doesn't fit same line are placed blow the item
  itself
- Moved some comments to same line if overall line < 100 chars

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoethdev: remove invalid function from version map
Ferruh Yigit [Thu, 22 Dec 2016 12:00:16 +0000 (12:00 +0000)]
ethdev: remove invalid function from version map

Fixes: 9d41beed24b0 ("lib: provide initial versioning")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/bonding: reconfigure all slave queues every time
Ilya Maximets [Thu, 24 Nov 2016 11:26:49 +0000 (12:26 +0100)]
net/bonding: reconfigure all slave queues every time

This reverts commit 5b7bb2bda5519b7800f814df64d4e015282140e5.

It is necessary to reconfigure all queues every time because configuration
can be changed.

For example, if we're reconfiguring bonding device with new memory pool,
already configured queues will still use the old one. And if the old
mempool be freed, application likely will panic in attempt to use
freed mempool.

This happens when we use the bonding device with OVS 2.6 while MTU
reconfiguration:

PANIC in rte_mempool_get_ops():
assert "(ops_index >= 0) && (ops_index < RTE_MEMPOOL_MAX_OPS_IDX)" failed

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Jan Blunck <jblunck@infradead.org>
7 years agonet/bonding: force reconfiguration of removed slaves
Jan Blunck [Thu, 24 Nov 2016 11:26:48 +0000 (12:26 +0100)]
net/bonding: force reconfiguration of removed slaves

After a slave interface is removed from a bond group it still has the
configuration of the bond interface. Lets enforce that the slave interface
is reconfigured after removal by resetting it.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
7 years agoethdev: add internal reset function
Jan Blunck [Thu, 24 Nov 2016 11:26:47 +0000 (12:26 +0100)]
ethdev: add internal reset function

This is a helper for DPDK internal users to force a reconfiguration of a
device.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
7 years agoethdev: free queue array after releasing all queues
Jan Blunck [Thu, 24 Nov 2016 11:26:46 +0000 (12:26 +0100)]
ethdev: free queue array after releasing all queues

If all queues are released lets also free up the dev->data->rx/tx_queues
to be able to properly reinitialize.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
7 years agoethdev: release queue before setting up
Jan Blunck [Thu, 24 Nov 2016 11:26:45 +0000 (12:26 +0100)]
ethdev: release queue before setting up

If a queue has been setup before lets release it before we setup.
Otherwise we might leak resources.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
7 years agoethdev: initialize more fields on allocation
Jan Blunck [Thu, 17 Nov 2016 17:16:12 +0000 (18:16 +0100)]
ethdev: initialize more fields on allocation

This moves the non-PCI related initialization of the link state interrupt
callback list and the setting of the default MTU to rte_eth_dev_allocate()
so that drivers only need to set non-default values.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoethdev: clear data when allocating device
Jan Blunck [Thu, 17 Nov 2016 17:16:11 +0000 (18:16 +0100)]
ethdev: clear data when allocating device

Lets clear the eth_dev->data when allocating a new rte_eth_dev so that
drivers only need to set non-zero values.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agopci: remove unused unbind support
Stephen Hemminger [Wed, 7 Dec 2016 18:04:36 +0000 (10:04 -0800)]
pci: remove unused unbind support

No device driver sets the unbind flag in current public code base.
Therefore it is good time to remove the unused dead code.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
7 years agoeal: postpone vdev initialization
Jerin Jacob [Sun, 20 Nov 2016 08:00:50 +0000 (13:30 +0530)]
eal: postpone vdev initialization

Some platform like octeontx may use pci and
vdev based combined device to represent a logical
dpdk functional device.In such case, postponing the
vdev initialization after pci device
initialization will provide the better view of
the pci device resources in the system in
vdev's probe function, and it allows better
functional subsystem registration in vdev probe
function.

As a bonus, This patch fixes a bond device
initialization use case.

example command to reproduce the issue:
./testpmd -c 0x2  --vdev 'eth_bond0,mode=0,
slave=0000:02:00.0,slave=0000:03:00.0' --
--port-topology=chained

root cause:
In existing case(vdev initialization and then pci
initialization), creates three Ethernet ports with
following port ids
0 - Bond device
1 - PCI device 0
2 - PCI devive 1

Since testpmd, calls the configure/start on all the ports on
start up,it will translate to following illegal setup sequence

1)bond device configure/start
1.1) pci device0 stop/configure/start
1.2) pci device1 stop/configure/start
2)pci device 0 configure(illegal setup case,
as device in start state)

The fix changes the initialization sequence and
allow initialization in following valid setup order
1) pcie device 0 configure/start
2) pcie device 1 configure/start
3) bond device 2 configure/start
3.1) pcie device 0/stop/configure/start
3.2) pcie device 1/stop/configure/start

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
7 years agoeal: restrict cores auto detection
Jianfeng Tan [Fri, 2 Dec 2016 17:48:56 +0000 (17:48 +0000)]
eal: restrict cores auto detection

This patch uses pthread_getaffinity_np() to narrow down used
cores when none of below options is specified:
  * coremask (-c)
  * corelist (-l)
  * and coremap (--lcores)

The purpose of this patch is to leave out these core related options
when DPDK applications are deployed under container env, so that
users do not need decide the core related parameters when developing
applications. Instead, when applications are deployed in containers,
use cpu-set to constrain which cores can be used inside this container
instance. And DPDK application inside containers just rely on this
auto detect mechanism to start polling threads.

Note: previously, some users are using isolated CPUs, which could
be excluded by default. Please add commands like taskset to use
those cores.

Test example:
$ taskset 0xc0000 ./examples/helloworld/build/helloworld -m 1024

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
7 years agoeal: clarify the argc and argv documentation
Aaron Conole [Thu, 8 Dec 2016 15:56:45 +0000 (10:56 -0500)]
eal: clarify the argc and argv documentation

It's been a source of confusion in the past, and even with this update
may continue to be a source of confusion.  However, the original
language seems to imply that the DPDK EAL will take ownership of the
array passed in.  Loosening the language up a bit might give a better
understanding for what is actually happening.

Signed-off-by: Aaron Conole <aconole@redhat.com>
7 years agodrivers: advertise kmod dependencies in pmdinfo
Olivier Matz [Thu, 15 Dec 2016 13:46:39 +0000 (14:46 +0100)]
drivers: advertise kmod dependencies in pmdinfo

Add a new macro RTE_PMD_REGISTER_KMOD_DEP() that allows a driver to
declare the list of kernel modules required to run properly.

Today, most PCI drivers require uio/vfio.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agoexamples/ethtool: fix driver information
Qiming Yang [Tue, 22 Nov 2016 01:41:24 +0000 (09:41 +0800)]
examples/ethtool: fix driver information

Function pcmd_drvinfo_callback uses struct info to get
the ethtool information of each port. Struct info will
store the information of previous port until this
information be updated. This patch fixes this issue.

Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
7 years agoexamples/ethtool: fix querying non-PCI devices
Remy Horton [Wed, 30 Nov 2016 02:47:29 +0000 (10:47 +0800)]
examples/ethtool: fix querying non-PCI devices

Doing a device information query on a non-PCI device such as
vhost was resulting in the dereferencing of a NULL pointer
(the absent PCI data), causing a segmentation fault.

Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")

Signed-off-by: Remy Horton <remy.horton@intel.com>
7 years agodoc: fix typo in testpmd guide
Rami Rosen [Thu, 15 Dec 2016 21:03:20 +0000 (23:03 +0200)]
doc: fix typo in testpmd guide

This patch fixes a trivial typo in testpmd application user guide.

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix typo in sample app guide
Baruch Siach [Tue, 13 Dec 2016 13:40:26 +0000 (15:40 +0200)]
doc: fix typo in sample app guide

Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Remy Horton <remy.horton@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix source extract command in Linux guide
Baruch Siach [Tue, 13 Dec 2016 11:18:55 +0000 (13:18 +0200)]
doc: fix source extract command in Linux guide

DPDK source archives are .tar.xz or .tar.gz, not .zip. Use .tar.xz in the
instructions, since that is what the main download page links to.

Also, correct the archive file and directory name capitalization.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix required tools list layout in Linux guide
Baruch Siach [Mon, 19 Dec 2016 19:28:40 +0000 (21:28 +0200)]
doc: fix required tools list layout in Linux guide

The Python requirement should appear in the bullet list.

Also, indent the x32 note, since it is related to the previous bullet.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix mistakes in contribution guide
Yong Wang [Fri, 9 Dec 2016 11:52:29 +0000 (06:52 -0500)]
doc: fix mistakes in contribution guide

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: add details of sub-trees and maintainers
John McNamara [Fri, 16 Dec 2016 17:50:34 +0000 (17:50 +0000)]
doc: add details of sub-trees and maintainers

Add a new section to the Code Contributors Guide to outline
the roles of tree and component maintainers and how they
can be added and removed.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: introduce PVP reference benchmark
Maxime Coquelin [Tue, 6 Dec 2016 12:24:40 +0000 (13:24 +0100)]
doc: introduce PVP reference benchmark

Having reference benchmarks is important in order to obtain
reproducible performance figures.

This patch describes required steps to configure a PVP setup
using testpmd in both host and guest.

Not relying on external vSwitch ease integration in a CI loop by
not being impacted by DPDK API changes.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agomaintainers: update for qede PMD and bnx2x PMD
Rasesh Mody [Wed, 7 Dec 2016 19:22:19 +0000 (11:22 -0800)]
maintainers: update for qede PMD and bnx2x PMD

Following Cavium's acquisition of QLogic we need to update all the
qlogic PMD maintainer's entries to point to our new e-mail addresses.
Update driver's maintainers as they are no longer working for Cavium.

Thanks to Sony Chacko for his support and development of our various
dpdk drivers.

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
7 years agovdev: fix detaching with alias
Anatoly Burakov [Fri, 18 Nov 2016 16:32:49 +0000 (16:32 +0000)]
vdev: fix detaching with alias

Fixes: d63eed6b2dca ("eal: add driver name alias")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agoethdev: fix port lookup if none
Anatoly Burakov [Sat, 19 Nov 2016 13:10:11 +0000 (13:10 +0000)]
ethdev: fix port lookup if none

Aside from avoiding doing useless work, this also fixes a segfault
when calling rte_eth_dev_get_port_by_name() whenever no devices
were found yet, and therefore rte_eth_dev_data wasn't yet allocated.

Fixes: 9c5b8d8b9feb ("ethdev: clean port id retrieval when attaching")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agokni: avoid using lsb_release script
Robin Jarry [Fri, 25 Nov 2016 12:22:17 +0000 (13:22 +0100)]
kni: avoid using lsb_release script

The lsb_release script is part of an optional package which is not
always installed. On the other hand, /etc/lsb-release is always present
even on minimal Ubuntu installations.

    root@ubuntu1604:~# dpkg -S /etc/lsb-release
    base-files: /etc/lsb-release

Read the file if present and use the variables defined in it.

Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoconfig: remove insecure warnings
Thomas Monjalon [Sun, 4 Dec 2016 22:08:45 +0000 (23:08 +0100)]
config: remove insecure warnings

There was an option CONFIG_RTE_INSECURE_FUNCTION_WARNING (disabled by
default), which prevents from using some libc functions:
sprintf, snprintf, vsnprintf, strcpy, strncpy, strcat, strncat, sscanf,
strtok, strsep and strlen.

It's all about using them at the right place with the right precautions.
However, it is neither really possible nor a good advice to disable them.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
7 years agodoc: fix description of attach to indirect mbuf
Baruch Siach [Tue, 6 Dec 2016 08:25:25 +0000 (10:25 +0200)]
doc: fix description of attach to indirect mbuf

Since commit 4a96e8b652181 ("mbuf: allow to clone an indirect mbuf")
attaching to an indirect mbuf creates a clone of that mbuf. Update the mbuf
documentation to match.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix mistakes in prog guide
Baruch Siach [Tue, 29 Nov 2016 09:25:43 +0000 (11:25 +0200)]
doc: fix mistakes in prog guide

- Remove wrong document description:
The Programmer’s Guide intro is not the Release Notes.

- Fix heading of section which only deals with Tx queues configuration.

- Fix wrong verbatim text paragraphs:
Reduce the indentation of these paragraphs since they are not part of the
verbatim block.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix relative path of NIC table input file
John McNamara [Sun, 4 Dec 2016 16:47:37 +0000 (16:47 +0000)]
doc: fix relative path of NIC table input file

Fix relative path between sphinx conf.py file and Nic table file
to allow automatic build on ReadTheDocs.

Fixes: 9db3f52126fb ("doc: generate NIC overview table from ini files")

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agodoc: add pdump library to API doxygen
Reshma Pattan [Thu, 1 Dec 2016 11:02:10 +0000 (11:02 +0000)]
doc: add pdump library to API doxygen

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: remove repeated words in contribution guide
Yong Wang [Tue, 6 Dec 2016 12:30:49 +0000 (07:30 -0500)]
doc: remove repeated words in contribution guide

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix typos in code comments
Yong Wang [Tue, 29 Nov 2016 22:23:39 +0000 (17:23 -0500)]
doc: fix typos in code comments

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agomempool: fix API documentation
Olivier Matz [Tue, 22 Nov 2016 10:04:58 +0000 (11:04 +0100)]
mempool: fix API documentation

A previous commit changed the local_cache table into a
pointer, reducing the size of the rte_mempool structure.

Fix the API comment of rte_mempool_create() related to
this modification.

Fixes: 213af31e0960 ("mempool: reduce structure size if no cache needed")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agomempool: remove a redundant word in comment
Wei Zhao [Mon, 5 Dec 2016 03:40:00 +0000 (11:40 +0800)]
mempool: remove a redundant word in comment

There is a redundant repetition word "for" in comment line of the
file rte_mempool.h after the definition of RTE_MEMPOOL_OPS_NAMESIZE.
The word "for" appears twice in line 359 and 360. One of them is
redundant, so delete it.

Fixes: 449c49b93a6b ("mempool: support handler operations")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
7 years agomempool: remove redundant socket id assignment
Wei Zhao [Mon, 5 Dec 2016 03:39:04 +0000 (11:39 +0800)]
mempool: remove redundant socket id assignment

There is a redundant repetition mempool socket_id assignment in the
file rte_mempool.c in function rte_mempool_create_empty. The
statement "mp->socket_id = socket_id;"appear twice in line 821
and 824. One of them is redundant, so delete it.

Fixes: 85226f9c526b ("mempool: introduce a function to create an empty pool")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
7 years agoapp/testpmd: display port driver name
David Marchand [Wed, 23 Nov 2016 10:55:26 +0000 (11:55 +0100)]
app/testpmd: display port driver name

This makes it easier to check which driver name is reported through ethdev
rte_eth_dev_info_get().

Example:

./build/app/testpmd -c 0x6 --vdev net_af_packet0,iface=mgmt0 --
-i  --total-num-mbufs 2049
[snip]
testpmd> show port info all

********************* Infos for port 0  *********************
MAC address: DE:AD:DE:01:02:03
Driver name: net_af_packet
Connect to socket: 0
memory allocation on the socket: 0

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agoapp/testpmd: unify help strings
Ferruh Yigit [Fri, 2 Dec 2016 01:58:45 +0000 (01:58 +0000)]
app/testpmd: unify help strings

Formatted as:
cmd fixed_string fixed|string|options <variable>: Description

If there is no description, final colon emitted.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agoethdev: check maximum number of queues for statistics
Bert van Leeuwen [Mon, 21 Nov 2016 09:59:38 +0000 (09:59 +0000)]
ethdev: check maximum number of queues for statistics

Arrays inside rte_eth_stats have size=RTE_ETHDEV_QUEUE_STAT_CNTRS.
Some devices report more queues than that and this code blindly uses
the reported number of queues by the device to fill those arrays up.
This patch fixes the problem using MIN between the reported number of
queues and RTE_ETHDEV_QUEUE_STAT_CNTRS.

Fixes: ce757f5c9a4d ("ethdev: new method to retrieve extended statistics")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
7 years agopci: fix check of mknod
Wei Dai [Thu, 17 Nov 2016 06:47:15 +0000 (14:47 +0800)]
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: f7f97c16048e ("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>
7 years agolog: do not drop debug logs at compile time
Olivier Matz [Wed, 23 Nov 2016 15:34:25 +0000 (16:34 +0100)]
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>
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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>