Date: Fri, 12 Mar 2010 18:41:41 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/msk if_msk.c if_mskreg.h Message-ID: <201003121841.o2CIfml8095090@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2010-03-12 18:41:41 UTC
FreeBSD src repository
Modified files:
sys/dev/msk if_msk.c if_mskreg.h
Log:
SVN rev 205091 on 2010-03-12 18:41:41Z by yongari
Implement Rx checksum offloading for Yukon EC, Yukon Ultra,
Yukon FE and Yukon Ultra2. These controllers provide very simple
checksum computation mechanism and it requires additional pseudo
header checksum computation in upper stack. Even though I couldn't
see much performance difference with/without Rx checksum offloading
it may help notebook based controllers.
Actually controller can compute two checksum value by giving
different starting position of checksum computation on received
frame. However, for long time, Marvell's checksum offloading engine
have been known to have several silicon bugs so don't blindly trust
computed partial checksum value. Instead, compute partial checksum
twice by giving the same checksum computation position and compare
the result. If the value is different it's clear indication of
hardware bug. This configuration lose IP checksum offloading
capability but I think it's better to take safe route.
Note, Rx checksum offloading for Yukon XL was still disabled due to
known silicon bug.
Revision Changes Path
1.90 +203 -47 src/sys/dev/msk/if_msk.c
1.37 +1 -0 src/sys/dev/msk/if_mskreg.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003121841.o2CIfml8095090>
