Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard

Curtis Villamizar <curtis@ipv6.occnc.com> Tue, 28 January 2014 01:29 UTC

Return-Path: <curtis@ipv6.occnc.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 24E7F1A0345; Mon, 27 Jan 2014 17:29:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.437
X-Spam-Level:
X-Spam-Status: No, score=-2.437 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.535, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 BMkI_-i-Yuax; Mon, 27 Jan 2014 17:29:21 -0800 (PST)
Received: from maildrop2.v6ds.occnc.com (maildrop2.v6ds.occnc.com [IPv6:2001:470:88e6:3::232]) by ietfa.amsl.com (Postfix) with ESMTP id 6DC941A00A7; Mon, 27 Jan 2014 17:29:21 -0800 (PST)
Received: from harbor3.ipv6.occnc.com (harbor3.v6ds.occnc.com [IPv6:2001:470:88e6:3::239]) (authenticated bits=128) by maildrop2.v6ds.occnc.com (8.14.7/8.14.7) with ESMTP id s0S1TGY5099912; Mon, 27 Jan 2014 20:29:16 -0500 (EST) (envelope-from curtis@ipv6.occnc.com)
Message-Id: <201401280129.s0S1TGY5099912@maildrop2.v6ds.occnc.com>
To: Joe Touch <touch@isi.edu>
From: Curtis Villamizar <curtis@ipv6.occnc.com>
In-reply-to: Your message of "Mon, 27 Jan 2014 11:24:34 -0800." <52E6B272.4030703@isi.edu>
Date: Mon, 27 Jan 2014 20:29:16 -0500
Cc: joel jaeggli <joelja@bogus.com>, "mpls@ietf.org" <mpls@ietf.org>, IETF discussion list <ietf@ietf.org>
Subject: Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: curtis@ipv6.occnc.com
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jan 2014 01:29:24 -0000

In message <52E6B272.4030703@isi.edu>
Joe Touch writes:
 
> On 1/27/2014 11:19 AM, Joel M. Halpern wrote:
> > Yes Joe, routers could ahve been built to do those calcualtions at that
> > performance scale.
> > There are however two major problems:
> >
> > 1) That is not how routers are built.
> > 2) The target performance scale is rather higher.
> >
> > So could someone build an ASIC to do what you want?
>  
> Has. It's already part of nearly every DMA ASIC in a network interface
> already.

There is no DMA ASIC in these designs.  There is no shared memory to
DMA from.  A router is not a specialized PC.

At any one point in time the best DMA ASICs run at a fraction of the
speed of forwarding ASICs of that same era.  Some forwarding ASICs
through parallelism or pipelining (or both) can forward a packet in
under ten clock ticks of the ASIC.  [The best forwarding chips today
are technically not ASICs but custom silicon though they are still
often called forwarding ASICs.]

BTW - the PCIe FCS is at the end of the transmission not the front so
the DMA ASIC doesn't have to read memory twice, the first time to
compute a checksum to put at the front.

>  > Probably.  Is there
> > any reason in the world to expect operators to pay the significant extra
> > cost for such?Not that I can see.
>  
> We're talking about a ring of full adders, the specs for which are
> given in an RFC that's 18 years old, and that is already implemented
> in nearly every host interface, including 10Gps NICs.
>  
> And we're talking about "routers", many variants of which operate at
> very high speeds and transparently proxy TCP already. So this is a
> solved problem.

See prior email.  They don't need to look at the payload to modify IP
or TCP headers and then update the checksum.

> > And even if we could and they would, that is not the world into which we
> > are deploying these tunnels.
>  
> We're back to "that's not what they do now", at least in some devices.
>  
> Well, they don't use MPLS in UDP (since no spec exists), so clearly if
> they're limited to doing what they already do, this is an exercise in
> futility.
>  
> Joe

You seem to be missing the point that MPLS over UDP is not considered
a good solution going forward on which to base the design of new
hardware, but rather an interim solution to accomodate old hardware
that doesn't load split MPLS traffic.

In any case, two passes, one to compute a checksum and put it on the
front, would increase latency.  If anything UDP-Heavy with an FCS at
the end would be used, even though two FCS is considered bad form.

Curtis


> > Yours,
> > Joel
> >
> > On 1/27/14 1:53 PM, Joe Touch wrote:
> >>
> >>
> >> On 1/27/2014 10:48 AM, joel jaeggli wrote:
> >>> On 1/27/14, 8:48 AM, Joe Touch wrote:
> >>>> Those same mechanisms have provided hardware checksum support for a
> >>>> very long time.
> >>>
> >>> The new header and the payload are actually in different parts of the
> >>> forwarding complex until they hit the output queue, you can't checksum
> >>> data you don't have.
> >>
> >> You can (and some do) the checksum component parts when things go into
> >> memory; the partial sums can be added as the parts are combined in the
> >> output queue.
> >>
> >> I appreciate that we're all taking about what might be done, but the
> >> reality is that there are many 'transparent TCP proxies' that have to do
> >> this, so there's clearly a solution, and it clearly runs fast enough.
> >>
> >> Joe