Commit cc6e9de6 authored by Vlad Yasevich's avatar Vlad Yasevich Committed by David S. Miller

be2net: Fix offload features for Q-in-Q packets

At least some of the be2net cards do not seem to be capabled
of performing checksum offload computions on Q-in-Q packets.
In these case, the recevied checksum on the remote is invalid
and TCP syn packets are dropped.

This patch adds a call to check disbled acceleration features
on Q-in-Q tagged traffic.

CC: Sathya Perla <sathya.perla@broadcom.com>
CC: Ajit Khaparde <ajit.khaparde@broadcom.com>
CC: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
CC: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: default avatarVladislav Yasevich <vyasevic@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 35d2f80b
...@@ -5078,9 +5078,11 @@ static netdev_features_t be_features_check(struct sk_buff *skb, ...@@ -5078,9 +5078,11 @@ static netdev_features_t be_features_check(struct sk_buff *skb,
struct be_adapter *adapter = netdev_priv(dev); struct be_adapter *adapter = netdev_priv(dev);
u8 l4_hdr = 0; u8 l4_hdr = 0;
/* The code below restricts offload features for some tunneled packets. /* The code below restricts offload features for some tunneled and
* Q-in-Q packets.
* Offload features for normal (non tunnel) packets are unchanged. * Offload features for normal (non tunnel) packets are unchanged.
*/ */
features = vlan_features_check(skb, features);
if (!skb->encapsulation || if (!skb->encapsulation ||
!(adapter->flags & BE_FLAGS_VXLAN_OFFLOADS)) !(adapter->flags & BE_FLAGS_VXLAN_OFFLOADS))
return features; return features;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment