Xiaolong Ye [Thu, 30 May 2019 09:07:07 +0000 (17:07 +0800)]
net/af_xdp: remove unused struct member
Fixes:
f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
Cc: stable@dpdk.org
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Xiaolong Ye [Thu, 30 May 2019 09:07:06 +0000 (17:07 +0800)]
net/af_xdp: support multi-queue
This patch adds two parameters `start_queue` and `queue_count` to
specify the range of netdev queues used by AF_XDP pmd.
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Xiaolong Ye [Thu, 30 May 2019 09:07:05 +0000 (17:07 +0800)]
net/af_xdp: enable zero copy by external mbuf
Implement zero copy of af_xdp pmd through mbuf's external memory
mechanism to achieve high performance.
This patch also provides a new parameter "pmd_zero_copy" for user, so they
can choose to enable zero copy of af_xdp pmd or not.
To be clear, "zero copy" here is different from the "zero copy mode" of
AF_XDP, it is about zero copy between af_xdp umem and mbuf used in dpdk
application.
Suggested-by: Vipin Varghese <vipin.varghese@intel.com>
Suggested-by: Tummala Sivaprasad <sivaprasad.tummala@intel.com>
Suggested-by: Olivier Matz <olivier.matz@6wind.com>
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Stephen Hemminger [Thu, 16 May 2019 03:53:10 +0000 (20:53 -0700)]
net/failsafe: fix reported device info
The failsafe driver device info had several issues in the
info it reported in dev_info_get:
- it cleared dev_info->device set in rte_eth_dev_info_get
- many fields (for example max_rx_queue) should be the minimum
of all sub devices
- it reported tx capa for the active transmit device, but
the device may change.
There was enough messed up that ended up reworking the info_get
handler. There is no need to save current values or have a
template for defaults.
Fixes:
4e31ee26ed51 ("net/failsafe: report actual device capabilities")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Mesut Ali Ergin [Thu, 6 Jun 2019 16:30:42 +0000 (09:30 -0700)]
net/i40e: fix uninitialized value
Initializes mark_spec pointer to NULL.
Coverity issue: 341075
Fixes:
0bbcfc706a2b ("net/i40e: support MARK and RSS flow action")
Signed-off-by: Mesut Ali Ergin <mesut.a.ergin@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:47 +0000 (13:42 -0400)]
net/bnxt: enable RSS for thor-based controllers
Make changes needed to support rss for thor-based controllers.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:45 +0000 (13:42 -0400)]
net/bnxt: enable completion coalescing for thor
Enable completion coalescing for Thor-based adapters.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:44 +0000 (13:42 -0400)]
net/bnxt: support thor controller
This commit adds support to the bnxt PMD for devices
based on the BCM57508 "thor" Ethernet controller.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:43 +0000 (13:42 -0400)]
net/bnxt: refactor ring allocation
Reduce code duplication and prepare for supporting hardware with
different ring allocation requirements by refactoring ring
allocation code.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:42 +0000 (13:42 -0400)]
net/bnxt: refactor doorbell handling
Reduce code duplication and prepare for newer controllers that
use different doorbell protocols by refactoring doorbell handling
code.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:41 +0000 (13:42 -0400)]
net/bnxt: support extended HWRM request sizes
Enable support for extended request sizes.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:40 +0000 (13:42 -0400)]
net/bnxt: reset function earlier in initialization
Move function reset to beginnng of initialization sequence.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:39 +0000 (13:42 -0400)]
net/bnxt: use consistent values for VNIC RSS rule
Use consistent values for vnic->rss_rule. No functional change,
these all equate to uint16_t 0xffff.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:38 +0000 (13:42 -0400)]
net/bnxt: fix variable width in endian conversion
Use 32-bit conversion width when converting to 32-bit values.
Fixes:
6371b91fb66d ("net/bnxt: add ring alloc/free")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:37 +0000 (13:42 -0400)]
net/bnxt: fix ring type macro name
Use consistent macro names for ring type values. (There is no
functional change, the "alloc" and "free" values are identical.)
Fixes:
6371b91fb66d ("net/bnxt: add ring alloc/free")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Sun, 2 Jun 2019 17:42:36 +0000 (13:42 -0400)]
net/bnxt: fix endianness in ring macros
Descriptor fields in CP ring are in little-endian form, convert
to CPU endian before performing arithmetic operations.
Also use more general comparison when checking for ring
index wrap.
Fixes:
f2a768d4d186 ("net/bnxt: add completion ring")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Andrew Rybchenko [Sat, 1 Jun 2019 08:42:44 +0000 (09:42 +0100)]
net/sfc: advertise offload capabilities by Tx datapaths
Tx datapath feature bits were useful on migration from the old offload API
to the new one. However, right now it just adds indirection which
complicates code reading and understanding. Also addition of a new
offloads requires addition of a new feature bits and makes patches longer
and harder to understand. So, remove feature bits which correspond to Tx
offloads and simply advertise device and per-queue offloads directly.
Generic code could still mask some offloads if running HW or FW does not
support it.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Andrew Rybchenko [Sat, 1 Jun 2019 08:42:43 +0000 (09:42 +0100)]
net/sfc: advertise offload capabilities by Rx datapaths
Rx datapath feature bits were useful on migration from the old offload API
to the new one. However, right now it just adds indirection which
complicates code reading and understanding. Also addition of a new
offloads requires addition of a new feature bits and makes patches longer
and harder to understand. So, remove feature bits which correspond to Rx
offloads and simply advertise device and per-queue offloads directly.
Generic code could still mask some offloads if running HW or FW does not
support it.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
David Marchand [Fri, 17 May 2019 08:15:08 +0000 (10:15 +0200)]
ethdev: add a check on mempool during RxQ setup
We currently have no check on the mempool pointer passed to
rte_eth_rx_queue_setup.
Let's avoid a plain crash when dereferencing it.
Suggested-by: Jens Freimann <jfreimann@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Michal Krawczyk [Tue, 28 May 2019 08:28:34 +0000 (10:28 +0200)]
net/ena: fix Rx checksum errors statistics
Rx checksum flags and input errors shouldn't be updated on Tx, as it
would work only for packets forwarding.
The ierrors statistic should be updated on Rx, right after checking
Rx checksum flags if the Rx checksum offload is enabled.
Fixes:
1173fca25af9 ("ena: add polling-mode driver")
Cc: stable@dpdk.org
Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Rafal Kozik [Tue, 14 May 2019 11:11:26 +0000 (13:11 +0200)]
net/ena: fix Tx statistics
Instead of counting number of used NIC Tx bufs just count number
of Tx packets.
Fixes:
45b6d86184fc ("net/ena: add per-queue software counters stats")
Cc: stable@dpdk.org
Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
Jakub Grajciar [Thu, 6 Jun 2019 11:38:50 +0000 (13:38 +0200)]
net/memif: introduce memory interface PMD
Shared memory packet interface (memif) PMD allows for DPDK and any other
client using memif (DPDK, VPP, libmemif) to communicate using shared
memory. The created device transmits packets in a raw format. It can be
used with Ethernet mode, IP mode, or Punt/Inject. At this moment, only
Ethernet mode is supported in DPDK memif implementation. Memif is Linux
only.
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Maxime Coquelin [Wed, 5 Jun 2019 10:00:39 +0000 (12:00 +0200)]
net/virtio: remove useless pointer checks
This patch removes useless checks on 'prev' pointer, as it
is always set before with a valid value.
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime Coquelin [Wed, 5 Jun 2019 10:00:38 +0000 (12:00 +0200)]
net/virtio: fix segment length in mergeable packed Rx
Head segment data_len field is wrongly summed with the length
of all the segments of the chain, whereas it should be the
length of the first segment only.
Fixes:
a76290c8f1cf ("net/virtio: implement Rx path for packed queues")
Cc: stable@dpdk.org
Reported-by: Yaroslav Brustinov <ybrustin@cisco.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime Coquelin [Wed, 5 Jun 2019 10:00:37 +0000 (12:00 +0200)]
net/virtio: fix mergeable Rx with segmented packet
After having dequeued a burst of descriptors, there may be a
need to dequeue a few more if the last packet was segmented
and not complete. When it happens, the extra segments were
not properly attached to the mbuf chain, and so were lost.
Also, head segment data_len field is wrongly summed with
the length of all the segments of the chain.
This patch fixes both the mbuf chaining and head segment's
data_len field
Fixes:
bcac5aa207f8 ("net/virtio: improve batching in mergeable path")
Cc: stable@dpdk.org
Reported-by: Yaroslav Brustinov <ybrustin@cisco.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime Coquelin [Wed, 5 Jun 2019 10:00:36 +0000 (12:00 +0200)]
net/virtio: fix in-order Rx with segmented packet
After having dequeued a burst of descriptors, there may be a
need to dequeue a few more if the last packet was segmented
and not complete. When it happens, the extra segments were
not properly attached to the mbuf chain, and so were lost.
Also, head segment data_len field is wrongly summed with
the length of all the segments of the chain.
This patch fixes both the mbuf chaining and head segment's
data_len field.
Fixes:
e5f456a98d3c ("net/virtio: support in-order Rx and Tx")
Cc: stable@dpdk.org
Reported-by: Yaroslav Brustinov <ybrustin@cisco.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tiwei Bie [Wed, 5 Jun 2019 09:42:32 +0000 (17:42 +0800)]
net/vhost: release port upon close
Set RTE_ETH_DEV_CLOSE_REMOVE upon probe so all the private
resources for the port can be freed by rte_eth_dev_close().
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime Coquelin [Wed, 29 May 2019 13:04:20 +0000 (15:04 +0200)]
eal/x86: force inlining of all memcpy and mov helpers
Some helpers in the header file are forced inlined other are
only inlined, this patch forces inline for all.
It will avoid it to be embedded as functions when called multiple
times in the same object file. For example, when we added packed
ring support in vhost-user library, rte_memcpy_generic got no
more inlined.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Maxime Coquelin [Wed, 29 May 2019 13:04:19 +0000 (15:04 +0200)]
vhost: simplify descriptor buffer prefetching
Now that we have a single function to map the descriptors
buffers, let's prefetch them there as it is the earliest
place we can do it.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Maxime Coquelin [Wed, 29 May 2019 13:04:18 +0000 (15:04 +0200)]
vhost: do not inline unlikely fragmented buffers code
Handling of fragmented virtio-net header and indirect descriptors
tables was implemented to fix CVE-2018-1059. It should never
happen with healthy guests and so is already considered as
unlikely code path.
This patch moves these bits into non-inline dedicated functions
to reduce the I-cache pressure.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Maxime Coquelin [Wed, 29 May 2019 13:04:17 +0000 (15:04 +0200)]
vhost: do not inline packed and split functions
At runtime either packed Tx/Rx functions will always be called,
or split Tx/Rx functions will always be called.
This patch removes the forced inlining in order to reduce
the I-cache pressure.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Maxime Coquelin [Wed, 29 May 2019 13:04:16 +0000 (15:04 +0200)]
vhost: un-inline dirty pages logging functions
In order to reduce the I-cache pressure, this patch removes
the inlining of the dirty pages logging functions, that we
can consider as cold path.
Indeed, these functions are only called while doing live
migration, so not called most of the time.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
David Marchand [Thu, 9 May 2019 08:03:48 +0000 (10:03 +0200)]
net/virtio: remove useless check on mempool
This .rx_queue_setup devop is called after ethdev already dereferenced
the mempool pointer.
No need to check and we can remove this rte_exit.
Fixes:
48cec290a3d2 ("net/virtio: move queue configure code to proper place")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
David Harton [Thu, 16 May 2019 18:28:03 +0000 (14:28 -0400)]
net/i40e: eliminate weak symbols in data path
Use of weak symbols can hide makefile errors especially when
custom makefiles are used. Removing the use of weak symbols
to avoid a stub function being linked in production code.
Signed-off-by: David Harton <dharton@cisco.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
William Tu [Fri, 31 May 2019 16:52:42 +0000 (09:52 -0700)]
net/af_xdp: fix remove path
When users call rte_eth_dev_close() and rte_dev_remove(), the af_xdp
pmd return -1 (EPERM) due to eth_dev == NULL.
Since the af_xdp pmd driver advertises RTE_ETH_DEV_CLOSE_REMOVE, all
the resources are freed on rte_eth_dev_close(). rte_dev_remove() tries
to detach device and subsequently calls rte_pmd_af_xdp_remove() that
tries to free already freed resources and fails.
Fix it by return success.
Fixes:
f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
Cc: stable@dpdk.org
Reported-at: https://patchwork.ozlabs.org/patch/
1106528/
Suggested-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: William Tu <u9012063@gmail.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:15:01 +0000 (12:15 -0700)]
net/mlx5: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:15:00 +0000 (12:15 -0700)]
net/ixgbe: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:59 +0000 (12:14 -0700)]
net/i40e: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:58 +0000 (12:14 -0700)]
net/enic: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:57 +0000 (12:14 -0700)]
net/ena: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:56 +0000 (12:14 -0700)]
net/e1000: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:55 +0000 (12:14 -0700)]
net/cxgbe: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:54 +0000 (12:14 -0700)]
net/bonding: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:53 +0000 (12:14 -0700)]
net/bnxt: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Lance Richardson <lance.richardson@broadcom.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:52 +0000 (12:14 -0700)]
net/axgbe: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:51 +0000 (12:14 -0700)]
net/ark: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Stephen Hemminger [Wed, 29 May 2019 19:14:50 +0000 (12:14 -0700)]
net/atlantic: remove unnecessary cast
The device private pointer (dev_private) is of type void *
therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ajit Khaparde [Wed, 29 May 2019 21:02:27 +0000 (17:02 -0400)]
net/bnxt: update HWRM API to version 1.10.0.74
Update HWRM API to version 1.10.0.74
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Ajit Khaparde [Wed, 29 May 2019 21:02:26 +0000 (17:02 -0400)]
net/bnxt: update HWRM API to version 1.10.0.48
Update HWRM version to 1.10.0.48
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Ajit Khaparde [Wed, 29 May 2019 21:02:25 +0000 (17:02 -0400)]
net/bnxt: update HWRM API to version 1.10.0.19
Update HWRM API to version 1.10.0.19
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Ajit Khaparde [Wed, 29 May 2019 21:02:24 +0000 (17:02 -0400)]
net/bnxt: fix RSS RETA indirection table ops
We are trying to update the indirection table for all the VNICs.
We should update the table only for the default vnic0.
Fix the reta update function to only update table entries that are
selected by the update mask. Translate queue number to firmware
group ID when updating an entry.
Fix reta query op to only return table entries as identfied by the
provided mask. Translate firmware group IDs to queue numbers.
Removed extraneous code from bnxt_reta_query_op().
Fixes:
d819382543f3 ("net/bnxt: add RSS redirection table operations")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com>
Lance Richardson [Wed, 29 May 2019 21:02:23 +0000 (17:02 -0400)]
net/bnxt: implement SSE vector mode
Introduce SSE vector mode support for the bnxt pmd.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Lance Richardson [Wed, 29 May 2019 21:02:22 +0000 (17:02 -0400)]
net/bnxt: compute and store scattered Rx status
In preparation for a bnxt vector-mode driver, compute and store
scattered_rx status for the device when started.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Lance Richardson [Wed, 29 May 2019 21:02:21 +0000 (17:02 -0400)]
net/bnxt: move Tx bd checking to header file
To allow sharing of tx_bds_in_hw() and bnxt_tx_avail() between
vector-mode and non-vector transmit functions, move these functions
into bnxt_txr.h.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Ajit Khaparde [Wed, 29 May 2019 21:02:20 +0000 (17:02 -0400)]
net/bnxt: update release notes
Update release doc briefly describing updates to bnxt PMD done during
19.05 release, including transmit optimization changes in the commits
identified by the "Fixes:" tags below.
Fixes:
5ef3592c97b9 ("net/bnxt: support bulk free of Tx mbufs")
Fixes:
220de9869bc3 ("net/bnxt: optimize Tx batching")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Viacheslav Ovsiienko [Mon, 27 May 2019 04:58:32 +0000 (04:58 +0000)]
net/mlx5: fix event handler uninstall
When device is being closed and tries to unregister interrupt callback,
there is a chance the handler is still active (called in context of
eal_intr_thread_main thread). If so the rte_intr_callback_unregister
returns -EAGAIN and keeps the handler registered, causing crash when
underlaying resourse is gone away.
This race condition may happen if event handling in application takes
a long time. We should check the return code of unregistering routine
and try again to unregister the handler. The diagnostic messages are
shown once a second, while trying to unregister.
Fixes:
028b2a28c3cb ("net/mlx5: update event handler for multiport IB devices")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Dekel Peled [Wed, 15 May 2019 10:07:45 +0000 (13:07 +0300)]
net/mlx5: fix order of items in NEON scatter
Previous patch added handling of metadata for multi-segment packet.
Function txq_scatter_v in file mlx5_rxtx_vec_neon.h was updated
incorrectly, items were inserted into WQE in wrong order.
This patch fixes the issue, inserting items into WQE correctly.
Fixes:
7f4019d370f6 ("net/mlx5: fix Tx metadata for multi-segment packet")
Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Tom Barbette [Thu, 2 May 2019 12:11:35 +0000 (14:11 +0200)]
examples/rxtx_callbacks: support HW timestamp
Use rxtx callback to demonstrate a way to use rte_eth_read_clock to
convert the hardware timestamps to an amount of cycles.
This allows to get the amount of time the packet spent since its entry
in the device. While the regular latency only shows the latency from
when it entered the software stack.
Signed-off-by: Tom Barbette <barbette@kth.se>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tom Barbette [Thu, 2 May 2019 12:11:34 +0000 (14:11 +0200)]
net/mlx5: support reading clock
Implements support for read_clock for the mlx5 driver. mlx5 supports
hardware timestamp offload, setting packets timestamp field to the
device clock. rte_eth_read_clock allows to read the device's current
clock value and therefore compare values on similar time base.
See rxtx_callbacks for an example.
Signed-off-by: Tom Barbette <barbette@kth.se>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Tom Barbette [Thu, 2 May 2019 12:11:33 +0000 (14:11 +0200)]
ethdev: add API to read device clock
Add rte_eth_read_clock to read the raw clock of a device.
The main use is to get the device clock conversion co-efficients to be
able to translate the raw clock of the timestamp field of the pkt mbuf
to a local synced time value.
This function was missing to allow users to convert the Rx timestamp
field to real time without the complexity of the rte_timesync* facility.
One can derivate the clock frequency by calling twice read_clock and
then keep a common time base.
Signed-off-by: Tom Barbette <barbette@kth.se>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
David Marchand [Mon, 4 Mar 2019 11:18:35 +0000 (12:18 +0100)]
net/tap: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:34 +0000 (12:18 +0100)]
net/szedata2: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
abef3dd62e7a ("szedata2: add new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:33 +0000 (12:18 +0100)]
net/ring: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
e1e4017751f1 ("ring: add new driver")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:32 +0000 (12:18 +0100)]
net/pcap: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
4c173302c307 ("pcap: add new driver")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:31 +0000 (12:18 +0100)]
net/null: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
c743e50c475f ("null: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:30 +0000 (12:18 +0100)]
net/mlx5: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
87011737b715 ("mlx5: add software counters")
Fixes:
9f9a48eb2978 ("net/mlx5: fix Tx stats error counter definition")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
David Marchand [Mon, 4 Mar 2019 11:18:29 +0000 (12:18 +0100)]
net/mlx4: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
7fae69eeff13 ("mlx4: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
David Marchand [Mon, 4 Mar 2019 11:18:28 +0000 (12:18 +0100)]
net/kni: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
75e2bc54c018 ("net/kni: add KNI PMD")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:27 +0000 (12:18 +0100)]
net/cxgbe: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
856505d303f4 ("cxgbe: add port statistics")
Fixes:
a0a344a8f728 ("net/cxgbe: add VF port statistics")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:26 +0000 (12:18 +0100)]
net/bnxt: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
577d3dced0dc ("net/bnxt: refactor the query stats")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
David Marchand [Mon, 4 Mar 2019 11:18:25 +0000 (12:18 +0100)]
net/avp: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
5a5abe2de94b ("net/avp: add device statistics operations")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
David Marchand [Mon, 4 Mar 2019 11:18:24 +0000 (12:18 +0100)]
net/af_packet: fix RxQ errors stat
Transmit errors must not be reported in q_errors[] which is for
reception.
Fixes:
364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Jerin Jacob [Tue, 11 Jun 2019 14:15:03 +0000 (19:45 +0530)]
acl: fix build with some arm64 compiler
Some compilers reporting the following error, though the existing
code doesn't have any uninitialized variable case.
Just to make compiler happy, initialize the int32x4_t variable
one shot using vdupq_n_s32.
lib/librte_acl/acl_run_neon.h: In function 'search_neon_4'
lib/librte_acl/acl_run_neon.h:230:12: error:
'input' may be used uninitialized in this function
int32x4_t input;
Fixes:
34fa6c27c156 ("acl: add NEON optimization for ARMv8")
Cc: stable@dpdk.org
Suggested-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Ruifeng Wang [Mon, 29 Apr 2019 10:02:07 +0000 (18:02 +0800)]
hash: simplify signature compare with NEON
Replaced multiple neon instructions with single equivalent instruction.
This made simpler code and a bit higher performance.
Hash bulk lookup had 0.1% ~ 3% performance gain in tests on ARM A72
platforms.
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
Bruce Richardson [Fri, 12 Apr 2019 08:29:00 +0000 (09:29 +0100)]
build: generate Windows exports file
Rather than having a separate version.map file for linux/BSD and an
exports definition file for windows for each library, generate the
latter from the former automatically at build time.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Ilya Maximets [Thu, 30 May 2019 12:38:36 +0000 (15:38 +0300)]
test: skip meson dependency checks if not required
Don't need to check dependencies if test apps will not be built anyway.
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Wed, 5 Jun 2019 14:11:23 +0000 (15:11 +0100)]
crypto/aesni_mb: fix build with gcc 4.8.5
On CentOS/RHEL 7, we get build errors reported due to a variable being
possibly uninitialized. Setting a default init value fixes this issue.
Fixes:
c68d7aa354f6 ("crypto/aesni_mb: use architecture independent macros")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Konstantin Ananyev [Fri, 17 May 2019 14:09:42 +0000 (15:09 +0100)]
bpf: fix pseudo calls for program loaded from ELF
clang 6.0 and onwards, for the external function call generates
BPF_PSEUDO_CALL instruction:
call pseudo +-off -> call another bpf function.
More details about that change: https://lwn.net/Articles/741773/
DPDK BPF implementation right now doesn't support multiple BPF
functions per module.
To overcome that problem, and preserve existing functionality
(ability to call allowed by user external functions),
bpf_elf_load() clears EBPF_PSEUDO_CALL value.
For details how to reproduce the issue:
https://bugs.dpdk.org/show_bug.cgi?id=259
Fixes:
5dba93ae5f2d ("bpf: add ability to load eBPF program from ELF object file")
Cc: stable@dpdk.org
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Bruce Richardson [Wed, 10 Apr 2019 13:45:17 +0000 (14:45 +0100)]
bpf: remove use of weak functions
Weak functions don't work well with static libraries and require the use of
"whole-archive" flag to ensure that the correct function is used when
linking. Since the weak function is only used as a placeholder within this
library alone, we can replace it with a non-weak version protected using
preprocessor ifdefs.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Bruce Richardson [Wed, 10 Apr 2019 13:45:16 +0000 (14:45 +0100)]
acl: remove use of weak functions
Weak functions don't work well with static libraries and require the use of
"whole-archive" flag to ensure that the correct function is used when
linking. Since the weak functions are only used as placeholders within
this library alone, we can replace them with non-weak functions using
preprocessor ifdefs.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
David Marchand [Wed, 5 Jun 2019 11:30:26 +0000 (13:30 +0200)]
examples/multi_process: fix FreeBSD build
Caught on FreeBSD 12:
/usr/include/netinet/ip.h:71:17: error: field 'ip_src' has incomplete type
struct in_addr ip_src,ip_dst; /* source and dest address */
^~~~~~
On FreeBSD, netinet/ip.h is not auto sufficient like on Linux.
But actually, this header is not used in the example, just remove it.
Fixes:
764bf26873b9 ("add FreeBSD support")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Honnappa Nagarahalli [Mon, 3 Jun 2019 20:46:45 +0000 (15:46 -0500)]
rcu: fix format specifier in dump
Use %u to fix argument type mismatch in fprintf.
Coverity issue: 340074
Fixes:
64994b56cfd7 ("rcu: add RCU library supporting QSBR mechanism")
Cc: stable@dpdk.org
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Honnappa Nagarahalli [Thu, 16 May 2019 01:14:17 +0000 (20:14 -0500)]
test/rcu: make global variable per core
Each hash entry has a pointer to one uint32 memory location.
However, all the readers increment the same location causing
race conditions. Allocate memory for each thread so that each
thread will increment its own memory location.
Fixes:
b87089b0bb19 ("test/rcu: add API and functional tests")
Cc: stable@dpdk.org
Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Tested-by: David Marchand <david.marchand@redhat.com>
Ruifeng Wang [Wed, 15 May 2019 08:41:23 +0000 (16:41 +0800)]
doc: fix Linux guide for arm64 cross-compilation
libnuma.so is needed to augment the cross toolchain with NUMA support.
This fixed meson cross compiling issue.
Command used:
meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
ninja -C arm64-build
Compiling error:
.../aarch64-linux-gnu/bin/ld: lib/librte_eal.so.10.1: version node
not found for symbol numa_run_on_node_mask@@libnuma_1.2
.../aarch64-linux-gnu/bin/ld: failed to set dynamic section sizes:
Bad value
collect2: error: ld returned 1 exit status
[58/1370] Compiling C object 'lib/
76b5a35@@rte_cmdline@sta/
librte_cmdline_cmdline_parse_string.c.o'.
ninja: build stopped: subcommand failed.
Fixes:
01add9da25cd ("doc: add cross compiling guide")
Cc: stable@dpdk.org
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Bruce Richardson [Wed, 29 May 2019 16:19:32 +0000 (17:19 +0100)]
doc: update quick start guide for meson
The build-sdk-meson.txt file is a little out of date, so update it with
information on the latest build requirements, and remove any content
no longer needed.
Since the cross-compilation file quoted in the document is now considerably
longer and more complex than previous, replace the contents of the file
with a summary of it instead. This is shorter and more maintainable, and
the original file is available as part of the repo anyway if the user wants
to view it.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Anatoly Burakov [Thu, 25 Apr 2019 12:45:19 +0000 (13:45 +0100)]
ipc: handle unsupported IPC in async request
Currently, IPC API will silently ignore unsupported IPC.
Fix the API call to explicitly handle unsupported IPC cases.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 25 Apr 2019 12:45:18 +0000 (13:45 +0100)]
ipc: handle unsupported IPC in sync request
Currently, IPC API will silently ignore unsupported IPC.
Fix the API call and its callers to explicitly handle
unsupported IPC cases.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 25 Apr 2019 12:45:17 +0000 (13:45 +0100)]
ipc: handle unsupported IPC in sendmsg
Currently, IPC API will silently ignore unsupported IPC.
Fix the API call and its callers to explicitly handle
unsupported IPC cases.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 25 Apr 2019 12:45:16 +0000 (13:45 +0100)]
ipc: do not unregister action if IPC unsupported
Currently, unregister will be attempted even if IPC wasn't
supported in the first place. It is harmless, but for
consistency reasons, update the unregister API call to
exit early when IPC is not supported.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 25 Apr 2019 12:45:15 +0000 (13:45 +0100)]
ipc: handle unsupported IPC in action register
Currently, IPC API will silently ignore unsupported IPC.
Fix the API call and its callers to explicitly handle
unsupported IPC cases.
For primary processes, it is OK to not have IPC because
there may not be any secondary processes in the first place,
and there are valid use cases that disable IPC support, so
all primary process usages are fixed up to ignore IPC
failures.
For secondary processes, IPC will be crucial, so leave all
of the error handling as is.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 25 Apr 2019 12:45:14 +0000 (13:45 +0100)]
ipc: handle unsupported IPC in init
Currently, IPC API will silently ignore unsupported IPC.
Fix the API call and its callers to explicitly handle
unsupported IPC cases.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Xiaolong Ye [Thu, 16 May 2019 07:28:56 +0000 (15:28 +0800)]
ring: remove unnecessary forward declaration
As memzone.h is introduced by
commit
38c9817ee1d8 ("mempool: adjust name size in related data types"),
forward declaration for rte_memzone is no longer needed.
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Nicolas Dichtel [Thu, 23 May 2019 09:52:31 +0000 (11:52 +0200)]
mem: ease init in a docker container
move_pages() is only used to get the numa node id, but this function
is not allowed by default in docker (it needs CAP_SYS_NICE and an update of
the seccomp profile).
get_mempolicy() also requires CAP_SYS_NICE but doesn't need any change in
the default seccomp profile.
Note that the returned value of move_pages() was not checked, thus some
errors could be hidden (if the requested id was 0).
Fixes:
582bed1e1d1d ("mem: support mapping hugepages at runtime")
Cc: stable@dpdk.org
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Didier Pallard <didier.pallard@6wind.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Ali Alnubani [Mon, 6 May 2019 09:49:10 +0000 (09:49 +0000)]
examples/ip_fragmentation: fix Tx queues init
The application tries to configure queue ids larger
than the maximum allowed by MAX_TX_QUEUE_PER_PORT. This
causes the startup error:
"
...
Initializing port 0 on lcore 0... Address:7C:FE:90:12:23:0D
txq=0,0 txq=1,1 txq=2,2 txq=3,3 txq=4,4 txq=5,5 txq=6,6 txq=7,7 txq=8,8
txq=9,9 txq=10,10 txq=11,11 txq=12,12 txq=13,13 txq=14,14 txq=15,15
txq=16,16 Invalid TX queue_id=16
EAL: Error - exiting with code: 1
Cause: rte_eth_tx_queue_setup: err=-22, port=0
"
The error reproduces when lcores aren't set, and when the
machine has more than 16 cores.
Fixes:
af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Ali Alnubani [Thu, 23 May 2019 17:40:39 +0000 (17:40 +0000)]
examples/multi_process: build with meson
This enables building the example multiprocess applications in
the subdirectory multi_process.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Ali Alnubani [Thu, 23 May 2019 17:40:38 +0000 (17:40 +0000)]
examples: use child directory as name
This would allow correctly naming an application residing
in a subdirectory. For example, if the example is set to 'path/to/app',
then the name would be 'app'.
This doesn't affect the naming of an example that isn't in a subdirectory.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Liron Himi [Mon, 20 May 2019 16:35:12 +0000 (19:35 +0300)]
maintainers: update Marvell PMDs
Alan is no longer involved in PMDs maintenance hence
update the list.
Also append new active maintainer to the list.
Signed-off-by: Liron Himi <lironh@marvell.com>
Acked-by: Tomasz Duszynski <tdu@semihalf.com>
Liron Himi [Sat, 18 May 2019 21:10:54 +0000 (00:10 +0300)]
config: add Marvell ARMADA based on armv8-a
This patch introduces armada target to address difference
in number of cores, no numa support
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Alan Winkowski <walan@marvell.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Gavin Hu <gavin.hu@arm.com>
Yongseok Koh [Tue, 7 May 2019 21:11:40 +0000 (14:11 -0700)]
config: disable armv8 crypto extension
Per armv8 crypto extension support, make build always enable it by default
as long as compiler supports the feature while meson build only enables it
for 'default' machine of generic armv8 architecture.
It is known that not all the armv8 platforms have the crypto extension. For
example, Mellanox BlueField has a variant which doesn't have it. If crypto
enabled binary runs on such a platform, rte_eal_init() fails.
'+crypto' flag currently implies only '+aes' and '+sha2' and enabling it
will generate the crypto instructions only when crypto intrinsics are used.
For the devices supporting 8.2 crypto or newer, compiler could generate
such instructions beyond intrinsics or asm code. For example, compiler can
generate 3-way exclusive OR instructions if sha3 is supported. However, it
has to be enabled by adding '+sha3' as of today.
In DPDK, armv8 cryptodev is the only one which requires the crypto support.
As it even uses external library of Marvell which is compiled out of DPDK
with crypto support and there's run-time check for required cpuflags,
crypto support can be disabled in DPDK.
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Tested-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Yongseok Koh [Thu, 2 May 2019 09:07:54 +0000 (02:07 -0700)]
net/mlx: support IOVA VA mode
Set RTE_PCI_DRV_IOVA_AS_VA to driver's drv_flags as device's IOMMU takes
virtual address.
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>