[PATCH 0/4] Add VMID support to nvme-fc transport and lpfc driver

James Smart
2022-05-10T20:00:51Z

This patch adds vmid support to the nvme-fc transport.

Various virtualization technologies used in Fibre Channel
SAN deployments have the ability to identify and associate traffic
with specific virtualized applications. The T11 standard defines
an application services tag that can be added to FC traffic to aid
in identification and monitoring of traffic associated with the
applications.

VMID support is present in the kernel in blkcg, the SCSI fc transport
has tied into the infrastructure, and libvirt has been
updated to support the blkcg settings. Refer to:
https://lore.kernel.org/all/20210608043556.274139-1-muneendra.kumar@broadcom.com/

This patch set ties the nvme-fc transport into the blkcg infrastructure
so that vmid tags can be added to nvme traffic. The patch set also
updates the lpfc driver to utilize the nvme-fc transport addition.

Although the patch adds a nvme interface, it is being sent to the SCSI
maintainers tree due to the lpfc dependencies. As there is no other
consumer of the new interface, when the scsi tree merges with mainline,
the new interface will be picked up there.

Patches cut against scsi 5.19/scsi-queue tree with lpfc 14.2.0.3 patches
included.

James Smart (3):
lpfc: commonize VMID code location
lpfc: rework lpfc_vmid_get_appid() to be protocol independent
lpfc: Add support for vmid tagging of NVMe I/Os

Muneendra (1):
nvme-fc: Add new routine nvme_fc_io_getuuid

drivers/nvme/host/fc.c | 16 ++
drivers/scsi/lpfc/Makefile | 2 +-
drivers/scsi/lpfc/lpfc_crtn.h | 3 +
drivers/scsi/lpfc/lpfc_nvme.c | 45 ++++++
drivers/scsi/lpfc/lpfc_scsi.c | 263 +-----------------------------
drivers/scsi/lpfc/lpfc_vmid.c | 288 +++++++++++++++++++++++++++++++++
include/linux/nvme-fc-driver.h | 14 ++
7 files changed, 371 insertions(+), 260 deletions(-)
create mode 100644 drivers/scsi/lpfc/lpfc_vmid.c

--
2.26.2