Re: Incremental update of TCP Checksum

From: Ihar 'Philips' Filipau
Date: Wed Sep 17 2003 - 09:06:17 EST


Richard B. Johnson wrote:

This is all wonderful. This assumes that the stuff being modified
in the packet is on well-defined boundaries, seldom the case when
you are re-writing packet data, but certainly the case if you
are re-writing an IP address.

Also, modern switches do not rewrite checksums using software.
^^^^^^^^
Therefore, they do not use a re-write algorithm as stated by
others. The checksum gets calculated "for free" during the
hardware transfer to an output holding FIFO. It is done using
an ASIC with the appropriate adder and "stumble-carry".


It depends on definition of software. It is so hard to draw parallel especially when what looks like controller runs some flavour of Linux from some embedded flash ;-)

Actually some switches do alter header _before_ they have received payload. Just to be able to start rx without waiting for payload to arrive completely. Sometimes low latencies (even on narrow bandwidth links) are _that_ important...

--
Ihar 'Philips' Filipau / with best regards from Saarbruecken.
- - - - - - - - - - - - - - - - - - - -
* Please avoid sending me Word/PowerPoint/Excel attachments.
* See http://www.fsf.org/philosophy/no-word-attachments.html
- - - - - - - - - - - - - - - - - - - -
There should be some SCO's source code in Linux -
my servers sometimes are crashing. -- People

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/