3671 Commits

Author SHA1 Message Date
John McNamara
a16284bea3 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>
2015-12-13 23:03:56 +01:00
John McNamara
4557f45ff3 doc: change theme of guides
Change the Sphinx default theme from "alabaster" to the ReadTheDocs
theme. See for example:
    http://dpdk.readthedocs.org/en/latest/

This looks better for technical documentation and in particular
it has a 80 char wide verbatim block rendering.

Also add logos for the html and latex docs.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
2015-12-13 22:30:47 +01:00
John McNamara
bc00fecff5 doc: remove dejavu font requirement
Remove requirement for occasionally hard to find/install
DejaVuSansMono font. It isn't gnerally required anyway.
The default mono font is sufficient.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
2015-12-13 22:14:54 +01:00
John McNamara
dff6be0a26 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>
2015-12-13 22:09:13 +01:00
Stephen Hemminger
c6dcefe420 doc: add readme file
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>
2015-12-13 22:06:58 +01:00
Fan Zhang
27e87b26d4 examples/ip_pipeline: fix parsing error code
Coverity issue: 107136
Fixes: 7f64b9c004aa ("examples/ip_pipeline: rework config file syntax")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:39:24 +01:00
Fan Zhang
fa843ff265 examples/ip_pipeline: fix buffer overrun
Coverity issue: 107127
Fixes: 7f64b9c004aa ("examples/ip_pipeline: rework config file syntax")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:39:19 +01:00
Fan Zhang
14f819a661 examples/ip_pipeline: fix logically dead node
Coverity issue: 107109
Fixes: 7122d30131ad ("examples/ip_pipeline: rework flow classification pipeline")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:36:06 +01:00
Fan Zhang
0bff0fd263 examples/ip_pipeline: fix copy-paste error
Coverity issue: 107104
Fixes: 7f64b9c004aa ("examples/ip_pipeline: rework config file syntax")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:35:40 +01:00
Fan Zhang
28dc492941 examples/ip_pipeline: fix buffer copy size
Coverity issue: 107133
Fixes: eb32fe7c5574 ("examples/ip_pipeline: rework initialization parameters")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-12-13 02:35:05 +01:00
Fan Zhang
81bd65ff2d examples/ip_pipeline: fix buffer size warning
Coverity issue: 107102
Fixes: 7f64b9c004aa ("examples/ip_pipeline: rework config file syntax")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:34:04 +01:00
Huawei Xie
766ad08900 vhost: fix logically dead code
CID 107107 (#1 of 1): Logically dead code
Fixes: af4f2c5feb2e ("vhost: fix code style")

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:14:30 +01:00
Huawei Xie
16321f1caa vhost: fix missed unlock
CID 107113 (#1 of 1): Missing unlock (LOCK)5. missing_unlock: Returning
without unlocking pfdset->fd_mutex.
Fixes: fbf7e07ca142 ("vhost: add select based event driven processing")

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:13:39 +01:00
Huawei Xie
3b77b90e34 vhost: fix missed break in switch
CID 107114 (#1 of 1): Missing break in switch
Fixes: 8f972312b8f4 ("vhost: support vhost-user")

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:12:22 +01:00
Huawei Xie
36b2449d86 vhost: fix out-of-bounds read
CID 107126 (#1 OF 1): Out-of-bounds read
Fixes: 8f972312b8f4 ("vhost: support vhost-user")

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-13 02:11:19 +01:00
Rasesh Mody
dfa1cb3ab8 bnx2x: add maintainers
Add maintainers for BNX2X PMD.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:58:10 +01:00
Rasesh Mody
9f190ffbce bnx2x: add version
Add BNX2X PMD version, print it as part of adapter info.
Adjusted print adapter info output formatting.

This patch versions BNX2X PMD at 1.0.0.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:58:10 +01:00
Rasesh Mody
99d47f445e bnx2x: fix 32-bit build
Compile tested.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:58:10 +01:00
Rasesh Mody
5a1d76f9c2 bnx2x: fix build on FreeBSD
Compile tested.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:58:10 +01:00
Rasesh Mody
059113cced bnx2x: add license file
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:58:10 +01:00
Rasesh Mody
47a298e79b bnx2x: add guide
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:57:58 +01:00
Harish Patil
8dc08a093a bnx2x: add periodic debug option
The periodic debug option is used to collect periodic
events like statistics, register access etc and won't
interfere with user-level messages.

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:55:12 +01:00
Harish Patil
c275e3cb52 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 <<
                                    ~~~~~~~~~~~~~~~~~ ^

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
2015-12-13 01:55:09 +01:00
Harish Patil
a5724ff9c5 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.

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
2015-12-13 01:46:52 +01:00
Rasesh Mody
c6eedc5220 bnx2x: skip Rx producer refresh when no packet
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:46:07 +01:00
Rasesh Mody
638f2066a6 bnx2x: fix Tx error check
Correct the error check in PMD transmit routine.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2015-12-13 01:45:31 +01:00
Chas Williams
7ee177a72f 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.

Signed-off-by: Chas Williams <3chas3@gmail.com>
2015-12-13 01:44:51 +01:00
Rahul Lakkireddy
bd372fe9c0 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>
2015-12-12 22:34:43 +01:00
Huawei Xie
f17230e1ae xenvirt: fix build for 32-bit platform
Reported-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
2015-12-12 22:34:43 +01:00
Cunming Liang
246750eb96 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>
2015-12-12 22:34:43 +01:00
Michael Qiu
248f9319f7 examples/netmap_compat: fix build on Suse 11
examples/netmap_compat/bridge/../lib/compat_netmap.c:880:41:
 error: ‘POLLRDNORM’ undeclared (first use in this function)

The root casue is POLLRDNORM is more-or-less nonstandard, and it
depends on macro "__USE_XOPEN".

In suse11 sp3, POLLRDNORM will not be defined because "__USE_XOPEN"
issue.

This patch add check if it is not defined, define it.

Fixes: 06371afe394d (examples/netmap_compat: import netmap compatibility example)

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
2015-12-12 22:34:43 +01:00
Ian Betts
de186103da 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>
2015-12-12 22:32:59 +01:00
Panu Matilainen
08def3afcb 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>
2015-12-12 00:34:57 +01:00
Thomas Monjalon
d0228ccbe2 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>
2015-12-12 00:34:57 +01:00
Ian Betts
b700090c8c 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.

Signed-off-by: Ian Betts <ian.betts@intel.com>
2015-12-11 02:35:42 +01:00
Ian Betts
433ba6228f 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>
2015-12-11 02:16:26 +01:00
Ian Betts
d48415e1fe examples/performance-thread: add l3fwd-thread app
This commit adds an L3 forwarding application to the performace-thread
example.

Signed-off-by: Ian Betts <ian.betts@intel.com>
Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
2015-12-11 02:15:36 +01:00
Ian Betts
116819b9ed examples/performance-thread: add lthread subsystem
This commit adds the lightweight thread subsystem used by the
performance-thread sample applications.

Signed-off-by: Ian Betts <ian.betts@intel.com>
Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
2015-12-11 02:14:54 +01:00
Ian Betts
4d1a771bd8 doc: add guide for performance-thread example
This commit adds the sample application user guide for the
performance thread sample application.

Signed-off-by: Ian Betts <ian.betts@intel.com>
Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
2015-12-11 02:14:31 +01:00
Bernard Iremonger
f17eb17904 examples/vhost: reduce number of hugepages needed
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>
2015-12-10 22:33:54 +01:00
Fan Zhang
5c258942ee example/ip_pipeline: fix config file parsing defect
Coverity issue: 120143

Fixes: 7f64b9c004aa ("examples/ip_pipeline: rework config file syntax")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-12-10 22:29:54 +01:00
Remy Horton
83c27f59f6 examples/l2fwd-keepalive: fix integer overflow
Fix Coverity warning with potential 32-bit integer multiplication overflow
where final result is expected to be 64-bit.

>>> CID 120144 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)

Fixes: e64833f2273a ("examples/l2fwd-keepalive: add sample application")

Signed-off-by: Remy Horton <remy.horton@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-10 22:27:20 +01:00
Remy Horton
c98e8f3932 examples/ethtool: fix uninitialised variable
Fix Coverity warning with uninitialised field in structure being used.
Zero out all the other unused ones.

>>> CID 120413 (#1 of 1): Uninitialized scalar variable (UNINIT)

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

Signed-off-by: Remy Horton <remy.horton@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2015-12-10 22:26:49 +01:00
Pablo de Lara
2704ad28ad 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>
2015-12-10 22:20:08 +01:00
Pavel Krauz
e01993bf82 af_packet: set input port in mbuf
Fixes port number in mbuf structure when using with eth_af_packet

Signed-off-by: Pavel Krauz <pavel.krauz@anritsu.com>
2015-12-10 22:07:06 +01:00
Helin Zhang
0d16d2694a i40e: fix filtering with vlan input
It corrects the input set values to be set for vlan or
double vlan.

Fixes: 98f055707685 ("i40e: configure input fields for RSS or flow director")

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
2015-12-10 21:41:13 +01:00
Stephen Hemminger
22215f141b vfio: support iommu group zero
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>
2015-12-10 21:29:01 +01:00
Pablo de Lara
1befe9ca24 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>
2015-12-09 22:02:33 +01:00
Michael Qiu
e281a8b610 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>
2015-12-09 22:02:33 +01:00
Jasvinder Singh
91e25dc5b5 examples/ip_pipeline: fix build in old environments
This patch fixes build errors on linux kernels such as
SuSE 11-SP2/3(64 bits), etc.

Error Log:
	error: implicit declaration of function 'WIFEXITED'
	error: implicit declaration of function 'WEXITSTATUS'

Fixes: ed0b2d020159 ("examples/ip_pipeline: add more ports")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-12-09 22:02:33 +01:00