Hi, It was known that bge(4) generated wrong TCP/UDP checksum when the frame length was less then 60 bytes. So bge(4) implemented padding workaround for such runt frames. bge(4) also ignored H/W assisted TCP/UDP checksum result when the length of received frame was less than 60 bytes. This workaround came from NetBSD about 7 years ago. Recently I started to wonder why bge(4) needs such workaround given that 1) publicly available data sheet does not mention the issue and 2) Linux tg3 does not have any workaround for the issue. I also asked the question to Broadcom and I was told that they(both Linux and Windows software developers) can't recall they have the issue. Linux does not use IP checksum offloading feature of controller so it's possible for the controller to have IP checksum offloading issue on runt frames. But I was not able to reproduce the issue on my box. Here is the patch that removes the workaround in bge(4). http://people.freebsd.org/~yongari/bge/bge.csum.diff The diff was generated against HEAD but it will also apply cleanly to stable/9. If you use bge(4) devices, please give it a whirl and let me know how well it works on your configuration. Thanks.Received on Thu Aug 29 2013 - 23:46:33 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:40 UTC