Re: [Idr] I-D Action: draft-ietf-idr-error-handling-03.txt
"Chris Hall" <chris.hall@highwayman.com> Fri, 07 December 2012 12:41 UTC
Return-Path: <chris.hall@highwayman.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 522A521F8983 for <idr@ietfa.amsl.com>; Fri, 7 Dec 2012 04:41:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.539
X-Spam-Level:
X-Spam-Status: No, score=-0.539 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_MISMATCH_UK=1.749, HOST_MISMATCH_NET=0.311]
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 xs83uhP0y3tr for <idr@ietfa.amsl.com>; Fri, 7 Dec 2012 04:41:30 -0800 (PST)
Received: from smtp.demon.co.uk (mdfmta004.mxout.tbr.inty.net [91.221.168.45]) by ietfa.amsl.com (Postfix) with ESMTP id 9108721F8961 for <idr@ietf.org>; Fri, 7 Dec 2012 04:41:30 -0800 (PST)
Received: from mdfmta004.tbr.inty.net (unknown [127.0.0.1]) by mdfmta004.tbr.inty.net (Postfix) with ESMTP id E1064A0C07F; Fri, 7 Dec 2012 12:41:28 +0000 (GMT)
Received: from mdfmta004.tbr.inty.net (unknown [127.0.0.1]) by mdfmta004.tbr.inty.net (Postfix) with ESMTP id B914CA0C073; Fri, 7 Dec 2012 12:41:28 +0000 (GMT)
Received: from hestia.halldom.com (unknown [80.177.246.130]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mdfmta004.tbr.inty.net (Postfix) with ESMTP; Fri, 7 Dec 2012 12:41:28 +0000 (GMT)
Received: from hyperion.halldom.com ([80.177.246.170] helo=HYPERION) by hestia.halldom.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (envelope-from <chris.hall@highwayman.com>) id 1TgxF9-0005cK-Sq; Fri, 07 Dec 2012 12:41:27 +0000
From: Chris Hall <chris.hall@highwayman.com>
To: idr@ietf.org
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>
In-Reply-To: <94913EE5-2864-4EE2-B474-9631430B1E22@ericsson.com>
Date: Fri, 07 Dec 2012 12:41:22 -0000
Organization: Highwayman
Message-ID: <068701cdd478$2cf01cf0$86d056d0$@highwayman.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
thread-index: AQHwJ9rDNhpCAk7gfRWZlMlTSLUu6QFwpw6KAjDRnx0CVlUcVAFHaBeAl418ofA=
Content-Language: en-gb
X-MDF-HostID: 9
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 12:41:31 -0000
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. 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. 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.) .... > 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 ?! Chris
- [Idr] I-D Action: draft-ietf-idr-error-handling-0… internet-drafts
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Enke Chen
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Saikat Ray (sairay)
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Enke Chen
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Shyam Sethuram
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Brian Dickson
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Enke Chen
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Brian Dickson
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Robert Raszuk
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Rob Shakir
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… bruno.decraene
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… bruno.decraene
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jakob Heitz
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Brian Dickson
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Chris Hall
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… Jeff Wheeler
- Re: [Idr] I-D Action: draft-ietf-idr-error-handli… John Leslie