Re: [Idr] I-D Action: draft-ietf-idr-error-handling-03.txt

Shyam Sethuram <shyam.ioml@gmail.com> Fri, 07 December 2012 21:55 UTC

Return-Path: <shyam.ioml@gmail.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 44A5D21F880D for <idr@ietfa.amsl.com>; Fri, 7 Dec 2012 13:55:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level:
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 LdjF91ARltxi for <idr@ietfa.amsl.com>; Fri, 7 Dec 2012 13:55:43 -0800 (PST)
Received: from mail-vc0-f172.google.com (mail-vc0-f172.google.com [209.85.220.172]) by ietfa.amsl.com (Postfix) with ESMTP id BCB8521F87E1 for <idr@ietf.org>; Fri, 7 Dec 2012 13:55:42 -0800 (PST)
Received: by mail-vc0-f172.google.com with SMTP id fw7so925459vcb.31 for <idr@ietf.org>; Fri, 07 Dec 2012 13:55:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=nj4PGLykVx5ucQqm8qi5r07gH1n39mfqEeXDSOUmcRg=; b=ZzdA3rFTuJ4cSXX4goU7iNcNlWhEvKVlod2/19D2C3WiwBB50ki29VXr4C5blKNPtL /DlMpKxTXE9ZG3LUs5N/LVj3b5SMjtXrlorlPouQGNXETYPldOj90Tcv2xs2Tz5t50wl 7lMFWRSLHHsAMoCOSHeXC2hAHLslBSrC90V1o+spWbo6DbntdnVWjkeiYboG3CorT/VQ puLiUewKUr5s2WBCFqHM3zZ4uZY6Vctk8nKcK/rTpNPi5IaGWWr1Z2rpaTfeWL5rQ8BK yomwLpFbRR0rt3pv9i+jtDNLYA0o74f+aVuZGSjJQSanNzJbXBJ/250Ggh4uUA6jUzoQ Dwrw==
MIME-Version: 1.0
Received: by 10.58.198.135 with SMTP id jc7mr4714798vec.51.1354917342167; Fri, 07 Dec 2012 13:55:42 -0800 (PST)
Received: by 10.58.215.10 with HTTP; Fri, 7 Dec 2012 13:55:41 -0800 (PST)
In-Reply-To: <068701cdd478$2cf01cf0$86d056d0$@highwayman.com>
References: <20121121191321.6164.6887.idtracker@ietfa.amsl.com> <50AD2986.90705@cisco.com> <058b01cdd3b4$9f5193b0$ddf4bb10$@highwayman.com> <8ED5B0B0F5B4854A912480C1521F973A0F4940@xmb-rcd-x13.cisco.com> <94913EE5-2864-4EE2-B474-9631430B1E22@ericsson.com> <068701cdd478$2cf01cf0$86d056d0$@highwayman.com>
Date: Fri, 07 Dec 2012 13:55:41 -0800
Message-ID: <CAEGVVtBy-zdLz8hVajLnuAqgzfgQHrseK4r-N9=pOZGtqV7LbA@mail.gmail.com>
From: Shyam Sethuram <shyam.ioml@gmail.com>
To: Chris Hall <chris.hall@highwayman.com>
Content-Type: multipart/alternative; boundary="047d7b5d8cd7e1434e04d04a46bc"
Cc: idr@ietf.org
Subject: Re: [Idr] I-D Action: draft-ietf-idr-error-handling-03.txt
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Dec 2012 21:55:44 -0000

Hi Chris,
On Fri, Dec 7, 2012 at 4:41 AM, Chris Hall <chris.hall@highwayman.com>wrote:

> Jakob Heitz wrote (on Thu 06-Dec-2012 at 18:08 +0000):
> > Some length errors will not be detected as length errors, but as
> > misinterpretation of subsequent bytes.
>
> The draft appears to be relaxing everything in sight, so there are
> indeed few (if any) length errors per se left; or many other errors
> for that matter.  Also, the relaxation means that almost any pair of
> octets are acceptable Attribute Flags and Type.


One attribute follows another. There's really no way to tell
what pairs of octets are really acceptable as Flags and Type.


> And, as far as I can
> see, a final attribute which overruns the end of the attributes part
> of the message (as defined by the 'Total Attributes Length') is also
> acceptable.
>

You can reset the session at this point if you haven't come
across MP_REACH so far and know that IPv4 NLRI length is 0.


>
> By "error" I assume we mean something which would today trigger a
> session-reset.  By "acceptable" I mean "does not trigger a
> session-reset" -- the result may or may not appear to be "malformed".
> Given that most Type values are unknown, a broken length in an
> attribute is likely to result in the rest of the attributes part of
> the message being interpreted as a number of unknown attributes, the
> last of which will probably overrun the end... all of which is
> "acceptable" and only the last "malformed".
>
> For almost all cases of broken attribute(s), the draft requires: "the
> UPDATE message containing the attribute MUST be treated as if all
> contained routes had been withdrawn".
>
> Except, the draft does: "observe that in order to use the approach of
> 'treat-as-withdraw', the entire NLRI field and/or the MP_REACH_NLRI
> and MP_UNREACH_NLRI attributes need to be successfully parsed".
>
> It seems to me that "successfully parsing" MP_REACH_NLRI and
> MP_UNREACH_NLRI attributes must include knowing when they are NOT
> there.
>
> Suppose the code has "parsed" a set of attributes, one or more of
> which is "malformed", and has managed to extract a valid
> MP_UNREACH_NLRI attribute.  Should it "treat-as-withdraw" ?  The smart
> money would be on there being an MP_REACH_NLRI somewhere amongst the
> broken attributes... unless there were some vanilla IPv4 Unicast NLRI.
> Also ambiguous is the case where an MP_REACH_NLRI has been extracted:
> is there an MP_UNREACH_NLRI buried under the malformed stuff ?
>
> In short, as far as I can see, the draft requires:
>
>   * "treat-as-withdraw" for almost every conceivable case
>     of "malformed" attribute(s).
>
>   * PROVIDED that MP_REACH_NLRI and MP_UNREACH_NLRI are
>     "successfully parsed".
>
> which appear to be mutually exclusive in many cases :-(  The only (not
> session-reset) case where there is no ambiguity is when *both*
> MP_REACH_NLRI and MP_UNREACH_NLRI are present and valid -- which,
> unfortunately, is not a very useful case in practice.  (There is also
> no ambiguity if either MP_REACH or MP_UNREACH_NLRI is present but
> invalid.  And no ambiguity if one or both of them is repeated.  But
> those are session-reset cases.)
>

IMO, MP_UNREACH_NLRI does not enter the picture here. The
test for NLRI presence for the scenario you described is limited
to plain IPv4 NLRI and/or MP_REACH_NLRI.


>


> ....
> > If you get a message length too long error, the most likely result
> > will be that you misinterpret the 0xFF's as NLRI and get an NLRI
> > length error.
>
> Blimy.  That suggests reading beyond the various boundaries
> established by the 'Message Length', 'Withdrawn Routes Length' and
> 'Total Attribute Length'... surely not ?!
>

IMO there's no scenario where this is needed or implied
by the draft.

shyam


>
> Chris
>
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr
>