Adi Masputra writes:
 > Andrew Gallatin writes:
 > 
 > > Hmm.. Here is another tactic:  What protocols will
 > > Solaris offload
 > > partial (GLD_CAP_CKSUM_PARTIAL) checksums for?  Just
 > > TCP and UDP, right?
 > 
 > Yes.
 > 
 > > If so, then I can tell TCP from UDP just by looking
 > > at the difference
 > > between the start and stuff that hcksum_retrieve()
 > > gives me.  If stuff
 > > - start == 6, then it must be UDP.
 > 
 > Yes.
 > 

Thanks.  In fact, it turns out that the bug I was trying to work
around (the potential to send a UDP over IPv6 packet with a zero
checksum) is not present in production firmware for our nic. Sorry to
waste your time!

However, there is one more thing I need to account for.  Our nic has a
"reasonable" limit as to how far into the frame the hcksum start/suff
can be (don't ask ...).  With multiple IPv6 headers, there could be a
case when start/stuff exceeds the limit, and the driver must give up
and calculate the checksum in software.

Am I allowed to call IP_CSUM from inet/ip.h?

Thanks,

Drew
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to