fxp(4) TCP checksum offloading

Andreas Moeller andreas-moeller at gmx.net
Mon Jan 19 04:18:32 PST 2004


>>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!


More information about the freebsd-current mailing list