How to support FCP Targets with SCSI Miniport

Discussion in 'Windows Vista Drivers' started by G.N.Raj, Apr 11, 2005.

  1. G.N.Raj

    G.N.Raj Guest

    Hello Everyone,

    I am writing a SCSI-FCP Miniport driver for my FC HBA card.

    I saw the SCSI Port Driver Interfaces for the same.

    I understand that the SCSI Port driver will first do the FindAdapter and
    then starts sending SCSI Commands to find out the LUN list information for
    the HBA.

    The commands address the LUNs on a single FCP target.

    But, in case of FCP targets, each FCP target can have n-Luns.

    How do I make the FCP style of Target/LUN discovery work with the Windows
    SCSI stack?

    Is there any pointer for the same? Or is there a sample code available for
    the same?

    Please reply.

    Thanks in advance.

    Regards,

    Raj
     
    G.N.Raj, Apr 11, 2005
    #1
    1. Advertisements

  2. G.N.Raj

    G.N.Raj Guest

    Is there a sample driver source available for StorPort Type of Miniport
    Driver?

    Does the Storport address this problem?

    Regards,

    Raj
     
    G.N.Raj, Apr 11, 2005
    #2
    1. Advertisements

  3. But, in case of FCP targets, each FCP target can have n-Luns.
    As usually in SCSI. Support INQUIRY to LUN numbers > 0. Also it is a good idea
    to support the REPORT LUNS command and have the necessary bit set in INQUIRY
    data for LUN0 - this allows to have sparse LUN numbering.
     
    Maxim S. Shatskih, Apr 11, 2005
    #3
  4. G.N.Raj

    G.N.Raj Guest

    Thanks for the reply,

    But support INQUIRY to LUN0 on which FC target? I have to support ReportLUNS
    also. But even that will be for one target.

    How do I make the SCSIPort/StorPort work with multiple targets (which in
    turn have multiple LUNs)?

    Do I have to use the number of buses (ConfigInfo->NumberOfBuses) field for
    supporting multiple targets of this type? Does that mean they are virtual
    buses on the physical FC bus?

    For your info, I got the Storport source sample (i20) also. But even that
    does not give this specific example.

    Please reply,

    Thanks in advance.

    Best Regards,

    Raj
     
    G.N.Raj, Apr 11, 2005
    #4
  5. But support INQUIRY to LUN0 on which FC target?

    On the target where you have multiple LUNs :)
    IIRC MaximumNumberOfTargets (or such) is somewhere in
    PORT_CONFIGURATION_INFORMATION. After you will this field, SCSIPORT will send
    you INQUIRY for each new target ID.
     
    Maxim S. Shatskih, Apr 11, 2005
    #5
  6. G.N.Raj

    G.N.Raj Guest

    Wow! Great!

    Thanks for the reply.

    One more question in continuation with this.

    The Target ID field in SRB is a UCHAR. The maximum number of Targets in
    PORT_CONFIGURATION_INFORMATION is also just a number. There is no way to
    specify an FC Target ID (WWPN) here and I don't get the WWPN in the TargetId
    field of SRB.

    Does that mean, the MiniPort has to maintain the mapping of the target ID
    numbers to the actual Target IDs?

    Please reply.

    Thanks in advance,

    Best Regards,

    Raj
     
    G.N.Raj, Apr 11, 2005
    #6
  7. Does that mean, the MiniPort has to maintain the mapping of the target ID
    Exactly. The mapping can be controlled by proprietary IOCTL_SCSI_MINIPORT
    commands and your proprietary app. Last time I checked, there was no native FC
    in Windows, only SCSI.
     
    Maxim S. Shatskih, Apr 12, 2005
    #7
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.