uIP on WinPcapのhttpdがうまく動かない

uip.cのuip_tcpchksumの呼び出しをコメントアウトすると動く。
checksumがincorrect。
chksumは uip_arch.cにあって、正式にはuipの一部ではなくてサンプル扱い。
これを利用したのがまずかったか?
うーん?分からん・・・


Etherealで確かめたところ、やはりTCPのchecksumがincorrectだ。
Etherealレベルでchecksumが正しくないってのは、WinPcapの問題だと思って調べたら見つかりました。
こんなことやっているんだなぁ。知らなかった。

If the packets that have incorrect TCP checksums are all being sent by the machine on which Ethereal is running, this is probably because the network interface on which you're capturing does TCP checksum offloading. That means that the TCP checksum is added to the packet by the network interface, not by the OS's TCP/IP stack; when capturing on an interface, packets being sent by the host on which you're capturing are directly handed to the capture interface by the OS, which means that they are handed to the capture interface without a TCP checksum being added to them.