Re: [nvo3-dt-encap] [nvo3] Encap draft published by design team

Joe Touch <touch@isi.edu> Thu, 09 February 2017 21:11 UTC

Return-Path: <touch@isi.edu>
X-Original-To: nvo3-dt-encap@ietfa.amsl.com
Delivered-To: nvo3-dt-encap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F9CE1295C5; Thu, 9 Feb 2017 13:11:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qg14xghzgprC; Thu, 9 Feb 2017 13:11:00 -0800 (PST)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19C911295BC; Thu, 9 Feb 2017 13:10:55 -0800 (PST)
Received: from [128.9.184.104] ([128.9.184.104]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id v19LAWoL014701 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 9 Feb 2017 13:10:33 -0800 (PST)
To: Tom Herbert <tom@herbertland.com>
References: <CA+C0YO0yz4KBe=w+EXHVBA=XWErRAtTzdCNsca7h-BjJ2Bwdxg@mail.gmail.com> <c7bdff0f-2f6a-c6e6-8bc5-15859b376ab8@isi.edu> <CALx6S37N7Gt5zcCOj0OXSQLXaRc=fvC_LjkbRzppSnNA=fD7PA@mail.gmail.com> <9b06d694-4931-17a8-d721-c7971fe6b662@isi.edu> <CALx6S37qgL4oD8LFv-GiBi-5innUrnOzekWcDTErJnrSwgrsXA@mail.gmail.com>
From: Joe Touch <touch@isi.edu>
Message-ID: <8f73bfee-9ddc-5298-7b6f-b23a5e585871@isi.edu>
Date: Thu, 09 Feb 2017 13:10:33 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0
MIME-Version: 1.0
In-Reply-To: <CALx6S37qgL4oD8LFv-GiBi-5innUrnOzekWcDTErJnrSwgrsXA@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------B1198AFEB1C0A2573F03B823"
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3-dt-encap/rHQ671uXyoum6tYQ_MwYnSSLh7c>
X-Mailman-Approved-At: Sun, 12 Feb 2017 08:30:24 -0800
Cc: Sam Aldrin <aldrin.ietf@gmail.com>, "nvo3@ietf.org" <nvo3@ietf.org>, nvo3-chairs@ietf.org, nvo3-dt-encap@ietf.org
Subject: Re: [nvo3-dt-encap] [nvo3] Encap draft published by design team
X-BeenThere: nvo3-dt-encap@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Private mailing list for internal NVO3 Encapsulation Design Team discussions <nvo3-dt-encap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nvo3-dt-encap>, <mailto:nvo3-dt-encap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nvo3-dt-encap/>
List-Post: <mailto:nvo3-dt-encap@ietf.org>
List-Help: <mailto:nvo3-dt-encap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nvo3-dt-encap>, <mailto:nvo3-dt-encap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Feb 2017 21:11:03 -0000


On 2/9/2017 12:05 PM, Tom Herbert wrote:
>> Otherwise, the only way to know where the Nth TLV field starts is to
>> parse through the N-1th, which - recursively - reduces to requiring
>> iterative processing.
>>
> Yes, and iterative processing of an open ended list of TLVs is still
> hard to do in hardware _and_ software and in fact is an obvious DOS
> vector. Last I checked OpenFlow, P4, and eBPF don't fully implement
> loops that are needed to process an arbitrary list of TLVs (they
> resolved this through some hackery and artificial constraints). The
> unlimited flexibility of TLVs does not come without a cost...
Wouldn't the obvious solution be to let the entire encapsulation
protocol be negotiated by the endpoints anyway?

I.e., take the specification of that protocol out of purview of NVO3?
The only thing NVO3 needs to do is:

    - develop a negotiation protocol
    - indicate how to use some subset of encapsulations

If the key issue here is the debate between bitfield and TLV, that
should be taken off the table as an issue.

Joe