Sebastien Roy wrote:
> Cathy Zhou wrote:
>> I am adding this in the PSARC fast-track, and the diffs are posted 
>> below. The following link is also updated
>>
>> http://opensolaris.org/os/project/clearview/uv_addendum_fasttrack
>
> ...
>
>> +    ** HCKSUM_VLANCKSUM bit of MAC_CAPAB_HCKSUM
>> +
>> +       The HCKSUM_VLANCKSUM bit can be set in combination with other
>> +       MAC_CAPAB_HCKSUM bits (HCKSUM_INET_PARTIAL, HCKSUM_INET_FULL_V4,
>> +       HCKSUM_INET_FULL_V6, or/and HCKSUM_IPHDRCKSUM), to indicate that
>> +       a MAC is capable of doing the specified hardware checksum 
>> offloading
>> +       for VLAN frames.
>
> Can you add to the specification an explanation of why this is needed? 
> In other words, GLDv3 previously (wrongly) assumed that all devices 
> which claimed to support various flavors of hardware checksum offload 
> could so with VLAN-tagged frames.  This flag is presumably needed for 
> some potential drivers out there that do hardware checksum, but only 
> for non-vlan-tagged frames (correct?).
>
> Do we know of any such drivers offhand?

Furthermore, since its apparently easy to deal with restrictions on RX, 
its only a problem for drivers that have this restriction on the TX side.

I still believe that a much better solution would be to offer drivers a 
way to "Punt" on a packet.  E.g. HME/QFE cannot offload checksum for 
tiny packets due to a chip bug.  I suspect other chips might have 
problems offloading checksum for packets that have other physical 
properties (crossing a page boundary for jumbo frames, or maybe frames 
that need to use scatter/gather DMA?)

While we're talking about checksum, there is still also the case that 
most (all?) Sun NICs don't do UDP checksum offload properly... that is 
they cannot deal properly with the case where the IP checksum result is 
0.  UDP requires that the value 0xffff be stashed instead (which is 
different from TCP), with the result that non-conformant frames may be 
put on the wire.

To deal with this, I believe that we really need to separate partial 
checksum calculation for TCP vs. UDP.

    -- Garrett
>
> -Seb

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to