nvme tcp receive errors
Keith Busch
kbusch at kernel.org
Wed Apr 28 19:01:47 BST 2021
On Wed, Apr 28, 2021 at 10:42:13AM -0700, Sagi Grimberg wrote:
> In tcp.c:
> --
> static void nvme_tcp_set_sg_inline(struct nvme_tcp_queue *queue,
> struct nvme_command *c, u32 data_len)
> {
> struct nvme_sgl_desc *sg = &c->common.dptr.sgl;
>
> sg->addr = cpu_to_le64(queue->ctrl->ctrl.icdoff);
> sg->length = cpu_to_le32(data_len);
> sg->type = (NVME_SGL_FMT_DATA_DESC << 4) | NVME_SGL_FMT_OFFSET;
> }
>
> static void nvme_tcp_set_sg_host_data(struct nvme_command *c,
> u32 data_len)
> {
> struct nvme_sgl_desc *sg = &c->common.dptr.sgl;
>
> sg->addr = 0;
> sg->length = cpu_to_le32(data_len);
> sg->type = (NVME_TRANSPORT_SGL_DATA_DESC << 4) |
> NVME_SGL_FMT_TRANSPORT_A;
> }
> --
>
> What is the sgl type you see in the traces? transport specific sgl
> (host-data i.e. non-incapsule) or inline?
The Sub Type is 0xA, Transport Specific.
More information about the Linux-nvme
mailing list