Subject: [MIB-DOCTORS] MIB Dr. Review of draft-ietf-mpls-mldp-mib-03.txt

From: Joan Cucchiara <[email-masked]>
Date: Tue, 3 Oct 2017 08:52:31 -0400

Hi Kishore,

My apologies for the lateness of the review.   The MIB doesn't compile.
Please make sure that it compiles using smilint.   Here is the URL:
http://www.ibr.cs.tu-bs.de/projects/libsmi/tools/?lang=de

Here are some comments, but please note, that this cannot be a full review
until:
1) the MIB Module compiles cleanly (or an explanation is given for unusual
warnings)
2) some of the tables in this MIB Module need to have the relationship to
Tables in the LPD-STD-MIB Module clarified  (more below on this).
3) Need to add Conformance Statements.  See rfc4181 and/or rfc2580.  Many
of the compiler warnings are complaining about this.

Thanks,
-Joan

Typo in comment:
         LAST-UPDATED "201710010000Z"  -- Octiber 1, 2017

Smilint has the following errors --  please see my comments below prefaced
with JEL:

mibs/MPLS-MLDP-STD-MIB.my:277: [5] {identifier-external-redefined} warning:
redefinition of identifier `MPLS-LDP-STD-MIB::mplsLdpPeerLdpId'
/usr/local/share/mibs/ietf/MPLS-LDP-STD-MIB:1041: [6] {previous-definition}
info: previous definition of `mplsLdpPeerLdpId'

mibs/MPLS-MLDP-STD-MIB.my:272: [3] {sequence-no-column} SEQUENCE element #1
`mplsLdpPeerLdpId' is not a child node under `mplsLdpPeerCapabilityEntry'
mibs/MPLS-MLDP-STD-MIB.my:272: [3] {sequence-missing-column} SEQUENCE of
`MplsLdpPeerCapabilityEntry' is missing columnar object `mplsLdpPeerLdpId'

JEL:  The MIB Module is importing these indices:
         mplsLdpStdMIB, mplsLdpEntityLdpId, mplsLdpEntityIndex,
         mplsLdpPeerLdpId, mplsLdpSessionStatsEntry
         FROM MPLS-LDP-STD-MIB                              -- RFC 3815

When I look at the tables that are using these IMPORTS, they mention
"augmented" but there I don't see that
the relationship is AUGMENTS used, so I suspect that this is not truly an
AUGMENTS, but a SPARSE AUGMENTS.
Please clarify.  Please note also, that mplsLdpSessionTable came first, so
mplsLdpSessionTable can be augmented by a newer table, not the other way
around.

mibs/MPLS-MLDP-STD-MIB.my:100: [4] {group-membership} warning: node
`mplsMldpP2mpCapable' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:115: [4] {group-membership} warning: node
`mplsMldpMp2mpCapable' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:130: [4] {group-membership} warning: node
`mplsMldpMbbCapable' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:147: [4] {group-membership} warning: node
`mplsMldpMbbTime' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:159: [4] {group-membership} warning: node
`mplsMldpNumFecs' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:168: [4] {group-membership} warning: node
`mplsMldpNumFecsActive' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:178: [4] {group-membership} warning: node
`mplsMldpPlrCapable' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:196: [4] {group-membership} warning: node
`mplsMldpMptCapable' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:211: [4] {group-membership} warning: node
`mplsMldProtLsrCapable' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:226: [4] {group-membership} warning: node
`mplsMldProtNodeProtCapable' must be contained in at least one conformance
group
mibs/MPLS-MLDP-STD-MIB.my:287: [4] {group-membership} warning: node
`mplsLdpPeerCapability' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:277: [4] {group-membership} warning: node
`mplsLdpPeerLdpId' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:366: [4] {group-membership} warning: node
`mplsMldpSessionStatsNumFecsSent' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:382: [4] {group-membership} warning: node
`mplsMldpSessionStatsNumMbbReqSentState' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:396: [4] {group-membership} warning: node
`mplsMldpSessionStatsNumFecsRcvd' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:412: [4] {group-membership} warning: node
`mplsMldpSessionStatsNumMbbReqRcvdState' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:424: [4] {group-membership} warning: node
`mplsMldpSessionStatsNumMbbResetAckByTimer' must be contained in at least
one conformance group
mibs/MPLS-MLDP-STD-MIB.my:492: [4] {group-membership} warning: node
`mplsMldpFecType' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:511: [4] {group-membership} warning: node
`mplsMldpFecRootAddrType' must be contained in at least one conformance
group
mibs/MPLS-MLDP-STD-MIB.my:526: [4] {group-membership} warning: node
`mplsMldpFecRootAddr' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:543: [4] {group-membership} warning: node
`mplsMldpFecOpaqueType' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:565: [4] {group-membership} warning: node
`mplsMldpFecOpaqueGenLspId' must be contained in at least one conformance
group
mibs/MPLS-MLDP-STD-MIB.my:579: [4] {group-membership} warning: node
`mplsMldpFecOpaqueTransitSourceOrBidirAddrType' must be contained in at
least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:595: [4] {group-membership} warning: node
`mplsMldpFecOpaqueTransitSourceOrBidirAddr' must be contained in at least
one conformance group
mibs/MPLS-MLDP-STD-MIB.my:609: [4] {group-membership} warning: node
`mplsMldpFecOpaqueTransitGroupAddrType' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:624: [4] {group-membership} warning: node
`mplsMldpFecOpaqueTransitGroupAddr' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:640: [4] {group-membership} warning: node
`mplsMldpFecAdminStatus' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:654: [4] {group-membership} warning: node
`mplsMldpFecOperStatus' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:666: [4] {group-membership} warning: node
`mplsMldpFecMoFrr' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:687: [4] {group-membership} warning: node
`mplsMldpFecLsrState' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:701: [4] {group-membership} warning: node
`mplsMldpFecUpTime' must be contained in at least one conformance group
mibs/MPLS-MLDP-STD-MIB.my:778: [4] {group-membership} warning: node
`mplsMLdpFecBranchPeerLdpId' must be contained in at least one conformance
group
mibs/MPLS-MLDP-STD-MIB.my:790: [4] {group-membership} warning: node
`mplsMldpFecBranchStatsPackets' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:802: [4] {group-membership} warning: node
`mplsMldpFecBranchStatsBytes' must be contained in at least one conformance
group
mibs/MPLS-MLDP-STD-MIB.my:814: [4] {group-membership} warning: node
`mplsMldpFecBranchStatsDiscontinuityTime' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:897: [4] {group-membership} warning: node
`mplsMldpFecUpstreamSessPrimary' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:911: [4] {group-membership} warning: node
`mplsMldpFecUpstreamSessActive' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:927: [4] {group-membership} warning: node
`mplsMldpFecUpstreamSessPackets' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:939: [4] {group-membership} warning: node
`mplsMldpFecUpstreamSessBytes' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:951: [4] {group-membership} warning: node
`mplsMldpFecUpstreamSessDiscontinuityTime' must be contained in at least
one conformance group
mibs/MPLS-MLDP-STD-MIB.my:1014: [4] {group-membership} warning: node
`mplsMldpInterfaceStatsSentPackets' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:1025: [4] {group-membership} warning: node
`mplsMldpInterfaceStatsSentBytes' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:1035: [4] {group-membership} warning: node
`mplsMldpInterfaceStatsRecvPackets' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:1045: [4] {group-membership} warning: node
`mplsMldpInterfaceStatsRecvBytes' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:1059: [4] {group-membership} warning:
notification `mplsMldpFecUp' must be contained in at least one conformance
group
mibs/MPLS-MLDP-STD-MIB.my:1072: [4] {group-membership} warning:
notification `mplsMldpFecDown' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:1084: [4] {group-membership} warning:
notification `mplsMldpMoFrrStatusChange' must be contained in at least one
conformance group
mibs/MPLS-MLDP-STD-MIB.my:833: [2] {type-unknown} unknown type
`MplsMldpFecUpstreamSessEntry'

JEL:  Please fix the typo at line 862: to get rid of the above error
"MplsMLdpFecUpstreamSessEntry" should be: MplsMldpFecUpstreamSessEntry

mibs/MPLS-MLDP-STD-MIB.my:5: [5] {import-unused} warning: identifier
`TimeTicks' imported from module `SNMPv2-SMI' is never used
mibs/MPLS-MLDP-STD-MIB.my:7: [5] {import-unused} warning: identifier
`MODULE-COMPLIANCE' imported from module `SNMPv2-CONF' is never used
mibs/MPLS-MLDP-STD-MIB.my:7: [5] {import-unused} warning: identifier
`OBJECT-GROUP' imported from module `SNMPv2-CONF' is never used
mibs/MPLS-MLDP-STD-MIB.my:7: [5] {import-unused} warning: identifier
`NOTIFICATION-GROUP' imported from module `SNMPv2-CONF' is never used
mibs/MPLS-MLDP-STD-MIB.my:9: [5] {import-unused} warning: identifier
`TruthValue' imported from module `SNMPv2-TC' is never used
mibs/MPLS-MLDP-STD-MIB.my:9: [5] {import-unused} warning: identifier
`RowStatus' imported from module `SNMPv2-TC' is never used
mibs/MPLS-MLDP-STD-MIB.my:9: [5] {import-unused} warning: identifier
`StorageType' imported from module `SNMPv2-TC' is never used
mibs/MPLS-MLDP-STD-MIB.my:21: [5] {import-unused} warning: identifier
`IndexIntegerNextFree' imported from module `DIFFSERV-MIB' is never used
mibs/MPLS-MLDP-STD-MIB.my:27: [5] {import-unused} warning: identifier
`mplsLdpStdMIB' imported from module `MPLS-LDP-STD-MIB' is never used
mibs/MPLS-MLDP-STD-MIB.my:28: [5] {import-unused} warning: identifier
`mplsLdpSessionStatsEntry' imported from module `MPLS-LDP-STD-MIB' is never
used

E: f(MPLS-MLDP-STD-MIB.my), (833,33) Sequence
"MplsMldpFecUpstreamSessEntry" is referenced, but not defined
E: f(MPLS-MLDP-STD-MIB.my), (862,4) Sequence "MplsMLdpFecUpstreamSessEntry"
is defined, but not referenced

JEL:  same comment as above, typo  (MplsMldp with a lower case "l")

E: f(MPLS-MLDP-STD-MIB.my), (872,4) Item "mplsMldpFecUpstreamSessFecIndex"
must be in sequence for row "mplsMldpFecUpstreamSessEntry"
E: f(MPLS-MLDP-STD-MIB.my), (884,4) Item
"mplsMldpFecUpstreamSessInSegIndex" must be in sequence for row
"mplsMldpFecUpstreamSessEntry"
E: f(MPLS-MLDP-STD-MIB.my), (897,5) Item "mplsMldpFecUpstreamSessPrimary"
must be in sequence for row "mplsMldpFecUpstreamSessEntry"
E: f(MPLS-MLDP-STD-MIB.my), (911,5) Item "mplsMldpFecUpstreamSessActive"
must be in sequence for row "mplsMldpFecUpstreamSessEntry"
E: f(MPLS-MLDP-STD-MIB.my), (927,4) Item "mplsMldpFecUpstreamSessPackets"
must be in sequence for row "mplsMldpFecUpstreamSessEntry"
E: f(MPLS-MLDP-STD-MIB.my), (939,4) Item "mplsMldpFecUpstreamSessBytes"
must be in sequence for row "mplsMldpFecUpstreamSessEntry"
E: f(MPLS-MLDP-STD-MIB.my), (951,4) Item
"mplsMldpFecUpstreamSessDiscontinuityTime" must be in sequence for row
"mplsMldpFecUpstreamSessEntry"
W: f(MPLS-MLDP-STD-MIB.my), (100,4) Item "mplsMldpP2mpCapable" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (115,3) Item "mplsMldpMp2mpCapable" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (130,3) Item "mplsMldpMbbCapable" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (147,6) Item "mplsMldpMbbTime" is not contained
in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (159,4) Item "mplsMldpNumFecs" is not contained
in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (168,4) Item "mplsMldpNumFecsActive" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (178,4) Item "mplsMldpPlrCapable" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (196,4) Item "mplsMldpMptCapable" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (211,4) Item "mplsMldProtLsrCapable" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (226,4) Item "mplsMldProtNodeProtCapable" is
not contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (277,6) Item "mplsLdpPeerLdpId" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (287,6) Item "mplsLdpPeerCapability" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (366,6) Item "mplsMldpSessionStatsNumFecsSent"
is not contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (382,6) Item
"mplsMldpSessionStatsNumMbbReqSentState" is not contained in any group
defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (396,6) Item "mplsMldpSessionStatsNumFecsRcvd"
is not contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (412,5) Item
"mplsMldpSessionStatsNumMbbReqRcvdState" is not contained in any group
defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (424,5) Item
"mplsMldpSessionStatsNumMbbResetAckByTimer" is not contained in any group
defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (492,6) Item "mplsMldpFecType" is not contained
in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (511,6) Item "mplsMldpFecRootAddrType" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (526,6) Item "mplsMldpFecRootAddr" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (543,6) Item "mplsMldpFecOpaqueType" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (565,7) Item "mplsMldpFecOpaqueGenLspId" is not
contained in any group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (579,6) Item
"mplsMldpFecOpaqueTransitSourceOrBidirAddrType" is not contained in any
group defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (595,6) Item
"mplsMldpFecOpaqueTransitSourceOrBidirAddr" is not contained in any group
defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (609,6) Item
"mplsMldpFecOpaqueTransitGroupAddrType" is not contained in any group
defined in the current module
W: f(MPLS-MLDP-STD-MIB.my), (624,6) Item
"mplsMldpFecOpaqueTransitGroupAddr" is not contained in any group defined
in the current module