dpdk.git
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
11 years agoixgbe: RX queue count is not implemented for VF
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
ixgbe: RX queue count is not implemented for VF

It was introduced by mistake in version 1.4.0.

Signed-off-by: Intel
11 years agoixgbe: use DD bit to count RX available descriptors
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
ixgbe: use DD bit to count RX available descriptors

Signed-off-by: Intel
11 years agoigb: use DD bit to count RX available descriptors
Intel [Mon, 22 Jul 2013 22:00:00 +0000 (00:00 +0200)]
igb: use DD bit to count RX available descriptors

Signed-off-by: Intel