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

Pyun YongHyeon yongari at FreeBSD.org
Tue Apr 22 06:09:58 UTC 2008


yongari     2008-04-22 06:09:58 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/dev/re           if_re.c 
  Log:
  MFC if_re.c 1.112 to RELENG_7.
    In revision 1.70, 1.71 and 1.84 re(4) tried to workaround checksum
    offload bugs by manual padding for short IP/UDP frames. Unfortunately
    it seems that these workaround does not work reliably on newer PCIe
    variants of RealTek chips.
  
    To workaround the hardware bug, always pad short frames if Tx IP
    checksum offload is requested. It seems that the hardware has a
    bug in IP checksum offload handling. NetBSD manually pads short
    frames only when the length of IP frame is less than 28 bytes but I
    chose 60 bytes to safety. Also unconditionally set IP checksum
    offload bit in Tx descriptor if any TCP or UDP checksum offload is
    requested. This is the same way as Linux does but it's not
    mentioned in data sheet.
  
  Revision   Changes    Path
  1.95.2.16  +15 -13    src/sys/dev/re/if_re.c


More information about the cvs-src mailing list