Peter Memishian writes:
 > 
 >  > 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?
 > 
 > Generally speaking: if it's not in the DDI, it's not safe to use it.  That
 > said, we are always open to requests to add useful interfaces to the DDI.

If I'm going to request something, it should probably be a bit
more complete.   Both linux and MacOSX have functions which a driver
can call in this situation.  MacOSX calls it mbuf_outbound_finalize(),
and it is documented here:

http://developer.apple.com/documentation/Darwin/Reference/KPI_Reference/kpi_mbuf/CompositePage.html#//apple_ref/c/func/mbuf_outbound_finalize

I would think that a DDI interface might want to be more like this..

Thanks,

Drew
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to