Re: [Pppext] LCP echo request/reply support over multilink interface (RFC 1990)

Y Prasad <yprasad@juniper.net> Thu, 18 March 2010 12:57 UTC

Return-Path: <yprasad@juniper.net>
X-Original-To: pppext@core3.amsl.com
Delivered-To: pppext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B69B33A6B64 for <pppext@core3.amsl.com>; Thu, 18 Mar 2010 05:57:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.33
X-Spam-Level:
X-Spam-Status: No, score=-3.33 tagged_above=-999 required=5 tests=[AWL=-1.845, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, J_CHICKENPOX_62=0.6, RCVD_IN_DNSWL_MED=-4, SARE_SUB_NEED_REPLY=0.784]
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 anvcsuDcB10e for <pppext@core3.amsl.com>; Thu, 18 Mar 2010 05:57:41 -0700 (PDT)
Received: from exprod7og122.obsmtp.com (exprod7og122.obsmtp.com [64.18.2.22]) by core3.amsl.com (Postfix) with ESMTP id 0F1B53A6A39 for <pppext@ietf.org>; Thu, 18 Mar 2010 05:57:36 -0700 (PDT)
Received: from source ([66.129.224.36]) (using TLSv1) by exprod7ob122.postini.com ([64.18.6.12]) with SMTP ID DSNKS6IjSRsfvSULi2U5rfyfZErRc/cJGVq1@postini.com; Thu, 18 Mar 2010 05:57:52 PDT
Received: from gaugeboson.jnpr.net (10.209.194.17) by P-EMHUB03-HQ.jnpr.net (172.24.192.37) with Microsoft SMTP Server id 8.1.393.1; Thu, 18 Mar 2010 05:56:14 -0700
x-mimeole: Produced By Microsoft Exchange V6.5
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Thu, 18 Mar 2010 18:26:09 +0530
Message-ID: <0DB0FFEA6887E349861A3F6B40D71C3A0639D15A@gaugeboson.jnpr.net>
In-Reply-To: <4B9E6FD0.5080602@workingcode.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Pppext] LCP echo request/reply support over multilink interface (RFC 1990)
Thread-Index: AcrEZfFl0KOzunU9QWyFOBqUR5oc2gCLz9Tg
References: <4B98E356.2070804@workingcode.com> <201003111520.o2BFKpeP066268@calcite.rhyolite.com> <0DB0FFEA6887E349861A3F6B40D71C3A0639CE88@gaugeboson.jnpr.net> <4B9E6FD0.5080602@workingcode.com>
From: Y Prasad <yprasad@juniper.net>
To: James Carlson <carlsonj@workingcode.com>
Cc: pppext@ietf.org, i.goyret@alcatel-lucent.com, Vernon Schryver <vjs@calcite.rhyolite.com>
Subject: Re: [Pppext] LCP echo request/reply support over multilink interface (RFC 1990)
X-BeenThere: pppext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: PPP Extensions <pppext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/pppext>, <mailto:pppext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pppext>
List-Post: <mailto:pppext@ietf.org>
List-Help: <mailto:pppext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pppext>, <mailto:pppext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Mar 2010 12:57:42 -0000

> 
> IMO, having only Bundle LCP keep alives is still a good choice(in
cases
> where large number of members/bundles exists and link flap could lead
to
> larger bundle re-bring-up time).

I'm unable to parse that statement.  Could you provide specifics on how
running LCP Echo-Request at the bundle level provides some sort of
performance improvement?  Or at least what link flaps have to do with
the problem?  I cannot see how that's so.

Yp> LCP keep-alives help to identify faulty link and peer state
(alive/dead).
If an user depends on link Career detect (or some other means) to
identify faulty link, he may opt for no-keepalives on that link. And in
order to identify whether peer alive or not just a bundle keep alives
are good enough. This would reduce control traffic and flooding of LCP
keep-alives on multiple link flaps/bundle flaps when links rejoin into
bundle after LCP.
 

As far as I can tell, link flap just takes one link out of the bundle,
and bringing it back into the bundle is dependent on negotiating LCP
(and Authentication, if required).  Neither of those has anything to do
with LCP Echo-Request.

Yp> I agree, I meant LCP keepalive traffic after links join.

> I was just trying to mention a case where RFC1990 is giving a scope of
> incompatibility.

True; this is an area where the specification is indeed weak.

At least in my experience having worked on a couple of different
implementations, the issue just didn't matter.  It's the member links we
all care about testing, not the bundle itself, because having a single
bad member link in the bundle is toxic to the bundle, due to the way the
reassembly algorithm works.  LCP Echo-Request/-Reply at the per-link
level provides a clean way to test each link to make sure it's still
working properly.  Doing it at the bundle level doesn't do that.

Yp> I agree in case member links are "bad" (meaning can not reflect
faulty link properly).
 "good link" here means it does reflect its faultiness without the need
of LCP keepalives.

Multilink (with the segmentation feature enabled) tends to run at the
speed of the slowest link, as everything blocks for that one link to
produce updated sequence numbers.

> In fact there are installations from a big vendor where bundles being
> disconnected due to no-reply to bundle LCP ECHO req. Solution to the
> peer is either mandatorily reply (though its optional from RFC point
of
> view) to bundle-keep-alives or ask sender side to disable this feature
> :( In fact bundle-keep-alive feature cannot implemented if the reply
is
> not made mandatory. 

If the peer refuses to reply, then no mere document is going to help
Yp> Peer thinks optional (not refusal) and the local might think peer is
dead.

you.  You have to stop depending on the feature if you want to
interoperate with those peers.
Yp> Yes with the current form in the draft bundle keep alives can not
work with peer who thinks the same is optional.

Even if it were made mandatory, that'd still just be in the new
document, and there are many devices out there that are designed to RFC
1990, and might never be changed.

Yp> I agree. Only way is bundle-keepalive need to made as optional and
negotiable attribute. Then it would work with existing installations.
down-ward-compatible :).

> Anyway if somebody out there trying to obsolete RFC1990, the mentioned
> items can be taken care. I can help here if needed. Not worth trying
> just this update though :)

If you want to take it on, I suspect that you'll likely need to provide
a clear rationale -- complete with worked-out examples that show the
benefits -- in order to convince enough contributors here to achieve
consensus.

It's certainly possible to do that, but it'll take some work.

Yp> I think we can club this rectification along with any other if any.
Just for this writing an another draft may not be worth trying :)

Regards,
yp

-- 
James Carlson         42.703N 71.076W         <carlsonj@workingcode.com>