Commit Graph

1107 Commits

Author SHA1 Message Date
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>
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>
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
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 591a9d7985 (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 83b4113693 (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 83b4113693 (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 8dbe82b073 (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 (a155d43011),
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
Helin Zhang
87060612fb i40e: add required steps in Tx queue management
Hardware specification changed recently which requires to set
or clear TX queue disable flags before actually enabling or
disabling a specific TX queue. 'QTX_HEAD' register needs to
be cleared before setting the QENA_REQ flag.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
2014-07-02 10:50:02 +02:00
Helin Zhang
80c670fd6d i40e: use new function to clear hardware before PF reset
i40e_clear_hw() was provided recently in shared code (base driver)
to clear hardware, which can cover disabling all queues.
The code changes are to remove i40e_pf_disable_all_queues() and use
i40e_clear_hw() instead.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
2014-07-02 10:49:48 +02:00
Helin Zhang
6de597c04f bond: fix build on 32-bit Oracle Linux 6.4
The compile error on 32 bits Oracle Linux 6.4 is as below.

Kernel: 2.6.39
GCC: 4.4.7 20120313

In file included from /usr/include/stdlib.h:320,
from i686-native-linuxapp-gcc/include/rte_mempool.h:63,
from i686-native-linuxapp-gcc/include/rte_mbuf.h:61,
from lib/librte_pmd_bond/rte_eth_bond_api.c:37:
/usr/include/sys/types.h:61: error: conflicting types for dev_t
/usr/include/linux/types.h:22: note: previous declaration of dev_t was here
/usr/include/sys/types.h:66: error: conflicting types for gid_t
/usr/include/linux/types.h:52: note: previous declaration of gid_t was here
/usr/include/sys/types.h:71: error: conflicting types for mode_t
/usr/include/linux/types.h:24: note: previous declaration of mode_t was here
/usr/include/sys/types.h:76: error: conflicting types for nlink_t
/usr/include/linux/types.h:25: note: previous declaration of nlink_t was here
/usr/include/sys/types.h:81: error: conflicting types for uid_t
/usr/include/linux/types.h:51: note: previous declaration of uid_t was here

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-07-02 10:48:22 +02:00
Thomas Monjalon
545e47279d version: 1.7.0-rc3
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-02 00:15:57 +02:00
Pablo de Lara
0d684a7830 app/test: fix and separate --vdev unit test
In EAL flags unit test, vdev test was being included
(and broken) in whitelist test. It has been separated
in different test and fixed, by calling another
primary process, instead of a secondary one.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-01 20:48:20 +02:00
Pablo de Lara
8d96453813 app/test: remove writes in NULL buffer from cmdline tests
Cmdline unit test calls several functions that use snprintf,
with NULL pointer as the destination buffer. This patch
eliminates these NULL pointer tests.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
2014-07-01 16:25:36 +02:00
Thomas Monjalon
cf953d2bfa app/test: fix build switches to enable cmdline tests
There were 2 typos since these commits (in 1.6.0 releases):
	21a7f4e264 fix build without librte_cmdline
	cac6d08c8b replace --use-device option by --pci-whitelist and --vdev
In makefiles, the build options are prefixed with CONFIG_RTE_
but in .c file, it is only RTE_.

These typos were disabling cmdline unit tests and test of "--vdev eth_ring" option.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:36 +02:00
Aaro Koskinen
e0b7ca0c03 kni: fix build with kernel 3.16
SET_ETHTOOL_OPS is gone in 3.16, so modify drivers accordingly.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-01 16:25:36 +02:00
Aaro Koskinen
cacf4a0d10 kni: fix build with min/max Tx rate configuration of igbvf
This follows the mainline Linux kernel commit
ed616689a3d95eb6c9bdbb1ef74b0f50cbdf276a (Add support to configure SR-IOV
VF minimum and maximum Tx rate) by Sucheta Chakraborty, and enables to
build the driver against 3.16.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-01 16:25:35 +02:00
Hiroshi Shimamoto
9998f315d5 kni: fix build on RHEL 7
Compilation in RHEL7 is failed. This fixes the build issue.

RHEL7 has skb_set_hash, the kernel version is 3.10 though.
Don't define skb_set_hash for RHEL7.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Reviewed-by: Hayato Momma <h-momma@ce.jp.nec.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
2950a76931 bond: testpmd support
- Includes the ability to create new bonded devices.
 - Add /remove bonding slave devices.
 - Interogate bonded device stats/configuration
 - Change bonding modes and select balance transmit polices

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
92073ef961 bond: unit tests
Including:
 - code to generate packet bursts for testing rx and tx
   functionality of bonded device
 - virtual/stubbed out ethdev for use as slave ethdev in testing

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
a155d43011 eal: support link bonding device initialization
Updating functionality in EAL to support adding link bonding
devices via –vdev option. Link bonding devices will be
initialized after all physical devices have been probed and
initialized.

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
83b4113693 ethdev: add unique name to devices
Adding support to rte_eth_dev_data structure to support unique
name identifier for ethdevs to support adding slave ethdevs
(specifically virtual devices which have no public unique
identifier) to a link bonding device. This changes the API
rte_eth_dev_allocate() to require a const char *name when
allocating a ethdev, which also verifies that the name is
unique and hasn’t been already used by an existed allocated
rte_eth_dev. Also contains updates to virtual pmd’s to now call
the API with a name parameter.

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
2efb58cbab bond: new link bonding library
Initial release with support for
 Mode 0 - Round Robin
 Mode 1 - Active Backup
 Mode 2 - Balance -> Supports 3 transmit polices (layer 2, layer 2+3, layer 3+4)
 Mode 3 - Broadcast

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Reviewed-by: Robert Sanford <rsanford2@gmail.com>
2014-07-01 16:25:12 +02:00