summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil Goutham <sgoutham@marvell.com>2023-05-18 12:10:42 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-30 13:55:31 +0100
commit79081b3f489abf7dfb4a455b623a7af80aed1430 (patch)
tree57d94e956de8857800d6563aef706e2ef5943466
parent114657365c8813c3357db20c5b89a79e5d1463f4 (diff)
downloadlinux-79081b3f489abf7dfb4a455b623a7af80aed1430.tar.gz
linux-79081b3f489abf7dfb4a455b623a7af80aed1430.tar.bz2
linux-79081b3f489abf7dfb4a455b623a7af80aed1430.zip
octeontx2-pf: Fix TSOv6 offload
commit de678ca38861f2eb58814048076dcf95ed1b5bf9 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: 86d7476078b8 ("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>
-rw-r--r--drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
index 3f3ec8ffc4dd..d1e3928a24f5 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
@@ -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));
} else if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) {
ext->lso_format = pfvf->hw.lso_tsov6_idx;
-
- ipv6_hdr(skb)->payload_len =
- htons(ext->lso_sb - skb_network_offset(skb));
+ ipv6_hdr(skb)->payload_len = htons(tcp_hdrlen(skb));
} else if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) {
__be16 l3_proto = vlan_get_protocol(skb);
struct udphdr *udph = udp_hdr(skb);