[net] octeontx2-pf: Fix TSOv6 offload
Commit Message
From: Sunil Goutham <sgoutham@marvell.com>
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>
---
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
Comments
Hello:
This patch was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:
On Thu, 18 May 2023 12:10:42 +0530 you wrote:
> From: Sunil Goutham <sgoutham@marvell.com>
>
> 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'.
>
> [...]
Here is the summary with links:
- [net] octeontx2-pf: Fix TSOv6 offload
https://git.kernel.org/netdev/net/c/de678ca38861
You are awesome, thank you!
@@ -652,9 +652,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);