Re: [Pppext] Proposal to solve ML-PPP ambiguity

Vineet kumar Garg <vineet.garg@aricent.com> Thu, 26 May 2011 19:45 UTC

Return-Path: <vineet.garg@aricent.com>
X-Original-To: pppext@ietfa.amsl.com
Delivered-To: pppext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4BF0BE0789 for <pppext@ietfa.amsl.com>; Thu, 26 May 2011 12:45:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qA0a-bP852zd for <pppext@ietfa.amsl.com>; Thu, 26 May 2011 12:45:57 -0700 (PDT)
Received: from jaguar.aricent.com (jaguar.aricent.com [180.151.2.24]) by ietfa.amsl.com (Postfix) with ESMTP id EF478E0786 for <pppext@ietf.org>; Thu, 26 May 2011 12:45:56 -0700 (PDT)
Received: from jaguar.aricent.com (localhost [127.0.0.1]) by postfix.imss71 (Postfix) with ESMTP id D801136B81; Fri, 27 May 2011 01:11:38 +0530 (IST)
Received: from GUREXHT02.ASIAN.AD.ARICENT.COM (gurexht02.asian.ad.aricent.com [10.203.171.138]) by jaguar.aricent.com (Postfix) with ESMTP id C12C236B80; Fri, 27 May 2011 01:11:38 +0530 (IST)
Received: from GUREXMB01.asian.ad.aricent.com ([10.203.171.132]) by GUREXHT02.ASIAN.AD.ARICENT.COM ([10.203.171.138]) with mapi; Fri, 27 May 2011 01:15:52 +0530
From: Vineet kumar Garg <vineet.garg@aricent.com>
To: James Carlson <carlsonj@workingcode.com>
Date: Fri, 27 May 2011 01:15:50 +0530
Thread-Topic: [Pppext] Proposal to solve ML-PPP ambiguity
Thread-Index: AcwbmHhlHmZlNZkMSr+61D3JxfHPTgAQmFR1
Message-ID: <FB2AC9A039F0D949A4A071D39790302115E5B07F77@GUREXMB01.ASIAN.AD.ARICENT.COM>
References: <FB2AC9A039F0D949A4A071D39790302115E5B07F74@GUREXMB01.ASIAN.AD.ARICENT.COM>, <4DDE3A04.2020502@workingcode.com>
In-Reply-To: <4DDE3A04.2020502@workingcode.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "pppext@ietf.org" <pppext@ietf.org>
Subject: Re: [Pppext] Proposal to solve ML-PPP ambiguity
X-BeenThere: pppext@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: PPP Extensions <pppext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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, 26 May 2011 19:45:58 -0000

Hi James

Thanks for your inputs on this. Really appreciate.

I agree with your point that the situation mentioned below is an error case and should be ok to not bring up the links in case of mismatch.

You have explained how one of the possible solutions in such situation would work. thats fine. But the solution described is not mentioned in the standard (as far as I know) leading to ambiguity in implementation with a possiblity of inter-operablity problems when two different approaches are chosen to solve the problem at hand. IMHO, it will be nice if the best approach is documented in the RFC so as to remove the ambiguity.

Another perspective of this could be using the latest negotiated option for the bundle since the peer may have informed of a change in parameter (say short seq number) at only one of the links in the bundle. I don't think RFC requires a system to re-negotiate all its links if any of the bundle level parameters change.

Basically this is the ambiguity because of which I suggested about using a separate negotiation leg for all the bundle level parameters. Maybe it does not make a lot of sense making this big a change for an error scenario, but it will lead to better and more clear designs and might hopefully have better use cases in future.

One more ambiguity in the protocol that I think can be clarified in RFC is use of IPCP (or any other NCP) over a MC/ML-PPP bundle. Doesn't it make more sense to use only IPCP over NCP when using ML-PPP to resolve the issue of which member link to be used for IPCP?

 Regards
Vineet




________________________________________
From: James Carlson [carlsonj@workingcode.com]
Sent: Thursday, May 26, 2011 5:01 PM
To: Vineet kumar Garg
Cc: pppext@ietf.org
Subject: Re: [Pppext] Proposal to solve ML-PPP ambiguity

Vineet kumar Garg wrote:
> Hi All
>
> While working with ML-PPP over some time, I have come across some problems which I think should be solved at the protocol level. Please review the abstract below and let me know your valuable opinions:
>
> As per existing RFC, following are the key characteristics of LCP negotiation for multi-link parameters:
>
> •       MRRU option is considered as mandatory option for a link to join a MC/ML-PPP bundle
> •       Endpoint discriminator is optional and can be used to identify different PPP peers
> •       Short-sequence number as an option is negotiated as part of LCP although same value has to be negotiated on all the links
>
>         Problem that current protocol creates is that it allows a scope for bundle level parameters to be negotiated with different values on different links. This leads to an implementation ambiguity about which values to be chosen for the bundle. Some of the ways applications can implement this choice are:
>                                         - Choose the negotiated value from the latest link that came
>                                         - Choose the first value that was negotiated
>                                         - Choose the one matching operator configuration etc.
>
> Is there already a solution to this problem as part of protocol that I am missing?

At the point where LCP is negotiated, it is not necessarily yet known to
which bundle the new link belongs.  You ordinarily have to wait for
Authentication to complete.  Thus, the negotiation of those low-level
options needs to be separate.

I think the solution is straightforward.  When you create a new bundle
head, you use the LCP options that were negotiated on that single link.

When attempting to join a new link to an existing bundle (because
authenticated peer names and E-Ds match), check the options on the new
link.  If they match the ones on the bundle, then join up.  If they
don't, then signal an error and terminate the new link.

Since this is a "should never happen" case, it's not really something to
worry about.  Bundles are not just established out of the blue; they're
established between cooperating systems.  If you have one line
configured to use short sequence numbers and the other not, then you've
misconfigured your systems, and having those systems report errors and
fail to establish the bundle is the best result.

> -> Proposed solution
>
>           Since the bundle level parameters like MRRU & sequence number length are applicable to all bundles in a link, it is better to negotiate them like an NCP after LCP has already been done. So, like other NCP protocols, there can be a new protocol called ML-CP which will configure all bundle level parameters for all the links in the bundle. This will remove the ambiguity about choosing the values of bundle level parameters and also prevent different values being negotiated for same parameter in case of some mis-configuration.
>
>           However, still there is a need to have some parameter in LCP which determines the bundle association of a link. In order to do that we can use endpoint discriminator as a mandatory option in LCP for links which want to join a bundle.
>
> Maintaining backward compatibility with existing implementations might be a challenge, however in this case. However, that can be resolved by including a simple version number option in LCP.

I don't think a new NCP is necessary.  The current mechanism (checking
parameter compatibility when joining links to an existing bundle) seems
to work well enough.

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

"DISCLAIMER: This message is proprietary to the Aricent Group and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. The Aricent Group accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."