Subject: Gen-ART LC review of draft-ietf-mpls-multipath-use-03

From: "Peter Yee" <[email-masked]>
Date: Fri, 17 Jan 2014 23:21:28 -0800

I am the assigned Gen-ART reviewer for this draft. For background on
Gen-ART, please see the FAQ at
<http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>

Please resolve these comments along with any other Last Call comments you
may receive.

Document: draft-ietf-mpls-multipath-use-03
Reviewer: Peter Yee
Review Date: January-16-2014
IETF LC End Date: January-17-2014
IESG Telechat date: January-23-2014

Summary: This draft is basically ready for publication as an Informational
RFC, but has nits that should be fixed before publication. [Ready with
nits.]

This document discusses multipath MPLS operations and describes the means of
supporting MPLS as a server layer for MPLS-TP and vice versa.  It lists
requirements and implications for these operations.

Nits:

General nits:

Make all references to the expansion of ECMP read "Equal-Cost Multipath" for
consistency with RFC 2991.

In the usage RFCxxxx, use a space between RFC and xxxx except when used as a
reference, e.g., [RFCxxxx].

There are many unexplained acronyms without definition or reference.  Unless
these are abundantly clear to most readers, expand them on first usage and
provide a reference pointer where feasible.

Specific nits:

Page 1, Abstract, 2nd paragraph, 1st sentence: change "MPLS Entropy label"
to "the MPLS Entropy Label".

Page 2, Section 1, 1st paragraph,  1st sentence: delete the comma after
"traffic".

Page 2, Section 1, 1st paragraph, last sentence: change "load split" to
"load splitting".

Page 2, Section 1, 2nd paragraph, last sentence: hyphenate "fate sharing".

Page 3, Section 1, 1st paragraph, 1st sentence: hyphenate "equal cost".

Page 3, definition of "Loop Free Alternate Paths (LFA)": hyphenate "Loop
Free".

Page 3, definition of "Loop Free Alternate Paths (LFA), 1st sentence: change
the terminating period to a colon.

Page 4, Section 3.1, 1st paragraph, 1st sentence: change "date" to "data".

Page 4, Section 3.1, 1st paragraph, 2nd sentence: change the terminating
period to a colon.

Page 5, 1st full paragraph, 1st sentence: insert "Section 3.1.1" between
"[RFC5960]" and "paragraph 3".  Capitalize "paragraph".

Page 5, 1st full paragraph, 3rd sentence: same as previous instructions.

Page 5, 2nd paragraph, 2nd sentence: change ' "Section 1 Introduction"' to '
Section 1 ("Introduction")'.

Page 6, 1st paragraph, 3rd sentence: change ' "Section 2.9.4 Equal Cost
Multipath") to ' Section 2.9.4 ("Equal Cost Multipath")'.

Page 6, Section 3.2, 1st paragraph, 1st sentence: hyphenate "MPLS-TP
conformant" and delete the comma after "multipath".

Page 7, 2nd paragraph, 2nd sentence: change "A" to "An".

Page 7, 2nd paragraph, 5th and 6th sentences: change all occurrences of
"LSP" to "LSPs".

Page 7, 3rd paragraph, 2nd sentence: change "LSP" to "LSPs".

Page 7, 4th paragraph, 2nd sentence: change "LSR" to "LSRs".

Page 7, 5th paragraph: change all occurrences of "LSP" to "LSPs".

Page 7, 5th paragraph last sentence: change "co-existance" to "coexistence".

Page 8, 1st partial paragraph, 2nd full sentence: change all occurrences of
"LSP" to "LPSs" and change "LSR" to "LSRs".

Page 8, 2nd full paragraph: change all occurrences of "LSP" to "LSPs".

Page 8, 4th paragraph, 1st sentence: change "LSP" to "LSPs".

Page 8, 4th paragraph, 2nd sentence: is there a quantitative definition for
"very infrequent" that can be substituted or explained?

Page 8, 4th paragraph, 3rd sentence: change "presense" to "presence".
Insert "a" before "GAL".

Page 9, 1st partial paragraph: delete "label" following "EL" in two
locations.

Page 9, Section 4, 1st paragraph, 1st sentence: change first "LSP" to
"LSPs".  Change "a MPLS-TP" to "an MPLS-TP" unless MPLS is pronounced liked
"mipples" or something similar and not just spelled out.

Page 9, Section 4, 2nd paragraph: replace all occurrences of "LSP" with
"LSPs".

Page 9, Section 4, 2nd paragraph, 2nd sentence: insert "the" between "in"
and "number".

Page 9, Section 4, 2nd paragraph, 3rd sentence: change "ILM" to "ILMs".

Page 9, Section 4, 3rd paragraph, 1st sentence: change "Server Layer" to
"server layer" for consistency of usage.  Insert "of" between "use" and
"MPLS-TP".  Change "LSP" to "LSPs".

Page 9, Section 4, 3rd paragraph, 4th sentence: change "LSP" to "LSPs".

Page 9, Section 4, 3rd paragraph, 5th sentence: change "LSP" to "LSPs".
Change "capacity" to "capacities".  Insert "generally" before "not integer"
unless it is always the case that the capacity is not a multiple of 10 Gb/s.

Page 9, Section 4, 4th paragraph, 1st sentence: change "Server Layer" to
"server layer".

Page 10, Section 6, 2nd paragraph, 2nd sentence: hyphenate "high end" and
append a comma after that.  Hyphenate "packet processing".

Page 10, Section 6, 3rd paragraph, last sentence: same as previous
instructions.

Page 10, Section 8, 1st sentence: insert "a" between "of" and "framework".

I'm not particularly knowledgeable about MPLS, so I'm unable to express much
about the correctness of the operational points made in the document.

		-Peter Yee

---

From: Jari Arkko <[email-masked]>
Date: Tue, 21 Jan 2014 17:50:52 +0200

Many thanks for your (once again) detailed review, Peter! And thank you Curtis for making the fixes. One comment below:

> ECMP is expanded on first use in compliance with RFC Editor quidelines
> for abbreviations.  ECMP is also expanded on first use within each
> section where it is used with the exception of one place where ECMP is
> contained in a verbatim excerpt in a quote from RFC6374.

I thought Peter was referring to the fact that your draft has some variation on the way the term is expanded, even outside verbatim examples:

> % grep -i 'equal' draft-ietf-mpls-multipath-use-03.txt
> draft-ietf-mpls-multipath-use-03.txt:94:   than parallel links includes Equal Cost MultiPath (ECMP) as applied
> draft-ietf-mpls-multipath-use-03.txt:148:   Equal Cost Multipath (ECMP)
> draft-ietf-mpls-multipath-use-03.txt:149:       Equal Cost Multipath (ECMP) is a specific form of multipath in
> draft-ietf-mpls-multipath-use-03.txt:229:       Equal-Cost Multi-Path (ECMP) load-balancing MUST NOT be performed
> draft-ietf-mpls-multipath-use-03.txt:288:   following paragraph in "Section 2.9.4 Equal Cost Multipath" gives the
> …
> % grep -i "equal" rfc2991.txt
> rfc2991.txt:   allow "Equal-Cost Multipath" (ECMP) routing.  Some router
> …

I think you could align other instances than those relating to verbatim text from RFC 5960 or 6374.

Anyway, minor things. I have balloted no-objection for this draft for the Thursday's IESG telechat. Thanks for your hard work, all.

Jari

---

From: Curtis Villamizar <[email-masked]>
Date: Tue, 21 Jan 2014 00:17:20 -0500

> reference, e.g., [RFCxxxx].

Nine instances were found and fixed, including two instancees of
"pre-RFC6790" changed to "pre- RFC 6790".  I don't think that one
looks right as "pre-RFC 6790".

> provide a reference pointer where feasible.

The following acronyms were found and checked for expansion on first
use:

  Listed in RFC Editor guidelines on acronyms as well known:

    BGP GMPLS IANA IEEE IP IS-IS ITU-T MPLS OSPF

  Used only in verbatim quoted text (expanded in one use)

    E-LSP L-LSP

  Already expanded on first use

    ECMP EL ELI FA GAL ILM LACP LAG LFA LM LSP LSR PHB PSC RSVP-TE

  Changed to be expanded on first use

    IPFRR MPLS-TP OAM TC

Many of the acronyms are explained in the referenced documents.  The
intended audience should be familiar with this set of acronyms.

Almost all of these acronyms are in the RFC Editor list with only a
few exceptions.  The RFC Editor may want to add the following:

  Traffic CLass (TC) and cite RFC 5462 (Multiprotocol Label Switching
  (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class"
  Field),

  Loss Measurement (LM) and and Delay Measurement (DM) and cite RFC
  6374 (Packet Loss and Delay Measurement for MPLS Networks).  The
  abbreviations LM and DM are also used in other OAM documents from
  other SDO (with the same expansion).

  Entropy Label Indicator (ELI) and Entropy Label (EL) and cite RFC
  6790 (The Use of Entropy Labels in MPLS Forwarding).

This document cites the above three RFCs and expands each of these
acronyms on first use (except DM which is not used).

> to "the MPLS Entropy Label".

In this instance the phrase "MPLS Entropy Labels" is the name of the
technique and the short name of RFC 6790 (plural in the RFC 6790 short
name).  The abstract cannot contain citations but I can put "RFC 6790"
in parens.

I suggest s/Using MPLS Entropy label/Using MPLS Entropy Labels (RFC 6790)/
and if there are no objections will make that change.

> Page 2, Section 1, 1st paragraph,  1st sentence: delete the comma after

OK.

> Page 2, Section 1, 1st paragraph, last sentence: change "load split" to

OK.

> Page 2, Section 1, 2nd paragraph, last sentence: hyphenate "fate sharing".

OK

> Page 3, Section 1, 1st paragraph, 1st sentence: hyphenate "equal cost".

I do not think equal cost needs to be hyphenated.  In the technique
Equal-Cost Multipath (ECMP) the choice to hyphenate was made for
historic reasons, but for example in the RFC Editor list of acroyms
"Unequal Loss Protection (ULP)" does not hyphenate "unequal loss".

No ambiguity is created in the instances where hyphenation is not used
and equal cost is consistently not hyphenated in this document.

> Page 3, definition of "Loop Free Alternate Paths (LFA)": hyphenate "Loop

OK.

> the terminating period to a colon.

OK.

> Page 4, Section 3.1, 1st paragraph, 1st sentence: change "date" to "data".

OK.

> Page 4, Section 3.1, 1st paragraph, 2nd sentence: change the terminating

OK.

> "[RFC5960]" and "paragraph 3".  Capitalize "paragraph".

OK.

> Page 5, 1st full paragraph, 3rd sentence: same as previous instructions.

OK.

> Section 1 ("Introduction")'.

OK.

> Multipath") to ' Section 2.9.4 ("Equal Cost Multipath")'.

OK.

> conformant" and delete the comma after "multipath".

In existing RFCs, including some that are quite recent, a spec acronym
followed by the word conformant is both hyphenated and not hyphenated.

I prefer not to hyphenate because the acronym itself is already
hyphentated and no ambiguity is created either way.

> Page 7, 2nd paragraph, 2nd sentence: change "A" to "An".

OK.  In future reviews please include the noun that follows.

> Page 7, 2nd paragraph, 5th and 6th sentences: change all occurrences of

I added the "s" where "LSP" should have been plural in that paragraph.

> Page 7, 3rd paragraph, 2nd sentence: change "LSP" to "LSPs".

OK.

> Page 7, 4th paragraph, 2nd sentence: change "LSR" to "LSRs".

OK.

> Page 7, 5th paragraph: change all occurrences of "LSP" to "LSPs".

I added the "s" where "LSP" should have been plural in that paragraph.

> Page 7, 5th paragraph last sentence: change "co-existance" to "coexistence".

OK.

> "LSP" to "LPSs" and change "LSR" to "LSRs".

I added the "s" where "LSP" or "LSR" should have been plural in that
paragraph.

> Page 8, 2nd full paragraph: change all occurrences of "LSP" to "LSPs".

I added the "s" where "LSP" should have been plural in that paragraph.

> Page 8, 4th paragraph, 1st sentence: change "LSP" to "LSPs".

I added the "s" where "LSP" should have been plural in that paragraph.

> "very infrequent" that can be substituted or explained?

Any time load balancing occurs there is a chance of reordering and TCP
generally backs off (sans SACK support) when such an event occurs as
it would back off if a single packet was dropped.  The frequency of
load balancing has to be kept low to avoid this, but how low is the
topic of debate and will certainly vary among services with different
expectations (for example financial transactions vs plain old
Internet).

For the purpose of the discussion here the phrase "except during very
infrequent transitions due to load balancing" acknowledges that load
balance causes some imperfection, but does not try to quantify it.

> Page 8, 4th paragraph, 3rd sentence: change "presense" to "presence".

OK.

> Page 9, 1st partial paragraph: delete "label" following "EL" in two

OK.

> "mipples" or something similar and not just spelled out.

OK.

> Page 9, Section 4, 2nd paragraph: replace all occurrences of "LSP" with

OK.

> Page 9, Section 4, 2nd paragraph, 2nd sentence: insert "the" between "in"

OK.

> Page 9, Section 4, 2nd paragraph, 3rd sentence: change "ILM" to "ILMs".

OK.

> "MPLS-TP".  Change "LSP" to "LSPs".

OK.

> Page 9, Section 4, 3rd paragraph, 4th sentence: change "LSP" to "LSPs".

OK.

> unless it is always the case that the capacity is not a multiple of 10 Gb/s.

OK.

> Page 9, Section 4, 4th paragraph, 1st sentence: change "Server Layer" to

OK.

> append a comma after that.  Hyphenate "packet processing".

OK.

> Page 10, Section 6, 3rd paragraph, last sentence: same as previous

OK.

> Page 10, Section 8, 1st sentence: insert "a" between "of" and "framework".

OK.

> about the correctness of the operational points made in the document.

OK.  But you certainly did read this thoroughly and pick out a lot of
nits.  Thanks for doing so.

Curtis

---

From: Curtis Villamizar <[email-masked]>
Date: Tue, 21 Jan 2014 17:06:47 -0500

In message <[email-masked]>
Jari Arkko writes:
>  
> Many thanks for your (once again) detailed review, Peter! And thank
> you Curtis for making the fixes. One comment below:
>  
> Anyway, minor things. I have balloted no-objection for this draft for
> the Thursday's IESG telechat. Thanks for your hard work, all.
>  
> Jari

Jari,

Thanks for the no-objection.

There doesn't seem to be much consistency on ECMP expansion.

Checking abstracts in rfc-index:

RFC2992 (same authors as RFC2991) uses:

  Equal-Cost Multi-Path        - in the title
  Equal-cost multi-path (ECMP) - in the abstract

RFC4928 uses:

  Equal Cost Multipath (ECMP)

RFC5640 uses:

  equal cost multiple paths (ECMPs)

RFC6391 uses:

  Equal Cost Multiple Paths (ECMPs)

RFC6754 in the title uses:

  Equal-Cost Multipath (ECMP)

You'll get a few more combinations of hyphenation and capitalization
if you try:

  grep -i 'equal[- ]cost' rfc????.txt | grep ECMP

The total count for space vs hyphen (up to rfc7052) are:

  grep -i 'equal cost multi' rfc????.txt | grep ECMP | wc -l
      47
  grep -i 'equal-cost multi' rfc????.txt | grep ECMP | wc -l
      26

  grep -i 'equal cost multi' rfc????.txt | grep ECMP \
    | sed 's/:.*//' | uniq | wc -l
      34
  grep -i 'equal-cost multi' rfc????.txt | grep ECMP \
    | sed 's/:.*//' | uniq | wc -l
      18

The hyphen form is used less often recently (May 2008 - Oct 2013).

  grep -i 'equal cost multi' rfc[567]???.txt | grep ECMP \
    | sed 's/:.*//' | uniq | wc -l
      27
  grep -i 'equal-cost multi' rfc[567]???.txt | grep ECMP \
    | sed 's/:.*//' | uniq | wc -l
      10

  grep -i 'equal cost multi' rfc[67]???.txt | grep ECMP \
    | sed 's/:.*//' | uniq | wc -l
      15
  grep -i 'equal-cost multi' rfc[67]???.txt | grep ECMP \
    | sed 's/:.*//' | uniq | wc -l
       8

I prefer the RFC4928 flavor of this acronym and the above greps show
that it is more widely used in the RFC series.

Curtis