Subject: tg3 issue with tcp checksums and vlan packets

From: Vlad Yasevich <[email-masked]>
Date: Tue, 16 Sep 2014 12:43:21 -0400

Prashant and Michael

I am seeing a strange issue with tg3 driver when I try to pass to it tcp packets
that have partial checksums and inline (non-accelerated) vlan header.

Looking at the packet at the receiver, it appears as if the tcp checksum is never
updated.  If I strip the vlan header and set vlan_tci, then everything works ok.

You can easily reproduce this by configuring 802.1ad vlans on top of tg3 device.
This will force software tagging, tg3 will not fix checksums and tcp connections
will not be established.

I've looked at tg3 driver and it doesn't look like it tries to pass any checksum
offsets to the nic/firmware.  So it looks like a possible firmware issue.

Can you please take a look.

Thanks
-vlad