| From foo@baz Wed May 31 09:13:34 JST 2017 |
| From: Vlad Yasevich <vyasevich@gmail.com> |
| Date: Tue, 23 May 2017 13:38:42 -0400 |
| Subject: be2net: Fix offload features for Q-in-Q packets |
| |
| From: Vlad Yasevich <vyasevich@gmail.com> |
| |
| |
| [ Upstream commit cc6e9de62a7f84c9293a2ea41bc412b55bb46e85 ] |
| |
| 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: Vladislav Yasevich <vyasevic@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/emulex/benet/be_main.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/emulex/benet/be_main.c |
| +++ b/drivers/net/ethernet/emulex/benet/be_main.c |
| @@ -5144,9 +5144,11 @@ static netdev_features_t be_features_che |
| 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; |