Helin Zhang [Thu, 22 Jan 2015 07:36:56 +0000 (15:36 +0800)]
ethdev: move some comments
Added code style fixes.
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Helin Zhang [Thu, 22 Jan 2015 07:36:55 +0000 (15:36 +0800)]
i40e: use constant as default hash keys
Calculating the default RSS hash keys at run time is not needed
at all, and may have race conditions. The alternative is to use
array of random values which were generated manually as the
default hash keys.
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Olivier Matz [Fri, 30 Jan 2015 15:52:22 +0000 (16:52 +0100)]
maintainers: claim mbuf, mempool, ring, mk, kvargs, cmdline
I'm volunteer to maintain the following components of dpdk:
- mbuf packet api
- mempool library
- ring library
- build system
- kvargs
- command line library
Note: I've split rte_mempool and rte_malloc as these two libraries
are different enough.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Declan Doherty [Fri, 30 Jan 2015 10:05:56 +0000 (10:05 +0000)]
maintainers: claim responsibility for link bonding PMD
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Declan Doherty [Fri, 30 Jan 2015 17:02:17 +0000 (17:02 +0000)]
bond: remove offload flags from transmit policy checks
The Link bonding library is incorrectly using receive packet type flags
in the transmit policy hashing functions, which would cause packets
generated locally to be incorrectly distributed across the slave
devices. This patch completely removes the dependency on the packet
type flags and uses the ether_type from either the Ethernet header or
the VLAN headers for branching.
This patch also includes the associate changes in the test suite and in
the packet_burst_generator code to remove the dependences on the packet
type flags.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Pawel Wodkowski [Fri, 30 Jan 2015 13:21:11 +0000 (14:21 +0100)]
bond: fix headers for C++
Add missing declarations to rte_bond_8023ad.h.
Remove 'extern "C"' declarations from bond private header file.
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Thomas Monjalon [Thu, 29 Jan 2015 22:27:20 +0000 (23:27 +0100)]
acl: remove standalone header
This is a duplication of some EAL parts for a standalone packaging
which is not documented.
Packaging should be done outside of DPDK.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Thomas Monjalon [Fri, 30 Jan 2015 10:35:14 +0000 (11:35 +0100)]
mk: revert "allow application to override clean"
This reverts commit
ca0038c0094dd8a63fc7595e26d0071a3e3bd72e.
It forces clean target of application to have double-colon.
As stated in make doc:
"Double-colon rules are somewhat obscure and not often very useful"
And it's not needed since POSTCLEAN allow to add some clean targets.
Reported-by: Olivier Matz <olivier.matz@6wind.com>
Reported-by: John Mcnamara <john.mcnamara@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Huawei Xie [Fri, 30 Jan 2015 07:13:36 +0000 (15:13 +0800)]
examples/vhost: fix crash when linking device to VMDQ fails
Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
John W. Linville [Fri, 23 Jan 2015 18:12:25 +0000 (13:12 -0500)]
maintainers: claim responsibility for Linux AF_PACKET PMD
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Fri, 23 Jan 2015 12:31:59 +0000 (13:31 +0100)]
maintainers: start a Linux-style file
This MAINTAINERS file is inspired from the Linux one.
Almost all files are split into areas in order to identify maintainers of
each DPDK area. Note that a maintainer is not a git tree manager.
Candidates are welcome to send a patch to sign up for one or several areas.
There is a script to check coverage, especially when adding or moving files.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:07 +0000 (18:41 +0000)]
acl: add comments about internal layout
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:06 +0000 (18:41 +0000)]
acl: remove unused constant
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:05 +0000 (18:41 +0000)]
acl: introduce config parameter for performance/space trade-off
If at build phase we don't make any trie splitting,
then temporary build structures and resulting RT structure might be
much bigger than current.
>From other side - having just one trie instead of multiple can speedup
search quite significantly.
>From my measurements on rule-sets with ~10K rules:
RT table up to 8 times bigger, classify() up to 80% faster
than current implementation.
To make it possible for the user to decide about performance/space trade-off -
new parameter for build config structure (max_size) is introduced.
Setting it to the value greater than zero, instructs rte_acl_build() to:
- make sure that size of RT table wouldn't exceed given value.
- attempt to minimise number of tries in the table.
Setting it to zero maintains current behaviour.
That introduces a minor change in the public API, but I think the possible
performance gain is too big to ignore it.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:04 +0000 (18:41 +0000)]
acl: deduplicate some SSE and AVX2 code
Vector code reorganisation/deduplication:
To avoid maintaining two nearly identical implementations of calc_addr()
(one for SSE, another for AVX2), replace it with a new macro that suits
both SSE and AVX2 code-paths.
Also remove no needed any more MM_* macros.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:03 +0000 (18:41 +0000)]
acl: move SSE dwords shuffle
Reorganise SSE code-path a bit by moving lo/hi dwords shuffle
out from calc_addr().
That allows to make calc_addr() for SSE and AVX2 practically identical
and opens opportunity for further code deduplication.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:02 +0000 (18:41 +0000)]
acl: use scalar method fastest for some cases
Previous improvements made scalar method the fastest one
for tiny bunch of packets (< 4).
That allows us to remove specific vector code-path for small number of packets
(search_sse_2) and always use scalar method for such cases.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:01 +0000 (18:41 +0000)]
app/test-acl: add ability to manually select RT method
In test-acl replace command-line option "--scalar" with new one:
"--alg=scalar|sse|avx2".
Allows user manually select preferred classify() method.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:41:00 +0000 (18:41 +0000)]
acl: add AVX2 classify method
Introduce new classify() method that uses AVX2 instructions.
>From my measurements:
On HSW boards when processing >= 16 packets per call,
AVX2 method outperforms it's SSE counterpart by 10-25%,
(depending on the ruleset).
When build with the compilers that don't support AVX2 instructions,
make rte_acl_classify_avx2() do nothing and return an error.
At runtime, if librte_acl was build with the compiler that supports AVX2,
this method is selected as default one on HW that supports AVX2.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:59 +0000 (18:40 +0000)]
eal: introduce ymm type for AVX 256-bit
New data type to manipulate 256 bit AVX values.
Rename field in the rte_xmm to keep common naming across SSE/AVX fields.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:58 +0000 (18:40 +0000)]
acl: deduplicate a bit of RT code
Move common check for input parameters up into rte_acl_classify_alg().
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:57 +0000 (18:40 +0000)]
acl: make scalar RT code more similar to vector one
Make classify_scalar to behave in the same way as it's vector counterpart:
move match check out of the inner loop, etc.
That makes scalar and vector code look more identical.
Plus it improves scalar code performance.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:56 +0000 (18:40 +0000)]
acl: simplify match nodes allocation
Right now we allocate indexes for all types of nodes, except MATCH,
at 'gen final RT table' stage.
For MATCH type nodes we are doing it at building temporary tree stage.
This is totally unnecessary and makes code more complex and error prone.
Rework the code and make MATCH indexes being allocated at the same stage
as all others.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:55 +0000 (18:40 +0000)]
acl: introduce DFA nodes compression (group64) for identical entries
Introduced division of whole 256 child transition enties
into 4 sub-groups (64 kids per group).
So 2 groups within the same node with identical children,
can use one set of transition entries.
That allows to compact some DFA nodes and get space savings in the RT table,
without any negative performance impact.
>From what I've seen an average space savings: ~20%.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:54 +0000 (18:40 +0000)]
acl: fix overwritten matches
There was a bug at build phase that can cause matches beeing overwritten.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:53 +0000 (18:40 +0000)]
acl: remove build phase heuristic with negative performance effect
Current rule-wildness based heuristics can cause unnecessary splits of
the ruleset.
That might have negative performance effect:
more tries to traverse, bigger RT tables.
After removing it, on some test-cases with big rulesets (~10K)
observed ~50% speedup.
No difference for smaller rulesets.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:52 +0000 (18:40 +0000)]
acl: make data indexes long enough to survive idle transitions
Make data_indexes long enough to survive idle transitions.
That allows to simplify match processing code.
Also fix incorrect size calculations for data indexes.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:51 +0000 (18:40 +0000)]
app/test: few small fixes for acl
Make sure that test_acl would not ignore error conditions.
Run classify() with all possible values.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Konstantin Ananyev [Tue, 20 Jan 2015 18:40:50 +0000 (18:40 +0000)]
acl: fix build in standalone mode
Fix compilation with RTE_LIBRTE_ACL_STANDALONE=y
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Neil Horman [Tue, 27 Jan 2015 14:39:54 +0000 (09:39 -0500)]
vhost: fix combined lib link with -lfuse
The vhost library relies on libfuse, and thats included when we do a normal
shared object build, but when we specify combined libs, its gets left out. Add
it back in.
Reported-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Michael Qiu [Tue, 27 Jan 2015 12:16:18 +0000 (20:16 +0800)]
ixgbe: add queue start failure check
For ixgbe, when queue start fails, for example, mbuf allocate
failure, the device will still start successfully, which could be
an issue.
Add return status check of queue start to avoid this issue.
Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Ouyang Changchun [Wed, 21 Jan 2015 03:38:43 +0000 (11:38 +0800)]
ixgbe: remove an useless check in VF RSS
To follow up the comments from Pawel Wodkowski, remove this unnecessary check,
as check_mq_mode has already check the queue number in device configure stage,
if the queue number of vf is not correct, it will return error code and exit,
so it doesn't need check again here in device start stage (note: pf_host_configure
is called in device start stage).
Fixes:
42d2f78abcb77 ("configure VF RSS")
Suggested-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Stephen Hemminger [Sat, 27 Dec 2014 17:41:35 +0000 (09:41 -0800)]
ixgbe: initialize link status on initialization
The link_status variable is not set when device is initialized.
This can lead to problems with link never being reported as up
if using some SFP modules where the link is instantly on.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Stephen Hemminger [Wed, 21 Jan 2015 04:16:58 +0000 (20:16 -0800)]
ethdev: remove useless stats zeroing in drivers
The rte_eth_stats_get is the only API that should call the device
statistics function directly, and it already does a memset of the
resulting structure since commit
02331c16ec0ba. Therefore doing
memset() in the driver is redundant and should be removed.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
[David: remove also in igbvf and pcap PMDs]
Acked-By: David Marchand <david.marchand@6wind.com>
Stephen Hemminger [Fri, 23 Jan 2015 06:19:08 +0000 (22:19 -0800)]
mk: allow application to override clean
In some cases application may want to have additional rules
for clean. This can be handled by allowing the double colon
form of rule.
https://www.gnu.org/software/make/manual/html_node/Double_002dColon.html
Single colon and double colon rules for same target causes
an error.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Marc Sune [Wed, 21 Jan 2015 17:00:26 +0000 (18:00 +0100)]
ip_frag: fix header for C++
Add missing extern 'C' decls in rte_ip_frag.h.
Fixes:
601e279df074 ("move fragmentation/reassembly headers into a library")
Signed-off-by: Marc Sune <marc.sune@bisdn.de>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Pablo de Lara [Tue, 20 Jan 2015 09:18:15 +0000 (09:18 +0000)]
power: fix link with application
rte_power_freq_min function did not include "extern" keyword,
causing linking errors.
Fixes:
445c6528b55f ("power: common interface for guest and host")
Reported-by: Ildar Mustafin <imustafin@bk.ru>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Remi Pommarel [Tue, 20 Jan 2015 19:15:16 +0000 (20:15 +0100)]
pcap: fix device name
Ethernet device's data should contain the virtual device name for pcap port.
This name is correctly set by rte_eth_dev_allocate() at initialization time,
but it is directly lost.
Fixes:
83b41136934d ("ethdev: add unique name to devices")
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Remi Pommarel [Tue, 20 Jan 2015 18:54:43 +0000 (19:54 +0100)]
eal: fix enabled core number with -l option
When using core list argument to define which core to enable (ie -l) the
core_num field of the rte configuration is not updated the same way as using
coremask. This causes rte_lcore_num() to yield different value from the one
using coremask.
Fixes:
d888cb8b9613 ("add core list input format")
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Daniel Mrzyglod [Thu, 22 Jan 2015 09:54:02 +0000 (10:54 +0100)]
mk: fix build with icc-15
This patch add Support for ICC 15.
ICC 15 changed inline-max-size and inline-max-total-size default values,
so for ICC 15 flags -no-inline-max-size -no-inline-max-total-size must be added.
additionally disable compile error for:
13368 - loop was not vectorized with "vector always assert"
15527 - loop was not vectorized: function call to fprintf cannot be vectorize
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Jingjing Wu [Thu, 22 Jan 2015 01:09:16 +0000 (09:09 +0800)]
doc: update testpmd commands for ethertype filter
new commands for ethertype filter
- ethertype_filter (port_id) (add|del) (mac_addr|mac_ignr)
(mac_address) ethertype (ether_type) (drop|fwd) queue (queue_id)
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Jingjing Wu [Mon, 12 Jan 2015 07:16:13 +0000 (15:16 +0800)]
ethdev: remove old ethertype filter
Structure rte_ethertype_filter is removed.
Following APIs are removed:
- rte_eth_dev_add_ethertype_filter
- rte_eth_dev_remove_ethertype_filter
- rte_eth_dev_get_ethertype_filter
It is replaced by filter_ctrl API.
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Jingjing Wu [Mon, 12 Jan 2015 07:16:12 +0000 (15:16 +0800)]
app/testpmd: new commands for ethertype filter
Following commands of ethertype filter are removed:
- add_ethertype_filter (port_id) ethertype (eth_value)
- remove_ethertype_filter (port_id) index (idx)
- get_ethertype_filter (port_id) index (idx)
New command is added for ethertype filter by using filter_ctrl API and new
ethertype filter structure:
- ethertype_filter (port_id) (add|del) (mac_addr|mac_ignr)
(mac_address) ethertype (ether_type) (drop|fwd) queue (queue_id)
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Jingjing Wu [Mon, 12 Jan 2015 07:16:10 +0000 (15:16 +0800)]
ixgbe: use generic filter control for ethertype filter
This patch removes old functions which deal with ethertype filter in ixgbe driver.
It also defines ixgbe_dev_filter_ctrl which is binding to filter_ctrl API,
and ethertype filter can be dealt with through this new entrance.
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Jingjing Wu [Mon, 12 Jan 2015 07:16:11 +0000 (15:16 +0800)]
igb: use generic filter control for ethertype filter
This patch removes old functions which deal with ethertype filter in igb driver.
It also defines eth_igb_filter_ctrl which is binding to filter_ctrl API,
and ethertype filter can be dealt with through this new entrance.
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Declan Doherty [Fri, 16 Jan 2015 15:10:30 +0000 (15:10 +0000)]
mem: fix alignment parameter check
In commit
2fc8d6d the behaviour of function rte_is_power_of_2 was
changed to not return true for 0. memzone_reserve_aligned_thread_unsafe
and rte_malloc_socket both make the assumption that for align = 0
!rte_is_power_of_2(align) will return false. This patch adds a check
that align parameter is non-zero before doing the power of 2 check.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
[Thomas: use && operator instead of ternary ?: and fix precedence with parens]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Ouyang Changchun [Mon, 12 Jan 2015 05:59:12 +0000 (13:59 +0800)]
app/testpmd: set Rx VMDq RSS mode
Set VMDq RSS mode if it has VF (VF number is more than 1) and has RSS information.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Ouyang Changchun [Mon, 12 Jan 2015 05:59:11 +0000 (13:59 +0800)]
ixgbe: configure VF RSS
It needs config RSS and IXGBE_MRQC and IXGBE_VFPSRTYPE to enable VF RSS.
The psrtype will determine how many queues the received packets will distribute to,
and the value of psrtype should depends on both facet: max VF rxq number which
has been negotiated with PF, and the number of rxq specified in config on guest.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Ouyang Changchun [Mon, 12 Jan 2015 05:59:10 +0000 (13:59 +0800)]
ethdev: check VMDq RSS mode
Check mq mode for VMDq RSS, handle it correctly instead of returning an error;
Also remove the limitation of per pool queue number has max value of 1, because
the per pool queue number could be 2 or 4 if it is VMDq RSS mode;
The number of rxq specified in config will determine the mq mode for VMDq RSS.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Ouyang Changchun [Mon, 12 Jan 2015 05:59:09 +0000 (13:59 +0800)]
ixgbe: get VF queue number
Get the available Rx and Tx queue number when receiving IXGBE_VF_GET_QUEUES
message from VF.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Ouyang Changchun [Mon, 12 Jan 2015 05:59:08 +0000 (13:59 +0800)]
ixgbe: negotiate VF API version
Negotiate API version with VF when receiving the IXGBE_VF_API_NEGOTIATE message.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Ouyang Changchun [Mon, 12 Jan 2015 05:59:07 +0000 (13:59 +0800)]
ixgbe: code cleanup
Put global register configuring out of loop for queue; also fix typo and indent.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Tomasz Kulasek [Fri, 16 Jan 2015 14:27:52 +0000 (15:27 +0100)]
eal/linux: check fscanf return when parsing modules list
The lack of result checking of fscanf function, breaks compilation
for default "-Werror=unused-result" flag.
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Bruce Richardson [Fri, 16 Jan 2015 12:24:13 +0000 (12:24 +0000)]
nic_uio: fix thread structure compatibility for future FreeBSD
Replace d_thread_t with struct thread in nic_uio.
Ref: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196691
Quote:
"The d_thread_t typedef is a compat shim to support FreeBSD 4.x.
I'm planning to remove this shim from 11 and dpdk is very unlikely
to ever be ported to 4.x.
If it does it will need far more changes than just d_thread_t"
Reported-by: John Baldwin <jhb@freebsd.org>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 16 Dec 2014 11:07:52 +0000 (11:07 +0000)]
app/testpmd: remove duplicated function for list parsing
There were two static functions called "parse_item_list" in testpmd app.
Since one was a superset of the functionality of the other, we can
collapse the two calls down into a single one, shared between the two
C files.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Declan Doherty [Tue, 16 Dec 2014 12:45:10 +0000 (12:45 +0000)]
bond: fix vlan flag interpretation
This patch contains a fix for link bonding handling of vlan tagged packets in mode 3 and 5.
Currently xmit_slave_hash function misinterprets the PKT_RX_VLAN_PKT flag to mean that
there is a vlan tag within the packet when in actually means that there is a valid entry
in the vlan_tci field in the mbuf.
- Fixed VLAN tag support in hashing functions.
- Adds support for TCP in layer 4 header hashing.
- Splits transmit hashing function into separate functions for each policy to
reduce branching and to make the code clearer.
- Fixed incorrect flag set in test application packet generator.
Test report: http://dpdk.org/ml/archives/dev/2015-January/010792.html
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Tested-by: SunX Jiajia <sunx.jiajia@intel.com>
Michael Qiu [Wed, 10 Dec 2014 11:46:17 +0000 (19:46 +0800)]
vfio: avoid enabling while the module is not loaded
When vfio module is not loaded when kernel support vfio feature,
the routine still try to open the container to get file
description.
This action is not safe, and of course got error messages:
EAL: Detected 40 lcore(s)
EAL: unsupported IOMMU type!
EAL: VFIO support could not be initialized
EAL: Setting up memory...
This may make user confuse, this patch make it reasonable
and much more smooth to user.
Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Stephen Hemminger [Tue, 9 Dec 2014 16:35:46 +0000 (08:35 -0800)]
log: remove unnecessary stubs
The read/seek/close stub functions are unnecessary on the
log stream. Per glibc fopencookie man page:
cookie_read_function_t *read
If *read is a null pointer, then reads from the custom stream
always return end of file.
cookie_seek_function_t *seek
If *seek is a null pointer, then it is not possible to perform
seek operations on the stream.
cookie_close_function_t *close
If *close is NULL, then no special action is performed when the
stream is closed.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Vlad Zolotarov [Tue, 23 Dec 2014 17:23:17 +0000 (19:23 +0200)]
mem: search only dpdk hugetlbfs maps
When scanning the hugetlbfs maps search only for the DPDK maps.
This will allow the application create its own hugetlbfs mappings
and use the DPDK facilities on the same hugetlbfs mount point.
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Pawel Wodkowski [Fri, 9 Jan 2015 15:05:25 +0000 (16:05 +0100)]
ethdev: fix missing parenthesis in mac check
Fix check introduced in commit
4bdefaade6d1 (VMDQ enhancements).
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Ravi Kerur [Sat, 27 Dec 2014 15:30:44 +0000 (10:30 -0500)]
eal: fix check for power of 2 in 0 case
rte_is_power_of_2 returns true for 0 and 0 is not power_of_2.
Fix by checking for n.
Signed-off-by: Ravi Kerur <rkerur@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Neil Horman [Fri, 2 Jan 2015 19:58:57 +0000 (14:58 -0500)]
mk: fix link to static combined library
When building static archives with CONFIG_COMBINED_LIBS, we still need to
specify --whole-archive to pull in all the proper constructors.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Reported-by: Lyn M <netinal7@gmail.com>
Tested-by: Lyn M <netinal7@gmail.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Thu, 15 Jan 2015 09:55:25 +0000 (10:55 +0100)]
version: 2.0.0-rc0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Fri, 19 Dec 2014 13:36:18 +0000 (14:36 +0100)]
version: 1.8.0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Fri, 19 Dec 2014 14:09:51 +0000 (15:09 +0100)]
pkg: remove Intel references
Synchronize naming with changes done in documentation,
e.g. commit
ac8ada0 ("doc: remove Intel references from release notes").
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Thomas Monjalon [Fri, 19 Dec 2014 13:34:40 +0000 (14:34 +0100)]
pkg: support sphinx documentation
Guides have been added in release 1.8.0.
They use sphinx to process rst files.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Thomas Monjalon [Fri, 19 Dec 2014 13:32:04 +0000 (14:32 +0100)]
pkg: fix link to bind tool
The NIC bind tool has been renamed in commit
f0e14c5f66c9c137.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Siobhan Butler [Thu, 18 Dec 2014 15:48:47 +0000 (15:48 +0000)]
doc: updating to 1.8 release note
Added instructions for updating from DPDK 1.7.0 to 1.8.0
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Sergio Gonzalez Monroy [Mon, 15 Dec 2014 10:32:43 +0000 (10:32 +0000)]
doc: add known issue for iommu and igb_uio
Known issue regarding iommu/VT-d and igb_uio in Linux kernel version 3.15
to 3.17 where unbinding the device from the driver removes the 1:1 mapping
in the iommu resulting in IOMMU/DMAR errors when the device tries to
access memory.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:32 +0000 (16:47 +0000)]
doc: move resolved issues
Removed resolved issues from known issues section.
Added new resolved issues to resolved issues section.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Thu, 18 Dec 2014 15:48:46 +0000 (15:48 +0000)]
doc: add i40e vxlan support to release notes
Added to New and Supported features for VXLAN feature.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Thu, 18 Dec 2014 15:01:35 +0000 (15:01 +0000)]
doc: add udp tunnel flag for checksum offload
Added to configuration instructions for UDP packet tunneling.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:31 +0000 (16:47 +0000)]
doc: add new features to release notes
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:30 +0000 (16:47 +0000)]
doc: move new features to supported features for 1.8 release
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:37 +0000 (16:47 +0000)]
doc: update list of sample apps in release notes
Added new and existing names of sample apps to list of
sample apps in release notes.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Bernard Iremonger [Thu, 18 Dec 2014 21:11:17 +0000 (21:11 +0000)]
doc: fix typos
Fix some typos in i40e and poll_mode_drv sections of the programmers guide.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Reshma Pattan [Wed, 17 Dec 2014 13:11:14 +0000 (13:11 +0000)]
doc: fix setup menu options in linux guide
fixed setup menu options in linux gsg to
keep in synch with setup.sh
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Fri, 19 Dec 2014 15:08:46 +0000 (15:08 +0000)]
doc: update i40e tuning in linux guide
Updated the i40e Enabling Additional Functionality
section (5.7) of DPDK Getting Started Guide.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Bruce Richardson [Tue, 2 Dec 2014 16:17:58 +0000 (16:17 +0000)]
doc: update mbuf section of programmers guide
In Release 1.8, the mbuf structure was significantly reworked to add
extra information, leading to the structure being split across two
cache lines, and the data pointer being replaced by an offset. The
description of the library in the programmer's guide document needs
to be updated to take account of these changes.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Chao Zhu [Sat, 13 Dec 2014 03:06:10 +0000 (11:06 +0800)]
doc: add IBM Power description to linux guide
This patch added IBM ppc_64 descriptions, including architecture
support, compiling requirements on Linux.
Signed-off-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Thu, 18 Dec 2014 16:34:49 +0000 (16:34 +0000)]
doc: add bsd license to distributor svgs
Added copyright to distributor sample app svg files.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:34 +0000 (16:47 +0000)]
doc: remove licensing overview from release notes
Removing Appendix A from Release Notes as Intel Licensing information is
no longer relevant in this document.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:34 +0000 (16:47 +0000)]
doc: remove Intel legal info from release notes
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Thu, 18 Dec 2014 16:04:27 +0000 (16:04 +0000)]
doc: remove Intel legal info from sample apps guide
Removed Legal blurb from sample applications guide.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:58:39 +0000 (16:58 +0000)]
doc: remove Intel legal info from testpmd guide
Removed Intel Legal blurb from TestPMD User Guide.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Fri, 19 Dec 2014 14:30:43 +0000 (14:30 +0000)]
doc: remove Intel legal info from prog guide
Removed redundant Intel legal info from programmers guide.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Tue, 16 Dec 2014 10:56:37 +0000 (10:56 +0000)]
doc: remove Intel legal info from freebsd guide
Removed redundant legal blurb from FreeBSD GSG
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Pablo de Lara [Fri, 19 Dec 2014 15:08:48 +0000 (15:08 +0000)]
doc: remove Intel legal info from linux guide
Removed redundant Intel legal info from linux gsg.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:47:35 +0000 (16:47 +0000)]
doc: remove Intel references from release notes
Removed multiple references to Intel(R) DPDK where no longer
relevant.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Thu, 18 Dec 2014 10:51:19 +0000 (10:51 +0000)]
doc: remove Intel references from sample apps guide
Removed redundant references to Intel(R) DPDK in Sample App UG.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Wed, 17 Dec 2014 16:58:38 +0000 (16:58 +0000)]
doc: remove Intel references from testpmd guide
Removed redundant Intel references from TestPMD User Guide.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Fri, 19 Dec 2014 14:30:42 +0000 (14:30 +0000)]
doc: remove Intel references from prog guide
Removed redundant references to Intel(R) DPDK in Programmers Guide.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Tue, 16 Dec 2014 10:49:56 +0000 (10:49 +0000)]
doc: remove Intel references from freebsd guide
Updated the FreeBSD GSG to remove redundant Intel references.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Siobhan Butler [Fri, 19 Dec 2014 15:08:47 +0000 (15:08 +0000)]
doc: remove Intel references from linux guide
Removed references to Intel which
are no longer relevant in linux gsg.
Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Balazs Nemeth [Thu, 18 Dec 2014 17:56:36 +0000 (17:56 +0000)]
ixgbevf: fix link state
This patch fixes checking the link state of a virtual function. If the
state has already been checked, it does not need to be checked
again. Previously, get_link_status in the ixgbe_hw struct was used to
track if the information had already been retrieved, but this field
was always set to false (signifying that the information was
up-to-date). The problem was introduced by commit
8ef32003 which was
part of a patch set to update the ixgbe portion of the PMD. This patch
does not break consistency with the ixgbevf driver. Instead, it fixes
the problem at the level of DPDK.
Applications that rely on the reported link speed could fail without
this patch. The qos_sched example application provided with DPDK did
not run when virtual functions were used. The output for this example
application is shown below:
EAL: Error - exiting with code: 1
Cause: Unable to config sched subport 0, err=-2
The problem and the effect of the patch can been seen by running the
l2fwd example application using the following command:
sudo ./build/l2fwd -c 0x3 -n 4 -- -p 0x3 -T 0
Before the patch has been applied (with both links up):
...
Checking link statusdone
Port 0 Link Up - speed 100 Mbps - half-duplex
Port 1 Link Up - speed 100 Mbps - half-duplex
L2FWD: entering main loop on lcore 1
...
After the patch has been applied (with both links up):
...
Checking link statusdone
Port 0 Link Up - speed 10000 Mbps - full-duplex
Port 1 Link Up - speed 10000 Mbps - full-duplex
L2FWD: entering main loop on lcore 1
...
Before the patch has been applied (with link 0 down, link 1 up):
...
Checking link statusdone
Port 0 Link Up - speed 100 Mbps - half-duplex
Port 1 Link Up - speed 100 Mbps - half-duplex
L2FWD: entering main loop on lcore 1
...
After the patch has been applied (with link 0 down, link 1 up):
...
Checking link status............................................................
..............................done
Port 0 Link Down
Port 1 Link Up - speed 10000 Mbps - full-duplex
...
Signed-off-by: Balazs Nemeth <balazs.nemeth@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Michael Qiu [Thu, 18 Dec 2014 10:16:49 +0000 (18:16 +0800)]
ixgbe: fix secondary process start
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: PCI memory mapped at 0x7f18c2a00000
EAL: PCI memory mapped at 0x7f18c2a80000
Segmentation fault (core dumped)
This is introduced by commit:
46bc9d75
ixgbe: fix multi-process support
When start primary process with command line:
./app/test/test -n 1 -c ffff -m 64
then start the second one:
./app/test/test -n 1 --proc-type=secondary --file-prefix=rte
This segment-fault will occur.
Root cause is test app on primary process only starts device, but
the queue need initialized by manually command line.
So the tx queue is still NULL when secondary process startup.
Reported-by: Yong Liu <yong.liu@intel.com>
Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Sujith Sankar [Thu, 18 Dec 2014 09:09:40 +0000 (14:39 +0530)]
enic: use eal to manage interrupts
This patch removes the interrupt registration code which was under the flag
VFIO_PRESENT and relies on the rte_lib code for the same.
This also ignores the initial trigger of ISR from the lib.
Signed-off-by: Sujith Sankar <ssujith@cisco.com>
Daniel Mrzyglod [Fri, 19 Dec 2014 15:01:36 +0000 (16:01 +0100)]
af_packet: fix possible memory leak
In rte_pmd_init_internals, we are mapping memory but not released
if error occurs it could produce memory leak.
Add unmmap function to release memory.
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
Acked-by: John W. Linville <linville@tuxdriver.com>
Daniel Mrzyglod [Thu, 18 Dec 2014 09:45:05 +0000 (09:45 +0000)]
af_packet: fix memory allocation checks
In rte_eth_af_packet.c we are we are missing NULL pointer
checks after calls to allocate memory for queues.
Add checking NULL pointer and error handling.
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Neil Horman [Thu, 18 Dec 2014 11:31:56 +0000 (06:31 -0500)]
xenvirt: fix build break on ethernet address parsing
Back in commit
aaa662e75c23c61 ("cmdline: fix overflow on bsd"),
the author failed to fixup a call to cmdline_parse_etheraddr in xenvirt.
This patch makes the needed correction to avoid a build break.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>