Subject: [Lsr] AD Review of draft-ietf-ospf-lls-interface-id-05

From: Alvaro Retana <[email-masked]>
Date: Fri, 7 Sep 2018 10:19:31 -0400

Dear authors:

I just finished reading this document.  I have put some comments inline
(below).

The main issue that I have with this document is that it is not clear where
the Interface ID comes from.  I think it is important to clearly specify
that to achieve consistent and interoperable implementations.

While I am not opposed to this work, the justification (in §2) is weak.
The Abstract says that "in some cases it is useful to know the...Remote
Interface ID".  What are those cases?  It would be nice if some
applications were mentioned (in the Introduction, for example) -- maybe
talk about the parallel link application more prominently.

Do we need to specify how a router can disambiguate parallel links using
this new extension?  It may not be obvious to everyone...and there are no
other drafts referring to this one (IOW, no other applications are
documented).

I'll wait for (at least) some discussion before starting the IETF Last Call.

Thanks!!

Alvaro.

[The line numbers come from idnits.]

...
14 Abstract

16   Every OSPF interface is assigned an identifier, Interface ID, which
17   uniquely identifies the interface on the router.  In some cases it is
18   useful to know the Interface ID assigned by the adjacent router on
19   its side of the adjacency (Remote Interface ID).

[nit] Suggestion: "...useful to know the Remote Interface ID (the assigned
Interface ID on the remote side of the adjacency)."

...
80 1.  Introduction

82   Every OSPF interface is assigned an Interface ID, which uniquely
83   identifies the interface on the router.  For example, some
84   implementations MAY be able to use the MIB-II IfIndex [RFC2863] as
85   the Interface ID.

[major] The MAY is out of place because it is only stating a fact (as part
of an example). s/MAY/may

87   Local/Remote Interface Identifiers MAY be flooded by OSPF [RFC2328]
88   as defined in [RFC4203].  From the perspective of the advertising

[major] Again, just stating a fact. s/MAY/may

89   router, the Local Interface Identifier is a known value, however the
90   Remote Interface Identifier needs to be learnt before it can be
91   advertised.  [RFC4203] suggests to use TE Link Local LSA [RFC3630] to
92   communicate the Local Interface Identifier to neighbors on the link.
93   Though such mechanism works, it has some drawbacks.

95   This draft proposes an extension to OSPF link-local signalling
96   [RFC5613] to advertise the Local Interface Identifier.

98 2.  Interface ID Exchange using TE Opaque LSA

[nit] This section might flow better as a sub-section of 1.

100   Usage of the Link Local TE Opaque LSA to propagate the Local
101   Interface Identifier to the neighbors on the link is described in
102   [RFC4203].  This mechanism has following problems:

[nit] s/has following problems/has the following problems

[nit] Why are the next 2 paragraphs indented?

104      LSAs can only be flooded over an existing adjacency that is in
105      Exchange state or greater.  The adjacency state machine progresses
106      independently on each side of the adjacency and, as such, may
107      reach the Full state on one side before the TE Link Opaque LSA
108      arrives.  The consequence is that link can be initially advertised
109      without the Remote Interface Identifier.  Later, when the TE Link
110      Opaque LSA arrives, the link must be advertised again, this time
111      with the valid Remote Interface Identifier.  Implementations may
112      choose to wait before advertising the link, but there is no
113      guarantee that the neighbor will ever advertise the TE Link Opaque
114      LSA with the Interface Identifier.  In summary, the existing
115      mechanism does not guarantee that the Remote Interface Identifier
116      is known at the time the link is advertised.

[nit] LLS is optional...so it is not guaranteed either.

118      The TE Opaque LSA is defined for MPLS Traffic Engineering, but the
119      knowledge of the Remote Interface Identifier is useful also for
120      cases where MPLS TE is not used.  One example is the lack of a
121      valid 2-way connectivity check for parallel point-to-point links
122      between OSPF routers.

124 3.  Interface ID Exchange using OSPF LLS

126   To address the problems described earlier and to allow the Interface
127   Identifier exchange to be part of the neighbor discovery process, we
128   propose to extend OSPF link-local signalling to advertise the Local
129   Interface Identifier in OSPF Hello packets.

[major] Does having the "exchange to be part of the neighbor discovery
process" mean that this TLV should only be attacked to Hellos?  What should
the router do if the TLV is received in a DD packet?

131 3.1.  Local Interface Identifier TLV

...
150      Local Interface Identifier: The value of the local Interface
151      Identifier.

[major] Where does the interface id come from?  Will it always be 32 bits
long?  Is the assumption that it is the ifIndex?

153   Local Interface Identifier TLV signalling using LLS is applicable to
154   all OSPF interface types other than virtual links.

156 4.  Backward Compatibility with RFC 4203

158   Implementations which support Local Interface ID signalling using LLS
159   MUST prefer the Local Interface ID value received through LLS over
160   the value received through Link Local TE Opaque LSA if both are
161   received from the same OSPF router.

163   Implementations which support Local Interface ID signalling via Link
164   Local TE Opaque LSA MAY continue to do so to ensure backward
165   compatibility.  If they also support Local Interface ID signalling
166   using LLS as described herein, they SHOULD signal the same Local
167   Interface ID via both mechanisms.

[major] The first sentence applies to supporting both mechanisms, right?
IOW, it is meant if Local Interface ID signaling via Link Local TE Opaque
LSA is supported *in addition to* the new LLS mechanism.  Please be clear.
[I'm asking because this document can't standardize the behavior if *only*
the Local Interface ID signalling via Link Local TE Opaque LSA is
supported.]

[major] Using SHOULD doesn't guarantee backwards compatibility.  Why isn't
that a MUST?

...
176 5.  IANA Considerations

...
182   Following values is allocated:

[nit] s/values/value

184   o 18 - Local Interface Identifier TLV

186 6.  Security Considerations

188   The security considerations for "OSPF Link-Local Signaling" [RFC5613]
189   also apply to the Local Interface Identifier TLV described herein.
190   The current usage of a neighbor's Local Interface Identifier is to
191   disambiguate parallel links between OSPF routers.  Hence,
192   modification of the advertised Local Interface Identifier TLV may
193   result in the wrong neighbor interface identifier being advertised in
194   the OSPFv2 Extended Link LSA [RFC8379] and could prevent the link
195   from being used.  If authentication is being used in the OSPF routing
196   domain [RFC5709], then the Cryptographic Authentication TLV [RFC5613]
197   SHOULD also be used to protect that contents of the Link-Local
198   Signaling (LLS) block.

[minor] Is the reference to rfc8379 correct?

[major] Why only SHOULD?  IOW, if authentication is being used, why
wouldn't an operator not want to also protect the LLS block?

200   Implementations must assure that malformed LLS TLVs and Sub-TLVs
201   permutations do not result in errors which cause hard OSPF failures.

[major] What does this last paragraph mean?  Any why is it not a MUST
(instead of must).

203 7.  Contributors

[nit] Empty section.