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
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ring: add new driver
This PMD is a set of FIFOs using rte_ring without any NIC.
It can be used as a loopback.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ethdev: allow device without registered driver
It is needed for non-pci devices (ring and pcap).
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ethdev: export allocate function
The function rte_eth_dev_allocate() was called by rte_eth_dev_init().
In order to use it for non-pci devices, it is now in public API.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: introduce non-pci devices
This type of pseudo-device is needed for ring and pcap PMDs.
They are compatible with whitelist and are initialized in rte_eal_init().
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ixgbe: add VMDq support
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
igb: add VMDq support
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ethdev: add VMDq support
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ixgbe: fix VF init without setup
In case of multi-process application, the secondary process can initialize
the driver without configuring queues. In this case the Rx/Tx functions
were not initialized because it was only done in queue setup.
Fix by reproducing the same behaviour as in eth_ixgbe_dev_init().
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
igb: fix VF init without setup
In case of multi-process application, the secondary process can initialize
the driver without configuring queues. In this case the Rx/Tx functions
were not initialized because it was only done in queue setup.
Fix by reproducing the same behaviour as in eth_igb_dev_init().
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
e1000: fix descriptor overflow
Allow rxq->rx_tail + offset > 65535
in eth_em_rx_descriptor_done().
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
e1000: minor changes
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ethdev: reset unsupported stats
Initialize statistics structure to 0 before passing it to the PMD.
This way, the unsupported fields will be 0.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
mem: retrieve mempool cache only when needed
It is an optimization for the single consumer case,
or when cache is too small,
or when cache is disabled.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
mem: retry malloc with smaller block size when failure
rte_malloc try to allocate memzone blocks with a minimum size.
It it fails, it retries for a smaller size than the standard one.
It will really fail if it cannot allocate block of the requested size.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
timer: use a skip list
The skip list algorithm allows to improve the scalability.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
lpm: rework rules storage
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
sched: minor changes
Do not define grinder_credits_check() if it is not used.
Signed-off-by: Intel
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: use pause only with SSE2
The pause instruction is part of SSE2 extensions.
Note that some compilers define _mm_pause as "rep; nop" instead of "pause".
For compatible processors, they are equivalent.
http://www.intel.com/Assets/PDF/manual/325383.pdf:
"
When executing a spin-wait loop, a Pentium 4 or Intel Xeon processor suffers
a severe performance penalty when exiting the loop because it detects a
possible memory order violation.
The PAUSE instruction provides a hint to the processor that the code sequence
is a spin-wait loop. The processor uses this hint to avoid the memory order
violation in most situations, which greatly improves processor performance.
"
Signed-off-by: Intel