Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jan 2004 13:18:26 +0100
From:      Andreas Moeller <andreas-moeller@gmx.net>
To:        hscholz@raisdorf.net
Cc:        current@FreeBSD.org
Subject:   Re: fxp(4) TCP checksum offloading
Message-ID:  <400BCB12.5060705@gmx.net>
In-Reply-To: <20040119122417.69b2fa94@goanna.raisdorf.net>
References:  <4009ADE7.2060101@gmx.net> <20040119122417.69b2fa94@goanna.raisdorf.net>

next in thread | previous in thread | raw e-mail | index | archive | help
>>I got an Intel PRO/100 S NIC (Intel 82550 chip) which supports TCP 
>>checksum offloading. I am also able to load the microcode necessary in
>>
>>order to activate that feature:
>>
>>fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
> 
> 
> That ain't TCP checksum offloading, that is IRQ mitigation.
> When using IRQ mitigation the FIFO buffer in the network card is used to
> 'delay' interrupts. Up to 6 packets will be buffered for up to 1000usec
> before raising an interrupt. In case more than one packet arrives during
> the 1000usec period only one interrupt is triggered instead of multiple
> thus reducing the time spend for context switching and handling the
> interrupts.

I understand. Thank you for explaining this to me. After further reading 
of the ifconfig(8) manual I assume that the fxp(4) driver doesn't 
support user-configuration of checksum offloading but enables this 
feature if it recognizes hardware capable of it. Is this correct?

My ifconfig(8) output looks as follows:

fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=3<RXCSUM,TXCSUM>
         inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
         inet6 fe80::202:b3ff:fe4c:9c32%fxp0 prefixlen 64 scopeid 0x1
         ether 00:02:b3:4c:9c:32
         media: Ethernet autoselect (100baseTX <full-duplex>)
         status: active

>>Unfortunately, when enabled, network connections (at least those based
>>
>>on TCP) start timing out while ping remains working flawlessly. The 
>>system in question is running latest -CURRENT source as of today.
> 
> 
> I cannot reproduce this problem since my box is running 1000baseSX.
> 
> As of 5.2-REL you have to enable the sshd and in case security is set to
> 'extreme' sshd won't be fired up. Do you have sshd_enable="YES" in
> /etc/rc.conf?

Yes I do, but I do not set any securelevel. When booting with IRQ 
mitigation enabled I have to hit ^C and abort the start of the ssh 
daemon because otherwise the boot process won't proceed.

>>Any ideas? (Is there a way to unload the microcode again besides 
>>rebooting the system?)
> 
> 
> $ ifconfig fxp0 -link0

Thanks!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?400BCB12.5060705>