: 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
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
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.
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
;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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
. 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
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
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
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-
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:
-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
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_
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
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
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
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
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
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
-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
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_
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
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
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:
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-
. 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
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
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
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
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
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
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
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-
-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
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
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:
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
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_
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
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
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
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
. 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
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
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
-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 ++
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>
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.
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
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
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
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
-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 ++
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.
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
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
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
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
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>
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
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
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 <
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
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 <
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 <
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>
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 |
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
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 <
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
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 <
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
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
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
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
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>
---
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>
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
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
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
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 <
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
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
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>
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 <
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 <
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 - 100 of 108 matches
Mail list logo