RE: [RFC PATCH v3 00/11] NVMeTCP Offload ULP and QEDN Device Driver

2021-02-18 Thread Shai Malin
> > With the goal of enabling a generic infrastructure that allows NVMe/TCP > offload devices like NICs to seamlessly plug into the NVMe-oF stack, this > patch series introduces the nvme-tcp-offload ULP host layer, which will be a > new transport type called "tcp-offload" and will serve as an abst

Re: [RFC PATCH v3 00/11] NVMeTCP Offload ULP and QEDN Device Driver

2021-02-13 Thread Shai Malin
On Fri, 12 Feb 2021 at 20:06, Chris Leech wrote: > > On Sun, Feb 07, 2021 at 08:13:13PM +0200, Shai Malin wrote: > > Queue Initialization: > > = > > The nvme-tcp-offload ULP module shall register with the existing > > nvmf_transport_ops (.name =

[RFC PATCH v3 00/11] NVMeTCP Offload ULP and QEDN Device Driver

2021-02-07 Thread Shai Malin
Balandin (3): nvme-tcp-offload: Add device scan implementation nvme-tcp-offload: Add queue level implementation nvme-tcp-offload: Add IO level implementation Shai Malin (5): nvme-tcp-offload: Add nvme-tcp-offload - NVMeTCP HW offload ULP nvme-qedn: Add qedn - Marvell's NVMeTCP HW offload

[RFC PATCH v3 11/11] nvme-qedn: Add IRQ and fast-path resources initializations

2021-02-07 Thread Shai Malin
block - which is used for the FW to notify the driver with the producer update of the FW CQE chain. The FW fast-path queues are based on qed_chain.h Signed-off-by: Prabhakar Kushwaha Signed-off-by: Michal Kalderon Signed-off-by: Shai Malin --- drivers/nvme/hw/qedn/qedn.c | 284

[RFC PATCH v3 10/11] nvme-qedn: Add qedn probe

2021-02-07 Thread Shai Malin
container for PF-specific attributes and resources. Signed-off-by: Dean Balandin Signed-off-by: Prabhakar Kushwaha Signed-off-by: Michal Kalderon Signed-off-by: Shai Malin --- drivers/nvme/hw/Kconfig | 1 + drivers/nvme/hw/qedn/qedn.c | 193 +++- drive

[RFC PATCH v3 09/11] net-qed: Add NVMeTCP Offload PF Level FW and HW HSI

2021-02-07 Thread Shai Malin
This patch introduces the NVMeTCP device and PF level HSI and HSI functionality in order to initialize and interact with the HW device. This patch is based on the qede, qedr, qedi, qedf drivers HSI. Signed-off-by: Dean Balandin Signed-off-by: Michal Kalderon Signed-off-by: Shai Malin

[RFC PATCH v3 08/11] nvme-qedn: Add qedn - Marvell's NVMeTCP HW offload vendor driver

2021-02-07 Thread Shai Malin
Signed-off-by: Arie Gershberg Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- MAINTAINERS | 10 ++ drivers/nvme/Kconfig | 1 + drivers/nvme/Makefile | 1 + drivers/nvme/hw/Kconfig | 8 ++ drivers/nvme/hw

[RFC PATCH v3 06/11] nvme-tcp-offload: Add queue level implementation

2021-02-07 Thread Shai Malin
. Once create_queue returns successfully, we can move on to the fabrics connect. Signed-off-by: Dean Balandin Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- drivers/nvme/host/tcp-offload.c | 322 ++-- drivers/nvme/host/tcp

[RFC PATCH v3 07/11] nvme-tcp-offload: Add IO level implementation

2021-02-07 Thread Shai Malin
driver shall call command.done() that shall invoke the nvme-tcp-offload ULP layer for completing the request. Signed-off-by: Dean Balandin Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- drivers/nvme/host/tcp-offload.c | 82

[RFC PATCH v3 04/11] nvme-tcp-offload: Add controller level implementation

2021-02-07 Thread Shai Malin
Signed-off-by: Shai Malin --- drivers/nvme/host/tcp-offload.c | 458 +++- drivers/nvme/host/tcp-offload.h | 1 + 2 files changed, 453 insertions(+), 6 deletions(-) diff --git a/drivers/nvme/host/tcp-offload.c b/drivers/nvme/host/tcp-offload.c index 49e11638b4fd

[RFC PATCH v3 02/11] nvme-fabrics: Move NVMF_ALLOWED_OPTS and NVMF_REQUIRED_OPTS definitions

2021-02-07 Thread Shai Malin
From: Arie Gershberg Move NVMF_ALLOWED_OPTS and NVMF_REQUIRED_OPTS definitions to header file, so it can be used by transport modules. Signed-off-by: Arie Gershberg Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- drivers/nvme/host/fabrics.c | 7

[RFC PATCH v3 01/11] nvme-tcp-offload: Add nvme-tcp-offload - NVMeTCP HW offload ULP

2021-02-07 Thread Shai Malin
like any other transport. Signed-off-by: Dean Balandin Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- drivers/nvme/host/Kconfig | 16 +++ drivers/nvme/host/Makefile | 3 + drivers/nvme/host/tcp-offload.c | 124 d

[RFC PATCH v3 03/11] nvme-tcp-offload: Add device scan implementation

2021-02-07 Thread Shai Malin
devices is found (claim_dev returns true), we raise the refcnt of that device and return that device as the device to be used for ctrl currently being created. Signed-off-by: Dean Balandin Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- drivers/nvme/host

[RFC PATCH v3 05/11] nvme-tcp-offload: Add controller level error recovery implementation

2021-02-07 Thread Shai Malin
all queues. Signed-off-by: Arie Gershberg Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin --- drivers/nvme/host/tcp-offload.c | 121 +++- drivers/nvme/host/tcp-offload.h | 10 +++ 2 files changed, 130 insertions(+), 1 deletion

RE: [PATCH v1 net-next 07/15] nvme-tcp : Recalculate crc in the end of the capsule

2020-12-15 Thread Shai Malin
> crc offload of the nvme capsule. Check if all the skb bits are on, and if not > recalculate the crc in SW and check it. > > This patch reworks the receive-side crc calculation to always run at the end, > so as to keep a single flow for both offload and non-offload. This change > simplifies the

Re: [PATCH v1 net-next 05/15] nvme-tcp: Add DDP offload control path

2020-12-15 Thread Shai Malin
On 12/14/2020 08:38, Boris Pismenny wrote: > On 10/12/2020 19:15, Shai Malin wrote: > > diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c index > > c0c33320fe65..ef96e4a02bbd 100644 > > --- a/drivers/nvme/host/tcp.c > > +++ b/drivers/nvme/ho

RE: [PATCH v1 net-next 05/15] nvme-tcp: Add DDP offload control path

2020-12-10 Thread Shai Malin
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c index c0c33320fe65..ef96e4a02bbd 100644 --- a/drivers/nvme/host/tcp.c +++ b/drivers/nvme/host/tcp.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "nvme.h" #include "fabrics.h" @@ -62,6 +63,7 @@ enum nvme_tc

RE: [PATCH net-next RFC v1 05/10] nvme-tcp: Add DDP offload control path

2020-11-10 Thread Shai Malin
On 11/10/2020 1:24 AM, Sagi Grimberg wrote: > >>> diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c > >>> index > >>> 8f4f29f18b8c..06711ac095f2 100644 > >>> --- a/drivers/nvme/host/tcp.c > >>> +++ b/drivers/nvme/host/tcp.c > >>> @@ -62,6 +62,7 @@ enum nvme_tcp_queue_flags { > >>>

FW: [PATCH net-next RFC v1 05/10] nvme-tcp: Add DDP offload control path

2020-11-10 Thread Shai Malin
On 11/10/2020 1:24 AM, Sagi Grimberg wrote: > >>> diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c index > >>> 8f4f29f18b8c..06711ac095f2 100644 > >>> --- a/drivers/nvme/host/tcp.c > >>> +++ b/drivers/nvme/host/tcp.c > >>> @@ -62,6 +62,7 @@ enum nvme_tcp_queue_flags { > >>>

RE: [PATCH net-next RFC v1 07/10] nvme-tcp : Recalculate crc in the end of the capsule

2020-11-07 Thread Shai Malin
On 09/10/2020 1:44, Sagi Grimberg wrote: > On 9/30/20 7:20 PM, Boris Pismenny wrote: > > > crc offload of the nvme capsule. Check if all the skb bits are on, > > and if not recalculate the crc in SW and check it. > > Can you clarify in the patch description that this is only for pdu > data di

RE: [PATCH net-next RFC v1 05/10] nvme-tcp: Add DDP offload control path

2020-11-07 Thread Shai Malin
On 09/10/2020 1:19, Sagi Grimberg wrote: > On 9/30/20 9:20 AM, Boris Pismenny wrote: > > This commit introduces direct data placement offload to NVME TCP. > > There is a context per queue, which is established after the > > handshake using the tcp_ddp_sk_add/del NDOs. > > > > Additionally, a res