229 Commits

Author SHA1 Message Date
Intel
1d2d65121b e1000: minor changes
Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
5037620be5 e1000: whitespace changes
Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
f72751f2c7 virtio: minor changes
Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
de9fa911b1 ring: use rte_atomic functions
Rather than directly calling intrinsics functions,
use functions from rte_atomic.h.

Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
a8d9a27ae4 ring: move log
Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
a7bbd6e2fc ring: fix build without ixgbe
Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
1e082d4350 pcap: fix build without ixgbe
Signed-off-by: Intel
2013-11-24 01:31:33 +01:00
Intel
718bf2ae4d mem: remove hugepage file on unmap
Signed-off-by: Intel
2013-11-23 23:48:41 +01:00
Intel
ce1f9117b3 pci: fix sysfs parsing for uio
Signed-off-by: Intel
2013-11-23 23:48:21 +01:00
Intel
53784a6090 sched: remove debug symbols
Signed-off-by: Intel
2013-11-21 10:12:10 +01:00
Intel
8d111d7425 meter: remove debug symbols
Signed-off-by: Intel
2013-11-21 10:12:10 +01:00
Intel
9cb80085a4 lpm: fix route adding
Signed-off-by: Intel
2013-11-21 10:12:01 +01:00
Intel
fed1491b40 eal: whitespace change
Signed-off-by: Intel
2013-11-20 10:27:00 +01:00
Intel
732a9d3035 eal: fix build with intrinsics and gcc < 4.8
Provide a fallback if the intrinsic __builtin_bswap16 is not available.

Signed-off-by: Intel
2013-11-20 10:27:00 +01:00
Intel
ac33030524 mk: avoid multiple inclusion of rte_config.h
Signed-off-by: Intel
2013-11-19 16:20:09 +01:00
Intel
dcae8715b8 version: 1.5.0-pre-release
Signed-off-by: Intel
2013-10-09 16:16:16 +02:00
Intel
b23ffbaa82 kni: add vhost backend
Attach to vhost-net as raw socket backend.

Signed-off-by: Intel
2013-10-09 16:16:15 +02:00
Intel
904d29a135 kni: move FIFO functions
Move FIFO functions into kni_fifo.h in order to reuse it for vhost.

Signed-off-by: Intel
2013-10-09 16:16:15 +02:00
Intel
9c61145ff6 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
2013-10-09 16:16:15 +02:00
Intel
fbf895d44c kni: identify device by name
Some old API functions based on port_id are deprecated.

Signed-off-by: Intel
2013-10-09 16:16:15 +02:00
Intel
0b44a857c8 kni: generate random MAC address if needed
Replace the address based on "\0KNIxy" by a random MAC.

Signed-off-by: Intel
2013-10-09 16:16:15 +02:00
Intel
4583570637 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
2013-10-09 16:16:14 +02:00
Intel
47cda8c470 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
2013-10-09 16:16:14 +02:00
Intel
abc3630ed3 kni: minor changes
Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
c1f86306a0 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
2013-10-09 16:16:14 +02:00
Intel
7ef0072910 ethdev: random MAC address
Factorize code by moving random_addr() function in only place.
It will be reused for virtio.

Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
7bd128eae2 eal: increase I/O privilege
Set I/O privilege to the highest level (3).
It is needed for virtio.

Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
4c173302c3 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
2013-10-09 16:16:14 +02:00
Intel
e1e4017751 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
2013-10-09 16:16:14 +02:00
Intel
dc5026b485 ethdev: allow device without registered driver
It is needed for non-pci devices (ring and pcap).

Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
0b33b68d12 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
2013-10-09 16:16:14 +02:00
Intel
2c502225c6 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
2013-10-09 16:16:14 +02:00
Intel
fe3a45fd41 ixgbe: add VMDq support
Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
d52147ec28 igb: add VMDq support
Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
88ac4396ad ethdev: add VMDq support
Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
0105ba4c6b 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
2013-10-09 16:16:14 +02:00
Intel
5caeb1b143 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
2013-10-09 16:16:14 +02:00
Intel
a84f185a8a e1000: fix descriptor overflow
Allow rxq->rx_tail + offset > 65535
in eth_em_rx_descriptor_done().

Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
b967915a03 e1000: minor changes
Signed-off-by: Intel
2013-10-09 16:16:14 +02:00
Intel
02331c16ec 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
2013-10-09 16:14:52 +02:00
Intel
d15808aa1e 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
2013-10-09 16:04:09 +02:00
Intel
7c60fd9ef6 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
2013-10-09 16:04:09 +02:00
Intel
9b15ba895b timer: use a skip list
The skip list algorithm allows to improve the scalability.

Signed-off-by: Intel
2013-10-09 16:04:09 +02:00
Intel
ef8ff191a4 lpm: rework rules storage
Signed-off-by: Intel
2013-10-09 16:04:09 +02:00
Intel
0260e5e43f sched: minor changes
Do not define grinder_credits_check() if it is not used.

Signed-off-by: Intel
2013-10-09 16:04:09 +02:00
Intel
5140eb165f 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
2013-10-09 16:04:09 +02:00
Intel
cd5b32ee33 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
2013-10-09 16:03:59 +02:00
Intel
5a55b9ac91 eal: allow to blacklist address without domain prefix
These 2 formats are now accepted:
    domain🚌device.function
           bus:device.function

Signed-off-by: Intel
2013-10-09 15:46:52 +02:00
Intel
0058a97b6a 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
2013-10-09 15:46:52 +02:00
Intel
e740686611 eal: minor changes
Signed-off-by: Intel
2013-10-09 15:46:52 +02:00