1128 Commits

Author SHA1 Message Date
Maciej Gajdzica
0c19181157 vmxnet3: enable for FreeBSD
Remove useless include that broke compilation and
allow to use it with nic_uio in FreeBSD.

Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2014-07-22 16:38:01 +02:00
Stephen Hemminger
ce65e697c6 virtio: simplify the hardware structure
The host_features are never used after negotiation.
The PCI information is unused (and available in rte_pci if needed).

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:01 +02:00
Stephen Hemminger
9d168c68df virtio: remove unused adapter_stopped field
This flag was set to zero (but was already zero)
and never used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:01 +02:00
Stephen Hemminger
f37cdfde46 virtio: remove unused virtqueue name
vq_name is only used when setting up queue, and does not need
to be saved.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:01 +02:00
Stephen Hemminger
11efa9f07c virtio: check for ip checksum offload
This driver does not support receive IP checksum offload,
therefore must check and return error if configured incorrectly.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:01 +02:00
Stephen Hemminger
61b16f0f16 virtio: check for transmit checksum config error
This driver does not support transmit checksum or vlan offload
therefore check for this when device is configured.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:01 +02:00
Stephen Hemminger
403ac76b37 virtio: deinline some code
This driver has lots of functions marked always inline which is actually
counterproductive with modern compilers. Better to move the functions to
the one file they are used (proper scope) and let compiler decide.

For trivial functions leave them as static inline.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:01 +02:00
Stephen Hemminger
51c005546a virtio: dont double space log messages
PMD_INIT_LOG macro already adds a newline, no need to double space.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:00 +02:00
Stephen Hemminger
9658d17da2 virtio: maintain stats per queue
Avoid cache collision and thrashing of the software statistics
by keeping them per-queue in the driver.

Signed-off-by: Stephen Hemminger <shemming@brocade.com>
Acked-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:00 +02:00
Matthew Hall
a98f77c209 virtio: fix incorrect parens
Signed-off-by: Matthew Hall <mhall@mhcomputing.net>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 15:00:00 +02:00
Vijayakumar Muthuvel Manickam
3ed4e9735a virtio: fix 32-bit build for 64-bit kernel
virtio_net_hdr_mem member within virtqueue structure stores a
physical address and is defined as void ptr. When 32bit pmd is used
with 64bit kernel this leads to truncation of 64bit physical address
and pkt i/o does not work.
Changed virtio_net_hdr_mem to phys_addr_t type and
removed the typecasts

Signed-off-by: Vijayakumar Muthuvel Manickam <mmvijay@gmail.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 15:00:00 +02:00
Alan Carew
4d6d8babac virtio: fix device specific header offset when MSI-X is disabled
Suggested-by: Neil Horman <nhorman@tuxdriver.com>
Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Alan Carew <alan.carew@intel.com>
2014-07-22 15:00:00 +02:00
Thomas Monjalon
484c308d3c igb_uio: fix build with kernel older than 3.3
Since Linux commit fb51ccbf217 (PCI: Rework config space blocking services),
the functions pci_(un)block_user_cfg_access are replaced by
pci_cfg_access_(un)lock.

The compatibility with older functions was broken since commit 399a3f0db8b0
(igb_uio: fix IRQ mode handling).

Reported-by: Yerden Zhumabekov <e_zhumabekov@sts.kz>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 15:00:00 +02:00
Yerden Zhumabekov
5b2f8137ef igb_uio: fix typos for kernel older than 3.3
Signed-off-by: Yerden Zhumabekov <e_zhumabekov@sts.kz>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 14:59:46 +02:00
Stephen Hemminger
cf705bc36c igb_uio: MSI IRQ mode
Add MSI to the list of possible IRQ modes.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
[Thomas: isolate MSI code from other patch and don't set info.irq twice]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
399a3f0db8 igb_uio: fix IRQ mode handling
This pach reworks how IRQ mode handling is done.

The biggest code change is to use the standard INTX management
code that exists in more recent kernels (and provide backport version).
This also fixes the pci_lock code which was broken, since it was
not protecting against config access, and was doing trylock.

Make this driver behave like other Linux drivers.
Start at MSI-X and degrade to less desireable modes
automatically if the desired type is not available.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
fa4a13c9dd igb_uio: MSI-X cleanups
Since only one MSI-X entry is ever defined, there is no need to
put it as an array in the driver private data structure. One msix_entry
can just be put on the stack and initialized there.

Also remove the unused backport defines related to MSI-X.
I suspect this code was just inherited from some other project and
never cleaned up.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
32e21f2135 igb_uio: make irq mode param read-only
The module parameter is read-only since changing mode after loading
isn't going to work.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
c631fcb494 igb_uio: add missing locking to config access
Access to PCI config space should be inside pci_cfg_access_lock
to avoid read/modify/write races.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
8cb854785a igb_uio: propogate error numbers in probe code
It is good practice to propogate the return values of failing
functions so that more information can be reported. The failed result
of probe will make it out to errno and get printed by modprobe
and will aid in diagnosis of failures.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
819fc2fe2a igb_uio: dont wrap pci_num_vf function needlessly
It is better style to just use the pci_num_vf directly, rather
than wrapping it with a local (but globally named) function with
the same effect.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
5635ae04ab igb_uio: fix checkpatch warnings
Fix style issues reported by checkpatch.
There was a real bug in that the setup code was returning
positive value for errors which goes against convention and
might have caused a problem.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
2a22f2751a igb_uio: use standard uio naming
Don't put capitialization and space in name since it will show
up in /proc/interrupts. Instead use driver name to follow the
conventions used in the kernel by other drivers.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Stephen Hemminger
4ca2826506 igb_uio: use kernel standard log message
Use Linux kernel standard coding conventions for console messages.
Bare use of printk() is not desirable and is reported as a style
problem by checkpatch. Instead use pr_info() and dev_info()
to print out log messages where appropriate.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:41 +02:00
Padam Jeet Singh
9916d3d12f kni: allow setting MAC address
Add relevant callback function to change a KNI device's MAC address.

Signed-off-by: Padam Jeet Singh <padam.singh@inventum.net>
Reviewed-by: Helin Zhang <helin.zhang@intel.com>
2014-07-19 01:54:41 +02:00
Yao-Po Wang
41a6ebded5 kni: fix deadlock in netif_receive_skb
Per netif_receive_skb function description, it may only be called from
interrupt contex, but KNI is run on kthread that like as user-space
context. It may occur deadlock, if netif_receive_skb called from kthread,
so it should be repleaced by netif_rx or adding local_bh_disable/enable
around netif_receive_skb.

Signed-off-by: Yao-Po Wang <blue119@gmail.com>
Acked-by: Alex Markuze <alex@weka.io>
2014-07-19 01:54:41 +02:00
Bruce Richardson
c43e65c9b6 config: add clang
Add compilation support for clang on Linux and FreeBSD.
clang is the default compiler on FreeBSD 10.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
[Thomas: update comments]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:35 +02:00
Thomas Monjalon
83b0237cbd config: cleanup duplicated comments
Comments to help on basic configuration are already located
in common configs.
No need to duplicate (and maintain) them in inherited configurations.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:35 +02:00
Bruce Richardson
2ef6eea891 mk: add clang toolchain
Add support for clang by adding a toolchain folder for it with the
appropriate files.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
[Thomas: CC from command line overrides HOSTCC]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:26 +02:00
Bruce Richardson
bda2ae1102 mk: fix detection of SSE4.2 on FreeBSD
Add a special case to the native target makefile, where we check if
-march=native shows SSE4.2 support. If it does not, then not everything may
build, so we check if the hardware supports SSE4.2, and use a corei7 target
explicitly to get the SSE4.2 support.

Then ACL library, which requires SSE4.2, can be re-enabled for FreeBSD.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:20 +02:00
Bruce Richardson
bc9b2c694f vmxnet3/base: disable some clang warnings
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
2014-07-19 01:54:15 +02:00
Bruce Richardson
30fe25ea30 i40e/base: disable some clang warnings
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
2014-07-19 01:54:12 +02:00
Bruce Richardson
fbfde92fb1 ixgbe/base: disable some clang warnings
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
2014-07-19 01:54:07 +02:00
Bruce Richardson
10c066d9b3 acl: fix header include for intrinsics
Clang compile fails without nmmintrin.h being explicitly included.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:54:01 +02:00
Bruce Richardson
1ca78c81be bond: fix variable initialization
Variable "valid_slave" wasn't getting properly zero-initialized.
This error is flagged by clang on compile.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:53:38 +02:00
Thomas Monjalon
a6664a09a7 examples/pipeline: build with all examples
When adding this packet framework sample (commit 77a3346),
it has been forgotten to add it into the global makefile for
"make examples".

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:47:51 +02:00
Pablo de Lara
efcef73d50 examples: fix default build target
L3fwd-acl and ip pipeline apps were using old
x86_64-default-linuxapp-gcc as their default target,
instead of x86_64-native-linuxapp-gcc

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-19 01:47:51 +02:00
Richardson, Bruce
29773abd62 nic_uio: add i40e device ids
The FreeBSD nic_uio driver was missing the #defines to include the device ids
for devices using the i40e driver. This change adds in the missing defines.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
2014-07-19 01:47:39 +02:00
Yao Zhao
a9cf8ad651 port: fix doxygen comment
Fix doxygen comment for rte_port_out_op_flush.

Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-16 09:45:47 +02:00
Thomas Monjalon
a0db27764c doc: remove extraneous comma
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-16 09:45:47 +02:00
Thomas Monjalon
1eba9fdac6 version: 1.7.1-rc0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-16 09:45:47 +02:00
Thomas Monjalon
9db7084fcd version: 1.7.0
The makefile rule "showversion" needs a fix to handle empty RTE_VER_SUFFIX.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
v1.7.0
2014-07-04 10:18:07 +02:00
Thomas Monjalon
6f2760ecdf pkg: update RPM
- no version in name
- rename dpdk-core and dpdk-core-devel to dpdk and dpdk-devel
- devel depends on main package
- split API doc in a separated package
- prefer %global over %define
- add scripts/ directory (needed for libraries based on DPDK)
- build for Nehalem CPU (ixgbe-vec and acl don't build for default CPU)
- build pcap PMD
- build xen PMD

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 21:42:39 +02:00
Thomas Monjalon
4cb63f009a bond: fix doxygen
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 21:11:46 +02:00
Yong Liu
d827c2695e examples/qos_sched: fix flow pause after 2M packets
After enable vector pmd, qos_sched only send 32 packets every burst.
That will cause some packets not transmitted and therefore mempool
will be drain after a while.
App qos_sched now will re-send the packets which failed to send out in
previous tx function.

Signed-off-by: Yong Liu <yong.liu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
2014-07-03 16:28:12 +02:00
Thomas Monjalon
91873a6527 xen: fix build
There were 2 errors:

lib/librte_pmd_xenvirt/rte_xen_lib.c:409:2:
error: zero-length gnu_printf format string [-Werror=format-zero-length]

lib/librte_pmd_xenvirt/rte_xen_lib.c:424:2:
error: format '%p' expects argument of type 'void *', but argument 4 has
type 'uintptr_t' [-Werror=format=]

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 16:12:39 +02:00
Thomas Monjalon
e904b5746d version: 1.7.0-rc4
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
v1.7.0-rc4
2014-07-03 00:21:53 +02:00
Thomas Monjalon
3417cd687e examples: ignore linux apps on bsd
Do not try to build Linux examples in a BSD environment.

Reported-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 00:10:30 +02:00
Thomas Monjalon
304caba126 config: fix bsd options
Add some missing options (disabled) and disable i40e debug.

Reported-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 00:10:10 +02:00
Thomas Monjalon
cedfe35321 ixgbe/base: fix build with debug
The upgraded base driver, especially commit 9ba80bde4c, didn't compile if
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:33:22 +02:00