cvs commit: src/sys/netinet/libalias alias_ftp.c alias_irc.c alias_local.h alias_proxy.c alias_skinny.c alias_smedia.c alias_util.c

Luigi Rizzo rizzo at icir.org
Mon Jun 27 15:31:01 GMT 2005


On Mon, Jun 27, 2005 at 06:21:55PM +0300, Ruslan Ermilov wrote:
...
> Why can't we just say that checksum offloading is incompatible
> with NAT (like with many other things), and do the software
> checksum calculations in libalias?

actually the more i see it the more i think checksum offloading
is a disgrace rather than a performance boost.

it needs a lot of special cases throughout the protocol stack
to be supported properly, which constitutes extra overhead
with low-end hardware which does not support the offloading;

it does not pay on small packets such as acks where you have
to touch the whole packet anyways;

some hardware needs the checksum engine to be reprogrammed when
changing protocol type (tcp <-> udp) which require extra I/O
cycles on the bus that are expensive;

some hardware has broken checksum engines;

	cheers
	luigi


More information about the cvs-src mailing list