Re: [mpls] [PWE3] ELI as a reserved label

Curtis Villamizar <curtis@occnc.com> Mon, 02 August 2010 14:17 UTC

Return-Path: <curtis@occnc.com>
X-Original-To: mpls@core3.amsl.com
Delivered-To: mpls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9EE423A6B88; Mon, 2 Aug 2010 07:17:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.418
X-Spam-Level:
X-Spam-Status: No, score=-2.418 tagged_above=-999 required=5 tests=[AWL=0.181, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H7L3lfLVZ3rf; Mon, 2 Aug 2010 07:17:54 -0700 (PDT)
Received: from harbor.orleans.occnc.com (harbor.orleans.occnc.com [173.9.106.135]) by core3.amsl.com (Postfix) with ESMTP id A525B3A6B86; Mon, 2 Aug 2010 07:17:53 -0700 (PDT)
Received: from harbor.orleans.occnc.com (harbor.orleans.occnc.com [173.9.106.135]) by harbor.orleans.occnc.com (8.13.6/8.13.6) with ESMTP id o72EHVxJ023448; Mon, 2 Aug 2010 10:17:32 -0400 (EDT) (envelope-from curtis@harbor.orleans.occnc.com)
Message-Id: <201008021417.o72EHVxJ023448@harbor.orleans.occnc.com>
To: Shane Amante <shane@castlepoint.net>
From: Curtis Villamizar <curtis@occnc.com>
In-reply-to: Your message of "Sun, 01 Aug 2010 04:38:17 +0200." <8B7721F4-8C12-4C88-9036-B19592BE686E@castlepoint.net>
Date: Mon, 02 Aug 2010 10:17:31 -0400
Sender: curtis@occnc.com
Cc: mpls@ietf.org, pwe3@ietf.org
Subject: Re: [mpls] [PWE3] ELI as a reserved label
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: curtis@occnc.com
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mpls>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Aug 2010 14:17:55 -0000

In message <8B7721F4-8C12-4C88-9036-B19592BE686E@castlepoint.net>
Shane Amante writes:
>  
> Hi Curtis,
>  
> I had some time to think about this some more on the plane ride home.
> See below.
>  
> On Jul 30, 2010, at 14:02 GMT+02:00, Curtis Villamizar wrote:
> > In message <0DEFA7EF-8DC4-4EF2-ABDF-0404FC32B992@castlepoint.net>
> > Shane Amante writes:
> >> 
> >> Curtis,
> >> 
> >> On Jul 30, 2010, at 11:06 GMT+02:00, Curtis Villamizar wrote:
> >>> The Entropy Label Indicator (ELI) is called for in
> >>> draft-kompella-mpls-entropy-label-01.txt
> >>> 
> >>> After brief discussion with Stewart and with Kireeti and Lucy Yong,
> >>> there were three uses of ELI that would benefit from making the ELI a
> >>> reserved label.  It may be premature to make any such request and the
> >>> remaining reserved label number space is sparse, so this will be
> >>> floated as a separate draft, and put on hold awaiting advancement of
> >>> the drafts that depend on it.
> >>> 
> >>> The three benefits of making ELI a reserved label are in:
> >>> 
> >>> 1.  Extending any use of entropy-label to P2MP (where there are
> >>>     multiple egress and the possibility of each egress requiring a
> >>>     separate entropy label value is problematic for the ingress).
> >>> 
> >>> 2.  Extending any use of entropy-label to any arbitrary position in
> >>>     the label stack such that in an aggregation LSP with aggregates
> >>>     both MPLS-TP and MPLS LSP, load split on the MPLS LSPs is
> >>>     simplified and not impacted by limiting label stack depth for
> >>>     the MPLS-TP LSPs.  This is when label stack hash is limited to
> >>>     support MPLS-TP as proposed in
> >>>     draft-villamizar-mpls-tp-multipath-00.txt .
> >> 
> >> I agree there are benefits to a reserved label for the above two
> >> applications.  Most importantly, a receiving node would have pretty
> >> clearly semantics that what [immediately] follows a reserved ELI is
> >> the entropy-label, regardless of where the ELI is in the MPLS label
> >> stack and without needing to be in the signaling path to know what is
> >> the ELI value.
> > 
> > "Now don't be sad ... 'cause two out of three aint bad".  [meatloaf]
> > 
> > Its good to hear that you consider these to be useful.
> > 
> > Note that an ingress LSR still needs to determine that egress LSR
> > understands ELI to do anything.  To support MPLS-TP in MPLS the
> > ingress needs to veryify that all LSR on the path support MPLS in a
> > way that provides a compliant path for a contained TP LSP, but that is
> > out of scope of this discussion.
>  
> I need to revise my statements wrt entropy-labels and P2MP LSP's.
> After thinking about this some more, I no longer believe it makes
> sense to use a reserved ELI value for P2MP LSP's.  More specifically,
> for a given P2MP LSP, all receivers /MUST/ agree to receive entropy
> labels, because it would be silly to (for example) expect core LSR's
> to strip-off the ELI and an entropy-label mid-flight toward receivers
> that don't understand (or, can't receive) entropy-labels.  The
> ramifications of this are that if a head-end detects any receivers of
> a P2MP LSP that can't receive entropy-labels, then the head-end
> LER/LSR must either: a) re-signal the whole P2MP LSP toward all
> receivers so that the head-end will not send any entropy-labels at all
> on the P2MP LSP; or, b) signal 2 separate P2MP LSP's: one for
> entropy-label capable receivers and a second for non-entropy-label
> capable receivers.  I don't know that we want to mandate one of those
> two behaviors over the other, because SP's may make separate choices
> depending on whether they want to avoid extra replication in the
> network at the expense of not being able to do flow-based
> load-balancing, i.e.: Option (a), or don't mind the extra replication
> of (potentially) 2 parallel P2MP trees on the same links in order to
> attain some amount of flow-based load-balancing of the P2MP traffic.

The use of a reserved label doesn't remove the requirement to figure
out if the egress can support ELI.  It just removes the requirement to
put a separate ELI label on for each egress.

If some P2MP paths don't need to load balance (no multipath on that
leg) but other paths do, as long as all egress can support ELI, then
at worst it is 8 bytes of overhead that some paths don't need.

I don't see an alternative for P2MP in your paragraph above.  Are the
branch points assumed to selectively add a different ELI (or none) and
should branch point remove ELI and the entropy label if ELI is not
needed downstream or to the next branch point?  Would this be a lot
more complicated with different values of ELI per egress (and possibly
also per branch point)?

> So, in summary, I no longer see that draft-kompella-mpls-entropy-label
> has a requirement for reserved labels for either P2P or P2MP LSP's
> (scenario 1 in your original e-mail).  Furthermore, I still maintain
> that discussion of LFC and use of the MPLS TC field for indication of
> large vs. small flows is orthogonal to
> draft-kompella-mpls-entropy-label (scenario 3 in your original
> e-mail).  I haven't read draft-villamizar-mpls-tp-multipath-00
> (scenario 2 in your original e-mail) so I can't speak to whether or
> not there is a requirement for a reserved label there.

OK.

> Anyway, perhaps this will save you some time in that you don't need to
> write a whole new draft as you originally proposed and, instead, may
> only need to look at modifying your original draft.  :-)

For load balance to work with stack limited, then all midpoints would
need to know what ELI was being used.

This is a bit like each P2MP needing to know which ELI is needed
downstream of it, but not quite as bad.

OTOH, putting the ELI that is being used on a P2P LSP in the PATH or
RESV message for that P2P LSP would solve this for "Use of Multipath
with MPLS-TP and MPLS" aka draft-villamizar-mpls-tp-multipath-00.  I
could reference draft-kompella-mpls-entropy-label and make the request
that you put the ELI label in the PATH or RESV message somewhere.

> On a separate note, we intend to update
> draft-kompella-mpls-entropy-label shortly to cover P2MP LSP's (RSVP &
> mLDP), plus add details surrounding labelled BGP and RSVP P2P LSP's so
> that we have a more thorough treatment of all use cases to hopefully
> make all of this more clear.  (In fact, I got a good start on this
> text on this on the plane ride home :-).

OK.  Just try to get the ELI into the PATH or RESV so all LSR on the
PATH can see it.

BTW - There are some implications for facilities FRR.  On the
facilities backup path there is no per LSP PATH or RESV message to
look at to see what value of ELI is being used.  If the facilities
backup path is over multipath (ie: LAG, bundle, or RSVP ECMP), then
the value of ELI will not be known.  This might force detour style FRR
or use of GMPLS path protection (or segemenbt which is more
detour-like).  A fixed ELI would help here too (allowing bypass FRR).

> -shane

Maybe we should continue offline and then go back to the list.

Curtis