public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] Introduce support for feature Fabric Discovery and
@ 2024-06-10 21:50 Karan Tilak Kumar
  2024-06-10 21:50 ` [PATCH 01/14] scsi: fnic: Replace shost_printk with pr_info/pr_err Karan Tilak Kumar
                   ` (13 more replies)
  0 siblings, 14 replies; 45+ messages in thread
From: Karan Tilak Kumar @ 2024-06-10 21:50 UTC (permalink / raw)
  To: sebaddel
  Cc: arulponn, djhawar, gcboffa, mkai2, satishkh, jejb,
	martin.petersen, linux-scsi, linux-kernel, Karan Tilak Kumar

Hi Martin, reviewers,

This cover letter describes the feature: add support for Fabric Discovery
and Login Services (FDLS) to fnic driver.

This functionality is needed to support port channel RSCN (PC-RSCN)
handling and serves as a base to create FC-NVME initiators
(planned later), and eCPU handling (planned later).

It is used to discover the fabric and target ports associated with the
fabric.
It will then login to the target ports that are zoned to it.
The driver uses the tport structure presented by FDLS.

Port channel RSCN is a Cisco vendor specific RSCN
event. It is applicable only to Cisco UCS fabrics.

In cases where the eCPU in the UCS VIC (Unified Computing Services
Virtual Interface Card) hangs, a fabric log out is sent to the fabric.
Upon successful log out from the fabric, the IO path is failed over
to a new path.

Generally from a feature perspective, the code is divided into adding
support for this functionality initially. Then, code has been added to
modify the IO path and interfaces. Finally, support for port channel RSCN
handling has been added.

Here are the headers of some of the salient patches:

o add headers and definitions for FDLS
o add support for fabric based solicited requests and responses
o add support for target based solicited requests and responses
o add support for unsolicited requests and responses
o add support for FDMI
o add support for FIP
o add functionality in fnic to support FDLS
o modify IO path to use FDLS and tport
o modify fnic interfaces to use FDLS
o add support to handle port channel RSCN

Even though the patches have been made into a series, some patches are
heavier than others. But, every effort has been made to keep the purpose
of each patch as a single-purpose, and to compile cleanly.
All the individual patches compile cleanly. There are some unused function
warnings, but since the function calls happen in later patches, those
warnings go away.

This patchset has been tested as a whole. Therefore, the tested-by fields
have been added only to one patch in the set.
I've refrained from adding tested-by to most of the patches,
so as to not mislead the reviewer/reader.

A brief note on the unit tests:

o. Perform zone in zone out testing in a loop: remove a target
port from the zone, add it to the zone in a loop. 1000+ iterations
of this test have been successful.
o. Configure multipathing, and run link flaps on single link.
IOs drop briefly, but pick up as expected.
o. Configure multipathing, and run link flaps on two links, with a
30 second delay in between. IOs drop briefly, but pick up as expected.
o. Module load/unload test.
o. Repeat the above tests with 1 queue and 64 queues.
All tests were successful.

Please consider this patch series for the next merge window.

Thanks and regards,
Karan

Karan Tilak Kumar (14):
  scsi: fnic: Replace shost_printk with pr_info/pr_err
  scsi: fnic: Add headers and definitions for FDLS
  scsi: fnic: Add support for fabric based solicited requests and
    responses
  scsi: fnic: Add support for target based solicited requests and
    responses
  scsi: fnic: Add support for unsolicited requests and responses
  scsi: fnic: Add and integrate support for FDMI
  scsi: fnic: Add and integrate support for FIP
  scsi: fnic: Add functionality in fnic to support FDLS
  scsi: fnic: Modify IO path to use FDLS
  scsi: fnic: Modify fnic interfaces to use FDLS
  scsi: fnic: Add stats and related functionality
  scsi: fnic: Code cleanup
  scsi: fnic: Add support to handle port channel RSCN
  scsi: fnic: Increment driver version

 drivers/scsi/fnic/Makefile                |    5 +-
 drivers/scsi/fnic/fdls_disc.c             | 3942 +++++++++++++++++++++
 drivers/scsi/fnic/fdls_fc.h               |  548 +++
 drivers/scsi/fnic/fip.c                   |  900 +++++
 drivers/scsi/fnic/fip.h                   |  341 ++
 drivers/scsi/fnic/fnic.h                  |  216 +-
 drivers/scsi/fnic/fnic_attrs.c            |   12 +-
 drivers/scsi/fnic/fnic_debugfs.c          |   30 +-
 drivers/scsi/fnic/fnic_fcs.c              | 1775 ++++------
 drivers/scsi/fnic/fnic_fdls.h             |  371 ++
 drivers/scsi/fnic/fnic_io.h               |   14 +-
 drivers/scsi/fnic/fnic_isr.c              |   28 +-
 drivers/scsi/fnic/fnic_main.c             |  670 ++--
 drivers/scsi/fnic/fnic_pci_subsys_devid.c |  133 +
 drivers/scsi/fnic/fnic_res.c              |   76 +-
 drivers/scsi/fnic/fnic_scsi.c             | 1406 +++++---
 drivers/scsi/fnic/fnic_stats.h            |   48 +-
 drivers/scsi/fnic/fnic_trace.c            |   83 +-
 18 files changed, 8640 insertions(+), 1958 deletions(-)
 create mode 100644 drivers/scsi/fnic/fdls_disc.c
 create mode 100644 drivers/scsi/fnic/fdls_fc.h
 create mode 100644 drivers/scsi/fnic/fip.c
 create mode 100644 drivers/scsi/fnic/fip.h
 create mode 100644 drivers/scsi/fnic/fnic_fdls.h
 create mode 100644 drivers/scsi/fnic/fnic_pci_subsys_devid.c

-- 
2.31.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2024-08-09 16:37 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-10 21:50 [PATCH 00/14] Introduce support for feature Fabric Discovery and Karan Tilak Kumar
2024-06-10 21:50 ` [PATCH 01/14] scsi: fnic: Replace shost_printk with pr_info/pr_err Karan Tilak Kumar
2024-06-11  6:32   ` Hannes Reinecke
2024-06-12 22:25     ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 02/14] scsi: fnic: Add headers and definitions for FDLS Karan Tilak Kumar
2024-06-11  6:53   ` Hannes Reinecke
2024-06-12 22:48     ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 03/14] scsi: fnic: Add support for fabric based solicited requests and responses Karan Tilak Kumar
2024-06-11  7:09   ` Hannes Reinecke
2024-06-17 19:36     ` Karan Tilak Kumar (kartilak)
2024-06-11 16:12   ` kernel test robot
2024-06-11 18:38   ` kernel test robot
2024-06-10 21:50 ` [PATCH 04/14] scsi: fnic: Add support for target " Karan Tilak Kumar
2024-06-11 13:31   ` Hannes Reinecke
2024-06-11 17:48     ` Karan Tilak Kumar (kartilak)
2024-06-26 10:01     ` Karan Tilak Kumar (kartilak)
2024-06-11 17:56   ` kernel test robot
2024-06-10 21:50 ` [PATCH 05/14] scsi: fnic: Add support for unsolicited " Karan Tilak Kumar
2024-06-12  6:31   ` Hannes Reinecke
2024-06-26  9:46     ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 06/14] scsi: fnic: Add and integrate support for FDMI Karan Tilak Kumar
2024-06-10 23:18   ` kernel test robot
2024-06-12  6:45   ` Hannes Reinecke
2024-06-18 17:50     ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 07/14] scsi: fnic: Add and integrate support for FIP Karan Tilak Kumar
2024-06-12  6:47   ` Hannes Reinecke
2024-06-15  3:44     ` Karan Tilak Kumar (kartilak)
2024-06-15  9:05       ` Hannes Reinecke
2024-06-17 18:56         ` Karan Tilak Kumar (kartilak)
2024-06-13 15:46   ` John Garry
2024-06-18 20:37     ` Karan Tilak Kumar (kartilak)
2024-08-09 16:36     ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 08/14] scsi: fnic: Add functionality in fnic to support FDLS Karan Tilak Kumar
2024-06-12  6:57   ` Hannes Reinecke
2024-06-15  3:47     ` Karan Tilak Kumar (kartilak)
2024-06-15  9:07       ` Hannes Reinecke
2024-06-17 19:25         ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 09/14] scsi: fnic: Modify IO path to use FDLS Karan Tilak Kumar
2024-06-12  7:18   ` Hannes Reinecke
2024-06-18 17:36     ` Karan Tilak Kumar (kartilak)
2024-06-10 21:50 ` [PATCH 10/14] scsi: fnic: Modify fnic interfaces " Karan Tilak Kumar
2024-06-10 21:50 ` [PATCH 11/14] scsi: fnic: Add stats and related functionality Karan Tilak Kumar
2024-06-10 21:50 ` [PATCH 12/14] scsi: fnic: Code cleanup Karan Tilak Kumar
2024-06-10 21:50 ` [PATCH 13/14] scsi: fnic: Add support to handle port channel RSCN Karan Tilak Kumar
2024-06-10 21:51 ` [PATCH 14/14] scsi: fnic: Increment driver version Karan Tilak Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox