|
@@ -986,8 +986,13 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter,
|
|
|
th->seq = htonl(seq_number);
|
|
|
length = skb->len;
|
|
|
|
|
|
- if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP)
|
|
|
+ if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP) {
|
|
|
skb_shinfo(skb)->gso_size = qlcnic_get_lro_sts_mss(sts_data1);
|
|
|
+ if (skb->protocol == htons(ETH_P_IPV6))
|
|
|
+ skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6;
|
|
|
+ else
|
|
|
+ skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4;
|
|
|
+ }
|
|
|
|
|
|
if (vid != 0xffff)
|
|
|
__vlan_hwaccel_put_tag(skb, vid);
|