SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    iFCP -06 comments



    At the request of the iFCP authors, I've reviewed the -06 version of
    the iFCP draft.  Here are my comments divided into Major, Minor and/or
    Editorial, and Formatting categories.  
    
    ----- Major -----
    
    5.3.2/5.3.2.1/5.3.2.1.1 - These are written as descriptions of a possible
    implementation.  That's fine, but it's necessary to be crisp about what
    the requirements are on an implementation that may not go about this in
    the fashion envisioned here.  Please go over these sections, figure out
    the requirements on an arbitrary implementation and put in the requisite
    MUSTs and SHOULDs in addition to the current description of how things
    could be implemented.  I believe the functional equivalent of the
    translation
    table and its entries MUST exist, so that's somewhere to start from.
    Other areas of the document have lesser versions of this problem, so please
    go over the entire document and check it for this.  I also saw a number
    of places with lower case requirements words (e.g., "shall") that probably
    need to be upper case.
    
    6.2.1
             An N_PORT is identified by its network address consisting of:
    
             a) The N_PORT I/D assigned by the gateway to which the N_PORT is
                locally attached and
    
             b) The IP address of the gateway's iFCP Portal.
    
    Use of an IP address to identify a remote gateway needs to be reconsidered.
    Please add something to allow multiple iFCP implementations to exist at
    different TCP ports on the same IP address (or explain why this has to
    be prohibited).  This is strongly related to the NAPT issues that the
    FCIP folks are in the midst of working through.
    
    6.2.2.2 - This section carries a strong risk of over-specification.
    As work on TCP evolves, there's a strong risk of entries in this
    table conflicting with the then-applicable RFCs.  The ground rule should
    be to only specify something here when it has serious consequences
    (i.e., there are potentially very bad effects from ignoring the SHOULD).
    I think I can accept this argument for the first 4 lines in the table,
    but I think the last three should be removed as I don't think
    they're crucial to iFCP per se (the discussion of them seems to
    amount to "good things to do in general", and there's a strong risk
    of further requirements changes/tweaks in this area).  Keep in mind
    that I'm one of the co-authors of RFC 3168 (ECN).  Also, I think
    keeping the "should"s and "should not"s lower case (so that they're
    advice to implementers rather than protocol requirements) is a good
    thing to do in this section.
    
    6.2.2.3 - I think this Section needs to go away.  6.2.2.3.1 is essentially
    repeating information about TCP implementations in general that is already
    to be found elsewhere and should be removed.  6.2.2.3.2 should be moved
    to 6.2.3.2.
    
    I think the order of Sections 7 and 8 should be reversed, as the TCP
    connection control material is needed to understand how iFCP functions
    before discussing the interesting things it has to do to some ELSs.
    
    9.2.1 - The last paragraph on what to do on loss of synchronization seems
    inadequate.  It's current state appears to allow stale frame propagation
    by a compliant implementation.  Was this the intended outcome?
    
    10.4 b) - How can one be sure that the local gateway knows about all the
    remote gateways?  I suspect this involves iSNS, and needs to be explained.
    
    10.4 b) What happens when the broadcast frame exceeds the MTU size?  This
    seems to result in a rather unreliable broadcast service, as all of the UDP
    datagrams could well be dropped, consistently and repeatedly for large
    enough broadcast frames.
    
    
    ---- Minor and/or Editorial -----
    
    4.4 a) It's not exactly correct to describe the Node WWN
    as being an identifier for the device.  While that
    was the original intent, it isn't always implemented
    that way.  In practice, I don't think Node WWNs are
    used for much, and that might be worth noting.
    
    4.7.1 - It might be worth describing how Area ID and Port ID
    are assigned when an FC-AL loop is attached to a switch
    to give the reader a slightly better feel for this
    (Area ID is assigned to switch port and Port ID is the
    loop port identifier).
    
    4.8 - Track state of things in T11 in determining whether
    its appropriate to add Class 4 and 6 to this description.
    From FCIP discussions, it sounds like at least Class 4
    should be added.
    
    4.9 - Might want to add a sentence to make it clear that these
    login processes occur at FC-2, and ULP (FC-4) protocol
    setup takes place over the established FC-2 N_Port to N_Port
    session in whatever manner the ULP desires
    
    Figure 7 - I think "IP network" would be a better term for what's
    below the line than "IP fabric".  I understand what an
    "iFCP fabric" is, but I'm not at all sure about an "IP fabric".
    
    5.2.1 - Might want to add a sentence indicating how an FC device
    discovers that Class 1 isn't supported (gets told by the
    iFCP gateway on Fabric Login).
    
    p. 20
             All iFCP implementations MUST support operation in address
             translation mode. Support for address transparent mode is optional
    
    "optional" should be all upper-case.
    
             The implementation MUST NOT allow the mode to be
             changed after iFCP sessions have been established.
    
    So, the mode can be changed while a session is being established?  I don't
    think so and suggest that the above wording be changed.  One possibility
    would be to prohibit a mode change while any device is logged into it
    via FLOGI.
    
    5.3.1 - Somewhere near the end of this section please say that FC
    frame CRCs have to be regenerated as a consequence of performing
    address translation.
    
    Both 5.3 and 5.3.1 contain some rationale text about the differences between
    address-transparent and address-translation mode and why one might select
    one or the other that might be better separated out from the description
    of how iFCP works in these modes.  In particular, iSNS pops up without any
    introduction in 5.3.1 a) - this text really needs to come after a discussion
    of iSNS and its responsibilities for/interaction with iFCP.
    
    
    5.3.1.1 - The whole discussion of domain ID assignment is rather imprecise.
    Please put in a "MUST" requirement for unique domain IDs, and indicate that
    iSNS can do this (with a specific description of how) in addition to manual
    assignment.
    
    5.3.1.2 - Please upper-case "shall" in the first sentence here.  Also
    applies
    to 5.3.2.3.
    
    6.2.2.1 - For a), please indicate how the gateway knows which remote
    gateway to use and what it's address is.  This involves translation
    table entries that were initialized by iSNS replies.
    
    6.2.3 - Please be clear about what exactly is being terminated or aborted.
    I think the iFCP session (TCP connection) between gateways is
    what's involved, but there's enough FC mechanism discussion here
    to be unclear.
    
    6.3 - I guess this reference to RFC1323 is ok, although it strikes me
    as superfluous.  Please indicate that it's Appendix B of RFC 1323.
    
    6.4.4 - State that the FC CRC MUST be recalculated due to the
    address translation.
    
    7.3.1 - Two translation types are shown for the ABTX Exchange originator.
    I think this should be Type 1.
    
    7.3.5 - Translation table is incomplete for FARP-REQ.
    
    7.3.7 - Why is PLOGI in a subsection of 7.3 when it's not augmented?
    
    7.3.8 - Three translation types are shown for the REC Exchange originator.
    Again, I think this should be type 1.  Variants of this problem are also
    present in all of 7.3.9 through 7.3.15.
    
    7.4 - Table 4 consists entirely of "n" and "M" entries, so delete the
    explanation of the unused "y" entry.
    
    8.1 - For clarity indicate that the connection handle is needed to unbind
    connections (yes, I know this is discussed in the next section).
    
    11.3.1 - Please remove the "MUST implement" for DES (it's ok to make DES
    OPTIONAL), and think about rewording the "As stated in" statements, as
    we are overriding some of the requirements in some of the reference RFCs.
    
    11.3.1.1 - This is ok in a working version of the draft, but will vanish
    in the final version (ditto the subject to availability of an RFC
    language about AES earlier) because either we will make a normative
    reference to the AES RFCs or RFC-to-be, or we will delete requirements
    for AES.
    
    11.3.2
             If, however, the TCP session is
             maintained, then a Phase 2 delete message shall trigger a new Quick
             Mode exchange.  
    
    Probably not a good idea.  The issue here is that some hardware crypto
    accelerators only have room for a fixed number of phase 2 SAs and hence
    delete old ones to make room for new ones (ideally deleting the least
    recently used, but ...).  Triggering a new Quick Mode immediately in
    response to any delete of an SA for an open TCP connection could
    thrash the SA state resources in such an accelerator.  Triggering
    the new Quick Mode based on traffic sent over the SA should work better.
    
    12.2 - Please delete d) as MPLS is *NOT* a QoS technology.  In addition,
    the entire paragraph after d) appears to have very little content, and
    I'm not at all sure about the value of discussion SLAs here.  The
    discussion of [00-603] is also questionable.
    
    Appendix B - Is there an external version of this material that could
    be referenced rather than including it here?
    
    ----- Formatting -----
    
    There are a bunch of places where MS Word
    has inserted non-standard MS punctuation characters
    (mostly a u with a circumflex instead of a hyphen)
    Turn off Smart Quotes and Auto Correct and correct these.
    
    6.3 has a formatting problem - probably an MS Word style
    that should not have been used.
    
    Thanks,
    --David
    
    ---------------------------------------------------
    David L. Black, Senior Technologist
    EMC Corporation, 42 South St., Hopkinton, MA  01748
    +1 (508) 435-1000 x75140     FAX: +1 (508) 497-8500
    black_david@emc.com       Mobile: +1 (978) 394-7754
    ---------------------------------------------------
    


Home

Last updated: Mon Nov 19 13:17:54 2001
7853 messages in chronological order