ip_input - chksum - why is it done so early in ip_input?

Sten Daniel Sørsdal sten.daniel.sorsdal at wan.no
Fri Jan 16 15:50:16 PST 2004


Apologies for the cross-post, i wasnt sure if this was hackers or net material.

I've often wondered why ip checksumming is done on every incoming 
packet and not only on the packets that need to be delivered locally.
It looks like a very expensive way of doing it, especially on high
PPS. Basically all hosts do checksumming so why not just pass the bad
packet on, making the forward process alot cheaper (cpu wise)?

I ran some tests (unable to disclose results) by removing it completely
and it seems to make a noticable impact on the performance.
Especially on for example gaming services where there is a high PPS versus
actual data.

Besides that i'd like to add that FreeBSD has the fastest forwarding engine
i've seen on any free OS. It's in my opinion a very suitable OS for 
routing/forwarding.


_// Sten







More information about the freebsd-net mailing list