Commit Graph

6155 Commits

Author SHA1 Message Date
Fiona Trahe
0a01574db4 crypto/qat: add device files
This commit adds new qat_device file.
Following objects were moved:

qat_crypto.h => qat_device.h
- struct qat_pmd_private
- uint8_t cryptodev_qat_driver_id
- int qat_crypto_sym_qp_release (EXTERN)
- int qat_dev_config()
- int qat_dev_start()
- void qat_dev_stop()
- int qat_dev_close()
- void qat_dev_info_get()
qat_crypto.c => qat_device.c
- int qat_dev_config()
- int qat_dev_start()
- void qat_dev_stop()
- int qat_dev_close()
- void qat_dev_info_get()

Signed-off-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
2018-06-28 01:25:33 +02:00
Fiona Trahe
2d09292e46 crypto/qat: add common header
This commit adds qat_common.h header file.
Following objects were moved to it:

qat_algs.h =>. qat_common.h
- struct qat_alg_buf
- struct qat_alg_buf_list
- struct qat_crypto_op_cookie
- QAT_SGL_MAX_NUMBER
qat_crypto.h => qat_common.h
- CRYPTODEV_NAME_QAT_SYM_PMD

Signed-off-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
2018-06-28 01:25:33 +02:00
Rami Rosen
e690338a7b bus/pci: remove unused function to detach by address
The function rte_pci_detach() is private to PCI and is
not used anywhere in current code base. Remove dead code.

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
2018-06-27 22:54:08 +02:00
Stephen Hemminger
f3bac43b60 bus/pci: remove unused function to probe by address
The function rte_pci_probe_one is private to PCI and is
not used anywhere in current code base. Remove dead code.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-06-27 22:53:55 +02:00
Stephen Hemminger
5417dfc984 bus/pci: remove unused unbind function prototype
Prototype for pci_unbind_kernel_driver exists but no code.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2018-06-27 22:53:38 +02:00
Stephen Hemminger
607514e729 bus/pci: make remove function static
Only used in one file, and therefore can be made static.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2018-06-27 22:53:34 +02:00
Thomas Monjalon
ce819b8422 bus/dpaa: fix build
The DPAA bus driver is defining some macros without prefix.
So it can conflict with other libraries like libbsd:

	drivers/bus/dpaa/include/compat.h:53:
		error: "__packed" redefined
	/usr/include/bsd/sys/cdefs.h:120:
		note: this is the location of the previous definition

Fixes: 39f373cf01 ("bus/dpaa: add compatibility and helper macros")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-06-21 10:27:45 +02:00
Michal Krawczyk
9d7ee7fc68 net/ena: fix FreeBSD build
The FreeBSD define was removed from platform file when HAL was upgraded
to newer version.

In file included from drivers/net/ena/ena_ethdev.c:45:
	from drivers/net/ena/ena_ethdev.h:42:
	from drivers/net/ena/base/ena_com.h:37:
drivers/net/ena/base/ena_plat.h:48:2: error: "Invalid platform"

Fixes: 3adcba9a89 ("net/ena: update HAL to the newer version")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
2018-06-19 10:20:01 +02:00
Stephen Hemminger
3d96644aa3 net/mlx5: fix log initialization
The mlx5 driver had two init functions, but this could
cause log initialization to be done after the
other initialization. Also, the name of the function does
not match convention (cut/paste error?).

Fix by initializing log type first at start of the pmd_init.
This also gets rid of having two constructor functions.

Fixes: a170a30d22 ("net/mlx5: use dynamic logging")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2018-06-17 10:17:53 +02:00
Xueming Li
a9fc0b0ef0 net/mlx5: fix crash in device probe
This patch initializes counter descriptor struct before invoking Verbs
api to avoid segmentation fault.

Fixes: 9a761de8ea ("net/mlx5: flow counter support")
Cc: stable@dpdk.org

Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2018-06-17 10:04:48 +02:00
Adrien Mazarguil
93068a9d5a net/mlx5: fix error message in probe function
Error values passed to strerror() must be positive.

Fixes: 012ad9944d ("net/mlx5: fix probe return value polarity")
Cc: stable@dpdk.org

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-06-17 10:04:48 +02:00
Adrien Mazarguil
c6ce7e34ad net/mlx5: fix missing errno in probe function
Fixes: b43802b4bd ("net/mlx5: support 16 hardware priorities")
Cc: stable@dpdk.org

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-06-17 10:04:48 +02:00
Adrien Mazarguil
8c3c2372ed net/mlx5: fix errno object in probe function
Fixes: a6d83b6a92 ("net/mlx5: standardize on negative errno values")
Cc: stable@dpdk.org

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-06-17 10:04:48 +02:00
Adrien Mazarguil
c93adccc97 net/mlx5: remove limitation on number of instances
This artificial limitation was inherited from the mlx4 code base and has no
purpose other than adding unnecessary noise.

This patch is a port of commit f2318196c7 ("net/mlx4: remove limitation
on number of instances").

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-06-17 10:04:48 +02:00
Adrien Mazarguil
66f2ac0f8b net/mlx4: fix minor resource leak during init
Temporary IB device context and list are not freed in case of a successful
initialization of the device.

This issue is caused by the two following commits, the first of which
causes initialization to return early, while the second one goes a bit
overboard while switching to negative errno values; an internal variable
(err) is needed to tell success from failure at the end of the function
since rte_errno is not reliable enough.

Fixes: f2318196c7 ("net/mlx4: remove limitation on number of instances")
Fixes: 9d14b27308 ("net/mlx4: standardize on negative errno values")
Cc: stable@dpdk.org

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2018-06-17 10:04:48 +02:00
Kiran Kumar
fb6eb1e69c net/bonding: fix MAC address reset
Currently when resetting bond mac address, we are getting the
persisted mac address from slave info considering primary port
as index. But we need to compare the port id from slave info
with the primary port to get the primary slave index and get
the persisted mac address. Without this fix, persisted mac addr
will be zero and rte_eth_dev_default_mac_addr_set will fail.

Fixes: a45b288ef2 ("bond: support link status polling")
Cc: stable@dpdk.org

Signed-off-by: Kiran Kumar <kiran.kokkilagadda@caviumnetworks.com>
2018-06-15 16:22:57 +02:00
Tiwei Bie
973bd0c1da net/ifc: enable the host notifier support
The necessary vDPA ops have already been implemented
in ifcvf driver. So just need to announce the necessary
protocol features to enable the host notifier support.

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-06-15 12:27:20 +02:00
Chas Williams
0e677a3534 net/bonding: always update bonding link status
When the first ETH_LINK_UP slave is added to a bonding device, it is
immediately activated.  If these are polling slaves, there will be a
later link state event, when last_link_status doesn't match link_status.
But because this slave is already activated, the bonding device's link
status isn't updated.

To fix this, we always attempt to update the bonding device's link status
in the link state change callback.

Fixes: 46fb436836 ("bond: add mode 4")
Cc: stable@dpdk.org

Signed-off-by: Chas Williams <chas3@att.com>
2018-06-14 19:54:56 +02:00
Bruce Richardson
5936aa3a39 net/vhost: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
508cfe6be9 net/szedata2: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
6b2a3900e2 net/softnic: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
d9b9ca7e05 net/nfp: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
bad475c03f net/liquidio: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
3479586fe6 net/kni: add to meson build
Since the kni library is an optional library, we need to add a check
here to ensure that the kni wrapper PMD is only built when the main kni
lib is being built.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
3a221aa68f net/failsafe: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
952afd9adf net/ena: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
2898348c48 net/cxgbe: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
870c251cd0 net/bnxt: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
4d61166da4 net/bnx2x: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
ed71204dd0 net/avp: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
2018-06-14 19:27:50 +02:00
Bruce Richardson
9285beee41 net/ark: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-06-14 19:27:50 +02:00
Xiao Wang
50385c1060 net/ifc: add to meson build
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
2018-06-14 19:27:50 +02:00
Xiao Wang
4b614e9504 net/ifc: make driver name consistent
Make the compiler switch name and document name consistent as ``ifc`` to
avoid confusion. Also rename the map file to standard name for meson
build in the process.

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2018-06-14 19:27:50 +02:00
Alejandro Lucero
01f65293ce net/nfp: fix field initialization in Tx descriptor
TX descriptor eop_offset field is not initialized and it could
contain garbage. This patch fixes the potential problem setting
EOP as the only subfield. The other subfield, data offset, is
not used by now.

Fixes: b812daadad ("nfp: add Rx and Tx")
Cc: stable@dpdk.org

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
86910379d3 net/cxgbe: implement flow flush operation
Add API to flush all the filters under specified port.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
8d3c12e193 net/cxgbe: implement flow query operation
Add API to query filter hit and byte counts from hardware.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
da23bc9d33 net/cxgbe: implement flow destroy operation
Add API to construct delete filter work request to remove filter
at specified index in LE-TCAM (maskfull) region.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
9eb2c9a480 net/cxgbe: implement flow create operation
Define filter work request API used to construct filter operations
to be communicated with firmware. These requests are sent via
control queue and completions come asynchronously in firmware event
queue.

Implement flow create operation to create filters in LE-TCAM
(maskfull) region at specified index.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
3a3aaabc7c net/cxgbe: add control queue to communicate filter requests
Add control queue to communicate filter creation/deletion requests
with firmware. This API will be used by subsequent patches.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
ee61f5113b net/cxgbe: parse and validate flows
Introduce rte_flow skeleton and implement validate operation.

Parse and convert <item>, <action>, <attributes> into hardware
specification. Perform validation, including basic sanity tests
and underlying device's supported filter capability checks.

Currently add support for:
<item>: IPv4, IPv6, TCP, and UDP.
<action>: Drop, Queue, and Count.

Also add sanity checks to ensure filters are created at specified
index in LE-TCAM region. The index in LE-TCAM region indicates
the filter rule's priority with index 0 having the highest priority.
If no index is specified, filters are created at closest available
free index.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Shagun Agrawal
6f2a064bef net/cxgbe: query firmware for filter resources
Fetch available filter resources from firmware and allocate table for
book-keeping and managing filters in hardware. Also define the hardware
filter specification (ch_filter_specification) used to describe each
filter rule.

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-06-14 19:27:50 +02:00
Alejandro Lucero
8c7cd2fa4e net/nfp: fix unused header reference
Apart from not being used, this is causing problem when compiling
DPDK with the musl library as reported by bugzilla.

Bugzilla ID: 40
Fixes: c7e9729da6 ("net/nfp: support CPP")
Cc: stable@dpdk.org

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
41e59028dd net/ena: set link speed as none
Link speed should is not limited to 10Gb/s and it shouldn't be hardcoded.

They link speed is set to none instead and the applications shouldn't
rely on this value when using ENA PMD.

Fixes: 1173fca25a ("ena: add polling-mode driver")
Cc: stable@dpdk.org

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Michal Krawczyk
cacd187606 net/ena: store handle after memory allocation
The pointer received from rte_memzone_reserve from macro
ENA_MEM_ALLOC_COHERENT_NODE was not stored anywhere, and as a result
memory allocated by this macro could not been released.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
7544aee8d0 net/ena: fix GENMASK_ULL macro
When use GENMASK_ULL(63,0) left shift by 64 bits is performed.
Shifting by number greater or equal then word length
is undefined operation and failed on some platforms.

Fixes: 9ba7981ec9 ("ena: add communication layer for DPDK")
Cc: stable@dpdk.org

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
9f32c7e7e6 net/ena: change memory type
ENA_MEM_ALLOC_NODE not need to use contiguous physical memory.
Also using memset without checking if allocation succeed can cause
segmentation fault.

To avoid both issue use rte_zmalloc_socket.

Fixes: 3d3edc265f ("net/ena: make coherent memory allocation NUMA-aware")
Cc: stable@dpdk.org

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
46916aa17d net/ena: check pointer before memset
Need to check if memory allocation succeed before using it.
Using memset on NULL pointer cause segfault.

Fixes: 9ba7981ec9 ("ena: add communication layer for DPDK")
Cc: stable@dpdk.org

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
ba82e010df net/ena: update NUMA node
During initializing Tx queues update Non-Uniform Memory Access
configuration in NIC firmware.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
241da076b1 net/ena: adjust error checking and cleaning
Adjust error checking and cleaning to Linux driver:
 * add checking if MTU is to small,
 * fix error messages (mismatched Rx and Tx),
 * return error received from base driver or proper error
   code instead of -1,
 * in case of error release occupied resources,
 * in case of Rx error trigger NIC reset.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00
Rafal Kozik
3d19e1abb7 net/ena: add (un)likely statements
Add likely and unlikely statements to increase performance.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
2018-06-14 19:27:50 +02:00