[PATCH net 3/3] qed: Fix LL2 race during connection terminate

2018-05-16 Thread Michal Kalderon
: 1d6cff4fca4366 ("qed: Add iSCSI out of order packet handling") Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 24 ++-- 1 file changed

[PATCH net 2/3] qed: Fix possibility of list corruption during rmmod flows

2018-05-16 Thread Michal Kalderon
The ll2 flows of flushing the txq/rxq need to be synchronized with the regular fp processing. Caused list corruption during load/unload stress tests. Fixes: 0a7fb11c23c0f ("qed: Add Light L2 support") Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Signed-off-by: Michal Kalder

[PATCH net 1/3] qed: LL2 flush isles when connection is closed

2018-05-16 Thread Michal Kalderon
Driver should free all pending isles once it gets a FLUSH cqe from FW. Part of iSCSI out of order flow. Fixes: 1d6cff4fca4366 ("qed: Add iSCSI out of order packet handling") Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Signed-off-by: Michal Kalderon <michal.

[PATCH net 0/3] qed: LL2 fixes

2018-05-16 Thread Michal Kalderon
This series fixes some issues in ll2 related to synchronization and resource freeing Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Michal Kalderon (3): qed: LL2 flush isles when connection is closed qed: Fix

[PATCH net] qede: Fix ref-cnt usage count

2018-05-13 Thread Michal Kalderon
;qede: Add qedr framework") Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> --- drivers/net/ethernet/qlogic/qede/qede_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/ethernet/qlog

[PATCH net 2/2] qede: Fix gfp flags sent to rdma event node allocation

2018-05-08 Thread Michal Kalderon
A previous commit 4609adc27175 ("qede: Fix qedr link update") added a flow that could allocate rdma event objects from an interrupt path (link notification). Therefore the kzalloc call should be done with GFP_ATOMIC. fixes: 4609adc27175 ("qede: Fix qedr link update") S

[PATCH net 1/2] qed: Fix l2 initializations over iWARP personality

2018-05-08 Thread Michal Kalderon
If qede driver was loaded on a device configured for iWARP the l2 mutex wouldn't be allocated, and some l2 related resources wouldn't be freed. fixes: c851a9dc4359 ("qed: Introduce iWARP personality") Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: S

[PATCH net 0/2] qed*: Rdma fixes

2018-05-08 Thread Michal Kalderon
This patch series include two fixes for bugs related to rdma. The first has to do with loading the driver over an iWARP device. The second fixes a previous commit that added proper link indication for iWARP / RoCE. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH net] qede: Fix qedr link update

2018-03-14 Thread Michal Kalderon
Link updates were not reported to qedr correctly. Leading to cases where a link could be down, but qedr would see it as up. In addition, once qede was loaded, link state would be up, regardless of the actual link state. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH net 1/2] qed: Fix MPA unalign flow in case header is split across two packets.

2018-03-14 Thread Michal Kalderon
Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c b/drivers/n

[PATCH net 2/2] qed: Fix non TCP packets should be dropped on iWARP ll2 connection

2018-03-14 Thread Michal Kalderon
FW workaround. The iWARP LL2 connection did not expect TCP packets to arrive on it's connection. The fix drops any non-tcp packets Fixes b5c29ca ("qed: iWARP CM - setup a ll2 connection for handling SYN packets") Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH net 0/2] qed: iWARP related fixes

2018-03-14 Thread Michal Kalderon
This series contains two fixes related to iWARP flow. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Michal Kalderon (2): qed: Fix MPA unalign flow in case header is split across two packets. qed: Fix non TCP pa

[PATCH V3 net] qed: Free RoCE ILT Memory on rmmod qedr

2018-03-05 Thread Michal Kalderon
the ROCE protocol id, as opposed to the connection context. Fixes: dbb799c39717 ("qed: Initialize hardware for new protocols") Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- Difference from V2: Fixed Broken

[PATCH V2 net] qed: Free RoCE ILT Memory on rmmod qedr

2018-03-05 Thread Michal Kalderon
the ROCE protocol id, as opposed to the connection context. Fixes: dbb799c39717 ("qed: Initialize hardware for new protocols") Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- Difference from V1: Fi

[PATCH net] qed: Free RoCE ILT Memory on rmmod qedr

2018-03-05 Thread Michal Kalderon
the ROCE protocol id, as opposed to the connection context. Fixes: dbb799c39717e7b7 Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_cxt.c | 5 - drivers/net/ethernet/qlogic/qed/qe

[PATCH net 0/2] qed: rdma bug fixes

2018-01-23 Thread Michal Kalderon
This patch contains two small bug fixes related to RDMA. Both related to resource reservations. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Michal Kalderon (2): qed: Remove reserveration of dpi for kernel qed: F

[PATCH net 2/2] qed: Free reserved MR tid

2018-01-23 Thread Michal Kalderon
A tid was allocated for reserved MR during initialization but not freed. This lead to an annoying output message during rdma unload flow. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qe

[PATCH net 1/2] qed: Remove reserveration of dpi for kernel

2018-01-23 Thread Michal Kalderon
Double reservation for kernel dedicated dpi was performed. Once in the core module and once in qedr. Remove the reservation from core. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qe

[PATCH net-next] qed: Fix iWARP out of order flow

2017-10-17 Thread Michal Kalderon
iWARP out of order support") Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Manish Rangankar <manish.rangan...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/infiniband/hw/qedr/Kconfig | 1 + drivers

[PATCH v3 net-next 05/12] qed: Add the source of a packet sent on an iWARP ll2 connection

2017-10-09 Thread Michal Kalderon
. For unaligned mpa the value will be determined in the iWARP code and sent on the pkt->vlan field. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++- 1 file changed, 6 i

[PATCH v3 net-next 09/12] qed: Add unaligned and packed packet processing

2017-10-09 Thread Michal Kalderon
fragments are used, one for the header and one for the data. Corner cases are not handled in the patch for clarity, and will be added as a separate patch. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/eth

[PATCH v3 net-next 10/12] qed: Add support for freeing two ll2 buffers for corner cases

2017-10-09 Thread Michal Kalderon
to be provided as a cookie. To avoid changing the ll2 interface to provide two cookies, we introduce a piggy buf pointer, relevant for iWARP only, that holds a pointer to a second buffer that needs to be released during tx completion. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH v3 net-next 11/12] qed: Add support for MPA header being split over two tcp packets

2017-10-09 Thread Michal Kalderon
There is a special case where an MPA header is split over to tcp packets, in this case we need to wait for the next packet to get the fpdu length. We use the incomplete_bytes to mark this fpdu as a "special" one which requires updating the length with the next packet Signed-off-

[PATCH v3 net-next 12/12] qed: Add iWARP support for fpdu spanned over more than two tcp packets

2017-10-09 Thread Michal Kalderon
the data. We need an intermediate buffer as the initial buffer partial packet could be located at the end of the packet, not leaving room for additional data. This is a corner case, and will usually not be the case. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by:

[PATCH v3 net-next 08/12] qed: Add mpa buffer descriptors for storing and processing mpa fpdus

2017-10-09 Thread Michal Kalderon
-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 116 drivers/net/ethernet/qlogic/qed/qed_iwarp.h | 11 +++ 2 files changed, 127 insertions(+) diff --g

[PATCH v3 net-next 07/12] qed: Add ll2 connection for processing unaligned MPA packets

2017-10-09 Thread Michal Kalderon
This patch adds only the establishment and termination of the ll2 connection that handles unaligned MPA packets. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_

[PATCH v3 net-next 03/12] qed: Add ll2 option for dropping a tx packet

2017-10-09 Thread Michal Kalderon
The option of sending a packet on the ll2 and dropping it exists in hardware and was not used until now, thus not exposed. The iWARP unaligned MPA flow requires this functionality for flushing the tx queue. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel

[PATCH v3 net-next 06/12] qed: Add LL2 slowpath handling

2017-10-09 Thread Michal Kalderon
For iWARP unaligned MPA flow, a slowpath event of flushing an MPA connection that entered an unaligned state is required. The flush ramrod is received on the ll2 queue, and a pre-registered callback function is called to handle the flush event. Signed-off-by: Michal Kalderon <michal.ka

[PATCH v3 net-next 04/12] qed: Fix initialization of ll2 offload feature

2017-10-09 Thread Michal Kalderon
enable_ip_cksum, enable_l4_cksum, calc_ip_len were added in commit stated below but not passed through to FW. This was OK until now as it wasn't used, but is required for the iWARP unaligned flow Fixes:7c7973b2ae27 ("qed: LL2 to use packed information for tx") Signed-off-by: Micha

[PATCH v3 net-next 01/12] qed: Add ll2 option to limit the number of bds per packet

2017-10-09 Thread Michal Kalderon
also contributed to decreasing the descriptor size. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 29 + drivers/net/ethernet/qlogic/qed/qe

[PATCH v3 net-next 02/12] qed: Add ll2 ability of opening a secondary queue

2017-10-09 Thread Michal Kalderon
or a secondary queue. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++- drivers/net/ethernet/qlogic/qed/qed_ll2.h | 1 + include/linux/qed/qed_ll2_if.h| 1 + 3 f

[PATCH v3 net-next 00/12] qed: Add iWARP support for unaligned MPA packets

2017-10-09 Thread Michal Kalderon
opens the additional ll2 connection for iWARP. Patches 8-12 contain the algorithm for aligning packets. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- No changes from v2: Request for changes in ll2 rxq comple

[PATCH v2 net-next 08/12] qed: Add mpa buffer descriptors for storing and processing mpa fpdus

2017-10-03 Thread Michal Kalderon
-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 116 drivers/net/ethernet/qlogic/qed/qed_iwarp.h | 11 +++ 2 files changed, 127 insertions(+) diff --g

[PATCH v2 net-next 07/12] qed: Add ll2 connection for processing unaligned MPA packets

2017-10-03 Thread Michal Kalderon
This patch adds only the establishment and termination of the ll2 connection that handles unaligned MPA packets. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_

[PATCH v2 net-next 06/12] qed: Add LL2 slowpath handling

2017-10-03 Thread Michal Kalderon
For iWARP unaligned MPA flow, a slowpath event of flushing an MPA connection that entered an unaligned state is required. The flush ramrod is received on the ll2 queue, and a pre-registered callback function is called to handle the flush event. Signed-off-by: Michal Kalderon <michal.ka

[PATCH v2 net-next 10/12] qed: Add support for freeing two ll2 buffers for corner cases

2017-10-03 Thread Michal Kalderon
to be provided as a cookie. To avoid changing the ll2 interface to provide two cookies, we introduce a piggy buf pointer, relevant for iWARP only, that holds a pointer to a second buffer that needs to be released during tx completion. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH v2 net-next 12/12] qed: Add iWARP support for fpdu spanned over more than two tcp packets

2017-10-03 Thread Michal Kalderon
the data. We need an intermediate buffer as the initial buffer partial packet could be located at the end of the packet, not leaving room for additional data. This is a corner case, and will usually not be the case. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by:

[PATCH v2 net-next 11/12] qed: Add support for MPA header being split over two tcp packets

2017-10-03 Thread Michal Kalderon
There is a special case where an MPA header is split over to tcp packets, in this case we need to wait for the next packet to get the fpdu length. We use the incomplete_bytes to mark this fpdu as a "special" one which requires updating the length with the next packet Signed-off-

[PATCH v2 net-next 05/12] qed: Add the source of a packet sent on an iWARP ll2 connection

2017-10-03 Thread Michal Kalderon
. For unaligned mpa the value will be determined in the iWARP code and sent on the pkt->vlan field. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++- 1 file changed, 6 i

[PATCH v2 net-next 04/12] qed: Fix initialization of ll2 offload feature

2017-10-03 Thread Michal Kalderon
enable_ip_cksum, enable_l4_cksum, calc_ip_len were added in commit stated below but not passed through to FW. This was OK until now as it wasn't used, but is required for the iWARP unaligned flow Fixes:7c7973b2ae27 ("qed: LL2 to use packed information for tx") Signed-off-by: Micha

[PATCH v2 net-next 09/12] qed: Add unaligned and packed packet processing

2017-10-03 Thread Michal Kalderon
fragments are used, one for the header and one for the data. Corner cases are not handled in the patch for clarity, and will be added as a separate patch. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/eth

[PATCH v2 net-next 01/12] qed: Add ll2 option to limit the number of bds per packet

2017-10-03 Thread Michal Kalderon
also contributed to decreasing the descriptor size. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 29 + drivers/net/ethernet/qlogic/qed/qe

[PATCH v2 net-next 00/12] qed: Add iWARP support for unaligned MPA packets

2017-10-03 Thread Michal Kalderon
opens the additional ll2 connection for iWARP. Patches 8-12 contain the algorithm for aligning packets. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- Changes from v1: patch #1: tx descq_array changed to

[PATCH v2 net-next 03/12] qed: Add ll2 option for dropping a tx packet

2017-10-03 Thread Michal Kalderon
The option of sending a packet on the ll2 and dropping it exists in hardware and was not used until now, thus not exposed. The iWARP unaligned MPA flow requires this functionality for flushing the tx queue. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel

[PATCH v2 net-next 02/12] qed: Add ll2 ability of opening a secondary queue

2017-10-03 Thread Michal Kalderon
or a secondary queue. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++- drivers/net/ethernet/qlogic/qed/qed_ll2.h | 1 + include/linux/qed/qed_ll2_if.h| 1 + 3 f

[PATCH net-next 11/12] qed: Add support for MPA header being split over two tcp packets

2017-10-02 Thread Michal Kalderon
There is a special case where an MPA header is split over to tcp packets, in this case we need to wait for the next packet to get the fpdu length. We use the incomplete_bytes to mark this fpdu as a "special" one which requires updating the length with the next packet Signed-off-

[PATCH net-next 08/12] qed: Add mpa buffer descriptors for storing and processing mpa fpdus

2017-10-02 Thread Michal Kalderon
-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 116 drivers/net/ethernet/qlogic/qed/qed_iwarp.h | 11 +++ 2 files changed, 127 insertions(+) diff --g

[PATCH net-next 09/12] qed: Add unaligned and packed packet processing

2017-10-02 Thread Michal Kalderon
fragments are used, one for the header and one for the data. Corner cases are not handled in the patch for clarity, and will be added as a separate patch. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/eth

[PATCH net-next 12/12] qed: Add iWARP support for fpdu spanned over more than two tcp packets

2017-10-02 Thread Michal Kalderon
the data. We need an intermediate buffer as the initial buffer partial packet could be located at the end of the packet, not leaving room for additional data. This is a corner case, and will usually not be the case. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by:

[PATCH net-next 06/12] qed: Add LL2 slowpath handling

2017-10-02 Thread Michal Kalderon
For iWARP unaligned MPA flow, a slowpath event of flushing an MPA connection that entered an unaligned state is required. The flush ramrod is received on the ll2 queue, and a pre-registered callback function is called to handle the flush event. Signed-off-by: Michal Kalderon <michal.ka

[PATCH net-next 07/12] qed: Add ll2 connection for processing unaligned MPA packets

2017-10-02 Thread Michal Kalderon
This patch adds only the establishment and termination of the ll2 connection that handles unaligned MPA packets. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_

[PATCH net-next 03/12] qed: Add ll2 option for dropping a tx packet

2017-10-02 Thread Michal Kalderon
The option of sending a packet on the ll2 and dropping it exists in hardware and was not used until now, thus not exposed. The iWARP unaligned MPA flow requires this functionality for flushing the tx queue. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel

[PATCH net-next 10/12] qed: Add support for freeing two ll2 buffers for corner cases

2017-10-02 Thread Michal Kalderon
to be provided as a cookie. To avoid changing the ll2 interface to provide two cookies, we introduce a piggy buf pointer, relevant for iWARP only, that holds a pointer to a second buffer that needs to be released during tx completion. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH net-next 02/12] qed: Add ll2 ability of opening a secondary queue

2017-10-02 Thread Michal Kalderon
or a secondary queue. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++- drivers/net/ethernet/qlogic/qed/qed_ll2.h | 1 + include/linux/qed/qed_ll2_if.h| 1 + 3 f

[PATCH net-next 01/12] qed: Add ll2 option to limit the number of bds per packet

2017-10-02 Thread Michal Kalderon
also contributed to decreasing the descriptor size. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 25 +++-- drivers/net/ethernet/qlogic/qed/qe

[PATCH net-next 05/12] qed: Add the source of a packet sent on an iWARP ll2 connection

2017-10-02 Thread Michal Kalderon
. For unaligned mpa the value will be determined in the iWARP code and sent on the pkt->vlan field. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++- 1 file changed, 6 i

[PATCH net-next 04/12] qed: Fix initialization of ll2 offload feature

2017-10-02 Thread Michal Kalderon
enable_ip_cksum, enable_l4_cksum, calc_ip_len were added in commit stated below but not passed through to FW. This was OK until now as it wasn't used, but is required for the iWARP unaligned flow Fixes:7c7973b2ae27 ("qed: LL2 to use packed information for tx") Signed-off-by: Micha

[PATCH net-next 00/12] qed: Add iWARP support for unaligned MPA packets

2017-10-02 Thread Michal Kalderon
opens the additional ll2 connection for iWARP. Patches 8-12 contain the algorithm for aligning packets. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Michal Kalderon (12): qed: Add ll2 option to limit the number of bd

[PATCH v2 net-next 1/4] qed: Add iWARP enablement support

2017-09-24 Thread Michal Kalderon
-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_cxt.c | 6 ++ drivers/net/ethernet/qlogic/qed/qed_mcp.c | 10 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c| 5 ++

[PATCH v2 net-next 0/4] qed: iWARP fixes and enhancements

2017-09-24 Thread Michal Kalderon
been accepted and targeted at kernel 4.15, therefore, all iWARP fixes for this cycle are submitted to net-next. Changes from v1->v2 - Added "Fixes:" tag to commit message of patch #3 Signed-off by: michal.kalde...@cavium.com Signed-off-by: Ariel Elior <ariel.el...@cavium.com>

[PATCH v2 net-next 2/4] qed: Add iWARP out of order support

2017-09-24 Thread Michal Kalderon
iWARP requires OOO support which is already provided by the ll2 interface (until now was used only for iSCSI offload). The changes mostly include opening a ll2 dedicated connection for OOO and notifiying the FW about the handle id. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.

[PATCH v2 net-next 4/4] qed: iWARP - Add check for errors on a SYN packet

2017-09-24 Thread Michal Kalderon
A SYN packet which arrives with errors from FW should be dropped. This required adding an additional field to the ll2 rx completion data. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/etherne

[PATCH v2 net-next 3/4] qed: Fix maximum number of CQs for iWARP

2017-09-24 Thread Michal Kalderon
tions") Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_rdma.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed

[PATCH net-next 4/4] qed: iWARP - Add check for errors on a SYN packet

2017-09-19 Thread Michal Kalderon
A SYN packet which arrives with errors from FW should be dropped. This required adding an additional field to the ll2 rx completion data. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/etherne

[PATCH net-next 3/4] qed: Fix maximum number of CQs for iWARP

2017-09-19 Thread Michal Kalderon
The maximum number of CQs supported is bound to the number of connections supported, which differs between RoCE and iWARP. This fixes a crash that occurred in iWARP when running 1000 sessions using perftest. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel

[PATCH net-next 1/4] qed: Add iWARP enablement support

2017-09-19 Thread Michal Kalderon
-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_cxt.c | 6 ++ drivers/net/ethernet/qlogic/qed/qed_mcp.c | 10 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c| 5 ++

[PATCH net-next 2/4] qed: Add iWARP out of order support

2017-09-19 Thread Michal Kalderon
iWARP requires OOO support which is already provided by the ll2 interface (until now was used only for iSCSI offload). The changes mostly include opening a ll2 dedicated connection for OOO and notifiying the FW about the handle id. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.

[PATCH net-next 0/4] qed: iWARP fixes and enhancements

2017-09-19 Thread Michal Kalderon
been accepted and targeted at kernel 4.15, therefore, all iWARP fixes for this cycle are submitted to net-next. Signed-off by: michal.kalde...@cavium.com Signed-off-by: Ariel Elior <ariel.el...@cavium.com> Michal Kalderon (4): qed: Add iWARP enablement support qed: Add iWARP out of order s

[PATCH net] qed: Fix printk option passed when printing ipv6 addresses

2017-07-09 Thread Michal Kalderon
arp.c:1521 qed_iwarp_print_cm_info() warn: '%pI6' can only be followed by c Fixes commit 456a584947d5 ("qed: iWARP CM add passive side connect") Reported-by: Dan Carpenter <dan.carpen...@oracle.com> Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Sign

[PATCH net-next] qed: initialize ll2_syn_handle at start of function

2017-07-03 Thread Michal Kalderon
Fix compilation warning qed_iwarp.c:1721:5: warning: ll2_syn_handle may be used uninitialized in this function Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 3 +-- 1

[PATCH net-next 12/12] qed: Add iWARP support for physical queue allocation

2017-07-02 Thread Michal Kalderon
iWARP has different physical queue requirements than RoCE Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_dev.c | 4

[PATCH net-next 11/12] qed: Add iWARP protocol support in context allocation

2017-07-02 Thread Michal Kalderon
When computing how much memory is required for the different hw clients iWARP protocol should be taken into account Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com>

[PATCH net-next 10/12] qed: iWARP CM add error handling

2017-07-02 Thread Michal Kalderon
This patch introduces error handling for errors that occurred during connection establishment. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/e

[PATCH net-next 09/12] qed: iWARP implement disconnect flows

2017-07-02 Thread Michal Kalderon
closed. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 90 - include/linux

[PATCH net-next 08/12] qed: iWARP CM add active side connect

2017-07-02 Thread Michal Kalderon
This patch implements the active side connect. Offload a connection, process MPA reply and send RTR. In some of the common passive/active functions, the active side will work in blocking mode. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[PATCH net-next 07/12] qed: iWARP CM add passive side connect

2017-07-02 Thread Michal Kalderon
This patch implements the passive side connect. It addresses pre-allocating resources, creating a connection element upon valid SYN packet received. Calling upper layer and implementation of the accept/reject calls. Error handling is not part of this patch. Signed-off-by: Michal Kalderon

[PATCH net-next 05/12] qed: iWARP CM - setup a ll2 connection for handling SYN packets

2017-07-02 Thread Michal Kalderon
iWARP handles incoming SYN packets using the ll2 interface. This patch implements ll2 setup and teardown. Additional ll2 connections will be used in the future which are not part of this patch series. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[PATCH net-next 06/12] qed: iWARP CM add listener functions and initial SYN processing

2017-07-02 Thread Michal Kalderon
This patch adds the ability to add and remove listeners and identify whether the SYN packet received is intended for iWARP or not. If a listener is not found the SYN packet is posted back to the chip. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[PATCH net-next 04/12] qed: Add iWARP support in ll2 connections

2017-07-02 Thread Michal Kalderon
Add a new connection type for iWARP ll2 connections for setting correct ll2 filters and connection type to FW. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com>

[PATCH net-next 03/12] qed: Rename some ll2 related defines

2017-07-02 Thread Michal Kalderon
Make some names more generic as they will be used by iWARP too. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed.h |

[PATCH net-next 02/12] qed: Implement iWARP initialization, teardown and qp operations

2017-07-02 Thread Michal Kalderon
This patch adds iWARP support for flows that have common code between RoCE and iWARP, such as initialization, teardown and qp setup verbs: create, destroy, modify, query. It introduces the iWARP specific files qed_iwarp.[ch] and iwarp_common.h Signed-off-by: Michal Kalderon <michal.ka

[PATCH net-next 01/12] qed: Introduce iWARP personality

2017-07-02 Thread Michal Kalderon
iWARP personality introduced the need for differentiating in several places in the code whether we are RoCE, iWARP or either. This leads to introducing new macros for querying the personality. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[PATCH net-next 00/12] qed: Add iWARP support for QL4xxxx

2017-07-02 Thread Michal Kalderon
is not updated in this PATCH as there is a pending patch for qedr driver update https://patchwork.kernel.org/patch/9752761. Michal Kalderon (12): qed: Introduce iWARP personality qed: Implement iWARP initialization, teardown and qp operations qed: Rename some ll2 related defines qed: Add

[RFC 19/19] qed*: Add iWARP enablement support

2017-06-26 Thread Michal Kalderon
This patch is the last of the initial iWARP patch series. It adds the possiblity to actually detect iWARP from the device and enable it in the critical locations which basically make iWARP available. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[RFC 18/19] RDMA/qedr: Add iWARP connection management functions

2017-06-26 Thread Michal Kalderon
Implements the iWARP connection management functions: connect, accept, create listener and destroy listener Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ram Amrani <ram.amr...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- dri

[RFC 17/19] RDMA/qedr: Add iWARP connection management qp related callbacks

2017-06-26 Thread Michal Kalderon
This patch implements the following iWARP callbacks: qp_add_ref qp_rem_ref get_qp Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ram Amrani <ram.amr...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/infiniband/hw/qedr

[RFC 16/19] RDMA/qedr: Add support for read with invalidate, supported in iWARP

2017-06-26 Thread Michal Kalderon
iWARP supports read with invalidate. There is an assumption that read with invalidate will only be called on an iWARP device Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ram Amrani <ram.amr...@cavium.com> Signed-off-by: Ariel Elior <ariel.e

[RFC 15/19] RDMA/qedr: Add iWARP support in existing verbs.

2017-06-26 Thread Michal Kalderon
Make slight modifications to common RoCE/iWARP code. Add additional doorbell for iWARP post_send. iWARP QP pbl is allocated in qed and not in qedr. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ram Amrani <ram.amr...@cavium.com> Signed-off-by: Ariel Eli

[RFC 14/19] RDMA/qedr: Add support for registering an iWARP device

2017-06-26 Thread Michal Kalderon
There are slight differences between iWARP and RoCE in the ibdev registration. This patch handles the changes. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ram Amrani <ram.amr...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> ---

[RFC 11/19] qed: Add iWARP protocol support in context allocation

2017-06-26 Thread Michal Kalderon
When computing how much memory is required for the different hw clients iWARP protocol should be taken into account Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com>

[RFC 12/19] qed: Add iWARP support for physical queue allocation

2017-06-26 Thread Michal Kalderon
iWARP has different physical queue requirements than RoCE Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_dev.c | 4

[RFC 13/19] RDMA/qedr: Rename the qedr_cm file as a preparation for iWARP support

2017-06-26 Thread Michal Kalderon
The main differences between iWARP and RoCE lay in the communication management functions. These will be placed in separate files. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Ram Amrani <ram.amr...@cavium.com> Signed-off-by: Ariel Elior <ariel.e

[RFC 10/19] qed: iWARP CM add error handling

2017-06-26 Thread Michal Kalderon
This patch introduces error handling for errors that occurred during connection establishment. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/e

[RFC 08/19] qed: iWARP CM add active side connect

2017-06-26 Thread Michal Kalderon
This patch implements the active side connect. Offload a connection, process MPA reply and send RTR. In some of the common passive/active functions, the active side will work in blocking mode. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[RFC 09/19] qed: iWARP implement disconnect flows

2017-06-26 Thread Michal Kalderon
closed. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 90 - include/linux

[RFC 07/19] qed: iWARP CM add passive side connect

2017-06-26 Thread Michal Kalderon
This patch implements the passive side connect. It addresses pre-allocating resources, creating a connection element upon valid SYN packet received. Calling upper layer and implementation of the accept/reject calls. Error handling is not part of this patch. Signed-off-by: Michal Kalderon

[RFC 04/19] qed: Add iWARP support in ll2 connections

2017-06-26 Thread Michal Kalderon
Add a new connection type for iWARP ll2 connections for setting correct ll2 filters and connection type to FW. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com>

[RFC 06/19] qed: iWARP CM add listener functions and initial SYN processing

2017-06-26 Thread Michal Kalderon
This patch adds the ability to add and remove listeners and identify whether the SYN packet received is intended for iWARP or not. If a listener is not found the SYN packet is posted back to the chip. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[RFC 05/19] qed: iWARP CM - setup a ll2 connection for handling SYN packets

2017-06-26 Thread Michal Kalderon
iWARP handles incoming SYN packets using the ll2 interface. This patch implements ll2 setup and teardown. Additional ll2 connections will be used in the future which are not part of this patch series. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <

[RFC 03/19] qed: Rename some ll2 related defines

2017-06-26 Thread Michal Kalderon
Make some names more generic as they will be used by iWARP too. Signed-off-by: Michal Kalderon <michal.kalde...@cavium.com> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com> Signed-off-by: Ariel Elior <ariel.el...@cavium.com> --- drivers/net/ethernet/qlogic/qed/qed.h |

  1   2   >