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>
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.
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>
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>
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>
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>
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>
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>
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.
Fix typos in sample console commands.
Remove "user@target:~$" prefixes in command lines.
Add --socket-mem 1024 to vhost-switch command lines.
Without the --socket-mem parameter all hugepages will be allocated
to vhost-switch, leaving no memory for the VM.
Add --disable-hw-vlan-filter parameter to testpmd command lines.
Without this parameter testpmd fails on startup in the VM.
Increase value of --sock-mem parameter to testpmd as original
value was too small.
Fixes: d0dff9ba445e ("doc: sample application user guide" Fixes: 9bc23cb8209c ("doc: add vhost-user to sample guide") Fixes: 43866bf71d58 ("doc: fix vhost sample parameter") Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Olga Shern [Sat, 12 Dec 2015 19:43:24 +0000 (21:43 +0200)]
mlx5: update documentation
- Update features, limitations, configuration and prerequisites sections.
- Add a note to describe RSS behavior differences with librte_pmd_mlx4 in
testpmd.
Signed-off-by: Olga Shern <olgas@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Olga Shern [Sat, 12 Dec 2015 16:20:51 +0000 (18:20 +0200)]
mlx4: update documentation
-Split "Features" and "Limitations" sections.
-Update limitations with missing information.
-Update prerequisites with supported MLNX_OFED release, firmware and
CPU architectures.
-Enhance usage example with openibd script.
Signed-off-by: Olga Shern <olgas@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
John McNamara [Wed, 25 Nov 2015 14:26:00 +0000 (14:26 +0000)]
doc: increment minimum Linux kernel requirement
Update the documentation to reflect that the minimum Linux kernel
requirement for DPDK 2.2 has increased from 2.6.33 to 2.6.34.
Compatibility with kernel 2.6.33 was dropped, after discussion on
the mailing list, in the following commit: 2e6e9e215703 ("igb_uio: use existing PCI macros")
Signed-off-by: John McNamara <john.mcnamara@intel.com>
John McNamara [Fri, 11 Dec 2015 13:41:51 +0000 (13:41 +0000)]
doc: link examples to API
Enable Doxygen parsing of DPDK example files so that the example
code is linked to and from the API docs. This allows the reader
to see examples of API usage in context by following a link.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
John McNamara [Sun, 1 Nov 2015 16:44:30 +0000 (16:44 +0000)]
doc: turn off permalink symbols in html guides
Turn off the permalink symbol in the Sphinx generated html docs.
This is a distracting mouseover when reading the docs and links
to sections can still be obtained from the doc index.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
This project is missing a proper README which is used in
other projects and some git visualization services.
Only a starting point, please feel free to edit.
To keep the file short and current, I avoided putting any specific
information about features and versions.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: John McNamara <john.mcnamara@intel.com>
Harish Patil [Fri, 11 Dec 2015 06:36:35 +0000 (22:36 -0800)]
bnx2x: fix build with clang
Fix for the following clang build error:
drivers/net/bnx2x/elink.c:10384:41: error: shifting a
negative signed value is undefined [-Werror,-Wshift-negative-value]
vars->eee_status &= ~SHMEM_EEE_1G_ADV <<
~~~~~~~~~~~~~~~~~ ^
Harish Patil [Fri, 11 Dec 2015 06:36:34 +0000 (22:36 -0800)]
bnx2x: update VF to support newer PF drivers
SR-IOV is supported using bnx2x poll mode driver running as VF driver and
native linux driver running as PF (in host/hypervisor). There is no issue
while running with the PF driver which is at the base version as that of
PMD. However, there is a compatibility issue between newer out-of-box PF
drivers with older VF driver. So the newer VFs would also need to send
BNX2X_VF_TLV_PHYS_PORT_ID (among other TLVs) to differentiate between
newer and older VFs.
Chas Williams [Wed, 9 Dec 2015 22:11:04 +0000 (17:11 -0500)]
bnx2x: fix restart
If you stop and start the driver, the rx queue will have the previous
index values when programming the adapter. Therefore, we should always
reset the queue indices when the rx ring is setup. Note: We need to
clear (write) the status block's completion queue index since it is
possibly in a read cache.
Tidy some init code to make it clearer what the defaults are.
Rahul Lakkireddy [Fri, 11 Dec 2015 08:25:30 +0000 (13:55 +0530)]
cxgbe: fix Rx queue setup error management
When refilling freelists for the first time and if it fails, the rxq
is freed and returns ENOMEM. There is a check while freeing hardware rxq
to pass freelist context id if the freelist exists or 0xffff otherwise.
The error path is only reached if freelist exists. So, fix is to remove
the useless check for freelist existence.
Coverity issue: 107108 Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx support") Reported-by: John McNamara <john.mcnamara@intel.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com> Acked-by: John McNamara <john.mcnamara@intel.com>
Cunming Liang [Fri, 11 Dec 2015 01:48:57 +0000 (09:48 +0800)]
eal/linux: fix Rx interrupt read error management
In eal_intr_proc_rxtx_intr, negative value may be used as argument to
a function expecting a positive value. If 'read' returns EAGAIN as
example, the bytes_read updates to a negative value which continue
be passed as argument for the next 'read'.
Coverity issue: 107115
Function read(fd, &buf, bytes_read) returns a negative number.
Assigning: signed variable bytes_read = read.
CID 107115 (#1 of 1): Argument cannot be negative
(NEGATIVE_RETURNS) bytes_read is passed to a parameter
that cannot be negative.
bytes_read = read(fd, &buf, bytes_read);
Fixes: c9f3ec1a0f3f ("eal/linux: add Rx interrupt control function") Signed-off-by: Cunming Liang <cunming.liang@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com> Acked-by: David Marchand <david.marchand@6wind.com>
Ian Betts [Sat, 12 Dec 2015 08:12:08 +0000 (08:12 +0000)]
examples/performance-thread: fix return sign
The patch fixes an inverted return value in the
cond_destroy and cond_init APIs of the pthread shim
example.
These APIs are now demonstrated in the sample app by
having the mutexes and condition variables
explicitly destroyed before the appplication terminates.
Fixes: 433ba6228f9a77a9b5f4 ("add pthread_shim app") Signed-off-by: Ian Betts <ian.betts@intel.com>
Panu Matilainen [Fri, 11 Dec 2015 12:44:23 +0000 (14:44 +0200)]
scripts: fix relpath.sh output when $prefix is set in environment
When relpath.sh is called from install target with prefix set, eg
"make install DESTDIR=/tmp/dpdk-root prefix=/usr", the prefix
from the environment leaks to relpath.sh internal helper variable and
causes incorrect symlinks to be generated in sdk $(targetdir):
include -> /usr../../../include/dpdk
lib -> /usr../../../lib
Initialize the local variable to empty to avoid side-effects from
environment.
Fixes: 6b62a72a70d0 ("mk: install a standard cutomizable tree") Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Thomas Monjalon [Fri, 11 Dec 2015 23:26:24 +0000 (00:26 +0100)]
mbuf_offload: mark experimental state
Cryptodev was marked experimental and mbuf_offload depends on it.
The mbuf_offload library is one of the crypto area which requires
some discussions before having a stable API.
The experimental mark is also added to rte_cryptodev_configure()
to be sure one cannot miss it.
Fixes: 66874e55f550 ("cryptodev: mark experimental state") Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Ian Betts [Thu, 10 Dec 2015 12:24:58 +0000 (12:24 +0000)]
examples/performance-thread: mark as experimental
This commit removes the performance thread example from
examples/Makefile, and marks the example as "experimental"
in the release note, and it its API headers files.
Ian Betts [Tue, 8 Dec 2015 06:05:17 +0000 (06:05 +0000)]
examples/performance-thread: add pthread_shim app
This commit adds an example that illustrates how to implement
a pthread shim with the lthread subsystem included in the
performance thread example application.
Signed-off-by: Ian Betts <ian.betts@intel.com> Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Add #ifndef MAX_QUEUES to change MAX_QUEUES at compile time if needed.
Change MAX_QUEUES from 512 to 128 to reduce the number of hugepages
required by the vhost-switch program.
To change MAX_QUEUES add '-D MAX_QUEUES=512' to the EXTRA_CFLAGS variable,
before building the application.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Pablo de Lara [Thu, 10 Dec 2015 09:28:27 +0000 (09:28 +0000)]
app/testpmd: swap MAC in IEEE1588 forwarding
IEEE1588 forwarding mode uses same port to receive and transmit packets.
In this mode, the MAC address in the packets are not touched,
and therefore, packets could be sent with the same destination
MAC address as the MAC address of the port that is transmitting,
which causes the packet to be dropped in some NICs.
In order to avoid this scenario, MAC addresses are swapped
before packet is sent out.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com>
The current implementation of VFIO will not with the new no-IOMMU mode
in 4.4 kernel. The original code assumed that IOMMU group zero would
never be used. Group numbers are assigned starting at zero, and up
until now the group numbers came from the hardware which is likely
to use group 0 for system devices that are not used with DPDK.
The fix is to allow 0 as a valid group and rearrange code
to split the return value from the group value.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Pablo de Lara [Wed, 9 Dec 2015 14:26:49 +0000 (14:26 +0000)]
examples/vhost: fix strict aliasing
Fixes following error on gcc 4.4.7:
examples/vhost/main.c: In function ‘new_device’:
rte_ring.h:740: error:
dereferencing pointer ‘mbuf.486’ does break strict-aliasing rules
examples/vhost/main.c:1503: note: initialized from here
...
rte_ring.h:740: error:
dereferencing pointer ‘({anonymous})’ does break strict-aliasing rules
examples/vhost/main.c:1804: note: initialized from here
Fixes: d19533e8 ("examples/vhost: copy old vhost example") Reported-by: Qian Xu <qian.q.xu@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Huawei Xie <huawei.xie@intel.com>
Michael Qiu [Wed, 9 Dec 2015 08:44:26 +0000 (16:44 +0800)]
examples/ip_pipeline: fix strict-aliasing
Compile ip_pipeline in CentOS 6.5 with kernel 2.6.32-431
GCC 4.4.7, will lead below error:
pipeline_routing_be.c: In function ‘pipeline_routing_msg_req_arp_add_handler’:
pipeline_routing_be.c:1817: error: dereferencing pointer ‘({anonymous})’
does break strict-aliasing rules
This because the code break strict-aliasing rule.
The patch solve this issue.
Fixes: 0ae7275810f1 (examples/ip_pipeline: add more functions to routing pipeline) Signed-off-by: Michael Qiu <michael.qiu@intel.com> Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>