tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: hme(4) hardware RX checksum
darrenr%NetBSD.org@localhost wrote:
> Have you read this:
> http://gdamore.blogspot.com/2007/08/hme-checksum-limitations.html
>
> You might want to follow up with Garrett directly, to see
> if he has any tips/comments on the hardware itself.
Hmm, it mentions TX hwsum and I just tweaked RX hwsum.
Anyway, our hme(4) driver (and hardware?) only supports
dumb TX csum for TCP and UDP (not for IP header csum),
and I guess most TCP packets always >64 bytes in these days.
I also tested some UDP packets but can't see wrong sums on RX side,
though I could be wrong.
> > Currently hme(4) and gem(4) have the similar code which decodes
> > RX packet headers to adjust (deducting IP option sum etc.)
> > a dumb checksum data provided by hardware.
> > fxp(4) (i82559) also has the similar RX checksum hardware so
> > I wonder how we can share a common function to decode RX packets
> > for such dumb RX M_CSUM_DATA checksums.
> ...
>
> With respect to this question, yes, it seems that it might
> be a worthwhile idea for this functionality to bubble up
> into the common ethernet code.
Currently the following device use the functionality:
sys/dev/ic/gem.c
sys/dev/ic/hme.c
sys/dev/ic/i82557.c
sys/arch/sgimips/mace/if_mec.c
We'll have to consider to define an MI API after
we will see another quirk in 5th one... (msk(4) etc?)
The common function will take RX mbuf and return
a usability of the dumb sum (TCP/UDP/not applicable) and
an offset of data in the packet for the actual sum?
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index