dpdk.git
10 years agoversion: 1.7.1-rc0
Thomas Monjalon [Wed, 16 Jul 2014 07:44:50 +0000 (09:44 +0200)]
version: 1.7.1-rc0

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoversion: 1.7.0
Thomas Monjalon [Fri, 4 Jul 2014 08:18:07 +0000 (10:18 +0200)]
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>
10 years agopkg: update RPM
Thomas Monjalon [Wed, 2 Jul 2014 16:31:45 +0000 (18:31 +0200)]
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>
10 years agobond: fix doxygen
Thomas Monjalon [Thu, 3 Jul 2014 19:11:07 +0000 (21:11 +0200)]
bond: fix doxygen

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoexamples/qos_sched: fix flow pause after 2M packets
Yong Liu [Thu, 3 Jul 2014 08:59:36 +0000 (16:59 +0800)]
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>
10 years agoxen: fix build
Thomas Monjalon [Thu, 3 Jul 2014 14:06:04 +0000 (16:06 +0200)]
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>
10 years agoversion: 1.7.0-rc4
Thomas Monjalon [Wed, 2 Jul 2014 22:21:28 +0000 (00:21 +0200)]
version: 1.7.0-rc4

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoexamples: ignore linux apps on bsd
Thomas Monjalon [Wed, 2 Jul 2014 22:07:15 +0000 (00:07 +0200)]
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>
10 years agoconfig: fix bsd options
Thomas Monjalon [Wed, 2 Jul 2014 20:53:44 +0000 (22:53 +0200)]
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>
10 years agoixgbe/base: fix build with debug
Thomas Monjalon [Wed, 2 Jul 2014 13:10:59 +0000 (15:10 +0200)]
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>
10 years agovmxnet3: fix build with debug
Thomas Monjalon [Wed, 2 Jul 2014 13:11:47 +0000 (15:11 +0200)]
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>
10 years agovirtio: fix build of debug dump
Thomas Monjalon [Wed, 2 Jul 2014 13:11:31 +0000 (15:11 +0200)]
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>
10 years agopcap: fix build
Thomas Monjalon [Wed, 2 Jul 2014 13:09:32 +0000 (15:09 +0200)]
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>
10 years agoethdev: fix build of named allocation debug
Thomas Monjalon [Wed, 2 Jul 2014 13:10:10 +0000 (15:10 +0200)]
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>
10 years agoethdev: fix build of Tx rate limitation debug
Thomas Monjalon [Wed, 2 Jul 2014 13:10:30 +0000 (15:10 +0200)]
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>
10 years agoeal: fix build for bsd
Thomas Monjalon [Wed, 2 Jul 2014 09:14:03 +0000 (11:14 +0200)]
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>
10 years agoi40e: add required steps in Tx queue management
Helin Zhang [Wed, 2 Jul 2014 03:10:25 +0000 (11:10 +0800)]
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>
10 years agoi40e: use new function to clear hardware before PF reset
Helin Zhang [Wed, 2 Jul 2014 03:10:24 +0000 (11:10 +0800)]
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>
10 years agobond: fix build on 32-bit Oracle Linux 6.4
Helin Zhang [Wed, 2 Jul 2014 07:29:52 +0000 (15:29 +0800)]
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>
10 years agoversion: 1.7.0-rc3
Thomas Monjalon [Tue, 1 Jul 2014 22:15:41 +0000 (00:15 +0200)]
version: 1.7.0-rc3

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/test: fix and separate --vdev unit test
Pablo de Lara [Tue, 1 Jul 2014 16:13:57 +0000 (17:13 +0100)]
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>
10 years agoapp/test: remove writes in NULL buffer from cmdline tests
Pablo de Lara [Mon, 30 Jun 2014 10:52:55 +0000 (11:52 +0100)]
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>
10 years agoapp/test: fix build switches to enable cmdline tests
Thomas Monjalon [Fri, 27 Jun 2014 09:21:11 +0000 (11:21 +0200)]
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>
10 years agokni: fix build with kernel 3.16
Aaro Koskinen [Tue, 17 Jun 2014 14:32:03 +0000 (17:32 +0300)]
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>
10 years agokni: fix build with min/max Tx rate configuration of igbvf
Aaro Koskinen [Tue, 17 Jun 2014 14:32:04 +0000 (17:32 +0300)]
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>
10 years agokni: fix build on RHEL 7
Hiroshi Shimamoto [Thu, 12 Jun 2014 08:09:54 +0000 (08:09 +0000)]
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>
10 years agobond: testpmd support
Declan Doherty [Wed, 25 Jun 2014 20:07:47 +0000 (21:07 +0100)]
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>
10 years agobond: unit tests
Declan Doherty [Wed, 25 Jun 2014 20:07:46 +0000 (21:07 +0100)]
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>
10 years agoeal: support link bonding device initialization
Declan Doherty [Wed, 25 Jun 2014 20:07:45 +0000 (21:07 +0100)]
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>
10 years agoethdev: add unique name to devices
Declan Doherty [Wed, 25 Jun 2014 20:07:44 +0000 (21:07 +0100)]
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>
10 years agobond: new link bonding library
Declan Doherty [Wed, 25 Jun 2014 20:07:43 +0000 (21:07 +0100)]
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>
10 years agoversion: 1.7.0-rc2
Thomas Monjalon [Fri, 27 Jun 2014 01:12:30 +0000 (03:12 +0200)]
version: 1.7.0-rc2

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agotools: allow nic status query without igb_uio
Bruce richardson [Thu, 26 Jun 2014 03:36:38 +0000 (04:36 +0100)]
tools: allow nic status query without igb_uio

Allow the nic bind/unbind script to print out its status messages even
if the igb_uio driver is not loaded. For binding and unbinding NICs, the
behaviour is the same, and the igb_uio driver still needs to be loaded.

Signed-off-by: Bruce richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agotools: unbind ports that were erroneously bound
Anatoly Burakov [Wed, 18 Jun 2014 16:57:58 +0000 (17:57 +0100)]
tools: unbind ports that were erroneously bound

When binding devices to a generic driver (i.e. one that doesn't have a
PCI ID table, some devices that are not bound to any other driver could
be bound even if no one has asked them to. hence, we check the list of
drivers again, and see if some of the previously-unbound devices were
erroneously bound. if such devices are found, they are unbound back.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/testpmd: allow to set part of flow control parameters
David Marchand [Tue, 24 Jun 2014 13:06:52 +0000 (15:06 +0200)]
app/testpmd: allow to set part of flow control parameters

We might want to only change a parameter rather than have to set all possible
parameters, so add "partial" commands.
These commands only change the specified parameter.

To avoid duplicating code all around, a unique parser is kept. This parser uses
the .data parameter to select the right behavior.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/testpmd: move flow control parser
David Marchand [Tue, 24 Jun 2014 13:06:51 +0000 (15:06 +0200)]
app/testpmd: move flow control parser

Move parser after declarations to prepare rework in next commit.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/testpmd: add missing autoneg field to set flow control
David Marchand [Tue, 24 Jun 2014 13:06:50 +0000 (15:06 +0200)]
app/testpmd: add missing autoneg field to set flow control

Following commit 2d95b84aaacb3d2d0bd70367c0530d15e0cbb14e, rte_eth_fc_conf
struct contains a autoneg field that must be set by callers.
Add this parameter to testpmd.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoeal: fix invalid memory read
Aaron Campbell [Thu, 26 Jun 2014 14:54:34 +0000 (10:54 -0400)]
eal: fix invalid memory read

Valgrind reports this issue:

==29880== Invalid read of size 1
==29880==    at 0x56FF9A5: cpu_socket_id (eal_lcore.c:101)
==29880==    by 0x56FFAE9: rte_eal_cpu_init (eal_lcore.c:168)
==29880==    by 0x56F944A: rte_eal_init (eal.c:975)

The problem is that endptr points to memory allocated underneath the DIR
handle, which has already been freed. So move the closedir() call lower.

Signed-off-by: Aaron Campbell <aaron@arbor.net>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoeal: deprecate rte_snprintf
Stephen Hemminger [Tue, 24 Jun 2014 18:15:28 +0000 (11:15 -0700)]
eal: deprecate rte_snprintf

The function rte_snprintf serves no useful purpose. It is the
same as snprintf() for all valid inputs. Deprecate it and
replace all uses in current code.

Leave the tests for the deprecated function in place.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoeal: fix usage of printf-like functions
Bruce Richardson [Fri, 20 Jun 2014 23:34:30 +0000 (00:34 +0100)]
eal: fix usage of printf-like functions

Mark the rte_log, cmdline_printf and rte_snprintf functions as
being printf-style functions. This causes compilation errors
due to mis-matched parameter types, so the parameter types are
fixed where appropriate.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agomk: override HOSTCC when overriding CC
Bruce Richardson [Tue, 24 Jun 2014 00:23:03 +0000 (01:23 +0100)]
mk: override HOSTCC when overriding CC

When overriding the CC variable on the commandline, the HOSTCC value
was remaining at "gcc", which caused errors on Free BSD10 when using a gcc
as e.g. gcc48, without a binary just called "gcc". This change overrides
HOSTCC when CC is overridden, which means that setting CC=gcc48, will
now also set HOSTCC=gcc48, allowing the "testhost" app to compile on
BSD10.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoacl: disable for bsd
Bruce Richardson [Tue, 24 Jun 2014 00:23:04 +0000 (01:23 +0100)]
acl: disable for bsd

Using gcc 4.8 on FreeBSD 10, support for SSE4.x is not detected by
the compiler, meaning that the ACL library, which depends on SSE4.2
cannot compile. Disable this library for the native target allows
compiles to succeed on FreeBSD 10 using gcc.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agomem: fix build because of missing stdio.h for FILE
Hiroshi Shimamoto [Thu, 12 Jun 2014 08:10:50 +0000 (08:10 +0000)]
mem: fix build because of missing stdio.h for FILE

Since commit "add FILE argument to debug functions" (591a9d7985c1230),
application which includes rte_memory.h without stdio.h will be hit
compilation failure:

/path/to/include/rte_memory.h:146:30: error: unknown type name ‘FILE’
 void rte_dump_physmem_layout(FILE *f);

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Reviewed-by: Hayato Momma <h-momma@ce.jp.nec.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoethdev: add link state interrupt flag
Stephen Hemminger [Thu, 19 Jun 2014 22:12:38 +0000 (15:12 -0700)]
ethdev: add link state interrupt flag

Only some devices support the link state interrupt configuration option.
Link state control does not work in virtual drivers
(virtio, vmxnet3, igbvf, and ixgbevf). Instead of having the application
try and guess whether it will work or not provide a driver flag that
can be checked instead.

Note: if device driver doesn't support link state control, what
would happen previously is that the code would never detect link
transitions. This prevents that.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
[Thomas: rename flag]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoethdev: read link state interrupt without link update service
Thomas Monjalon [Fri, 20 Jun 2014 13:13:58 +0000 (15:13 +0200)]
ethdev: read link state interrupt without link update service

It is now possible to read link status updated by interrupt without
having manual link_update() service provided by the PMD.
Indeed link_update() is useless in interrupt case. So check of this
function pointer must be done in the interrupt case only.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
10 years agoexamples/ip_reassembly: reduce memory usage
Anatoly Burakov [Wed, 18 Jun 2014 14:50:36 +0000 (15:50 +0100)]
examples/ip_reassembly: reduce memory usage

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoexamples/ip_frag: fix socket detection
Anatoly Burakov [Wed, 18 Jun 2014 14:50:35 +0000 (15:50 +0100)]
examples/ip_frag: fix socket detection

Make everything NUMA-related depend on lcore sockets, not device
sockets. This is because the init_mem() function allocates all data
structures based on NUMA nodes of the lcores in the coremask. Therefore,
when no cores are on socket 0, but there are devices on socket 0, it may
lead to segmentation faults.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoexamples/ip_frag: check for non-existent ports
Anatoly Burakov [Wed, 18 Jun 2014 14:50:35 +0000 (15:50 +0100)]
examples/ip_frag: check for non-existent ports

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: add config option to enable statistics
Anatoly Burakov [Wed, 18 Jun 2014 14:50:31 +0000 (15:50 +0100)]
ip_frag: add config option to enable statistics

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: custom memmove
Anatoly Burakov [Wed, 18 Jun 2014 14:50:33 +0000 (15:50 +0100)]
ip_frag: custom memmove

Some implementations of memmove may make a copy of src before writing to
dst. We avoid that by explicitly writing from src to dst backwards.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: fix order of key compare arguments
Anatoly Burakov [Wed, 18 Jun 2014 14:50:34 +0000 (15:50 +0100)]
ip_frag: fix order of key compare arguments

When using key compare function, it uses key length of the first
argument to determine how long should be the keys that are compared.
However, currently we are passing a key from the fragmentation table as
first argument. the problem with this is that this key is potentially
uninitialized (i.e. contains all zeroes, including key length). this
leads to a nasty bug of comparing only the key id's and not keys
themselves.

Of course, a safer way would be to do RTE_MAX between key lengths, but
since this compare is done per-packet, every cycle counts, so we just
use the key whose length is guaranteed to be correct because it comes
from an actual packet.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: fix debug macros
Anatoly Burakov [Wed, 18 Jun 2014 14:50:29 +0000 (15:50 +0100)]
ip_frag: fix debug macros

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: fix comment
Anatoly Burakov [Wed, 18 Jun 2014 14:50:37 +0000 (15:50 +0100)]
ip_frag: fix comment

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: replace hardcoded value with a macro
Anatoly Burakov [Wed, 18 Jun 2014 14:50:32 +0000 (15:50 +0100)]
ip_frag: replace hardcoded value with a macro

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoip_frag: remove unneeded rte prefixes
Anatoly Burakov [Wed, 18 Jun 2014 14:50:28 +0000 (15:50 +0100)]
ip_frag: remove unneeded rte prefixes

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agomalloc: fix unit tests
Robert Sanford [Mon, 23 Jun 2014 21:17:10 +0000 (17:17 -0400)]
malloc: fix unit tests

Fix typos and false assumptions in malloc unit tests.

Without enhancements to lib rte_malloc, malloc autotest fails every
second (2nd) run. With enhancements, malloc autotest fails in
function test_multi_alloc_statistics, because we compare the wrong
sets of statistics.

Signed-off-by: Robert Sanford <rsanford2@gmail.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
10 years agomalloc: fix linear complexity
Robert Sanford [Mon, 23 Jun 2014 21:17:09 +0000 (17:17 -0400)]
malloc: fix linear complexity

Problems with lib rte_malloc:
1. Rte_malloc searches a heap's entire free list looking for the best
   fit, resulting in linear complexity.
2. Heaps store free blocks in a singly-linked list, resulting in
   linear complexity when rte_free needs to remove an adjacent block.
3. The library inserts and removes free blocks with ad hoc, in-line
   code, rather than using linked-list functions or macros.
4. The library wastes potential small blocks of size 64 and 128 bytes
   (plus overhead of 64 bytes) as padding when reusing free blocks or
   resizing allocated blocks.

This patch addresses those problems as follows:
1. Replace single free list with a handful of free lists. Each free
   list contains blocks of a specified size range, for example:
     list[0]: (0   , 2^8]
     list[1]: (2^8 , 2^10]
     list[2]: (2^10, 2^12]
     list[3]: (2^12, 2^14]
     list[4]: (2^14, MAX_SIZE]

   When allocating a block, start at the first list that can contain
   a big enough block. Search subsequent lists, if necessary.
   Terminate the search as soon as we find a block that is big enough.
2. Use doubly-linked lists, so that we can remove free blocks in
   constant time.
3. Use BSD LIST macros, as defined in sys/queue.h and the QUEUE(3)
   man page.
4. Change code to utilize small blocks of data size 64 and 128, when
   splitting larger blocks.

Signed-off-by: Robert Sanford <rsanford2@gmail.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
10 years agoapp/testpmd: tune default parameters
Cunming Liang [Thu, 26 Jun 2014 06:53:34 +0000 (14:53 +0800)]
app/testpmd: tune default parameters

We usually use testpmd fwd to demonstrate IO forwarding throughput.
For best throughput, it has to assign special parameters to testpmd.
To make it easier to run, now set it as defalut value.
Such parameters are MBUF Mempool Cache and RX/TX threshold registers.
    MBCACHE: 250
    RX threshold registers: pthresh=8 hthresh=8 wthresh=0
    TX threshold registers: pthresh=32 hthresh=0 wthresh=0

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Yong Liu <yong.liu@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
10 years agoapp/testpmd: increase default burst size to 32
Cunming Liang [Thu, 26 Jun 2014 06:53:33 +0000 (14:53 +0800)]
app/testpmd: increase default burst size to 32

The vpmd RX don't accept burst size less than 32.
As vPMD is set =y by default, while default testpmd burst size is 16.
Which will cause RX nothing if not assign burst size correctly.

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Yong Liu <yong.liu@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
10 years agoixgbe: prefer enabling olflags rather than not disabling
Cunming Liang [Thu, 26 Jun 2014 06:53:32 +0000 (14:53 +0800)]
ixgbe: prefer enabling olflags rather than not disabling

RTE_IXGBE_RX_OLFLAGS_ENABLE gives a hint whick keeping packet type
in RX ol_flags or not.
By default it is set to update ol_flags in RX mbuf header.
If unset it, will gain addtional performance, but will lose packet
type information.

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Yong Liu <yong.liu@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
10 years agoixgbe: fix build with IEEE1588 enabled
Cunming Liang [Thu, 26 Jun 2014 06:53:31 +0000 (14:53 +0800)]
ixgbe: fix build with IEEE1588 enabled

Vectorized Rx cannot be enabled if RTE_LIBRTE_IEEE1588=y.
So variable dev is not used in this case.

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Yong Liu <yong.liu@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
10 years agoixgbe: fix build of standard Rx with vectorized Tx
Cunming Liang [Thu, 26 Jun 2014 06:53:30 +0000 (14:53 +0800)]
ixgbe: fix build of standard Rx with vectorized Tx

The vpmd RX routine won't be used if RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC
is not defined or its condition check fail.
The case RTE_LIBRTE_IXGBE_RX_ALLOC_BULK_ALLOC=n and RTE_IXGBE_INC_VECTOR=y
may exist when choose to use standard RX and optimized TX
(ixgbe_xmit_pkts_vec/ixgbe_xmit_pkts_simple).

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Yong Liu <yong.liu@intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
10 years agoixgbe: rework fix of media type for bypass device
Pablo de Lara [Tue, 24 Jun 2014 14:41:29 +0000 (15:41 +0100)]
ixgbe: rework fix of media type for bypass device

This was previously solved in commit 60a70d4e042350ca
(fix link status interrupt of bypass device),
but this alternative fix reverts the previous one and solves the
same issue without modifying the base driver (also named "shared code").

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
10 years agoi40e/base: ignore warning
Chen Jing D(Mark) [Tue, 24 Jun 2014 05:22:57 +0000 (13:22 +0800)]
i40e/base: ignore warning

There is a warning in base driver (shared code) on 32-bits RHEL6.3/6.5:
lib/librte_pmd_i40e/i40e/i40e_lan_hmc.c:917:
error: integer constant is too large for ‘long’ type

As we don't modify base driver, this warning must be ignored.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
10 years agoexplicit shared code naming as base driver
Thomas Monjalon [Tue, 24 Jun 2014 08:03:02 +0000 (10:03 +0200)]
explicit shared code naming as base driver

Intel PMDs are built on top of the base drivers which are provided by Intel
and shouldn't be modified to allow easy batch upgrade from Intel.

The base driver is a "shared code" between many projects. But in DPDK,
the "base driver" naming makes more sense.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
10 years agoapp/testpmd: rework display of Rx descriptors
Helin Zhang [Tue, 24 Jun 2014 02:02:39 +0000 (10:02 +0800)]
app/testpmd: rework display of Rx descriptors

i40e supports 16 and 32 bytes RX descriptors which can be configured.
It needs to check the driver type and the configuration to determine
if 16 or 32 bytes RX descriptors is being used, for reading and
displaying the different sizes of RX descriptors.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agoi40e: ignore failure when updating default macvlan filter
Helin Zhang [Tue, 24 Jun 2014 02:02:38 +0000 (10:02 +0800)]
i40e: ignore failure when updating default macvlan filter

For NVM4.2.2 or after, the firmware has the correct configurations
and load the macvlan filter as expected. It is not needed to
Update the default macvlan filter which cannot be removed at
all during initialization.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agoi40e: disable double vlan by default
Helin Zhang [Tue, 24 Jun 2014 02:02:37 +0000 (10:02 +0800)]
i40e: disable double vlan by default

Double vlan should be specifically disabled by default during
port initialization which is expected.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agoi40e: fix updating hash lookup table of PF RSS
Helin Zhang [Tue, 24 Jun 2014 02:02:36 +0000 (10:02 +0800)]
i40e: fix updating hash lookup table of PF RSS

The bit shifting were written wrongly in '0x1 < j',
the correct one should be '0x1 << j'.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agoi40e: fix RSS hash copy
Helin Zhang [Tue, 24 Jun 2014 02:02:33 +0000 (10:02 +0800)]
i40e: fix RSS hash copy

It wrongly gets the RSS hash result from the RX descriptor which
has been modified for receiving new packet. The fix is to get the
RSS hash result from the buffer which saves the RX descriptor.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agoi40evf: fix link status
Helin Zhang [Tue, 24 Jun 2014 02:02:35 +0000 (10:02 +0800)]
i40evf: fix link status

Fix a bug of copying wrong size of link information in the
function i40evf_get_link_status().

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agoi40evf: remove useless function
Helin Zhang [Tue, 24 Jun 2014 02:02:34 +0000 (10:02 +0800)]
i40evf: remove useless function

i40evf_dev_atomic_read_link_status() was defined but not used.
To avoid possible warnings by some compilers, it needs to
delete the whole function.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
10 years agokni: fix build on Oracle Linux 6.4 and RHEL 6.5
Helin Zhang [Wed, 11 Jun 2014 13:43:38 +0000 (21:43 +0800)]
kni: fix build on Oracle Linux 6.4 and RHEL 6.5

The compile errors are copied as follows. The fixes came from
Linux drivers of ixgbe-3.21.2 and igb-5.1.2 with modifications.
The idea is to use self-defined functions no matter they have
already been defined somewhere or not.

* Oracle Linux6.4
lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h:3111:
error: redefinition of 'ether_addr_equal'
include/linux/etherdevice.h:180: note: previous definition
of 'ether_addr_equal' was here

* RHEL6.5
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3597:
error: redefinition of 'mmd_eee_cap_to_ethtool_sup_t'
include/linux/mdio.h:387: note: previous definition of
'mmd_eee_cap_to_ethtool_sup_t' was here
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3625:
error: redefinition of 'mmd_eee_adv_to_ethtool_adv_t'
include/linux/mdio.h:415: note: previous definition of
'mmd_eee_adv_to_ethtool_adv_t' was here
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3653:
error: redefinition of 'ethtool_adv_to_mmd_eee_adv_t'
include/linux/mdio.h:443: note: previous definition of
'ethtool_adv_to_mmd_eee_adv_t' was here

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
10 years agoi40e: fix build with icc
Chen Jing D(Mark) [Mon, 23 Jun 2014 05:49:45 +0000 (13:49 +0800)]
i40e: fix build with icc

Cast constant to fix the ICC compilation error
introduced in commit 2b12431b5369ca06d43ea
(add vlan stripping and insertion to VF)

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agodistributor: split get_pkt into request and poll
Bruce Richardson [Thu, 19 Jun 2014 21:12:35 +0000 (22:12 +0100)]
distributor: split get_pkt into request and poll

Take the existing get_pkt API and split out the parts for requesting a new
packet from the part to poll for arrival of a new packet. These individual
functions can then be used independently of the get function, which still acts
as before.

The split functions for request and poll will allow a worker to pull
packets from multiple distributors, or to act as multiple workers with a
single distributor if needed for better performance.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
10 years agoi40e: add vlan stripping and insertion to VF
Chen Jing D(Mark) [Fri, 20 Jun 2014 10:24:44 +0000 (18:24 +0800)]
i40e: add vlan stripping and insertion to VF

VF driver add support to configure vlan offload and pvid set/clear
when host driver is DPDK. For Linux driver, it's not supported yet
since it doesn't support from host side.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
10 years agoi40e: add vlan stripping and insertion to PF messaging
Chen Jing D(Mark) [Fri, 20 Jun 2014 10:24:43 +0000 (18:24 +0800)]
i40e: add vlan stripping and insertion to PF messaging

PF driver add 2 commands, data structures and corresponding
message handling functions to support VF doing VLAN offload
and set/clear pvid operation.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
10 years agoi40e: rework vlan stripping and insertion
Chen Jing D(Mark) [Fri, 20 Jun 2014 10:24:42 +0000 (18:24 +0800)]
i40e: rework vlan stripping and insertion

Change original 2 functions to common ones that can take effect on
both VF and PF VSIs.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
10 years agoi40e: add sanity checks in PF messaging
Chen Jing D(Mark) [Fri, 20 Jun 2014 10:24:41 +0000 (18:24 +0800)]
i40e: add sanity checks in PF messaging

Add sanity check in message handling functions on the request
buffer pointer from VF.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
10 years agoi40e: add permanent mac address into mac list
Chen Jing D(Mark) [Fri, 20 Jun 2014 10:24:40 +0000 (18:24 +0800)]
i40e: add permanent mac address into mac list

In old firmware versions, the default mac vlan filter setting is
not the one that we expected, so we'll try to remove it and add
new one to change default setting. After firmware updated, it
change default setting to the one that we expected and don't
allow to remove the setting. In this case, we should add the
perenant mac address into mac list and then return.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
10 years agoi40e: destroy MSI-X pool on close
Chen Jing D(Mark) [Fri, 20 Jun 2014 10:24:39 +0000 (18:24 +0800)]
i40e: destroy MSI-X pool on close

Free MSIX pool resource in function i40e_dev_close.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
10 years agoeal: fix option --base-virtaddr
Pablo de Lara [Thu, 19 Jun 2014 15:35:22 +0000 (16:35 +0100)]
eal: fix option --base-virtaddr

When parsing EAL option --base-virtaddr
errno was not being set to 0 before calling strtoull,
therefore function might fail unnecesarily.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Aaron Campbell <aaron@arbor.net>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
10 years agoversion: 1.7.0-rc1
Thomas Monjalon [Wed, 18 Jun 2014 23:13:25 +0000 (01:13 +0200)]
version: 1.7.0-rc1

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agovfio: more verbose error messages
Anatoly Burakov [Wed, 18 Jun 2014 15:07:17 +0000 (16:07 +0100)]
vfio: more verbose error messages

also, making VFIO code distinguish between actual unexpected values
and ioctl() failures, providing appropriate error messages.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
10 years agovfio: open container at startup rather than during init
Anatoly Burakov [Wed, 18 Jun 2014 15:07:16 +0000 (16:07 +0100)]
vfio: open container at startup rather than during init

Currently, VFIO only checks for being able to access the /dev/vfio
directory when initializing VFIO, deferring actual VFIO container
initialization to VFIO binding code. This doesn't bode well for when
VFIO container cannot be initialized for whatever reason, because
it results in unrecoverable error even if the user didn't set up
VFIO and didn't even want to use it in the first place.

This patch fixes this by moving container initialization into the
code that checks if VFIO is available at runtime. Therefore, any
issues with the container will be known at initialization stage and
VFIO will simply be turned off if container could not be set up.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
10 years agoi40e: remove endian.h include
Bruce Richardson [Wed, 18 Jun 2014 20:33:07 +0000 (21:33 +0100)]
i40e: remove endian.h include

endian.h is not needed for the compilation of i40e_rxtx.c and its
inclusion prevents building on FreeBSD systems.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/test-acl: remove unused variable
Bruce Richardson [Wed, 18 Jun 2014 20:33:05 +0000 (21:33 +0100)]
app/test-acl: remove unused variable

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/testpmd: simplify handling of stats mappings error
Bruce Richardson [Tue, 17 Jun 2014 18:41:12 +0000 (19:41 +0100)]
app/testpmd: simplify handling of stats mappings error

Simplifiy the logic in the error checking branch. Rather than having a
single error branch which checked both RX and TX conditions and made
extensive use of the ? operator, move the error checking explicitly into
the RX and TX individual branches.

The original code caused compilation issues when attempting compilation
with clang on BSD, due to type mismatches. This change fixes the issues
while making the code easier to read and maintain overall.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoapp/testpmd: fix cmdline variable types
Bruce Richardson [Wed, 18 Jun 2014 20:33:04 +0000 (21:33 +0100)]
app/testpmd: fix cmdline variable types

A number of commandline entries in the testpmd commandline were actually
defined as being string type values when in fact they were being
initialized as integer types. Correct this by specifying them as integer
type values in the type definition.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agoscripts: fix filtering of config comments on bsd
Bruce Richardson [Wed, 18 Jun 2014 20:33:06 +0000 (21:33 +0100)]
scripts: fix filtering of config comments on bsd

On BSD 10, the cpp binary behaves a little differently and often leaves
lines starting with a space before the inital '#' character. This change
ensures those lines are filtered out properly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
10 years agotools: fix alignment of cpu layout output
Shannon Zhao [Wed, 18 Jun 2014 04:18:15 +0000 (12:18 +0800)]
tools: fix alignment of cpu layout output

Bug: when "core id" is greater than 9, the cpu_layout.py output doesn't align.

        Socket 0        Socket 1
        ---------       ---------
Core 9  [4, 16]         [10, 22]

Core 10         [5, 17]         [11, 23]

Solution: adjust output format to align based on the maximum length of the "core id" and "processor"

        Socket 0        Socket 1
        --------        --------
Core 9  [4, 16]         [10, 22]

Core 10 [5, 17]         [11, 23]

Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
10 years agoixgbe/base: update copyright to 2014
Jijiang Liu [Wed, 18 Jun 2014 12:38:53 +0000 (14:38 +0200)]
ixgbe/base: update copyright to 2014

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: various changes
Jijiang Liu [Wed, 18 Jun 2014 20:02:28 +0000 (22:02 +0200)]
ixgbe/base: various changes

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: vf changes
Jijiang Liu [Wed, 18 Jun 2014 20:02:04 +0000 (22:02 +0200)]
ixgbe/base: vf changes

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: x540 changes
Jijiang Liu [Wed, 18 Jun 2014 19:59:50 +0000 (21:59 +0200)]
ixgbe/base: x540 changes

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: filtering changes
Jijiang Liu [Wed, 18 Jun 2014 19:55:57 +0000 (21:55 +0200)]
ixgbe/base: filtering changes

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: flow director changes
Jijiang Liu [Wed, 18 Jun 2014 19:52:48 +0000 (21:52 +0200)]
ixgbe/base: flow director changes

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: allow to read in sff8472
Jijiang Liu [Wed, 18 Jun 2014 18:34:56 +0000 (20:34 +0200)]
ixgbe/base: allow to read in sff8472

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: allow access to PHY register without lock
Jijiang Liu [Wed, 18 Jun 2014 19:01:03 +0000 (21:01 +0200)]
ixgbe/base: allow access to PHY register without lock

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]

10 years agoixgbe/base: rework protected access to autoc register
Jijiang Liu [Wed, 18 Jun 2014 17:40:32 +0000 (19:40 +0200)]
ixgbe/base: rework protected access to autoc register

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]