Skip to contentSkip to conversation

tg3 issue with tcp checksums and vlan packets

DISCUSSION Vlad Yasevich 2 participants 3 messages Sep 16, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
Quoted 5 lines · Vlad Yasevich

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.

Are you disabling NETIF_F_HW_VLAN_CTAG_TX? I believe TX checksum and TSO won't work. We need to add some code to disable both when VLAN acceleration is disabled.

#2 lore raw
Quoted 12 lines · Michael Chan
Quoted 5 lines · Vlad Yasevich

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.

Are you disabling NETIF_F_HW_VLAN_CTAG_TX? I believe TX checksum and TSO won't work. We need to add some code to disable both when VLAN acceleration is disabled.

No, in this case, I am simply creating an 802.1ad vlan on top. Since tg3 doesn't provide ETIF_F_HW_VLAN_STAG_TX, we follow the non-accelerated path.

Currently the driver doesn't appear to be offer ability to disable vlan acceleration. However, if any software devices on top of the card do not support it for some reason, then the issue would be seen as well.

-vlad