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

From: Joan Cucchiara <[email-masked]>
Date: Mon, 6 Aug 2018 11:15:48 -0400

Kishore and authors,

Thank you for the update.   The draft is in good shape.   The use of
AUGMENTS helped immensely in understanding the relationship between tables.

Below are my comments.  Please let me know if you have any
questions/comments.

Thanks,

-Joan

Comments for mpls-mldp-mib-04.txt

--------------------------------------------------

1.  Please fix these compiler warnings.

W: f(MPLS-MLDP-STD-MIB.my), (1133,9) Duplicate item "mplsMldpP2mpCapable"
in object-group "mplsMldpScalarsGroup" OBJECTS list

W: f(MPLS-MLDP-STD-MIB.my), (1142,9) Duplicate item "mplsMldProtLsrCapable"
in object-group "mplsMldpScalarsGroup" OBJECTS list

W: f(MPLS-MLDP-STD-MIB.my), (1157,11) Duplicate item
"mplsMldpSessionStatsNumFecsSent" in object-group "mplsMldpObjectsGroup"
OBJECTS list

2) Please use the suggested OID layout in RFC4181, Appendix D.  These
guidelines specify the following OID Layout for MIBs:

         xxxMIB

         |

         +-- xxxNotifications(0)

         +-- xxxObjects(1)

         +-- xxxConformance(2)

             |

             +-- xxxCompliances(1)

             +-- xxxGroups(2)

Below is the OID layout for this draft:

   -- notifications

   mplsMldpNotifications OBJECT IDENTIFIER ::= { mplsMldpStdMIB 0 }

   -- tables, scalars

   mplsMldpScalars       OBJECT IDENTIFIER ::= { mplsMldpStdMIB 1 }

   mplsMldpObjects       OBJECT IDENTIFIER ::= { mplsMldpStdMIB 2 }

mplsMldpConformance   OBJECT IDENTIFIER ::= { mplsMldpStdMIB 3 }

mplsMldpGroups        OBJECT IDENTIFIER ::= { mplsMldpConformance 1 }

mplsMldpCompliances   OBJECT IDENTIFIER ::= { mplsMldpConformance 2 }

3)  Section 10.2   You mention the mplsXCTable in this section but I don’t
see it in the MIB itself.  Is it being used in the MIB?

4) Section 10.3  Relationship to the LDP MIB

Should explain the relationship to the LDP MIB's  PeerTable and
SessionTable in this Section.

5) mplsLdpPeerCapability

Why is this a BITS value?   For example, could p2mp(1) and mp2mp(2)

both be set?

Under what circumstances would the value of this object be none(0)?  If the
value is none(0), can other BITS be set?

Please clarify.

5).  mplsMldpFecTable -- A few concerns about this table:

* mplsMldpFecRootAddrType --

IANA's Address Family Numbers registry is specified, so why is this being
limited to IPv4 and IPv6 only?

* mplsMldpFecType and mplsMldpFecOpaqueType

These 2 types are maintained by  IANA.  I believe a separate MIB Module
containing TEXTUAL-CONVENTIONs for these objects

should be added in the IANA considerations section .   (For an example,
please see  the IANA-GMPLS-TC-MIB

which is contained in RFC4802.)

If there are other Managed Objects which are also associated with
registries being maintained by IANA, then these should also be included.

(Once done, then the Future Considerations Section will no longer be
needed.)

6) mplsMldpFecBranchStatsTable

This table is confusing wrt the indexing.

Could this be made a "sparse augments" to the mplsMldpFecTable?

(An example of sparse augments is the MplsLdpSessionPeerAddrTable in the

MPLS-LDP-STD-MIB.)

I think mplsMldpFecIndex could be used directly?  Then another index

which has the same value as the mplsOutSegmentIndex?   I am wondering

though if the Outsegment truly needs to be an index.

Will there always be a corresponding

entry in the MplsOutSegmentTable?  (Is it possible that there are multiple
downstream LDP sessions which map to the same OutSegment?)

Could mplsOutSegmentPerfDiscontinuityTime be used for the counters?

Why would the following object not have a valid value?

Does this imply also that the counters are not valid if the LDPIdentifier
is not valid?

   mplsMLdpFecBranchPeerLdpId          OBJECT-TYPE

      SYNTAX        MplsLdpIdentifier

      DESCRIPTION

           "This object identifies an outgoing branch peer LDP ID for this

           mLDP LSP. Its value is unique within the context of the mLDP LSP.

           On Egress node, this value could be 0.0.0.0:00 as there will no

           downstream LDP session."

7) mplsMldpFecUpStreamSessTable

What does the mplsMldpFecUpstreamSessFecIndex represent?

Please clarify.   Could mplsMldpFecIndex be used directly?

Similar comments as above wrt mplsMldpFecUpstreamSessInSegIndex.

Does this truly have to be an index?  Could there be more than one upstream
mLDP sessions that maps to an InSegment?

Can the mplsInSegmentPerfDiscontinuityTime object be used, instead of the
one in this table?

8)  Is mplsMldpInterfaceIndex an ifIndex?

Please clarify.

9). Security Considerations

Please take out the mention of configuration in the first sentence:
"...useful
for the configuration of certain objects..."

--- end of comments ----

<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>