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]
