From: James Smart <James.Smart@Emulex.Com>
To: Robert Love <robert.w.love@intel.com>
Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
Andrew Vasquez <andrew.vasquez@qlogic.com>,
Joe Carnuccio <joe.carnuccio@qlogic.com>,
Marcus Barrow <marcus.barrow@qlogic.com>,
David Wagner <david.wagner@qlogic.com>
Subject: Re: Proposal to add sysfs attributes for FCoE in FC Transport layer
Date: Thu, 2 Apr 2009 13:42:48 -0400 [thread overview]
Message-ID: <49D4F918.1090507@emulex.com> (raw)
In-Reply-To: <1238631208.15031.42.camel@fritz>
Robert Love wrote:
> On Wed, 2009-04-01 at 09:59 -0400, James Smart wrote:
>> The largest issue I have is - what attributes are really fc/fcoe specific ?
>> DCBX and PFC are arguably NIC-related parameters and have no business being
>> under the fc transport. Additionally, whatever we pick, we had better put
>> the same or like parameters with lib_fcoe-supporting adapters in the same
>> place.
>>
>> This is very muddy as some adapters will want present a fc/scsi function
>> only, hiding the nic completely; others may present a nic function and
>> an fcoe function, and physically share the nic; while others will have
>> only the nic and a bunch of software, or a nic with super-features for
>> fcoe. What object belongs where for what attribute ?
>>
>> Another thing that should be brought up is the presentation model when
>> there are multiple FCF's that an FCOE adapter can talk to. I'm a fan of
>> having a new fc_host for every new *initiator* context on a fabric.
>> Meaning, there's a fc_host for each N_Port_Id on each fabric (which is
>> what we have been doing for NPIV and VSANs). Mean an FCOE port, which
>> sees multiple FCFs, or contacts the same FCF on different vlans (which
>> map to different VSANs) need to be separate fc_hosts. Additionally, we
>
> What do you think about having a fcoe_host defined in the FC transport
> that can exist for the FIP phase and then create fc_hosts for each
> N_Port_ID that is logged into the fabric(s)?
I don't think it meshes very well. If we're going to create a new "top"
object, I'd rather it became a generic fc port (or bus/adapter, as I'd
want to move it above the 1st scsi_host). This object could then have
"type" attributes, or even a std FC or FCOE subclass, then the fc_hosts
under it.
> We could also have a fcoe_fcf structure that would have a similar
> relationship with the fcoe_host that the rports have with the fc_host
> (at least from the device model perspective). I don't think the
> fcoe_host would be coupled with a scsi_host, or fc_host, since there is
> no intent to use it for I/O, it would be used to do FIP and then we
> switch to fc_hosts just before we log a port into a fabric.
Agreed in concept, thus my push for fc being a bus-like object.
We'll need to work this further. It means creating a small subtree
of objects - from the adapter; to an egress port/point (a single FC
port, or 1 per mac or mac/vlan ?); to fabric ingress point (aka FC
Fport, or FCF's); to a set of fabrics (VSAN hdrs or VLAN related);
to fc_vport (an N_Port_ID on a fabric); to scsi_host/fc_host (initiator
role on the fc_vport); (consider tgt mode attachment to a fc_vport);
to ...rest of current initiator-based rport/stgt/slun tree....
This part concerns me as the scope is a bit large.
>
> libfcoe has two structures that are used for this purpose
> (include/scsi/libfcoe.h), but they're only used by modules that use
> libfcoe. Maybe they should be moved up to the transport layer, modified
> to fit into the the device model and then have the relevant info exposed
> in sysfs.
Agreed. Although, we're going to touch on the same kind of issues
you had with rports - can you actively use the entity for internal
topology and state management, or is it only in the transport in order
for mgmt presentation and control.
-- james s
next prev parent reply other threads:[~2009-04-02 17:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-01 1:06 Proposal to add sysfs attributes for FCoE in FC Transport layer Giridhar Malavali
2009-04-01 13:59 ` James Smart
2009-04-02 0:13 ` Robert Love
2009-04-02 17:42 ` James Smart [this message]
2009-04-02 1:01 ` Giridhar Malavali
2009-04-02 18:03 ` Matthew Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49D4F918.1090507@emulex.com \
--to=james.smart@emulex.com \
--cc=andrew.vasquez@qlogic.com \
--cc=david.wagner@qlogic.com \
--cc=giridhar.malavali@qlogic.com \
--cc=joe.carnuccio@qlogic.com \
--cc=linux-scsi@vger.kernel.org \
--cc=marcus.barrow@qlogic.com \
--cc=robert.w.love@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox