RE: bidi support: FC transport layer...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
> -----Original Message-----
> From: Seokmann Ju [mailto:seokmann.ju@xxxxxxxxxx] 
> Sent: Tuesday, July 15, 2008 2:55 PM
> To: Smart, James
> Cc: linux-scsi@xxxxxxxxxxxxxxx; Andrew Vasquez
> Subject: Re: bidi support: FC transport layer...
>
>  From the code walk-through, for the SAS SMP case, the 
> transport layer  
> create
> a file under sysfs per each device detection, which is former case.
> Could you elaborate why we have to "temporarily create object X and  
> destroy"?

Well - as long as you are only going to talk to what the driver exports,
ok...

But, what if I want to talk to a Fabric Service or Switch entity the
driver
doesn't typically log into or stay logged into ?  Or what if I want to
talk
to another FCP initiator (not FCP traffic, but rather just ELS's/CT
traffic)
or want to talk to a non-FCP port, but the driver only enumerated the
rports
associated with FCP Targets ?  Or what if I just want to FC-Ping some
random
FC address ?

Somehow we have to make the driver/transport enumerate the device that
we
want to talk to.  Along with this, I'm assuming the driver has to
initiate/do
the basic PLOGI to the other address, and be told when to tear it down.

Another part I don't like about the "create a file for each enumeration"
is,
we rarely use these files. If the SAN is big, the system has lots of
adapters,
and so on, why make the system allocate/maintain/etc all of these things
that
are rarely used ? When you start enumerating per phy, and with logical
entities
layering on top of the physical thingies, it can really grow. At what
point does
SGIO run out of dev_t space ?  Consider that we are enumerating many
adapters in 
an enterprise system; and on the physical level down to phys, and
everything
on the transport such as expanders and phys on expanders and targets and
luns;
and add in virtualization such as NPIV or VSANs, each with potentially
large
san connectivity and their own large trees of these things... 
Does SGIO actually scale ?

> In general, I've been walking through the code to figure out overall  
> design
> and implementation details about SAS SMP handling.
> 1. when each of target device detected, a request_queue for the device
>   allocated/associated to it.
> 2. each of device gets device file under sysfs and the device file is
>   used to send SMP via bsg and the packets get serviced in 
> the nature of
>   bidi.
> 
> I also think it should be safe to implement FC-CT/ELS support in the
> manner similar to the SAS SMP.
> Please let me know for any other missing pieces.

Agreed - for the basic part.  However, you're still under the assumption
that SAS
enumerated everything.  Given that some SAS parts could perform
discovery on it's
own, with the LLDD interacting with the transport just enough to
enumerate what it
found useful, this may not always be the case. Additionally, there
aren't a lot
of other "protocols" or "port roles" that exist in SAS - but there are
in FC.

The more interesting part is to those things (switch services, non-FCP
targets)
that the driver did not enumerate.  We should allow the directed
enumeration of them
to perform some basic diagnostics or san queries.  And once you have
this, 
we can really open some interesting doors - why not an app that talks
FICON ? or
something that just message passes between 2 ports ? and so on...

-- james



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux