From nobody Sun Feb 8 19:35:54 2026 Received: from mail-yw1-f195.google.com (mail-yw1-f195.google.com [209.85.128.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AADA11E32D6 for ; Fri, 23 Jan 2026 18:11:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769191879; cv=none; b=aW6+0+1lU/WKSFjP6nesOuWVnJf3D3amtxrNgcNqsX2pPp+vOPOyxykxsuPC4/Py6AzJOx+X/CwZUd0A/6gmd28bbGlSOyPEMnc/nBBVsyYyDl5hxowh4awed3/VpLr51Sz99czhrDLT+VuvFPRmvA/Rw2dFryaFcrKu4s/hLjg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769191879; c=relaxed/simple; bh=rbyuRl0CtZEs5ZW7M89mRSqeuBOzP9MSDPqte6rZ5RA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=nnpzEguq2xxYLiF/lyfDqX3rGzABglN/PgC6oIqhSLc5iAe1VeFKJVdNYW/uxydHqSfjZHoRLQp0GZRdOveocvakxQQjsd7AxM60qImPXiCLvqzyG2jCrvy63QmgWOwbsgLOC3MDT1L4w/Ndbnw17+CwDYnU4UgyaTb012CIJiU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dU2thMlz; arc=none smtp.client-ip=209.85.128.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dU2thMlz" Received: by mail-yw1-f195.google.com with SMTP id 00721157ae682-7942b9663f8so22822457b3.2 for ; Fri, 23 Jan 2026 10:11:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769191877; x=1769796677; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=6UfqpNln2Xw2ohSKjImjbWhBfKeJgPKNjFydxNKV3vE=; b=dU2thMlzwZp8u5AnhoycLvsx5zBCWMfDQgQ578h68Y2HiuYVe34Aviu4x577BBjVgr lItbY4XBRuyeBke79fagdJgKK7OqV0ZsljCmtSd6AKT5iUWprHEJsqjL8YDvIU+x999T TKIj8VQdB1pGC6yvxg9CEDtwjBKIbclidP4r/ejDuQ5kuyqtzsHGtJk1Cao1PrP7OWQb nYiOFvnvqqZuDaHwgMnWi4+qdW3Uz9Uv9LFt0p5zuoDZORShpfB6HwbNZlZ+tld6/7dx ZJrLmx+3QTsqlQifEN9GWrOO5wFL5jEEK6cSkEFsz6a2MbCwYnC827Vs/81ctprgkRyN IxcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769191877; x=1769796677; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=6UfqpNln2Xw2ohSKjImjbWhBfKeJgPKNjFydxNKV3vE=; b=hhCy+x79WvLJkeLJ4xWegPic+dE5bGKOb1Mrno9/PTGEacOvyU0na9HzZq/bPNgAsW j58Y6an3cDQX46ZQzJCLkXYQjIkwzhuzEb+HGZQP+aUfOntOFJNY5jr/xJJr6hGwi++v rXQHjALvKeJwApZbvepZoCR2By1ndkTfJ9o7cO7uxY34Iulsdm+5NC9GEIqAn82wVTT/ mVWcgUwE6K1TPhon38vn/op9v4PyGOPepr3klxmIiVRmXIAdj5X47zR2HyKmtUe5vjG/ +Cq8eYsXQB3XgJ7vyUmzdKS2iBB1n+GFPOLrzGvK+2c3mcz/xpT7rV1tFgA42gha/aiq O4Sg== X-Forwarded-Encrypted: i=1; AJvYcCWqnuVOpX7L+4OlMLBPA0G4XHB6m6crj3OH+aouR6b60yiyzLLTisotkjT/oPYdBtAtEaKt8VlGJpfYEZM=@vger.kernel.org X-Gm-Message-State: AOJu0YxzqWqHTNlYx53MOrWzlr8ho93uJeWkbs1DfVcDs0R7wf/jeTA1 IGsO/EcZN6Nx4PaJhRaf1GmnVwFyQC5/2DlDuwc5nAneen/JvD29Mdrj X-Gm-Gg: AZuq6aIIx5/eOt0/T63Chytxok3fRWWHzzMByAicRoIiLelcIo+MFrErq08Pyrz70V4 E2Qxsqu1zX3u5uq02KxkBFVx7DN2CHhA0wt6bxNpb8LEjmdjLbS9dJQ8GIE6ePX3yxt31KQFOlf rYeAZdfFp0Djm3g6MvNZMQ+m3qZZe/BrnTEjXKTYRhN8daVOc3Wzf1SieuC9eb9MXtda2nyqwEm 0iC6JZD9XkHjHiSRtZune6stcOAZqd6ssXUVMFI3D1/y7DPxCb+S19qVUyqjmjHpknWZera/LLq xyQq41D8dlZSczU/xtJ+B/bTmdgAC71v8odnXnt9ya65EeUS+gIyXKoK71RbaeOkt1Pvq94Dpnr VOTUkfquu4FJ2DqEXPI7Wg83WomoeVZosfxG7SGGK5mmyYcctwaRy6+eBK2kvL/zoV5fREQnvZ0 cBEW42/+T4 X-Received: by 2002:a05:690c:22c8:b0:786:56f9:215c with SMTP id 00721157ae682-7943990fd2bmr35611157b3.29.1769191876635; Fri, 23 Jan 2026 10:11:16 -0800 (PST) Received: from localhost ([2a03:2880:25ff:4f::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7943af14186sm13862167b3.6.2026.01.23.10.11.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Jan 2026 10:11:15 -0800 (PST) From: Daniel Zahka Date: Fri, 23 Jan 2026 10:11:05 -0800 Subject: [PATCH] net/mlx5e: don't assume psp tx skbs are ipv6 csum handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260123-dzahka-fix-tx-csum-partial-v1-1-7b0107693883@gmail.com> X-B4-Tracking: v=1; b=H4sIALi5c2kC/x3MQQqDMBBA0avIrDuQTFFjr1JcDMnUDLYqiYpUv HtDlw8+/4QsSSXDozohya5Z56nA3irwkadBUEMxkKHGWCIMX44j40sPXA/0efvgwmlVfmNXk7j gyd3bGspgSVKy//zZX9cPIl4BymwAAAA= To: Boris Pismenny , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Mark Bloch , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rahul Rameshbabu , Raed Salem , Cosmin Ratiu Cc: netdev@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Daniel Zahka X-Mailer: b4 0.13.0 mlx5e_psp_handle_tx_skb() assumes skbs are ipv6 when doing a partial TCP checksum with tso. Make correctly mlx5e_psp_handle_tx_skb() handle ipv4 packets. Fixes: e5a1861a298e ("net/mlx5e: Implement PSP Tx data path") Signed-off-by: Daniel Zahka --- This is a bug when an ipv4 tx skb passes through mlx5e_psp_handle_tx_skb() and tso is requested. It was previously undetected in my testing because my setup involves cx7's on both ends, and mlx5e_handle_csum() marks PSP rx skb's with csum_unnecessary. To reproduce the problem just turn off NETIF_F_RXCSUM and observe: nstat -a | grep TcpInCsumErrors --- .../net/ethernet/mellanox/mlx5/core/en_accel/psp_rxtx.c | 15 +++++++++++= ---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp_rxtx.c b/= drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp_rxtx.c index c17ea0fcd8ef..15a344ad471d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp_rxtx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp_rxtx.c @@ -178,7 +178,9 @@ bool mlx5e_psp_handle_tx_skb(struct net_device *netdev, struct mlx5e_priv *priv =3D netdev_priv(netdev); struct net *net =3D sock_net(skb->sk); const struct ipv6hdr *ip6; + const struct iphdr *ip; struct tcphdr *th; + int len; =20 if (!mlx5e_psp_set_state(priv, skb, psp_st)) return true; @@ -190,11 +192,16 @@ bool mlx5e_psp_handle_tx_skb(struct net_device *netde= v, return false; } if (skb_is_gso(skb)) { - ip6 =3D ipv6_hdr(skb); th =3D inner_tcp_hdr(skb); - - th->check =3D ~tcp_v6_check(skb_shinfo(skb)->gso_size + inner_tcp_hdrlen= (skb), &ip6->saddr, - &ip6->daddr, 0); + len =3D skb_shinfo(skb)->gso_size + inner_tcp_hdrlen(skb); + + if (skb->protocol =3D=3D htons(ETH_P_IP)) { + ip =3D ip_hdr(skb); + th->check =3D ~tcp_v4_check(len, ip->saddr, ip->daddr, 0); + } else { + ip6 =3D ipv6_hdr(skb); + th->check =3D ~tcp_v6_check(len, &ip6->saddr, &ip6->daddr, 0); + } } =20 return true; --- base-commit: 4a3dba48188208e4f66822800e042686784d29d1 change-id: 20260122-dzahka-fix-tx-csum-partial-952e8dc28375 Best regards, --=20 Daniel Zahka