mbox series

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

Message ID 20220519123110.17361-1-jsmart2021@gmail.com
Headers show
Series Add VMID support to nvme-fc transport and lpfc driver | expand

Message

James Smart May 19, 2022, 12:31 p.m. UTC
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.

V2:
Revised the first patch which calls blkcg_get_fc_appid().
Fixes build errors when merged with 
 blk-cgroup: move blkcg_{get,set}_fc_appid out of line
 commit db05628435aa


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         |  18 +++
 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, 373 insertions(+), 260 deletions(-)
 create mode 100644 drivers/scsi/lpfc/lpfc_vmid.c

Comments

Martin K. Petersen May 24, 2022, 3:27 a.m. UTC | #1
On Thu, 19 May 2022 05:31:06 -0700, James Smart wrote:

> 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.
> 
> [...]

Applied to 5.19/scsi-queue, thanks!

[1/4] nvme-fc: Add new routine nvme_fc_io_getuuid
      https://git.kernel.org/mkp/scsi/c/827fc630e4c8
[2/4] lpfc: commonize VMID code location
      https://git.kernel.org/mkp/scsi/c/ed913cf4a533
[3/4] lpfc: rework lpfc_vmid_get_appid() to be protocol independent
      https://git.kernel.org/mkp/scsi/c/348efeca7487
[4/4] lpfc: Add support for vmid tagging of NVMe I/Os
      https://git.kernel.org/mkp/scsi/c/896325a8b165