For some unknown reason, priorities do not have any effect on flow rules
that happen to match UDP destination ports. Those are always matched first
regardless.
This patch is a workaround that enforces this limitation at the PMD level;
such flow rules can only be created at the highest priority level for
correctness.
Fixes: a5171594fc3b ("net/mlx4: expose support for flow rule priorities") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Item spec and last are wrongly compared to the NIC capability causing a
validation failure when the mask is null.
This validation function should only verify the user is not configuring
unsupported matching fields.
Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions") Cc: stable@dpdk.org Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Tue, 1 May 2018 09:58:49 +0000 (12:58 +0300)]
net/mlx5: add Rx and Tx tuning parameters
A new ethdev API was exposed by
commit 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters")
Enabling the PMD to provide default parameters in case no strict request
from application in order to improve the out of the box experience.
While the current API lacks the means for the PMD to provide the best
possible value, providing the best default the PMD can guess.
The values are based on Mellanox performance report and depends on the
underlying NIC capabilities.
In scenario of Kernel Driver runs on PF and PMD runs on VF, PMD exit
doesn't disable promiscuous mode, this will cause vlan filter set by
Kernel Driver will not take effect.
This patch will fix it, add promiscuous disable at device disable.
Jianfeng Tan [Thu, 26 Apr 2018 15:34:07 +0000 (15:34 +0000)]
net/virtio-user: fix hugepage files enumeration
After the commit 2a04139f66b4 ("eal: add single file segments option"),
one hugepage file could contain multiple hugepages which are further
mapped to different memory regions.
Original enumeration implementation cannot handle this situation.
This patch filters out the duplicated files; and adjust the size after
the enumeration.
Fixes: 6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer") Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Ciara Loftus [Thu, 3 May 2018 13:17:03 +0000 (14:17 +0100)]
net/vhost: initialise device as inactive
rte_eth_vhost_get_vid_from_port_id returns a value of 0 if
called before the first call to the new_device callback.
A vid value >=0 suggests the device is active which is not
the case in this instance. Initialise vid to a negative
value to prevent this.
Fixes: ee584e9710b9 ("vhost: add driver on top of the library") Cc: stable@dpdk.org Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
when rte_vhost_driver_unregister detstroy the vsocket, we
should set it to NULL after freeing it, because in client mode,
the conn may be added to reconnect thread while vsocket is
destroyed. In one case, if qemu create vhostuser port as a
server with the same unix path, the reconnect thread will
reconnect to it while vsocket is destroyed.
To fix this:
1. set vsocket to NULL after free it.
2. remove the reconnection from reconnection thread in suitable
position.
Cc: stable@dpdk.org Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
When qemu close the unix socket fd of the vhostuser as a
server, and then immediately delete the vhostuser port on
openvswitch. There will be a deadlock.
A thread (fdset event thread): B thread:
1. fdset_event_dispatch rte_vhost_driver_unregister
2. set the fd busy to 1. lock vsocket->conn_mutex
3. vhost_user_read_cb fdset_del waits busy changed to 0.
4. vhost peer closed, remove the
conn from vsocket->conn_list:
lock vsocket->conn_mutex
5. set the fd busy to 0
Fixes: 65388b43f592 ("vhost: fix fd leaks for vhost-user server mode") Cc: stable@dpdk.org Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
net/sfc: rely on ethdev mapping of Tx offloads to TxQ flags
There is no necessity to fill in TxQ flags since ethdev maps
Tx offloads to TxQ flags on device info get for apps which are
not converted yet to Tx offloads API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Qi Zhang [Thu, 3 May 2018 06:03:25 +0000 (14:03 +0800)]
ethdev: convert Tx offloads to Tx queue config
Tx offload will be converted to txq_flags automatically during
rte_eth_dev_info_get and rte_eth_tx_queue_info_get. So PMD can
clean the code to get rid of txq_flags at all while keep old APP
not be impacted.
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Mon, 14 May 2018 15:46:42 +0000 (16:46 +0100)]
app/testpmd: fix initialization
Patch adding configurable locking has reshuffled some init stages, but
did not put them back in correct order. Fix order of init by moving
everything that was before arguments parsing into correct places.
Fixes: e505d84c64ab ("app/testpmd: make locking memory configurable") Reported-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Ali Alnubani <alialnu@mellanox.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
- add EXPERIMENTAL tag for the section in MAINTAINERS.
- add EXPERIMENTAL tag to BPF public API files.
- add attribute __rte_experimental to BPF public API declarations.
Fixes: 94972f35a02e ("bpf: add BPF loading and execution framework") Fixes: 5dba93ae5f2d ("bpf: add ability to load eBPF program from ELF object file") Fixes: a93ff62a8938 ("bpf: introduce basic Rx/Tx filters") Reported-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Mon, 14 May 2018 03:20:48 +0000 (11:20 +0800)]
app/testpmd: fix log after detach
The second parameter "name" in the function rte_eth_dev_detach
has been already redefined as "char *name __rte_unused",
"port_id" is printed instead of "name" in testpmd.
David Hunt [Mon, 14 May 2018 02:53:15 +0000 (03:53 +0100)]
examples/performance-thread: fix return type of threads
The function pthread_create() expects void *(*func) (void *)
for function pointer, however, lthread_func_t was defined as
void (*func) (void *), so now gcc 8.1 warns that the cast is
incorrect, causing a compilation failure. This patch changes
the declaration of lthread_func_t from returning a void to
returning a void*, and then changes the sample app in the
relevant places that are affected by the typedef change.
Fixes: 116819b9ed0d ("examples/performance-thread: add lthread subsystem") Cc: stable@dpdk.org Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This patch provides fix for icc compilation issue with event
crypto adapter test application.
Currently, number of elements in the session mempool is defined
by max_nb_sessions & this is replaced with a macro.
Fixes: 3c2c535ecfc0 ("test: add event crypto adapter auto-test") Reported-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Matan Azrad [Thu, 3 May 2018 10:31:48 +0000 (10:31 +0000)]
app/testpmd: fix asynchronic port removal
When a removable device is plugged-out, a RMV interrupt is invoked and
the application can catch the event in order to stop the device
management.
The Testpmd wrong behavior in this case is to detach the removed device
using the EAL detach API.
The EAL API does not invalidate the ethdev port and the port keeps
appearing as valid from the ethdev point of view.
Thus, the next operations for the ethtev port X may trigger an invalid
rte_device access. For example, calling "show port info X" may cause
segfault.
Moreover, the removed port is not removed from the Testpmd data-path
structures. Therefore, the invalid device may still be used by the
Testpmd data-path.
Call the Testpmd detach_port() function which uses the ethdev detach
API, and prepare the Testpmd forward ports database for a new
forwarding session without the detached port.
Matan Azrad [Thu, 3 May 2018 10:31:46 +0000 (10:31 +0000)]
app/testpmd: fix synchronic port hotplug
When the user uses the synchronic hot-plug commands, attach\detach, in
order to insert\remove a port from the system, the forward ports list
update is missed in the current implementation.
Thus, an invalid port may be used for data-path in case of detach
because the detached port was not removed from the forward port list.
In addition, a new port is not used for data-path in case of attach, as the
default behavior of Testpmd, because the attached port was not inserted
to the forward port list.
Update the forward port list in the above cases to allow the correct
port usage for data-path in the next packet forwarding start.
Fixes: edab33b1c01d ("app/testpmd: support port hotplug") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 3 May 2018 10:31:45 +0000 (10:31 +0000)]
app/testpmd: fix forward ports Rx flush
A port Rx queue flush is done when the packet forwarding starts in
order to clean the port statistics for a new traffic session.
The flush operation is wrongly called before the update of the new
forward ports, and may fail due to flush operation for an invalid port
configured by the old session.
Move the new forward port setup to be done before the Rx queue flush.
Matan Azrad [Thu, 3 May 2018 10:31:44 +0000 (10:31 +0000)]
app/testpmd: fix forward ports update
When the forward ports are changed either by new portlist\portmask
configurations or by a port detachment, all the old forward streams
are freed and new streams are allocated to be aligned with the new
forward ports.
If the number of the forward ports drops to 0, there is an attempt
to wrongly allocate 0 memory for the streams.
Skip the streams memory allocation if no forward ports are configured.
Matan Azrad [Thu, 3 May 2018 10:31:43 +0000 (10:31 +0000)]
app/testpmd: fix valid ports prints
There are several cases of an invalid port data access that causes the
printing of all the valid ports, for example, when the user asks to
receive a port information of an invalid port.
Wrongly, the port with id 0 is printed in all the above described
cases, regardless of its validity.
Print port 0 only if it is valid as done for the rest of the ports.
Fixes: af75078fece3 ("first public release") Fixes: b6ea6408fbc7 ("ethdev: store numa_node per device") Fixes: edab33b1c01d ("app/testpmd: support port hotplug") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Wed, 28 Mar 2018 11:17:53 +0000 (11:17 +0000)]
app/testpmd: fix slave port detection
Testpmd allows to create and control bonding devices by run time
command lines using the bonding PMD API.
Some bonding device slaves operations (close, stop, etc) should not be
used by the application and must be managed by the bonding PMD.
Thus, Testpmd manages slave flags to prevent the special operations
calls and when a slave is added to bonding device by a run time command
line, the flag is set.
There is one more way to define the slaves for a bonding device using
EAL command line and Testpmd doesn't set the slave flag in this case
what causes to the special operations to be called by Testpmd.
Add one more check to detect bonding slave device.
Fixes: 41b05095c4d1 ("app/testpmd: fix bonding start") Fixes: 0e545d3047fe ("app/testpmd: check stopping port is not in bonding") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Anatoly Burakov [Thu, 3 May 2018 12:38:20 +0000 (13:38 +0100)]
app/testpmd: disable memory locking on FreeBSD
If mlockall() is called while allocated VA space is bigger than
amount of available RAM, FreeBSD kernel will deadlock and need
a hard reboot. We do allocate big amounts of memory because of
how new memory subsystem works, so calling mlockall() will cause
a deadlock. So, disable mlockall() by default on FreeBSD.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib: clear experimental version tag in linker scripts
Remove version tag from experimental block in linker version scripts
(.map files).
That label is not used by linker and information only. It is useful
for version blocks but not useful for experimental block but confusing.
Removing those labels.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
Anatoly Burakov [Thu, 3 May 2018 10:11:27 +0000 (11:11 +0100)]
mem: fix unmapping and marking segments as free
Currently, page deallocation might fail if allocator cannot get page
fd, which will leave VA space still mapped, and will also not mark
page as free.
Fix page deallocation function to always unmap space before trying
to get rid of the page itself, and always mark page as free even if
page deallocation failed.
Fixes: a5ff05d60fc5 ("mem: support unmapping pages at runtime") Fixes: 1a7dc2252f28 ("mem: revert to using flock and add per-segment lockfiles") Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 10:11:25 +0000 (11:11 +0100)]
mem: fix index for unmapping segments on failure
Segment index was calculated incorrectly, causing free_seg to
attempt to free segments that do not exist.
Fixes: a5ff05d60fc5 ("mem: support unmapping pages at runtime") Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Yong Liu <yong.liu@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 13:03:19 +0000 (14:03 +0100)]
mem: fix potential underflow on mem size calculation
If total memory is already bigger than max memory, an underflow
will occur on subtraction. Fix it by simply stopping whenever
we already have amount of memory that is bigger than maximum.
Anatoly Burakov [Thu, 3 May 2018 16:25:58 +0000 (17:25 +0100)]
memzone: document reserving zero-length memzones
Currently, reserving a memzone with length set to 0 will not trigger
any memory allocations, and memzone will instead be looking through
already allocated memory only. Document this limitation.
Anatoly Burakov [Thu, 3 May 2018 16:00:47 +0000 (17:00 +0100)]
memzone: fix size on reserving biggest memzone
Size of malloc heap elements include overhead, which should not
be counted as part of memzone.
Fixes: fafcc11985a2 ("mem: rework memzone to be allocated by malloc") Cc: stable@dpdk.org Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
When we ask to reserve virtual areas, we usually include
alignment in the mapping size, and that memory ends up
being wasted. Wasting a gigabyte of VA space while trying to
reserve one gigabyte is pretty expensive on 32-bit, so after
we're done mapping, unmap unneeded space.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Mapping size is a 64-bit integer, but mmap() will accept size_t for
size mappings. A user could request a mapping with an alignment, which
would have overflown size_t, so check if (size + alignment) will
overflow size_t.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Ivan Malov [Fri, 4 May 2018 10:31:54 +0000 (11:31 +0100)]
eal: fix mempool ops name parsing
The code aimed to pick and remember the value of
mempool ops name from EAL command line arguments does not
copy the string and remembers the pointer provided
by getopt_long() directly. The latter could be clobbered
later and result in reading wrong mbuf pool ops name
by rte_mempool library.
Typically, this flaw could be avoided by using strdup()
to remember the string value of the option.
Fixes: a103a97e7191 ("eal: allow user to override default mempool driver") Cc: stable@dpdk.org Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
kni: fix possible mbuf leaks and speed up port release
rx_q fifo can only be released by kernel thread. There may be
mbuf leaks in rx_q because kernel threads are randomly stopped.
When the kni is released and netdev is unregisterd, convert the
physical address mbufs in rx_q to the virtual address in free_q.
By the way, alloc_q can be processed together to speed up the
release rate in userspace.
In my test, it is improved from 300-500ms with a mempool that has
131072 mbufs to 10ms(regardless of the specifications).
David Hunt [Thu, 10 May 2018 07:38:15 +0000 (08:38 +0100)]
test/pipeline: fix return type of stub miss
New warning with gcc 8.1:
The table_action_stub_miss() function was incorrectly
declared as returning a typedef of
rte_pipeline_table_action_handler_miss, instead of what it
should have been, an int.
Changed this to declare the function as returning an int, and
now when the action_handler_miss is set to table_action_stub_miss
(cast as rte_pipeline_table_action_handler_miss), gcc 8.1 no
longer complains about the cast.
Fixes: 5205954791cb ("app/test: packet framework unit tests") Cc: stable@dpdk.org Signed-off-by: David Hunt <david.hunt@intel.com> Reviewed-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
David Hunt [Thu, 10 May 2018 01:25:38 +0000 (02:25 +0100)]
test/distributor: fix return type of thread function
New warning with gcc 8.1:
When casting the function pointer passed to
rte_eal_remote_launch() as an lcore_function_t *,
it expects the cast function to return an int, but
instead it was returning void. Fixed to return
an int.
Fixes: c3eabff124e6 ("distributor: add unit tests") Cc: stable@dpdk.org Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Reshma Pattan [Fri, 4 May 2018 10:47:06 +0000 (11:47 +0100)]
test/reorder: fix freeing mbuf twice
mbufs are being freed twice in error, once in rte_mempool_put_bulk()
and then in rte_reorder_free(). Refactor the code so that we use
rte_reorder_free() to free mbufs in the reorder buffer, and use
rte_pktmbuf_free() to free any unused or drained mbufs.
Fixes: d0c9b58d71 ("app/test: new reorder unit test") Cc: stable@dpdk.org Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Reviewed-by: David Hunt <david.hunt@intel.com>
Andy Green [Sat, 12 May 2018 02:00:37 +0000 (10:00 +0800)]
hash: explicit casts for truncation in CRC32c
In function 'crc32c_sse42_u64_mimic':
rte_hash_crc.h:402:40:
warning: conversion from 'uint64_t' {aka 'long unsigned int'}
to 'uint32_t' {aka 'unsigned int'} may change value [-Wconversion]
init_val = crc32c_sse42_u32(d.u32[0], init_val);
Fixes: 00bf774bab0b ("hash: add assembly implementation of CRC32 intrinsics") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Andy Green [Sat, 12 May 2018 02:00:32 +0000 (10:00 +0800)]
hash: move stack declaration at top of CRC32c function
In function 'crc32c_2words':
rte_hash_crc.h:347:2:
warning: ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
uint32_t crc, term1, term2;
Fixes: d983cf41698f ("hash: add software CRC32 implementation") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Andy Green [Sat, 12 May 2018 02:00:27 +0000 (10:00 +0800)]
ethdev: explicit cast of buffered Tx number
In function 'rte_eth_tx_buffer_flush':
rte_ethdev.h:4248:55:
warning: conversion from 'int' to 'uint16_t'
{aka 'short unsigned int'} may change value [-Wconversion]
buffer->error_callback(&buffer->pkts[sent], to_send - sent,
Fixes: d6c99e62c852 ("ethdev: add buffered Tx") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Andy Green [Sat, 12 May 2018 01:59:17 +0000 (09:59 +0800)]
spinlock/x86: move stack declaration before code
In function 'rte_try_tm':
rte_spinlock.h:82:2:
warning: ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
int retries = RTE_RTM_MAX_RETRIES;
Fixes: ba7468997ea6 ("spinlock: add HTM lock elision for x86") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Andy Green [Sat, 12 May 2018 01:59:32 +0000 (09:59 +0800)]
eal: declare trace buffer at top of own block
rte_dev.h:54:2:
warning: ISO C90 forbids mixed declarations and
code [-Wdeclaration-after-statement]
char buffer[vsnprintf(NULL, 0, fmt, ap) + 1];
Fixes: b974e4a40cb5 ("ethdev: make error checking macros public") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Andy Green [Sat, 12 May 2018 01:59:07 +0000 (09:59 +0800)]
eal: explicit cast of core id when getting index
rte_lcore.h: In function 'rte_lcore_index':
rte_lcore.h:122:14:
warning: conversion to 'int' from 'unsigned int' may change
the sign of the result [-Wsign-conversion]
lcore_id = rte_lcore_id();
Fixes: 5583037a7950 ("eal: get relative core index") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Andy Green [Sat, 12 May 2018 01:58:57 +0000 (09:58 +0800)]
eal: explicit cast of builtin for bsf32
rte_common.h:416:9:
warning: conversion to 'uint32_t' {aka 'unsigned int'} from
'int' may change the sign of the result [-Wsign-conversion]
return __builtin_ctz(v);
^~~~~~~~~~~~~~~~
The builtin is defined to return int, but we want to
return it as uint32_t. Its only defined valid return
values are positive integers or zero, which is OK for
uint32_t. So just add an explicit cast.
Fixes: 03f6bced5bba ("eal: use intrinsic function") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Bruce Richardson [Fri, 27 Apr 2018 13:49:28 +0000 (14:49 +0100)]
build: ensure compatibility with future meson versions
Meson 0.46 fixed a bug where "extract_all_objects" would not recursively
extract objects not compiled from source for a target. To keep backward
compatibility, a "recursive" keyword-arg was added to make this optional.
The value is "false" by default for now, but will change to "true" in
future, so we hard-code it to "false" in our code to ensure future
compatibility.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 27 Apr 2018 13:49:27 +0000 (14:49 +0100)]
build: fix check for libbsd in meson
When we check for libbsd we were just checking for the library itself.
However, on some distros, e.g. CentOS, libbsd will be found even though
it's not usable by DPDK as it's missing the string header. Therefore we
should check for both the library and the header file.
Fixes: 5364de644a4b ("eal: support strlcpy function") Signed-off-by: Bruce Richarson <bruce.richardson@intel.com> Reported-by: Vladimir Medvedkin <medvedkinv@gmail.com> Acked-by: Vladimir Medvedkin <medvedkinv@gmail.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 27 Apr 2018 13:49:26 +0000 (14:49 +0100)]
kernel: fix cross-build of Linux modules with meson
When cross-compiling, if no kernel_dir was specified, then the kernel
modules were still being compiled for the build machine. Fix this by
only building modules on cross-compile when we have a kernel_dir value
set. Print out a message indicating why we are skipping kernel
compilation, and in case that the headers for kernel compile are not
found, print a warning instead of erroring out.
Fixes: a52f4574f798 ("igb_uio: build with meson") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
For non-AVX builds, the cflags used for compiling the i40e driver files
are not passed to the call to build the AVX-specific code path. This can
cause build failures.
../drivers/net/i40e/i40e_ethdev.h:888:42: error: ‘I40E_PFQF_HKEY_MAX_INDEX’ undeclared here (not in a function)
Fixes: e940646b20fa ("drivers/net: build Intel NIC PMDs with meson") Reported-by: Shreyansh Jain <shreyansh.jain@nxp.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Shreyansh Jain <shreyansh.jain@nxp.com>