Bruce Richardson [Mon, 17 Feb 2014 19:15:19 +0000 (20:15 +0100)]
mbuf: rework check on mbuf freeing
Allow poll-mode drivers to maintain their own caches of mbufs, by allowing them
to check if it's ok to free an mbuf (to their local cache) without actually
freeing it back to the memory pool itself.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Bruce Richardson [Wed, 12 Feb 2014 16:26:03 +0000 (16:26 +0000)]
sched: use common macro RTE_DIM
Replace local DIM() macro with RTE_DIM in rte_red.c
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 11 Feb 2014 12:11:44 +0000 (12:11 +0000)]
timer: missing optimization flag in compile
Timer library was missing the -O3 compile-time flag. This has been
added.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Wed, 12 Feb 2014 16:46:12 +0000 (16:46 +0000)]
eal: fix printf format
Fix some format indicators in printf.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 18 Feb 2014 09:51:16 +0000 (10:51 +0100)]
eal: cleanup on mempool and memzone object names
Cleanup mempool and memzone object names so that we can more easily rename them
from headers.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Bruce Richardson [Wed, 12 Feb 2014 17:04:33 +0000 (17:04 +0000)]
eal: fix build with some gcc 4.4 toolchains
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Bruce Richardson [Mon, 17 Feb 2014 20:04:44 +0000 (21:04 +0100)]
eal: fix typo for RTE_EAL_ALLOW_INV_SOCKET_ID
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Bruce Richardson [Tue, 11 Feb 2014 15:40:49 +0000 (15:40 +0000)]
eal: fix support for older gcc versions
older versions of gcc don't support the cold attribute so make its
presence conditional.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 11 Feb 2014 15:38:29 +0000 (15:38 +0000)]
eal: fix cpuflags for latest microarch
Ensure that support for AVX2, HLE and RTM works with cpuflags.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 11 Feb 2014 10:08:43 +0000 (10:08 +0000)]
eal: new common macros added
Added the following new macros/inline functions, which are both
generally useful and needed for later functionality:
* rte_align64pow2: aligns a 64bit parameter to next power of 2
* RTE_LEN2MASK: create mask of type <tp> with the first <ln> bits
* RTE_DIM: return the number of elements in an array.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Mon, 10 Feb 2014 14:43:44 +0000 (14:43 +0000)]
eal: add rte_compiler_barrier() macro
The rte_ring functions used a compiler barrier to stop the compiler
reordering certain expressions. This is generally useful so is moved
to the common header file with the other barriers.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 11 Feb 2014 12:10:16 +0000 (12:10 +0000)]
mk: compilation fixes
Missing _GNU_SOURCE define for compilation of a number of files.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Mon, 17 Feb 2014 12:56:37 +0000 (13:56 +0100)]
mk: add haswell target
Add support for haswell based systems.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Bruce Richardson [Mon, 17 Feb 2014 12:46:06 +0000 (13:46 +0100)]
mk: rework cpu flags detection
For cases where the compilation microarchitecture is explicitly given, we
extract the cpu-flags to use from the compiler rather than hard-coding. This
means that we will only ever use instruction sets supported by the compiler,
rather than having a case where the uarch and the Intel DPDK both support a
given instruction-set, but the compiler does not.
In the case where 'native' uarch support is requested, the same mechanism is
also used to detect the instruction-sets supported
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Bruce Richardson [Tue, 11 Feb 2014 16:46:00 +0000 (16:46 +0000)]
config: remove deprecated opt for unbinding ports
Remove the unbind ports option from the config files as this
has been deprecated since 1.4 release.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Thomas Monjalon [Wed, 23 Oct 2013 09:40:56 +0000 (11:40 +0200)]
config: fix combined/shared lib
- Configuration for combined and shared library was only in the template
defconfig_x86_64-default-linuxapp-gcc.
- CONFIG_RTE_LIBNAME was in the wrong section
- RTE_LIBNAME had no quote in "C context" (include/rte_config.h)
- and then CONFIG_RTE_LIBNAME quotes were not properly removed in "make context"
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Bruce Richardson [Mon, 10 Feb 2014 11:49:10 +0000 (11:49 +0000)]
add FreeBSD support
Changes to allow compilation and use on FreeBSD. Includes:
* contigmem and nic_uio driver for FreeBSD
* new EAL instance
* new "bsdapp" compilation target
* various compilation fixes due to differences between linux and freebsd
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Mon, 10 Feb 2014 11:46:50 +0000 (11:46 +0000)]
update Intel copyright years to 2014
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Intel [Wed, 4 Dec 2013 09:00:00 +0000 (10:00 +0100)]
version: 1.5.2
Signed-off-by: Intel
Intel [Wed, 4 Dec 2013 09:00:00 +0000 (10:00 +0100)]
lpm: fix sub-rule deletion
Restore group validation flag of the tbl8 entry
if sub-rule is replaced by an encompassing rule.
Signed-off-by: Intel
Richardson, Bruce [Tue, 26 Nov 2013 16:49:46 +0000 (16:49 +0000)]
pcap: fix mbuf allocation
A static list of 64 mbufs was being reused in Rx function.
This caused two errors:
1) If more than 64 buffers were requested in a single burst,
only the last 64 buffers are returned, the others are lost.
2) Application will free the mbuf being returned, but the receive
function will reuse the buffer anyway. If some other allocation
is done, there is suddenly multiple writers for the same mbuf.
It is fixed by allocating mbuf on demand.
In the same time, some length errors are fixed.
Reported-by: Mats Liljegren <mats.liljegren@enea.com>
Reported-by: Robert Sanford <rsanford@prolexic.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Intel [Wed, 4 Dec 2013 09:00:00 +0000 (10:00 +0100)]
ixgbe: residual fix about resetting big Tx queues
Index overflow when resetting big queues was partially fixed in
bcf457f8c0d64a5c (ixgbe: fix index overflow when resetting big Tx queues)
and better fixed in
e8ae856140bce4e4 (igb/ixgbe: fix index overflow when resetting big queues)
But this version (1.5.2r0) has residues of the initial fix from 1.5.1r0.
Signed-off-by: Intel
Richardson, Bruce [Tue, 26 Nov 2013 11:07:52 +0000 (11:07 +0000)]
igb/ixgbe: fix build with ICC
ICC requires an initializer be given for the static variables,
so adding one in cases where one wasn't previously given.
This problem was introduced in commit
e8ae856140bce4e
(fix index overflow when resetting big queues).
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Fri, 15 Nov 2013 11:08:10 +0000 (12:08 +0100)]
igb/ixgbe: fix index overflow when resetting big queues
Rings are resetted with a loop because memset cannot be used without
issuing a warning about volatile casting.
The index of the loop was a 16-bit variable which is sufficient for
ring entries number but not for the byte size of the whole ring.
The overflow happens when rings are configured for 4096 entries
(descriptor size is 16 bytes). The result is an endless loop.
It is fixed by indexing ring entries and resetting all bytes of the entry
with a simple assignment.
The descriptor initializer is zeroed thanks to its static declaration.
There already was a fix for ixgbe Tx only
(commit
bcf457f8c0d64a5cb094fd55836b324bddb930b6).
It is reverted to use the same fix everywhere (Rx/Tx for igb/ixgbe).
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
version: 1.5.1
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
examples/l3fwd-vf: improve configuration
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
examples/exception_path: 64-bit coremasks
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/testpmd: more help
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/testpmd: add MAC control forward
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/testpmd: add bypass support
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/test: fix memory autotest
Memory length is printed as a decimal value since version 1.4
(commit
3b46fb77ebdb6bb6b47c578a2986077dcff68a19).
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/test: fix whitelist
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/test: add pmd_ring
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/test: rename pmac_acl as acl
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
app/cmdline_test: fix build without app/test
This application is built if LIBRTE_CMDLINE is enabled.
But there was no enabled source file if APP_TEST is disabled.
Let's consider that CONFIG_RTE_APP_TEST apply only on app/test.
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
kni: fix vhost build with kernel 3.7
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
kni: fix X540 init
KNI must not do hardware reset. But it was resetting X540 devices.
This bug was in the first KNI version
(commit
3fc5ca2f63529ec5ad7b1b75f517d61dc7613bd9).
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
kni: add i354 support
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: fix index overflow when resetting big Tx queues
The index of the loop was a 16-bit variable which is sufficient for
ring entries number but not for the byte size of the whole ring.
The overflow happens when queue rings are configured for 4096 entries
(descriptor size is 16 bytes). The result is an endless loop.
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: fix RSC disabling bit
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: add MAC control forward
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: add MAC control forward
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ethdev: add MAC control forward
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: add 82599 bypass support
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ethdev: add bypass logic
An overview of bypass logic can be seen in this document:
http://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ethernet-server-bypass-adapter-x520-x540-family-brief.pdf
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
igb: fix PF build
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
igb: configure CRC stripping for i211 and i354
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
igb: add i354 support
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: update base driver
The base driver supports more NICs:
- i210 flashless
- i217
- i218
- i354
The new features are not automatically used by the DPDK PMD.
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: revert fix for multicast in VF
Revert fix from commit
06cf9be95ce16b363c4267d2d17e27c2706629ae.
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: more error checks
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: mark unused parameters
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: minor changes
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: whitespace changes
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
virtio: minor changes
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ring: use rte_atomic functions
Rather than directly calling intrinsics functions,
use functions from rte_atomic.h.
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ring: move log
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ring: fix build without ixgbe
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
pcap: fix build without ixgbe
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
mem: remove hugepage file on unmap
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
pci: fix sysfs parsing for uio
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
sched: remove debug symbols
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
meter: remove debug symbols
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
lpm: fix route adding
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
eal: whitespace change
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
eal: fix build with intrinsics and gcc < 4.8
Provide a fallback if the intrinsic __builtin_bswap16 is not available.
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
mk: always preprocess template config file
Signed-off-by: Intel
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
mk: avoid multiple inclusion of rte_config.h
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
version: 1.5.0-pre-release
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples: minor changes
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/qat: upgrade to CRF 1.2
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/l3fwd: no bare metal support
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/l2fwd_fork: new app
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/qos_sched: add stats
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/qos_meter: add color policy
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/kni: new parameters
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/vmdq_dcb: new port mask parameter
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/vmdq: new app
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/testpmd: VMDq and DCB updates
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: various updates
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: update kni
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: update interrupts test
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: fix memzone test
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: new timer test
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: add whitelist
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: add timer_perf
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: minor changes
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: remove pattern matching test
It needs librte_pmac which is not released.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: add vhost backend
Attach to vhost-net as raw socket backend.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: move FIFO functions
Move FIFO functions into kni_fifo.h in order to reuse it for vhost.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: allow multiple threads
In this new mode, each KNI device has its own kernel thread for Rx.
The core affinity is configurable.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: identify device by name
Some old API functions based on port_id are deprecated.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: generate random MAC address if needed
Replace the address based on "\0KNIxy" by a random MAC.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: fix build with kernel 3.10
- The flags NETIF_F_HW_VLAN_* have been renamed to NETIF_F_HW_VLAN_CTAG_*.
See Linux commit
f646968f8f7c624587de729115d802372b9063dd.
- The VLAN protocol must be specified.
See Linux commits
86a9bad3ab6b6f858fd4443b48738cabbb6d094c
and
80d5c3689b886308247da295a228a54df49a44f6.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: clean logs
The debug is now disabled by default and can be enabled with
configuration option CONFIG_RTE_KNI_KO_DEBUG.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: minor changes
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
virtio: add new driver
This PMD can be used in a VM having virtio-net NIC.
Note: it is a different implementation than virtio-usermap extension.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ethdev: random MAC address
Factorize code by moving random_addr() function in only place.
It will be reused for virtio.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: increase I/O privilege
Set I/O privilege to the highest level (3).
It is needed for virtio.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
pcap: add new driver
This PMD uses libpcap to send/receive packets to/from any NIC.
It can also read/write to/from a file.
Signed-off-by: Intel