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

Remko Lodder remko at elvandar.org
Thu Mar 27 23:52:57 PDT 2008


On Fri, March 28, 2008 2:21 am, Pyun YongHyeon wrote:
> 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
>

Many thanks!! Great work :)

-- 
/"\   Best regards,                      | remko at FreeBSD.org
\ /   Remko Lodder                       | remko at EFnet
 X    http://www.evilcoder.org/          |
/ \   ASCII Ribbon Campaign              | Against HTML Mail and News




More information about the cvs-all mailing list