Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Mar 2008 01:21:21 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/re if_re.c
Message-ID:  <200803280121.m2S1LMId004496@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
yongari     2008-03-28 01:21:21 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/re           if_re.c 
  Log:
  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.
  
  Obtained from:  NetBSD
  Tested by:      remko, danger
  
  Revision  Changes    Path
  1.112     +15 -13    src/sys/dev/re/if_re.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803280121.m2S1LMId004496>