Thanks. I resolved the issue by forcing BGE_PCI_WRITE_BNDRY_16BYTES in BGE_PCI_DMA_RW_CTL register. The linux driver apparently has a DMA test code and sets this value depending on the test results. I have no clue as to why this configuration messes up TCP receive packets and not UDP packets.
John On Fri, 11 Oct 2002, Andrew Gallatin wrote: > > Hyong-Youb Kim writes: > > > > I have been recently testing 3C996B-T board in an Athlon system. > > The system has TigerMP board and a single Athlon 2000+ and runs FreeBSD > > 4.7-RC. With bge driver, every thing works fine except that the NIC piles > > up bad checksums on TCP receive packets. For instance, > > netperf TCP_STREAM from another machine would pile up bad checksums. > > What is most amazing to me is that NIC works fine with UDP receive > > packets. As far as I have experienced, TCP/UDP checksumming in NIC should > > have little or no difference. Too bad that the firmware is under NDA. > > > > Which RC? Try updating to -stable (or 4.7-release) and then > try applying the patch in rev 1.21 (disable memory write invalidate). > > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.c.diff?r1=1.20&r2=1.21 > > > Drew > To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-net" in the body of the message