Re: [imss] Rereview of: draft-ietf-imss-fc-fcs-mib-01.txt
Keith McCloghrie <kzm@cisco.com> Sun, 31 December 2006 14:53 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
by megatron.ietf.org with esmtp (Exim 4.43)
id 1H123g-0006ya-Rp; Sun, 31 Dec 2006 09:53:08 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
by megatron.ietf.org with esmtp (Exim 4.43) id 1H123f-0006yR-RZ
for imss@ietf.org; Sun, 31 Dec 2006 09:53:07 -0500
Received: from sj-iport-6.cisco.com ([171.71.176.117])
by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H123d-0005bv-FF
for imss@ietf.org; Sun, 31 Dec 2006 09:53:07 -0500
Received: from sj-dkim-8.cisco.com ([171.68.10.93])
by sj-iport-6.cisco.com with ESMTP; 31 Dec 2006 06:53:04 -0800
X-IronPort-AV: i="4.12,222,1165219200";
d="scan'208"; a="96763382:sNHT88666812"
Received: from sj-core-4.cisco.com (sj-core-4.cisco.com [171.68.223.138])
by sj-dkim-8.cisco.com (8.12.11/8.12.11) with ESMTP id kBVEr4tj008625;
Sun, 31 Dec 2006 06:53:04 -0800
Received: from cisco.com (pita.cisco.com [171.71.177.199])
by sj-core-4.cisco.com (8.12.10/8.12.6) with ESMTP id kBVEr4UH005427;
Sun, 31 Dec 2006 06:53:04 -0800 (PST)
Received: (from kzm@localhost)
by cisco.com (8.8.8-Cisco List Logging/8.8.8) id GAA05687;
Sun, 31 Dec 2006 06:52:59 -0800 (PST)
From: Keith McCloghrie <kzm@cisco.com>
Message-Id: <200612311452.GAA05687@cisco.com>
Subject: Re: [imss] Rereview of: draft-ietf-imss-fc-fcs-mib-01.txt
To: bwijnen@alcatel-lucent.com
Date: Sun, 31 Dec 2006 06:52:59 -0800 (PST)
In-Reply-To: <no.id> from "Wijnen, Bert \(Bert\)" at Dec 30, 2006 05:20:57 PM
X-Mailer: ELM [version 2.5 PL5]
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=31979; t=1167576784;
x=1168440784; c=relaxed/relaxed; s=sjdkim8002;
h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version;
d=cisco.com; i=kzm@cisco.com;
z=From:=20Keith=20McCloghrie=20<kzm@cisco.com>
|Subject:=20Re=3A=20[imss]=20Rereview=20of=3A=20draft-ietf-imss-fc-fcs-mi
b-01.txt |Sender:=20;
bh=uLyv7z6+dSNsmvu/fukwL8Fh0089YjFMdWUuk3dGrb0=;
b=qNYBAaR/DYyhsI+ytiMp1hBGwixR5r4eA/Utwm7KPeo2bTqIfwT173FgMnKkDDMECbezJ2R7
EDY3i3V4iCHX+yvfcN00nofoBVIrBjbt91sJgnf9ra2+5JCxo4XVb/H6;
Authentication-Results: sj-dkim-8; header.From=kzm@cisco.com; dkim=pass (sig
from cisco.com/sjdkim8002 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 3595cdc4facf5cd9f085f547e103d0ed
Cc: imss@ietf.org, dromasca@avaya.com
X-BeenThere: imss@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Internet and Management Support for Storage Working Group
<imss.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/imss>,
<mailto:imss-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:imss@ietf.org>
List-Help: <mailto:imss-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/imss>,
<mailto:imss-request@ietf.org?subject=subscribe>
Errors-To: imss-bounces@ietf.org
Thanks, Bert. I agree that it would be good to mention IMSS (as well
as T11) in the ORGANIZATION clause of the MODULE-IDENTITY, and since
that will require a new version of the I-D, I can add a WRITE-SYNTAX
clause (for t11FcsDiscoveryStatus) as you suggest at the same time.
So, a question for David (after he returns from his vacation two weeks
from now) and/or Dan: shall I submit an updated I-D with the these two
changes ?
Keith.
> I have re-reviewed this MIB document.
> My first review was the revision zero version.
> My comments to that one and the answer provided by Keith
> are attached below. I am happy with the new revision
> and/or the answers that were given by Keith.
>
> No major issues anymore, So I think this doc is ready.
>
> You may want to consider this:
>
> - I wonder if the IETF IMSS WG should also be mentioned in
> the ORGANIZATION clause of the MODULE-IDENTITY
>
> - For object t11FcsDiscoveryStatus I read in the DESCRIPTION
> clause that one can only SET it to localOnly via SNMP.
> I suggest to also express this in the MODULE-COMPLIANCE
> by changing:
>
> OBJECT t11FcsDiscoveryStatus
> MIN-ACCESS read-only
> DESCRIPTION
> "Write access is not required."
>
> into something like:
>
> OBJECT t11FcsDiscoveryStatus
> WRITE-SYNTAX INTEGER { localOnly(3) }
> MIN-ACCESS read-only
> DESCRIPTION
> "Write access is not required.
> However, if write access is supported, then one can only
> write (SET) the value to 'localOnly'.
> "
>
> It was discussed in the below inetraction between Keith and myself.
> I can live if you do not change the MODULE-COMPLIANCE.
>
> Bert
>
> -----Original Message-----
> From: Keith McCloghrie [mailto:kzm@cisco.com]
> Sent: woensdag 6 september 2006 0:04
> To: bwijnen@lucent.com
> Cc: imss@ietf.org
> Subject: Re: [imss] WG Last Call: draft-ietf-imss-fc-fcs-mib-00.txt
>
> Bert,
>
> Thanks for the comments. My responses are below.
>
> Keith.
> -----------------
>
> > - In the MODULE-IDENTITY, I see:
> >
> > REVISION "200608140000Z"
> > DESCRIPTION
> > "Initial version of this MIB module."
> > ::= { mib-2 nnn } -- to be determined later
> >
> > I think I would make that:
> >
> > REVISION "200608140000Z"
> > DESCRIPTION
> > "Initial version of this MIB module, published as RFC
> yyyy."
> > -- RFC-Editor, replace yyyy with actual RFC number & remove this
> note
> > ::= { mib-2 nnn } -- to be assigned by IANA.
> > -- RFC Editor: replace nnn with IANA-assigned number & remove this
>
> > note
> >
> > - To avoid later comments, I would also add this to the DESCRIPTION
> > clause of the MODULE-IDENTITY itself:
> >
> > Copyright (C) The Internet Society (2006). This version of
> > this MIB module is part of RFC yyyy; see the RFC itself
> for
> > full legal notices."
> >
> > -- RFC Editor: replace yyyy with actual RFC number & remove this
> > note
>
> Oops. All of this WG's other recent drafts have the required
> boilerplate; I'm not sure how this one slipped through without it.
>
> > - I wonder if we would not better rename these TCs (for naming
> consistency):
> >
> > FcIeType, FcPortState, FcPortTxType
> >
> > and name them instead as follows:
> >
> > T11FcIeType, T11FcPortState, T11FcPortTxType
> >
> > Or are these 3 TCs extending the set of FcXxxx TCs in RFC4044?
> > If so, the I'd suggest to add at least a small SMI comment to state
> that,
> > so that it is clear why the names are as chosen.
>
> I named them to be consistent with FcPortType, and, *if* we were
> updating
> RFC4044, then I'd put them in there, but we're not. So, rather than
> add a "small SMI comment", I'd prefer to change their names.
>
> > - For consistency, but also for betetr info in the DESCRIPTION clause,
> > I would consider to change:
> >
> > FcPortTxType ::= TEXTUAL-CONVENTION
> > STATUS current
> > DESCRIPTION
> > "The technology of the port transceiver:
> >
> > unknown - unknown (includes the 'null' type)
> > other - some other technology
> > shortwave850nm - Short wave laser - SN (850 nm)
> > longwave1550nm - Long wave laser - LL (1550 nm)
> > longwave1310nm - Long wave laser cost
> > reduced - LC (1310 nm)
> > electrical - Electrical - EL."
> >
> > into:
> >
> > FcPortTxType ::= TEXTUAL-CONVENTION
> > STATUS current
> > DESCRIPTION
> > "The technology of the port transceiver:
> >
> > unknown(1) - unknown (includes the 'null' type)
> > other(2) - some other technology
> > shortwave850nm(3) - Short wave laser - SN (850 nm)
> > longwave1550nm(4) - Long wave laser - LL (1550 nm)
> > longwave1310nm(5) - Long wave laser cost
> > reduced - LC (1310 nm)
> > electrical(6) - Electrical - EL."
>
> OK.
>
> > - I am a bit surprised by:
> >
> > T11ListIndexPointer ::= TEXTUAL-CONVENTION
> > STATUS current
> > DESCRIPTION
> > "Objects with this syntax point to a list of elements
> > contained in a table, by holding the same value as the
> > object with syntax T11ListIndex defined in the table's
> > INDEX clause, or, zero to indicate an empty list.
> > The definition of an object with this syntax must
> > identify the table(s) into which it points."
> > SYNTAX Unsigned32 -- the default range of (0..4294967295)
> >
> > First, I would make it: SYNTAX Unsigned32 (0..4294967295)
> > instead of putting that in a SMI comment field.
>
> The reason I added the ASN.1 comment was to dispel all ambiguity, i.e.,
> to make it clear that the definition intentionally uses the default
> range. Thus, there is no reason to include the default range explicitly
> in the syntax. Why do we have a default range if we're not allowed to
> use it ??
>
> > Second, I think we normally would use a name of
> >
> > T11ListIndexOrZero ::= TEXTUAL-CONVENTION
> >
> > To complement the T11ListIndex TC, which does not include the zaero.
> >
> > Third, we also normally do not prescribe what a value of zero means,
> > but we normally say something aka (this is from
> InetrfaceIndexOrZero):
> >
> > "This textual convention is an extension of the
> > InterfaceIndex convention. The latter defines a greater
> > than zero value used to identify an interface or interface
> > sub-layer in the managed system. This extension permits
> the
> > additional value of zero. the value zero is
> object-specific
> > and must therefore be defined as part of the description
> of
> > any object which uses this syntax. Examples of the usage
> of
> > zero might include situations where interface was unknown,
> > or when none or all interfaces need to be referenced."
> >
> > We in fact have quite a few of these XxxSomeIndex and
> XxxSomeIndexOrZero
> > TCs, which all (i believe) follow/use that same concept. I would
> strongly
> > suggest that we do so here as well.
> >
> > Mmmm... I see that for some other TCs in the FC/IMSS/IPS space you
> do
> > not follow the InterfaceIndex/InetrfaceInexOrZero so closely either.
> > Oh well... Up to you and the WG. I personally like the
> InterfaceIndeOrZero
> > approach better.
>
> OK, I'll rename the TC to T11ListIndexPointerOrZero.
>
> > - I see REFERENCE clauses aka:
> >
> > REFERENCE
> > "ANSI INCITS xxx-200x, Fibre Channel - Generic Services 5,
> > FC-GS-5 T11/Project 1677-D/Rev 8, Table 124."
> >
> > which relates to this reference (I guess):
> >
> > [FC-GS-5]
> > "Fibre Channel - Generic Services - 5 (FC-GS-5)", ANSI INCITS
> > xxx-200x, T11/Project 1677-D/Rev 8.00
> > http://www.t11.org/t11/stat.nsf/upnum/1677-d, September 2004.
> >
> > Do we know when we will get a stable reference?
> > It is normative, so we may have to say something about that.
> >
> > I guess Keith already stated that David or Claudio should answer
> this
> > question.
>
> Claudio said this morning that revision 8.5 is the final one.
> So, I need to go ahead and update the MIB based on Rev 8.5, including
> adding any new enumerations which have been defined since Rev 8.0.
>
> > - For t11FcsFabricDiscoveryRangeLow and
> t11FcsFabricDiscoveryRangeHigh,
> > is the value in these objects included in teh range? My read would
> > say they are. But we may want to make that clear by stating it?
>
> OK, I'll change:
>
> "The discovery by a particular switch operates
> within all existing Fabrics that have a fabric
> index within a specific range. ...
> to:
> "The discovery by a particular switch operates
> within all existing Fabrics that have a fabric
> index within a specific inclusive range. ...
>
> > - For t11FcsFabricDiscoveryStart, how long does discovery take?
> > The reason I ask, is that if it may take a while, that we might
> > want to consider a value like "discoveryInProgress(3) ??
> > Just thinking aloud, I can also live with what we have in there now.
>
> I think this is already available since 'inProgress' is one of the
> defined values for t11FcsDiscoveryStatus.
>
> > - t11FcsFabricDiscoveryTable
> > I guess that this table gets created/instantiated by the agent
> everytime
> > it starts. There are no default values for the two objects
> > t11FcsFabricDiscoveryRangeLow and t11FcsFabricDiscoveryRangeHigh.
> > So how is the behavioud if I issue a DiscoveryStart when these
> objects
> > have not been SET yet? Should we define DEFVALs?
>
> Just adding DEFVALs would be a temptation to write sloppy applications,
> because an NMS can not be sure whether a particular entry has been used
> or not since the last reboot. Thus, invoking DiscoveryStart without
> checking the values of RangeLow and RangeHigh, would be very sloppy.
> Given that an application needs to check, then it also has to change the
> values if they're wrong. Thus, the simplest way to write such an
> application is to always specify the range explicitly (i.e., write
> RangeLow and RangeHigh) at the same time as invoking DiscoveryStart.
>
> So, I propose to add a recommendation to the DESCRIPTION like this:
>
> t11FcsFabricDiscoveryStart OBJECT-TYPE
> SYNTAX INTEGER {
> start(1),
> noOp(2)
> }
> MAX-ACCESS read-write
> STATUS current
> DESCRIPTION
> "This object provides the capability to trigger the start
> of a discovery by a Fabric Configuration Server. If this
> object is set to 'start', then the discovery is started on
> those fabrics which have their fabric index value in the
> range specified by t11FcsFabricDiscoveryRangeLow and
> t11FcsFabricDiscoveryRangeHigh. It is recommended that
> whenever an instance of this object is set to 'start',
> that the desired range be concurrently specified by
> setting the corresponding instances of
> t11FcsFabricDiscoveryRangeLow and
> t11FcsFabricDiscoveryRangeHigh.
>
> > - Given the DESCRIPTION clause of t11FcsFabricDiscoveryStart, I
> > suggest to add DEFVAL { noOp }
>
> Since the value when read is always 'noOp', to specify a DEFVAL would
> either be redundant, or worse, it would weaken the definition because a
> DEFVAL is only advisory, whereas the statement: "the value when read is
> always 'noOp'" is mandatory.
>
> > - I suppose that SETTING t11FcsDiscoveryStatus to one of
> > inProgress(1),
> > completed(2),
> > would have no effect? I.e. it would be ignored?
> > Whatever the intended behaviour is to be, we probably do best to
> > be specific as to what we want an agent to do.
> >
> > I personally kind of like to add something to the MODULE-COMPLIANCE<
> > which states that the WRITE-SYNTAX is localOnly(3) and that
> > the SYNTAX is all 3 values. I think that expresses that only the
> > one value that makes sense can be SET/written.
> >
> > I personally might do a similar thing for
> t11FcsFabricDiscoveryStart,
> > but that one at least explains what to do if I set the value to
> > something that does not trigger an action.
>
> I prefer to add a sentence to the DESCRIPTION of t11FcsDiscoveryStatus,
> like this:
>
> It is an error for a manager to set the value of this
> object to anything other than 'localOnly'."
>
> > - t11FcsDiscoveryStatus has no persistency (or so is my reading of
> > the DESCRIPTION clause) and will be set to localOnly upon a restart?
> > If so, it might be usefull to add a sentence about that, just to be
> > explicit and clear.
>
> It already has this sentence:
>
> Initially when the switch comes up, all instances of this
> object have the value: 'localOnly'
>
> Do you want me to change "switch comes up" to "agent restarts" ??
>
> > - For objects t11FcsIeName and t11FcsIeDomainId, I wonder if a zero
> > (i.e. zero length OCTET STRING) are really valid. If not, then we
> > should add a SIZE and RANGE restriction.
>
> FC-GS-5 says:
>
> 6.2.3.2.1 Interconnect Element Name
>
> The format of the Interconnect Element Name attribute, as used by the
> Fabric Configuration Server, shall be identical to the Name_Identifier
> format defined in FC-FS. If the Interconnect Element is a Switch (see
> FC-SW), the Interconnect Element Name attribute shall be the
> Switch_Name of the Switch.
>
> This standard does not define how this attribute is registered with
> the
> Fabric Configuration Server. The null value for the Interconnect
> Element Name attribute is 00 00 00 00 00 00 00 00h.
>
> and
>
> 6.2.3.2.3 Interconnect Element Domain Identifier
>
> The format of the Interconnect Element Domain Identifier attribute, as
> used by the Fabric Configuration Server, shall be identical to the
> Domain Identifier format defined in FC-SW-3.
>
> This standard does not define how this attribute is registered with
> the
> Fabric Configuration Server. The null value for the Interconnect
> Element Domain Identifier attribute is 00h.
>
> Since t11FcsIeDomainId can have a value of zero, FcDomainIdOrZero (which
> is defined as "SYNTAX Integer32 (0..239)") should not be restricted.
>
> For t11FcsIeName, the "null" value is specified as all zeros, rather
> than the zero-length value. So, yes, I'll add a restricted range:
>
> t11FcsIeName OBJECT-TYPE
> SYNTAX FcNameIdOrZero (SIZE(8 | 16))
>
> > - This definition seems strange:
> >
> > t11FcsIeFabricName OBJECT-TYPE
> > SYNTAX FcNameIdOrZero
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The Fabric_Name (WWN) of this Interconnect Element.
> > When the Fabric_Name is unknown, this object contains
> > the all-zeros value: x'00 00 00 00 00 00 00 00'."
> > REFERENCE
> > "ANSI INCITS xxx-200x, Fibre Channel - Generic Services 5,
> > FC-GS-5 T11/Project 1677-D/Rev 8, section 6.2.3.2.5."
> > DEFVAL { '0000000000000000'h }
> > ::= { t11FcsIeEntry 5 }
>
> I'll add a restricted range here too.
>
> t11FcsIeFabricName OBJECT-TYPE
> SYNTAX FcNameIdOrZero (SIZE(8 | 16))
>
> > - I see this:
> >
> > t11FcsIeMgmtAddrListIndex OBJECT-TYPE
> > SYNTAX T11ListIndexPointer
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The management address list for this Interconnect
> Element.
> > This object points to an entry in the
> > t11FcsMgmtAddrListTable."
> >
> > Reading the DESCRIPTIOn clause, I wonder why one would not use a
> > RowPointer. The fact is that the pointer does not point to "an
> entry"
> > in the t11FcsMgmtAddrListTable, but to a SET of such entries.
> > So I guess the DESCRIPTION clause could be clarified.
>
> It is sufficient (and simpler) for this TC to be an Unsigned32, whereas
> RowPointer is an OID.
>
> As a clarification, I've added this sentence to
> T11ListIndexPointerOrZero's
> DESCRIPTION:
>
> Note that such a table could have one row per list, or
> it could have one row per element of a list.
>
> > - I see:
> >
> > t11FcsIeInfoList OBJECT-TYPE
> > SYNTAX OCTET STRING (SIZE (0..252))
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The information list for this Interconnect Element.
> > This object contains the following substrings in order:
> > vendor name, model name/number and release code/level,
> > followed by zero or more substrings of vendor-specific
> > information. Each substring is terminated with a byte
> > containing a null value (x'00')."
> >
> > And that reads as if it is ASCII information to be (potentially)
> > consumed by human beings. So in that case, the IETF wants it to
> > be an internationalized string. Comment?
>
> FC-GS-5 requires the individual values to be ASCII strings (terminated
> by nulls). I'll edit the DESCRIPTION to be:
>
> The value of this object is formatted as specified in
> FC-GS-5, i.e., it contains the following substrings in
> order: vendor name, model name/number and release
> code/level, followed by zero or more substrings of
> vendor-specific information. Each substring is terminated
> with a byte containing a null value (x'00')."
>
> > - I see:
> >
> > t11FcsMgmtAddr OBJECT-TYPE
> > SYNTAX SnmpAdminString
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The management address of this entry.
> > The format of this object may be based on the
> > format of the Uniform Resource Locator (URL).
> > For example, for SNMP, see RFC 4088."
> >
> > So it syas "the format MAY be based on..." (my emphasis on MAY).
> > So, does that mean it may also be based on something else?
> > How do I determine what the actual format is?
>
> On re-reading FC-GS-5, I see that it's required to be a URL, and it's
> the use of 4088 which is not required. So, I'll change it to:
>
> The format of this object is a Uniform Resource Locator
> (URL), e.g., for SNMP, see RFC 4088."
>
> > - SMICng gave a warning about the indexing of
> >
> > t11FcsPortListEntry OBJECT-TYPE
> > SYNTAX T11FcsPortListEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An entry which identifies that the port which has the
> > port name, t11FcsPortName, is in a particular list of
> > ports, which is known to a switch (identified by
> > fcmInstanceIndex and fcmSwitchIndex)."
> > INDEX { fcmInstanceIndex, fcmSwitchIndex,
> > t11FcsPortListIndex, t11FcsPortName }
> > ::= { t11FcsPortListTable 1 }
> >
> > I read Keiths explanation, which seemed fine. But now that I am
> > reviewing the MIB module in details and try to understand things,
> > now I am no so sure this is goodness.
> >
> > So, that t11FcsPortname is a value (embedded in the index) that
> > should help me find more detailed info, right?
> > So how do I find that info? I think I need to go to the
> > t11FcsPortTable, which is indexed by:
> >
> > INDEX { fcmInstanceIndex, fcmSwitchIndex,
> > t11FcsFabricIndex, t11FcsPortName }
> >
> > So assuming that the index values for fcmInstanceIndex,
> fcmSwitchIndex,
> > are the same in both tables, I can see that I can pick up 3 index
> > values from the list of t11FcsPortsList in the t11FcsPortsListTable.
> > But I am missing the 3rd index of the t11FcsPortnameTable, namely
> > t11FcsFabricIndex. So how am I going to wuickly pick that up?
> > Or how exactly are the tables connected/linked?
> >
> > Maybe I need to study it deeper... but I'd prefer an explanation of
> > the people who created these tables with the current indexing
> schemes.
>
> To generate an answer to your question, I needed to re-review the
> structure of the tables, and in doing so, I now think that the current
> structure is more open-ended/flexible than it needs to be -- having a
> less open-ended structure would make the MIB simpler. Specifically, the
> MIB currently has a table whose only purpose is to identify a list of
> (not necessarily related) ports. However,
>
> - each IE is either a virtual IE attached to one virtual Fabric, or
> (if virtual Fabrics are not in use) it's a physical IE.
> - each port is either a virtual port attached to one virtual Fabric, or
> (if virtual Fabrics are not in use) it's a physical port.
> - GS-5 mentions that an IE has a "port list" and has a dotted line from
> the
> "Interconnect Element Object" to the "Port Object" in its "Figure 7 --
> Interconnect Element and Port attributes".
> - However, all ports in an IE's port list will be attached to the same
> Fabric as that IE is attached to. In other words, the relationship
> between IEs and ports is hierarchical.
> - Thus, it would be simpler to:
>
> - delete the t11FcsPortListTable,
> - delete the t11FcsIePortListIndex object, and
> - insert t11FcsIeName into the INDEX of the t11FcsPortTable, i.e.,
> change the INDEX-ing of the t11FcsPortTable to be:
>
> INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex,
> t11FcsIeName, t11FcsPortName }
>
> Increasing the INDEX clause from four to five objects makes it a little
> more cumbersome, but the length is still far short of the maximum
> length.
>
> With these changes, while there will no longer be any explicit mention
> of a "port list" in the MIB, the list of ports on an IE will be all the
> rows in t11FcsPortTable which have the same values for the first four
> index objects, i.e., the value of t11FcsPortName will be the only index
> value for which they differ. So, a "port list" is (implicitly) a set of
> adjacent rows in the t11FcsPortTable.
>
> David, since this is a MIB design change, may I suggest you ask the WG
> for approval of this as a separate/individual question.
>
> > - for
> >
> > t11FcsPortName OBJECT-TYPE
> > SYNTAX FcNameIdOrZero
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "The Port_Name (WWN) of the port for which this row
> > contains information."
> >
> > I wonder if a zero value (zero length OCTET STRING) is really valid?
> > If not, then we may need to limit it with a SIZE paramter aka
> > SYNTAX FcNameIdOrZero SIZE (8 | 16)
> >
> > But, I do see that in sect "6.2.3.3.1 Port Name" of document
> > http://www.t11.org/ftp/t11/pub/fc/gs-5/06-192v2.pdf, it says:
> >
> > The null value for the Port Name attribute is
> > 00 00 00 00 00 00 00 00h.
> >
> > So... is the SYNTAX of FcNameIdOrZero appropriate here?
> > In any event, the name SIZE seems to be fixed at 8 octets for the
> > PortName, so at least one would then define the syntax as:
> >
> > SYNTAX FcNameIdOrZero (SIZE (8))
>
> A length of 16 is still a possibility -- section 6.2.3.3.1 refers to
> FC-FS, in which section 15 (table 66) includes one format which has a
> length of 128 (bits).
>
> So, I'll chaneg it to:
>
> SYNTAX FcNameIdOrZero (SIZE(8 | 16))
>
> > - For:
> >
> > t11FcsPortModuleType OBJECT-TYPE
> > SYNTAX Unsigned32 (0..255)
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The port module type of this port."
> > REFERENCE
> > "ANSI INCITS xxx-200x, Fibre Channel - Generic Services 5,
> > FC-GS-5 T11/Project 1677-D/Rev 8, section 6.2.3.3.4."
> >
> > It seems better to create a TC that ENUMerates the valid values?
>
> The choice between using either an enumerated value, or, a numeric value
> to be looked up in another specification, is a trade-off of convenience
> versus maintenance. For something which changes frequently, it's better
> that the MIB *not* contain a list which is frequently out-of-date; for
> something which changes infrequently, it's better to have the
> convenience of enumeration.
>
> Specifically, for those objects defined in this MIB as enumerations,
> when a new value is defined in T11, the new value cannot be used in the
> MIB until the MIB is updated. When the MIB syntax is Unsigned32, new
> values can be used in the MIB as soon as they are defined by T11.
>
> So, we intentionally chose to specify some objects in this MIB as
> enumerations, and others as binary values, based on the frequency at
> which new values can be expected to be defined and used -- not just in
> the now completed GS-5, but also in GS-6 and its successors.
>
> > - For:
> >
> > t11FcsPortSpeedCapab OBJECT-TYPE
> > SYNTAX OCTET STRING (SIZE (2))
> >
> > It seems that the references document and section say that it is a
> BITS
> > construct ??
> >
> > - Same for t11FcsPortOperSpeed
>
> While the Capability could be a BITS, OperSpeed would only ever have one
> bit set, i.e., not a BITS. However, both of these are further examples
> of the enumerated versus numeric trade-off mentioned above. That is,
> port speed is another area where new enumerations can be expected and
> will need to be used.
>
> > - For:
> >
> > t11FcsPlatformName OBJECT-TYPE
> > SYNTAX OCTET STRING (SIZE (0..255))
> >
> > It seems to me that the SYNTAX better be:
> >
> > SYNTAX OCTET STRING (SIZE (0 | 3..256))
> >
> > because http://www.t11.org/ftp/t11/pub/fc/gs-5/06-192v2.pdf
> > section 6.2.3.4.2 tells me:
> >
> > The Platform Name attribute may be registered using the
> > protocol described in 6.2.2.3. The null value for the
> > Platform Name attribute is a zero-length Platform Name.
> >
> > So maybe that is how we can get a length of zero. But I am
> > not even sure about that. It is also possible that the
> > first byte would be valued at zero. Is the format octet
> > included in this case? Not clear from the PDF file for me.
> >
> > If I understand the PDF file correctly, then (it speaks about
> > reserved to be of length 254-m) then there are 2 octets (1 for
> > length, one for format) plus 254 for the actual name. So that
> > would be a max size of 256 in my view.
>
> Many of the format specifications in the GS-5 spec. are like this:
>
> Logical Name length (m) 1
> Logical Name m
> Reserved 255-m
>
> where the aggregate length (of the three sub-fields) is 256 bytes.
>
> So, the way that I interpret the Platform Name field:
>
> Platform Name length (m) 1
> Platform Name m
> Platform Name Format 1
> Reserved 254-m
>
> is similarly, to have an aggregate length is 256 bytes. Therefore, the
> correct MIB syntax is:
>
> SYNTAX OCTET STRING (SIZE (0..254))
>
> where the range is the value of m.
>
> > - Several objects in the t11FcsPlatformTable
> > (like t11FcsPlatformVendorId, t11FcsPlatformProductId , etc)
> > suggest (based on the SYNTAX of SnmpAdminString) that the value
> > can be an internationalized human readable string.
> > But the table 121 in the PDF file, section 6.2.3.4.5 seems to
> > tell me that they are all ASCII. So what is it?
>
> It's the format as specified in section 6.2.3.4.5, which is a subset of
> SnmpAdminString, which I believe means that using SnmpAdminString as the
> syntax is fine.
>
> > I know that IETF is not happy with using DisplayString, but if
> > that is what the underlying technology (outside IETF) uses, then
> > we should at least not suggest that it is different.
> > I could accept that we say "we want to be prepared for UTF-8
> > strings, but for now it is ASCII as per DC-GS-5)". But it
> > might be good to then explicitly state so in the DESCRIPTION
> > clauses of these objects.
> >
> > At the other hand, the objects are all read-only, and so even
> > if they only present ASCII data (in UTF-8 that is exactly the
> > same), then it would still be fine.
>
> How about I leave it as SnmpAdminString, and point to GS-5 for the
> definition of which characters are valid:
>
> "The identifier of the vendor of this platform, in
> the format specified by FC-GS-5."
>
> > I also wonder if the length for t11FcsPlatformVendorId,
> > t11FcsPlatformProductId can actually be zero, because table
> > 121 says that these are REQUIRED fields.
>
> The table gives their minimum length when they are present, *but* a
> "Platform Attribute Block" doesn't necessarily contain them all.
>
> > - For:
> >
> > t11FcsPlatformFC4Types OBJECT-TYPE
> > SYNTAX OCTET STRING (SIZE (0 | 32))
> >
> > should be
> > SYNTAX OCTET STRING (SIZE (0 | 20))
> >
> > that is what I read in table 121 of
> > http://www.t11.org/ftp/t11/pub/fc/gs-5/06-192v2.pdf
>
> The text which follows the table says:
>
> Supported FC-4 Types: This is an 8 word (256 bit) bit mask that
> indicates what FC-4 types are supported on this platform (see
> 5.2.3.8).
> FCP-2 (FC-4 type 08h) is represented by bit 8 of word 0. The Fabric
> Configuration Server shall not attempt validation of the FC-4 Types
> attribute, and any value shall be accepted for this attribute.
>
> I think the table has a typo.
>
> > - Object t11FcsNodeName. Is it supposed to represent this:
> >
> > 6.2.3.4.6 Platform Node Name
> > The format of the Platform Node Name attribute, as used by
> > the Fabric Configuration Server, shall be identical to the
> > Name_Identifier format defined in FC-FS. Zero or more
> > Platform Node Name attributes may be associated with a
> > Platform object. Node Names are registered to associate
> > a Platform with the Nodes.
> > This attribute may be registered using the protocol described
> > in 6.2.2.3. The null value for the platform Node Name
> > attribute is 00 00 00 00 00 00 00 00h
> >
> > That last description of 8 hex zeroes for a null value seems
> > to conflict with the underlying
> >
> > SYNTAX FcNameIdOrZero
> >
> > that you are using in the MIB.
>
> Ok, I'll change it to:
>
> SYNTAX FcNameIdOrZero (SIZE(8 | 16))
>
> > - W.r.t.
> >
> > t11FcsNotifyControlTable OBJECT-TYPE
> > SYNTAX SEQUENCE OF T11FcsNotifyControlEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "A table of control information for notifications
> > generated due to Fabric Configuration Server events.
> >
> > Values written to objects in this table should be
> > persistent/retained over agent reboots."
> >
> > I have the same questions/concerns about the "should be persistent"
> > as I had for the RSCN MIB module.
> > So we can probably resolve this one in the same way (or leave it
> > if everyone thinks that I worry too much).
>
> OK.
>
> > - It might be good to rename the notifications (for example)
> >
> > t11FcsReqRejectNotify NOTIFICATION-TYPE
> >
> > from xxxxNotify to xxxxNotification.
>
> I chose to use t11FcsReqRejectNotify because t11FcsReqRejectNotification
> is 33 characters long, and I think using t11FcsReqRejectNotify is a
> clearer abbreviation than t11FcsReqRejNotification.
> I guess I could go for:
>
> t11FcsRqRejectNotification NOTIFICATION-TYPE
>
> if you prefer.
>
> > But I agree that this is really nitpicking.
> > For consistency with (most) other MOB modules and notifications
> > I think my argument makes sense though.
> >
> > - For the notifications (and the control there-of), it again seems
> > that the Transport Area may want us to say somehting about the
> > max number of nitifications to be expected per second/minute/xxx
> > or to provide a control varianle that a NMS can SET.
>
> Their motivation is good, and is applicable to data-plane events, but
> asking for a max number per unit time for every type of notification is
> too simplistic. E.g., it's unreasonable to ask how many
> t11FcsDiscoveryCompleteNotify notifications can be generated in a
> second/minute/xxx -- how big is the network, how many virtual fabrics
> need to be discovered, how quickly can the operator ask for another
> discovery after the last one completes ??
>
> If a max rate is specified by an NMS, such that notifications can be
> suppressed due to their volume, then there needs to be some mechanism
> for the NMS to know that suppression(s) have happened/are happening,
> which means more notification-types and objects need to be defined.
> That is, it increases the complexity, which is not warranted unless
> there can really be a "flood" of notifications.
>
> For notifications, like all the ones in this MIB, which are generated
> due to control plane events (and providing that none of them are able to
> start a chain-reaction), the extra complexity is not warranted.
>
> _______________________________________________
> imss mailing list
> imss@ietf.org
> https://www1.ietf.org/mailman/listinfo/imss
>
_______________________________________________
imss mailing list
imss@ietf.org
https://www1.ietf.org/mailman/listinfo/imss
- [imss] Changes to draft-ietf-imss-fc-fam-mib-00.t… Keith McCloghrie
- [imss] Re: Changes to draft-ietf-imss-fc-fam-mib-… Keith McCloghrie
- Re: [imss] Re: Changes to draft-ietf-imss-fc-fam-… Keith McCloghrie
- [imss] Re: Agenda for next week's T11.5 Managemen… Keith McCloghrie
- Re: [imss] FW: MIB Doctor review draft-ietf-imss-… Keith McCloghrie
- Re: [imss] FW: MIB Doctor review draft-ietf-imss-… Keith McCloghrie
- Re: [imss] FW: MIB Doctor review draft-ietf-imss-… Keith McCloghrie
- Re: [imss] Last Call: 'Fibre-Channel Name Server … Keith McCloghrie
- Re: [imss] Last Call: 'Fibre-Channel Name Server … Keith McCloghrie
- [imss] Re: DISCUSS on Keith McCloghrie
- [imss] Re: AD review of: draft-ietf-imss-fc-fspf-… Keith McCloghrie
- [imss] Re: AD review of: draft-ietf-imss-fc-fspf-… Keith McCloghrie
- [imss] Re: AD review of: draft-ietf-imss-fc-rtm-m… Keith McCloghrie
- [imss] Re: AD review of: draft-ietf-imss-fc-fspf-… Keith McCloghrie
- [imss] Re: AD review of: draft-ietf-imss-fc-fspf-… Claudio DeSanti
- Re: [imss] RE: AD review of: draft-ietf-imss-fc-r… Keith McCloghrie
- Re: [imss] RE: AD review of: draft-ietf-imss-fc-r… Keith McCloghrie
- Re: [imss] imss WG Last Call: Fibre Channel RSCN,… Keith McCloghrie
- Re: [imss] imss WG Last Call: Fibre Channel RSCN,… Keith McCloghrie
- Re: [imss] imss WG Last Call: Fibre Channel RSCN,… Keith McCloghrie
- Re: [imss] WG last call: draft-ietf-imss-fc-rscn-… Keith McCloghrie
- Re: [imss] imss WG Last Call: Fibre Channel RSCN,… Keith McCloghrie
- Re: [imss] WG Last Call: draft-ietf-imss-fc-fcs-m… Keith McCloghrie
- Re: [imss] WG last call review: T11-FC-FABRIC-LOC… Keith McCloghrie
- Re: [imss] WG last call review: T11-FC-FABRIC-LOC… Keith McCloghrie
- Re: [imss] WG last call review: T11-FC-FABRIC-LOC… Claudio DeSanti
- Re: [imss] WG last call review: T11-FC-ZONE-SERVE… Keith McCloghrie
- Re: [imss] Last Call comments on draft-ietf-imss-… Keith McCloghrie
- RE: [imss] Last Call comments on draft-ietf-imss-… Black_David
- Re: [imss] Keith McCloghrie
- Re: [imss] Keith McCloghrie
- [imss] A couple of loose ends Keith McCloghrie
- Re: [imss] T11 MIB issue resolutions Keith McCloghrie
- Re: [imss] T11 MIB issue resolutions Keith McCloghrie
- [imss] Rereview for draft-ietf-imss-fc-rscn-mib-0… Wijnen, Bert (Bert)
- Re: [imss] Rereview of: draft-ietf-imss-fc-fcs-mi… Keith McCloghrie
- RE: [imss] Rereview of: draft-ietf-imss-fc-fcs-mi… Black_David
- Re: [imss] re-view: T11-FC-FABRIC-LOCK-MIB in Keith McCloghrie
- RE: [imss] re-view: T11-FC-FABRIC-LOCK-MIB in Wijnen, Bert (Bert)
- Re: [imss] re-review: T11-FC-ZONE-SERVER-MIB in Keith McCloghrie
- RE: [imss] re-review: T11-FC-ZONE-SERVER-MIB in Wijnen, Bert (Bert)
- Re: [imss] Acceptance of draft-kzm-imss-fc-fcsp-m… Keith McCloghrie
- RE: [imss] Acceptance of draft-kzm-imss-fc-fcsp-m… Romascanu, Dan (Dan)
- Re: [imss] imss WG Last Call: FC-SP MIB Keith McCloghrie
- RE: [imss] imss WG Last Call: FC-SP MIB Black_David
- Re: [imss] imss WG Last Call: FC-SP MIB Keith McCloghrie
- Re: [imss] imss WG Last Call: FC-SP MIB Keith McCloghrie
- RE: [imss] imss WG Last Call: FC-SP MIB WIJNEN, Bert (Bert)
- Re: [imss] imss WG Last Call: FC-SP MIB Keith McCloghrie
- RE: [imss] imss WG Last Call: FC-SP MIB Black_David
- Re: [imss] imss WG Last Call: FC-SP MIB Keith McCloghrie
- RE: [imss] imss WG Last Call: FC-SP MIB WIJNEN, Bert (Bert)
- RE: [imss] imss WG Last Call: FC-SP MIB WIJNEN, Bert (Bert)
- Re: [imss] imss WG Last Call: FC-SP MIB Keith McCloghrie
- Re: [imss] MIB doctor review part 1 (SYNTAX Check… Keith McCloghrie
- Re: [imss] MIB doctor review part 2 (T11-FC-SP-TC… Keith McCloghrie
- RE: [imss] MIB doctor review part 2 (T11-FC-SP-TC… WIJNEN, Bert (Bert)
- RE: [imss] imss WG Last Call: FC-SP MIB WIJNEN, Bert (Bert)
- Re: [imss] AD Review for draft-ietf-imss-fc-fcsp-… Keith McCloghrie
- Re: [imss] AD Review for draft-ietf-imss-fc-fcsp-… Black_David
- Re: [imss] AD Review for draft-ietf-imss-fc-fcsp-… Romascanu, Dan (Dan)