Here is a diff to enable the checksum offload support for bge(4). Looking for any testing.
Index: if_bge.c =================================================================== RCS file: /home/cvs/src/sys/dev/pci/if_bge.c,v retrieving revision 1.340 diff -u -p -r1.340 if_bge.c --- if_bge.c 25 Aug 2013 18:34:21 -0000 1.340 +++ if_bge.c 9 Sep 2013 18:42:29 -0000 @@ -2893,12 +2893,14 @@ bge_attach(struct device *parent, struct /* * 5700 B0 chips do not support checksumming correctly due * to hardware bugs. + * + * It seems all controllers have a bug that can generate UDP + * datagrams with a checksum value 0 when TX UDP checksum + * offloading is enabled. Generating UDP checksum value 0 is + * a violation of RFC 768. */ if (sc->bge_chipid != BGE_CHIPID_BCM5700_B0) - ifp->if_capabilities |= IFCAP_CSUM_IPv4; -#if 0 /* TCP/UDP checksum offload breaks with pf(4) */ - ifp->if_capabilities |= IFCAP_CSUM_TCPv4|IFCAP_CSUM_UDPv4; -#endif + ifp->if_capabilities |= IFCAP_CSUM_IPv4 | IFCAP_CSUM_TCPv4; if (BGE_IS_JUMBO_CAPABLE(sc)) ifp->if_hardmtu = BGE_JUMBO_MTU; -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.