Re: [6MAN] draft-ietf-6man-oversized-header-chain-02 (was Re: Re: draft-ietf-6man-ext-transmit-01)

Warren Kumari <warren@kumari.net> Mon, 10 June 2013 15:03 UTC

Return-Path: <warren@kumari.net>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D1C0E21E804C for <ipv6@ietfa.amsl.com>; Mon, 10 Jun 2013 08:03:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.584
X-Spam-Level:
X-Spam-Status: No, score=-101.584 tagged_above=-999 required=5 tests=[AWL=1.015, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fc67HheHKuhF for <ipv6@ietfa.amsl.com>; Mon, 10 Jun 2013 08:03:55 -0700 (PDT)
Received: from vimes.kumari.net (smtp1.kumari.net [204.194.22.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7A48021F9005 for <ipv6@ietf.org>; Mon, 10 Jun 2013 08:03:51 -0700 (PDT)
Received: from [192.168.1.153] (unknown [66.84.81.108]) by vimes.kumari.net (Postfix) with ESMTPSA id 302F91B401CE; Mon, 10 Jun 2013 11:03:36 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
Subject: Re: [6MAN] draft-ietf-6man-oversized-header-chain-02 (was Re: Re: draft-ietf-6man-ext-transmit-01)
From: Warren Kumari <warren@kumari.net>
In-Reply-To: <51B55698.7050307@gmail.com>
Date: Mon, 10 Jun 2013 11:03:35 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <510D1209-7F9E-42AA-B790-A418CBF2959D@kumari.net>
References: <51B0B581.7020203@globis.net> <1370535649.98609.YahooMailNeo@web2805.biz.mail.ne1.yahoo.com> <51B0EC7B.1090904@si6networks.com> <51B0EED6.6020200@bogus.com> <51B0F3E6.4010006@globis.net> <51B2F59A.3090003@bogus.com> <51B4865D.2000207@si6networks.com> <51B4B216.5050205@gmail.com> <51B55698.7050307@gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
X-Mailer: Apple Mail (2.1503)
Cc: ipv6@ietf.org
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Jun 2013 15:04:02 -0000

On Jun 10, 2013, at 12:31 AM, Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:

> On 10/06/2013 04:49, Tom Taylor wrote:
>> On 09/06/2013 9:42 AM, Fernando Gont wrote:
> 
> ...
>>> I guess having a L4-pointer would have helped quite a lot.
>>> 
>>> Cheers,
>>> 
>> Would it be practical to define a HBH option that has an L4 pointer and
>> assign a fixed order to it?
> 
> http://tools.ietf.org/html/draft-zhang-6man-offset-option-01
> 
> It didn't fly in this WG at the time.

The issue is that, in order to be able to see header X you need to push all the bits up to header X onto the forwarding engine. Having a header that says "The L4 header is at byte 142" simply pushes the L4 out by another 8 bytes, exacerbating the problem.

This issue is:
1: In order to make a decision on header X the forwarding / filtering engine needs to see header X
2: This require pushing at least <number of bytes from start of packet to end of header X> up to the forwarding engine in a  "cell".
3: Bandwidth into the forwarding engine is expensive / limited, and storage on the forwarding engine is expensive (this is not DRAM ;-))
4: As you don't know (until you've looked) how far into the packet header X is, you need to choose some number and ship that many bytes to the forwarding engine.
5: Having a header that points at the L4 info doesn't help -- by the time you can see it you've already sucked the bits onto the engine. 
6: Having additional logic that "prescreens" the packets looking for a pointer header *could* possibly work, but that is much of the forwarding engine logic - see #3.

Choosing the optimum cell size is the tricky bit. If you increase the cell size you vastly increase cost -- if your competitors don't do the same, you've priced yourself out of the market. 

We are planning on updating the long-headers draft / publishing another "implementers guide" draft that suggests 128 or 256 bytes (as a straw man). This will hopefully be something that major vendors will sign up for.

W


>   Brian
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
> 

--
It's a mistake trying to cheer up camels. You might as well drop meringues into a black hole. -- Terry Prachett