cvs commit: src/sys/dev/re if_re.c

Bill Paul wpaul at FreeBSD.org
Thu Jan 25 17:30:31 UTC 2007


wpaul       2007-01-25 17:30:30 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/re           if_re.c 
  Log:
  The TCP checksum offload handling in the 8111B/8168B and 8101E PCIe can
  apparently be confused by short TCP segments that have been manually
  padded to the minimum ethernet frame size. The driver does short frame
  padding in software as a workaround for a bug in the 8169 PCI devices
  that causes short IP fragments to be corrupted due to an apparent
  conflict between the hardware autopadding and hardware IP checksumming.
  
  To fix this, we avoid software padding for short TCP segments, since
  the hardware seems to autopad and checksum these correctly (even the
  older 8169 NICs get these right). Short UDP packets appear to be
  handled correctly in all cases. This should work around the IP header
  checksum bug in the 8169 while not tripping the TCP checksum bug in
  the 8111B/8168B and 8101E.
  
  Revision  Changes    Path
  1.84      +6 -1      src/sys/dev/re/if_re.c


More information about the cvs-src mailing list