The MPLS WG Archive

Cell Relay Retreat>MPLS WG Archive>month:2000-Jun> msg00513



[Date Prev][Date Next][Thread Prev][Thread Next]  
  [Date Index][Thread Index][Author Index][Subject Index]

Last call comments

  • From: Eric Gray <EGray@zaffire.com>
  • Date: Mon, 26 Jun 2000 17:29:54 -0700

Folks,

	Here's most of my last call comments.  More may
be sent out later this evening...

IN GENERAL
==========

	Many aspects of this draft - especially those
relating to E-LSPs and L-LSPs and the Pipe Model
seem intuitive and very useful.

	There are several aspects of the uniform model
which appear complex beyond any justification I have
seen for specifying this model.

	There are concepts that have been introduced
almost completely without explanation.  An amazing
example is the concept of the multi-pop PHP that
comes up in section 2.6.6.

	The draft punts on several relevant issues.  In
particular, there seems to be no effort to justify 
some of the complexity in the specification in terms 
of real world applications for particularly difficult
combinations (such as the combination of Uniform model 
and PHP).  If the uniform model is intended for the
purpose stated by Shahram Davari (23 March, 2000), then
it would be useful to state that an example of when it
might be useful is when multiple tunnel hierarchy levels
are within the same administrative domain.

	There are far too many murky statements for the
specification to be useful in producing interoperable
implementations.  For example, from mid-page on page
18:

   "(1) Tunneling Model 1 (either Uniform or Pipe)

   "(2) Tunneling Model 2 (same as Tunneling Model 1 or different Model)"

Or at the bottom of page 16, top of page 17:

   "LSRs at different levels of LSPs are expected to operate in the same 
    or in different Tunneling Models."

I believe these may be examples of an earlier comment 
on mixing of example deployments and normative text.

	The statement that other models (besides Pipe 
and Uniform) may be supported makes me wonder why an
attempt is made to support the Uniform model (it may
be that the draft punts too late on this issue, rather
than to early on issues that derive from the Uniform
model).

	There are many repeat definitions of Acronyms
(places where the expanded version is followed by the
Acronym in parentheses).  This makes the draft look 
as if it was glued together from many pieces.  Either
the acronyms should be collected, or only the first 
instance should show both.  Currently, there are many
cases where the acronym is first used before being 
defined.

	I agree with the earlier posted comment that the
draft is excessively wordy.  It includes quotations of
large amounts of text from other drafts which are not 
necessary, it has a lot of redundancy and it looks as
if it has been cobbled together incompletely from the
work of several people.  The content is too important 
to be so hard to read.

SPECIFIC COMMENTS
=================

	The first paragraph in the introduction implies
that the same label is used at each hop.  Last sentence 
should read something like "At each LSR along the LSP, 
the label is used to label-swap and forward the packet 
to the next hop."

	Why the 4+ line quote from [DIFF_HEADER] at the 
bottom of page 2, instead of simple stating the need to 
provide flexibility for service providers?

	Section 1.6 - can signaled bandwidth also be used 
for policing packets associated with a PSC?  How does an
implementation know if it is supposed to use signaled
bandwidth to perform any of the functions mentioned in
this section (adjusting scheduling weights, admission
control and, possibly, policing)?

	In section 2.1, this statement:

  "Obviously, to enforce the Diff-Serv service differentiation the LSR
   MUST also apply the forwarding treatment corresponding to the
   Outgoing PHB."

makes no sense, given that - in the bullets that precede
it - determination of the outgoing PHB is optional.  The
bullet - based on following text - should say something to
the effect that determination of a change in outgoing PHB
is optional.

	At the bottom of page 6, the two statements:

  "(*) when the LSR performs label imposition, the incoming packet is
   received unlabelled.

  "(**) when the LSR performs label disposition, the outgoing packet is
   transmitted unlabelled."

are only true if no label stacking occurs.  It may be that 
you are just talking about the (rather difficult to follow)
figure, but it would be better (and more general) if you
use the common terms "ingress" and "egress" rather than the
terms "label imposition" and "label disposition" and simply
replace these lines with:

   "(*) ingress

   "(**) egress"

	Section 2.3 says that determination of outgoing PHB is 
optional yet goes on to say that the default is that outgoing
PHB is identical to incoming PHB.  This would be clearer if
it simply states that the determination is always done and 
the default 'determination' is that the outgoing is the same
as the incoming (this corresponds to the default "local
policy").

	Why the 8 line quote from [MPLS_ARCH] (toward bottom
of page 8)?  Simply change the next paragraph to read:

   "This specification allows that an incoming label ..."

	Same question/observation for the quote at the bottom
of page 9 and top of page 10.

	The statement "Based on these considerations ..." in
the last paragraph of section 2.6.2 seems to be a non-sequitur
- I cannot see the connection between the "considerations"
and the conclusion.  For one thing, it seems almost to conclude
that - because there is PHP in MPLS, and this makes it hard to
determine what the EXP field was at the egress, then the uniform
model (which makes it necessary to recover this information) is
justified.

	I believe that the uniform model should receive the same
treatment as "other models" - i.e. - it should be treated as out
of scope.  This removes a lot of seeming unjustified complexity 
and about two pages of text.

	In section 2.6.6 - there are bullets that talk about 
multi-pop PHP.  Currently, there is no standard way to signal 
this - nor is it reasonable to establish one.  The supposed
intent for PHP was to avoid pop-and-look-again behavior in an
egress LSR.  PHP does not currently require the penultimate
LSR to look at the label it has exposed by popping the label
stack  - so it has no means to determine that it needs to do
a second (or subsequent) pop, even if it is otherwise capable
of performing a pop-and-look-again.  These bullets should be
removed. (I'm pretty sure that there is no other MPLS draft 
that refers to the ability to pop multiple labels as a single 
atomic operation - even at the egress LSR - even though an LSR
implementation can obviously be made to do this.)

	The draft needs a list of acronyms and/or a glossary.  
The acronyms used (and, in some cases, introduced) in this 
draft include:

BA		Behavior Aggregates
DSCP		Differentiated Services Code Point
EXP		EXPerimental (bits)
E-LSP		EXP-Inferred-PSC LSP
FEC		Forwarding Equivalency Class
FTN		FEC-To-NHLFE Map
ILM		Incoming Label Map
LSP		Label Switched Path
LSR		Label Switch Router
L-LSP		Label-Only-Inferred-PSC LSP
MPLS		Multi-Protocol Label Switching
NHLFE		Next Hop Label Forwarding Entry
OA		Ordered Aggregate
PHB		Per Hop Behavior
PSC		PHB Scheduling Class

(Punting on this - as seems to be the current approach
 is just messy :-)

In addition, the following definitions would be useful
(collected in a glossary?):

Behavior Aggregate
		Packets crossing a link that require
		the same Diff-Serv behavior.
Diff-Serv	Differentiated Services.
Diff-Serv Context
		<Insert Definition HERE>
FEC		<Insert Definition HERE>
Ordered Aggregate
		Set of Behavior Aggregates sharing an 
		ordering constraint.
PHB Scheduling Class
		Set of PHBs applicable to an Ordered 
		Aggregate.



NITS
====

top of page 3 'eg.' should be 'e.g.' (two cases in the 
first paragraph on this page).  Same for top of page 4
(3 occurrences).

first paragraph in section 2.1, last sentence - can't
quite figure out what you're saying.  Suggested rewording
is:

"... the way to determine the PHB to be applied to a
 received packet and to encode the PHB into a transmitted 
 packet is different than for a non-MPLS Diff-Serv Router."
                     --------