Subject: Re: Intel i82547 performance problems in wm(4)
To: Matthias Scheler <tron@zhadum.de>
From: Mipam <mipam@ibb.net>
List: tech-net
Date: 07/16/2004 12:14:58
On Fri, 16 Jul 2004, Matthias Scheler wrote:

> On Fri, Jul 16, 2004 at 11:29:18AM +0200, Mipam wrote:
> > Suppose I've got a card which support tcp offloading. It'll be enabled by
> > default, ...
> 
> No, it won't, at least not with NetBSD.

Okay, clear.

> > however, when i run a firewall which manipulates several fields in the ip
> > and tcp  header i do not wish the card to perform offloading.
> 
> Why not? The card will calculate the correct checksum whether the firewall
> manipulated the packet or not. The firewall only has to cope with the
> fact that it will see outgoing packets with incorrect checksums.

But shouldnt tcp packets with incorrect tcp checksums be discarded 
according rfc 793, causing a firewall to drop such a packet?
And as for the benefits of offloading engines, on local networks with 
several cards which support offloading it can make a difference (large 
frames (if the switch supports them :-)), less interrupts) and so large 
tcp windows can make a difference.
On the internet jumbo frames dont work, so only checksum 
offloading can be done. But since that isnt such a complicated operation, 
it wont boost performance that much i guess, or maybe am i wrong?
And on broadcom cards i noticed several times that the udp checksum were 
set to 0 before transmitting the packet. This is not a problem with IPv4, 
but it is in IPv6, but maybe it wont set the udp csum to 0 in that case 
(didnt test that).

> > Is it allowed to disable this by somethig like
> > ifconfig wm0 -ip4csum -tcp4csum -udp4csum link0 media autoselect
> > or isnt it?
> 
> Yes, but it's not necessary. Offloading will be disabled by default unless
> you manually disable it.

Bye,

Mipam.