octeontx2-pf: Fix TSOv6 offload
commitde678ca388
upstream. HW adds segment size to the payload length in the IPv6 header. Fix payload length to just TCP header length instead of 'TCP header size + IPv6 header size'. Fixes:86d7476078
("octeontx2-pf: TCP segmentation offload support") Signed-off-by: Sunil Goutham <sgoutham@marvell.com> Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
114657365c
commit
79081b3f48
|
@ -574,9 +574,7 @@ static void otx2_sqe_add_ext(struct otx2_nic *pfvf, struct otx2_snd_queue *sq,
|
||||||
htons(ext->lso_sb - skb_network_offset(skb));
|
htons(ext->lso_sb - skb_network_offset(skb));
|
||||||
} else if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) {
|
} else if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) {
|
||||||
ext->lso_format = pfvf->hw.lso_tsov6_idx;
|
ext->lso_format = pfvf->hw.lso_tsov6_idx;
|
||||||
|
ipv6_hdr(skb)->payload_len = htons(tcp_hdrlen(skb));
|
||||||
ipv6_hdr(skb)->payload_len =
|
|
||||||
htons(ext->lso_sb - skb_network_offset(skb));
|
|
||||||
} else if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) {
|
} else if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) {
|
||||||
__be16 l3_proto = vlan_get_protocol(skb);
|
__be16 l3_proto = vlan_get_protocol(skb);
|
||||||
struct udphdr *udph = udp_hdr(skb);
|
struct udphdr *udph = udp_hdr(skb);
|
||||||
|
|
Loading…
Reference in New Issue