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
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