ietf
[Top] [All Lists]

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

2014-01-28 10:23:59

In message <52E6B272(_dot_)4030703(_at_)isi(_dot_)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

<Prev in Thread] Current Thread [Next in Thread>