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

"Chris Hall" <chris.hall@highwayman.com> Mon, 10 December 2012 17:52 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 D3ADF21F8594 for <idr@ietfa.amsl.com>; Mon, 10 Dec 2012 09:52:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.131
X-Spam-Level:
X-Spam-Status: No, score=-0.131 tagged_above=-999 required=5 tests=[AWL=0.408, 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 5oPtWWp1d47V for <idr@ietfa.amsl.com>; Mon, 10 Dec 2012 09:52:33 -0800 (PST)
Received: from smtp.demon.co.uk (mdfmta004.mxout.tch.inty.net [91.221.169.45]) by ietfa.amsl.com (Postfix) with ESMTP id 1107E21F857B for <idr@ietf.org>; Mon, 10 Dec 2012 09:52:32 -0800 (PST)
Received: from mdfmta004.tch.inty.net (unknown [127.0.0.1]) by mdfmta004.tch.inty.net (Postfix) with ESMTP id B8738AC4390; Mon, 10 Dec 2012 17:52:25 +0000 (GMT)
Received: from mdfmta004.tch.inty.net (unknown [127.0.0.1]) by mdfmta004.tch.inty.net (Postfix) with ESMTP id 8D05EAC438F; Mon, 10 Dec 2012 17:52:25 +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.tch.inty.net (Postfix) with ESMTP; Mon, 10 Dec 2012 17:52:25 +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 1Ti7Wi-0005gu-IW; Mon, 10 Dec 2012 17:52:24 +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> <068701cdd478$2cf01cf0$86d056d0$@highwayman.com> <CAEGVVtBy-zdLz8hVajLnuAqgzfgQHrseK4r-N9=pOZGtqV7LbA@mail.gmail.com>, <074d01cdd536$173f5830$45be0890$@highwayman.com> <9474D8DC-30FF-4C52-9504-15CBCC47E7D8@ericsson.com> <07df01cdd661$f28ef7c0$d7ace740$@highwayman.com> <36E98AE5-3EF8-4738-9982-42B9CA0BAAF5@rob.sh>, <005001cdd6da$099f1e90$1cdd5bb0$@highwayman.com> <828AAFF5-0260-4AA6-BBDC-6C1F69919837@ericsson.com>
In-Reply-To: <828AAFF5-0260-4AA6-BBDC-6C1F69919837@ericsson.com>
Date: Mon, 10 Dec 2012 17:52:19 -0000
Organization: Highwayman
Message-ID: <009001cdd6ff$1c982530$55c86f90$@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: AQHwJ9rDNhpCAk7gfRWZlMlTSLUu6QFwpw6KAjDRnx0CVlUcVAFHaBeAARUnQBoBYBPk8QGjHInVAU6Z2PwCWugrJwCjhW3CAl9IPxQBWty0zZcyouFA
Content-Language: en-gb
X-MDF-HostID: 17
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: Mon, 10 Dec 2012 17:52:35 -0000

Jakob Heitz wrote (on Mon 10-Dec-2012 at 16:31 +0000);
> If, at the time a bgp speaker detects a malformation in a received
> UPDATE, it has completely parsed at least one of:
> . Withdrawn routes section
> . NLRI

Sure.  The draft states that the 'Message Length', 'Withdrawn Routes
Length' and 'Total Attributes Length' must be consistent -- ie
correctly "framed".  And anything in the (vanilla IPv4 Unicast)
Withdrawn Routes and the NLRI sections must be internally consistent
prefixes.  So, if there is anything there, it can be parsed entirely
separately from the attributes.

> . MP_REACH
> . MP_UNREACH

For the receiver to have parsed one or both of these, the sender must
have sent them before the first malformed attribute.

If the sender is unchanged (which I recall you were keen on) how is it
certain that either or both these attributes will precede the first
broken one ?

> then it assumes that there are no more of these following.

So, the presence, say, of an MP_REACH_NLRI attribute is deemed to
guarantee that no MP_UNREACH_NLRI will follow ?

I can quite believe that, in practice, few BGP implementations (if
any) send more than one of the above forms of NLRI in a single UPDATE
message.

But that is not a requirement of the RFC or the draft -- so the
receiver is not (strictly speaking) entitled to assume it.

What is the receiver supposed to do if it has not found any NLRI at
the point that it hits a malformed attribute ?

> A capability to say so adds nothing.
> The router will behave exactly the same way.

So, the receiver scans the attributes, and on the first malformed one
it stops.  Yes ?  Or, perhaps it ploughs on to the end stepping past
malformed attributes, and truncating the final attribute if it
overruns the 'Total Attributes Length'.  Yes ?

If there are any NLRI visible (and valid), then they can all be
"treated-as-withdraw".  Yes ?

Any NLRI that might be in the UPDATE, but are not visible because of
the malformed attributes, are simply ignored.  Yes ?

OK... if that is the procedure, the capability is redundant.  [I take
issue with the procedure, but won't rehearse that, again, here.]

However, the draft comes out strongly against simply ignoring the NLRI
in a broken update.  The draft also requires session-reset if the NLRI
found in the UPDATE are not 100% valid.  The procedure I understand
you to be describing (and correct me if I have misunderstood) does not
appear to be consistent with that.

> Either way, human intervention is required to restore correct
> routing.

Sure.  I think the issue is how to avoid/minimise incorrect routeing
in the meantime.  Also, I kinda suspect that the human bean will be
greatly assisted if it is clear which NLRI have been affected (and
which definitely have not).

Chris