dpdk.git
11 years agokni: fix X540 init
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
11 years agokni: add i354 support
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
kni: add i354 support

Signed-off-by: Intel
11 years agoixgbe: fix index overflow when resetting big Tx queues
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
11 years agoixgbe: fix RSC disabling bit
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: fix RSC disabling bit

Signed-off-by: Intel
11 years agoixgbe: add MAC control forward
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: add MAC control forward

Signed-off-by: Intel
11 years agoe1000: add MAC control forward
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: add MAC control forward

Signed-off-by: Intel
11 years agoethdev: add MAC control forward
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ethdev: add MAC control forward

Signed-off-by: Intel
11 years agoixgbe: add 82599 bypass support
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ixgbe: add 82599 bypass support

Signed-off-by: Intel
11 years agoethdev: add bypass logic
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
11 years agoigb: fix PF build
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
igb: fix PF build

Signed-off-by: Intel
11 years agoigb: configure CRC stripping for i211 and i354
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
igb: configure CRC stripping for i211 and i354

Signed-off-by: Intel
11 years agoigb: add i354 support
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
igb: add i354 support

Signed-off-by: Intel
11 years agoe1000: update base driver
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
11 years agoe1000: revert fix for multicast in VF
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
11 years agoe1000: more error checks
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: more error checks

Signed-off-by: Intel
11 years agoe1000: mark unused parameters
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: mark unused parameters

Signed-off-by: Intel
11 years agoe1000: minor changes
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: minor changes

Signed-off-by: Intel
11 years agoe1000: whitespace changes
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
e1000: whitespace changes

Signed-off-by: Intel
11 years agovirtio: minor changes
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
virtio: minor changes

Signed-off-by: Intel
11 years agoring: use rte_atomic functions
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
11 years agoring: move log
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ring: move log

Signed-off-by: Intel
11 years agoring: fix build without ixgbe
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
ring: fix build without ixgbe

Signed-off-by: Intel
11 years agopcap: fix build without ixgbe
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
pcap: fix build without ixgbe

Signed-off-by: Intel
11 years agomem: remove hugepage file on unmap
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
mem: remove hugepage file on unmap

Signed-off-by: Intel
11 years agopci: fix sysfs parsing for uio
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
pci: fix sysfs parsing for uio

Signed-off-by: Intel
11 years agosched: remove debug symbols
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
sched: remove debug symbols

Signed-off-by: Intel
11 years agometer: remove debug symbols
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
meter: remove debug symbols

Signed-off-by: Intel
11 years agolpm: fix route adding
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
lpm: fix route adding

Signed-off-by: Intel
11 years agoeal: whitespace change
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
eal: whitespace change

Signed-off-by: Intel
11 years agoeal: fix build with intrinsics and gcc < 4.8
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
11 years agomk: always preprocess template config file
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
mk: always preprocess template config file

Signed-off-by: Intel
11 years agomk: avoid multiple inclusion of rte_config.h
Intel [Fri, 8 Nov 2013 02:00:00 +0000 (03:00 +0100)]
mk: avoid multiple inclusion of rte_config.h

Signed-off-by: Intel
11 years agoversion: 1.5.0-pre-release
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
version: 1.5.0-pre-release

Signed-off-by: Intel
11 years agoexamples: minor changes
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples: minor changes

Signed-off-by: Intel
11 years agoexamples/qat: upgrade to CRF 1.2
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/qat: upgrade to CRF 1.2

Signed-off-by: Intel
11 years agoexamples/l3fwd: no bare metal support
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/l3fwd: no bare metal support

Signed-off-by: Intel
11 years agoexamples/l2fwd_fork: new app
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/l2fwd_fork: new app

Signed-off-by: Intel
11 years agoexamples/qos_sched: add stats
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/qos_sched: add stats

Signed-off-by: Intel
11 years agoexamples/qos_meter: add color policy
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/qos_meter: add color policy

Signed-off-by: Intel
11 years agoexamples/kni: new parameters
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/kni: new parameters

Signed-off-by: Intel
11 years agoexamples/vmdq_dcb: new port mask parameter
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/vmdq_dcb: new port mask parameter

Signed-off-by: Intel
11 years agoexamples/vmdq: new app
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
examples/vmdq: new app

Signed-off-by: Intel
11 years agoapp/testpmd: VMDq and DCB updates
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/testpmd: VMDq and DCB updates

Signed-off-by: Intel
11 years agoapp/test: various updates
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: various updates

Signed-off-by: Intel
11 years agoapp/test: update kni
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: update kni

Signed-off-by: Intel
11 years agoapp/test: update interrupts test
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: update interrupts test

Signed-off-by: Intel
11 years agoapp/test: fix memzone test
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: fix memzone test

Signed-off-by: Intel
11 years agoapp/test: new timer test
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: new timer test

Signed-off-by: Intel
11 years agoapp/test: add whitelist
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: add whitelist

Signed-off-by: Intel
11 years agoapp/test: add timer_perf
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: add timer_perf

Signed-off-by: Intel
11 years agoapp/test: minor changes
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
app/test: minor changes

Signed-off-by: Intel
11 years agoapp/test: remove pattern matching test
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
11 years agokni: add vhost backend
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
11 years agokni: move FIFO functions
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
11 years agokni: allow multiple threads
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
11 years agokni: identify device by name
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
11 years agokni: generate random MAC address if needed
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
11 years agokni: fix build with kernel 3.10
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
11 years agokni: clean logs
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
11 years agokni: minor changes
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
kni: minor changes

Signed-off-by: Intel
11 years agovirtio: add new driver
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
11 years agoethdev: random MAC address
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
11 years agoeal: increase I/O privilege
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
11 years agopcap: add new driver
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
11 years agoring: add new driver
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
11 years agoethdev: allow device without registered driver
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
11 years agoethdev: export allocate function
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
11 years agoeal: introduce non-pci devices
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
11 years agoixgbe: add VMDq support
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ixgbe: add VMDq support

Signed-off-by: Intel
11 years agoigb: add VMDq support
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
igb: add VMDq support

Signed-off-by: Intel
11 years agoethdev: add VMDq support
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
ethdev: add VMDq support

Signed-off-by: Intel
11 years agoixgbe: fix VF init without setup
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
11 years agoigb: fix VF init without setup
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
11 years agoe1000: fix descriptor overflow
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
11 years agoe1000: minor changes
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
e1000: minor changes

Signed-off-by: Intel
11 years agoethdev: reset unsupported stats
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
11 years agomem: retrieve mempool cache only when needed
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
11 years agomem: retry malloc with smaller block size when failure
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
11 years agotimer: use a skip list
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
11 years agolpm: rework rules storage
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
lpm: rework rules storage

Signed-off-by: Intel
11 years agosched: minor changes
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
11 years agoeal: use pause only with SSE2
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
11 years agoeal: allow to whitelist devices
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: allow to whitelist devices

The new option --use-device is a PCI whitelist.
It is the opposite to -b option.

Signed-off-by: Intel
11 years agoeal: allow to blacklist address without domain prefix
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: allow to blacklist address without domain prefix

These 2 formats are now accepted:
    domain:bus:device.function
           bus:device.function

Signed-off-by: Intel
11 years agoeal: rework CPU mask parsing
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: rework CPU mask parsing

The CPU mask was limited to "unsigned long long".
The limit was removed and parsing/init is less loosy.

Signed-off-by: Intel
11 years agoeal: minor changes
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
eal: minor changes

Signed-off-by: Intel
11 years agomk: combined library
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
mk: combined library

Allow to merge all libraries (shared or static) into one.

Signed-off-by: Intel
11 years agomk: shared libraries
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
mk: shared libraries

Allow to build shared libraries (.so) instead of static ones (.a).

Signed-off-by: Intel
11 years agomk: link with libm
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
mk: link with libm

Signed-off-by: Intel
11 years agodoc: whitespace changes in licenses
Intel [Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)]
doc: whitespace changes in licenses

Signed-off-by: Intel
11 years agoupdate version to 1.4.1
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
update version to 1.4.1

Signed-off-by: Intel
11 years agoexamples/ip_reassembly: various updates
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
examples/ip_reassembly: various updates

- postpone calls to rte_pktmbuf_free() when a mbuf is not used anymore
- add some tx statistics

Signed-off-by: Intel
11 years agoexamples/dpdk_qat: rework port discovery
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
examples/dpdk_qat: rework port discovery

Signed-off-by: Intel
11 years agoexamples/qos_sched: minor changes
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
examples/qos_sched: minor changes

Signed-off-by: Intel
11 years agoexamples/qos_sched: add --msz for mempool size
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
examples/qos_sched: add --msz for mempool size

Signed-off-by: Intel
11 years agoexamples/l3fwd-power: use DD bit rather than RX queue count
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
examples/l3fwd-power: use DD bit rather than RX queue count

Prefer use of rte_eth_rx_descriptor_done to rte_eth_rx_queue_count.

Signed-off-by: Intel
11 years agoixgbe: fix DCB setup
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
ixgbe: fix DCB setup

Signed-off-by: Intel
11 years agoixgbe: check DD bit for specific RX descriptor
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
ixgbe: check DD bit for specific RX descriptor

Signed-off-by: Intel
11 years agoigb: check DD bit of specific RX descriptor
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
igb: check DD bit of specific RX descriptor

Signed-off-by: Intel
11 years agoethdev: check DD bit of specific RX descriptor
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
ethdev: check DD bit of specific RX descriptor

Signed-off-by: Intel