[SCSI] FC Transport support for vports based on NPIV
authorJames Smart <James.Smart@Emulex.Com>
Fri, 27 Apr 2007 16:41:09 +0000 (12:41 -0400)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Wed, 16 May 2007 13:36:15 +0000 (09:36 -0400)
commita53eb5e060c0ec7245c8f93b9dcd94afa6041e06
tree5e5747a715142c6eb1b89f9550477e2d1df318f0
parent7b104bcb8e460e45a1aebe3da9b86aacdb4cab12
[SCSI] FC Transport support for vports based on NPIV

This patch provides support for FC virtual ports based on NPIV.
For information on the interfaces and design, please read the
Documentation/scsi/scsi_fc_transport.txt file enclosed within
the patch.

The RFC was originally posted here:
http://marc.info/?l=linux-scsi&m=117226959918393&w=2

Changes from the initial RFC:
- Bug fix: needed a transport_class_unregister() for the vport class
- Create a symlink to the vport in the shost device if it is not the
    parent of the vport.
- Made symbolic name writable so it can be set after creation
- Made the temporary fc_vport_identifiers struct private to the
transport.
- Deleted the vport_id field from the vport. I couldn't find any good
  use for it (and symname is a good replacement).
- Made the vport_state and vport_last_state "private" attributes.
  Added the fc_vport_set_state() helper function to manage state
  transitions
- Updated vport_create() to allow a vport to be created in a disabled
  state.
- Added INITIALIZING and FAILED vport states
- Added VPCERR_xxx defines for errors to be returned from vport_create()
- Created a Documentation/scsi/scsi_fc_transport.txt file that describes
  the interfaces and expected LLDD behaviors.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Documentation/scsi/scsi_fc_transport.txt [new file with mode: 0644]
drivers/scsi/scsi_transport_fc.c
include/scsi/scsi_transport_fc.h