876 Commits

Author SHA1 Message Date
Pablo de Lara
546afbc682 ring: remove extra devices creation with --vdev option
When passing extra arguments in EAL option --vdev, to create
ring ethdevs, API was creating three ethdevs, even if there
was just one argument, such as CREATE.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2014-07-22 16:43:04 +02:00
Stephen Hemminger
fb8251bcc5 vmxnet3: remove useless adapter wrapper
The adapter struct is just a wrapper around the vmxnet3_hw
structure. Eliminate the wrapper and get rid of the macro
used to access and needlessly cast the private data.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 16:40:55 +02:00
Stephen Hemminger
8073d56771 vmxnet3: add per-queue stats
Update per-queue statistics and add missing multicast into statistics.
Also, no need to zero statistics since they are already cleared
in rte_stats_get.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 16:40:54 +02:00
Stephen Hemminger
afce239484 vmxnet3: fix double spacing of log messages
The debug log macro's already include newline, no need
to double space the output.

Note: other drivers have the same problem

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 16:40:54 +02:00
Stephen Hemminger
186e9cbeba vmxnet3: cleanup style and indentation
This driver had several style problems, the worst of which
was botched indentation.

Fix almost all the problems reported by checkpatch.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 16:40:54 +02:00
Stephen Hemminger
61abddd3a9 vmxnet3: fix multicast enabling
The driver was incorrectly enabling/disabling promiscious mode
when it should have be setting/clearing all multicast mode.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-22 16:40:50 +02:00
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
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
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
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
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>
2014-07-04 10:18:07 +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
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>
2014-07-03 00:21:53 +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
Thomas Monjalon
187785f62e vmxnet3: fix build with debug
Functions for queue dump are not used and cause compilation error if
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_DRIVER is enabled.
Fixed by disabling them.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:33:13 +02:00
Thomas Monjalon
8c4e33562d virtio: fix build of debug dump
The commit 591a9d7985c1230 (add FILE argument to debug functions) didn't
compile if CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:43 +02:00
Thomas Monjalon
ae7a7cd162 pcap: fix build
The commit 83b41136934 (add unique name to devices) didn't compile if
CONFIG_RTE_LIBRTE_PMD_PCAP is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:34 +02:00
Thomas Monjalon
bcc733c478 ethdev: fix build of named allocation debug
The commit 83b41136934 (add unique name to devices) didn't compile if
CONFIG_RTE_LIBRTE_ETHDEV_DEBUG is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:26 +02:00
Thomas Monjalon
1656e23d08 ethdev: fix build of Tx rate limitation debug
The commit 8dbe82b0733 (Tx rate limitation) didn't compile if
CONFIG_RTE_LIBRTE_ETHDEV_DEBUG is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:18 +02:00
Thomas Monjalon
b3343b5c91 eal: fix build for bsd
When adding link bonding to EAL initialization (a155d430119),
an include was missing for BSD.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:31:42 +02:00