]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
be2net: Fix offload features for Q-in-Q packets
authorVlad Yasevich <vyasevich@gmail.com>
Tue, 23 May 2017 17:38:42 +0000 (13:38 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Tue, 11 Jul 2017 07:10:05 +0000 (00:10 -0700)
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.

Orabug: 26403655

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: Vladislav Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kirtikar Kashyap <kirtikar.kashyap@oracle.com>
Reviewed-by: Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
drivers/net/ethernet/emulex/benet/be_main.c

index c3a2cf03520382d7333076f127b00cbc7e85fd25..c6ec7c2a7880b25a7013c4084c4db21a5760204f 100644 (file)
@@ -5052,9 +5052,11 @@ static netdev_features_t be_features_check(struct sk_buff *skb,
        struct be_adapter *adapter = netdev_priv(dev);
        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.
         */
+       features = vlan_features_check(skb, features);
        if (!skb->encapsulation ||
            !(adapter->flags & BE_FLAGS_VXLAN_OFFLOADS))
                return features;