{"id":2224608,"url":"http://patchwork.ozlabs.org/api/patches/2224608/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260417172910.81433-1-mmc@linux.ibm.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20260417172910.81433-1-mmc@linux.ibm.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20260417172910.81433-1-mmc@linux.ibm.com/","date":"2026-04-17T17:29:10","name":"[net,v2] ibmveth: Disable GSO for packets with small MSS","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"71c0d71a63202c021cbb093646dfc23d24dde40b","submitter":{"id":91298,"url":"http://patchwork.ozlabs.org/api/people/91298/?format=json","name":"mingming cao","email":"mmc@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260417172910.81433-1-mmc@linux.ibm.com/mbox/","series":[{"id":500378,"url":"http://patchwork.ozlabs.org/api/series/500378/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=500378","date":"2026-04-17T17:29:10","name":"[net,v2] ibmveth: Disable GSO for packets with small MSS","version":2,"mbox":"http://patchwork.ozlabs.org/series/500378/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2224608/comments/","check":"success","checks":"http://patchwork.ozlabs.org/api/patches/2224608/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19839-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Jtian54t;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19839-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Jtian54t;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=mmc@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fy21v1GDNz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 03:29:37 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fy21r0mXgz2ydn;\n\tSat, 18 Apr 2026 03:29:36 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fy21p2J9Yz2xc8\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sat, 18 Apr 2026 03:29:33 +1000 (AEST)","from pps.filterd (m0356517.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63H6kPlM087621;\n\tFri, 17 Apr 2026 17:29:22 GMT","from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dh89rurnp-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 17 Apr 2026 17:29:21 +0000 (GMT)","from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63HHRcHv005103;\n\tFri, 17 Apr 2026 17:29:20 GMT","from smtprelay05.wdc07v.mail.ibm.com ([172.16.1.72])\n\tby ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dkrucr43h-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 17 Apr 2026 17:29:20 +0000 (GMT)","from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com\n [10.241.53.100])\n\tby smtprelay05.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63HHTFGq23069438\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tFri, 17 Apr 2026 17:29:15 GMT","from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 7466758057;\n\tFri, 17 Apr 2026 17:29:15 +0000 (GMT)","from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 11F8258061;\n\tFri, 17 Apr 2026 17:29:14 +0000 (GMT)","from localhost.localdomain (unknown [9.61.173.165])\n\tby smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTP;\n\tFri, 17 Apr 2026 17:29:13 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776446975;\n\tcv=none;\n b=HRQ7dGEzOZ3pSRsaDvEQSHvC5tgGTtCg9QmK85q/2kGWIDY6h/szFB8sLdoEkeGN0XpjpS72IfclkDpyfv2QR0cyjYXLS/sAi2o9kPq5JIqCQTiCsi3dAgSgOV4iN2Yw3FNvWr86hqrPTiBePZqcad/wkHNxJnuPLJ9jX9eopXL9nuQfBfZaMd1BlmfEksnlKx5k91ruBNXZG896BciMg6U7BmyTbjj3q2iOq3rEfpQvY3h0CjGFiP14pglo8xtLLEur3auwVNb2l3mpc3PkhAS0SiIt3mjtZVVr8AU8pRSpy+we6ENN0sxuNx6wRi2zJg5HK1GSDnCZQXe4AKL/Hw==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776446975; c=relaxed/relaxed;\n\tbh=2dbA6caidxJZX0dCD8ua5pXOUPnLEIhqNDVBBkrNVSQ=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=ZzFQuhJTr7xU6Yp0dLyqqXyLfhxb024A4F5ZdRCKt0T57BiO+bQNwKuUhPln5DY6ptX5nXf9oIYVRzFiVW1nx1RxLTpm8WZN6X6tugv0cYC2rMQe7dNW84utAeTGFKd6w4Thf/gT+gL73sKoOJNB2SnScnlHp4FqU8Isvv6kOsrrWVlMn8dNcgLg10LsTjbvSKfMcgOsF2KLq4fgymrqtub7XugeP4z1aw0w1mI5H59bFCYTgOEW9LDvSOdPQpqBynqsw0f7xagQVzR6lnufPkpoyUoohH8+4tQ0WiBL7NGltCSNYFq4btp6XgdWD+qMSety9bGyD5GL6Wddqm2KbA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Jtian54t; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=mmc@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:message-id:mime-version\n\t:subject:to; s=pp1; bh=2dbA6caidxJZX0dCD8ua5pXOUPnLEIhqNDVBBkrNV\n\tSQ=; b=Jtian54t588ILvtuz4ILgwp08/gYivJfxOTl6mHRugtEBW1h6zUE1bIFV\n\tYkocqqNl85byZrOeY/ytvklJEUOY7DmZI9W9xTViFXbFL4AQnFsxrY1zpa6WIvQe\n\tUWlN4I6nOvxO6AE9/VA1lnlYBKf7HmMP5usepl/fZxOrxeYYfUwirf6OtL6FlZJG\n\tY4hCIFE/RX7IVpLK1j1eWPFzZC9mQsy9S2LhBeELvRooBkCm5McUS78v86+O35K8\n\tlvW6K6RaqyPrQ7oJlyPZjeCdUO/gBg/qU3Zm5Z78VGakC//dMVDL4U6Aza75Jzfd\n\t+Evb3IoDe5QgLPPyY/sNmEJavH5TA==","From":"Mingming Cao <mmc@linux.ibm.com>","To":"netdev@vger.kernel.org","Cc":"davem@davemloft.net, kuba@kernel.org, edumazet@google.com,\n        pabeni@redhat.com, horms@kernel.org, bjking1@linux.ibm.com,\n        haren@linux.ibm.com, ricklind@linux.ibm.com, maddy@linux.ibm.com,\n        mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,\n        stable@vger.kernel.org, Mingming Cao <mmc@linux.ibm.com>,\n        Shaik Abdulla <shaik.abdulla1@ibm.com>,\n        Naveed Ahmed <naveedaus@in.ibm.com>","Subject":"[PATCH net v2] ibmveth: Disable GSO for packets with small MSS","Date":"Fri, 17 Apr 2026 10:29:10 -0700","Message-Id":"<20260417172910.81433-1-mmc@linux.ibm.com>","X-Mailer":"git-send-email 2.39.3 (Apple Git-146)","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDE3MDE3NCBTYWx0ZWRfX9zSfBUfj1NHh\n Sjwzop2iUZkCfxFWX0z4p+JIj9pk1JJ3YY4Q63AENqPWpkjukTpBdfGWLPqQt5baquLGOi9+Tm5\n 2B+MAWE/fYt1id/EQ/k0D6pAhDbZ7qbd/xp57WHGPk8UwzRnWzUr3cS3BKj6CJ01s2V9RFTZ21P\n 3AHhKdKf6Bolp7nBCrYapfviQjuVjah+vwC98YDtdW5oWBKdrvyADOBD0s5hIFNncI8kf8L+xTU\n 9ZQSb3QfyO1CsBAn1k9zMnbj5o+UceXeMrMvFPAoGeSRqIpKum+RSrTOMO3N0N0kQYwTMlEwHb+\n OQUXBluWHoXOGapiDZqggHFl5B89H7vPsRvPZXnG/qQcUTVTSqLRh7THcXYEwGbu0+gDlxLUpCI\n BI2G0v9GfmT+cer6dor3n9bs1NoevTwIppmQsUC6NV/KkFDWx3i6pDEkvzxPwxvwJqDvnOtKjgJ\n RTtFk9FeEpnzH60G79Q==","X-Proofpoint-ORIG-GUID":"aBHJLVuFWYbfzP9VVzdQ9gDuZEjV3tIB","X-Proofpoint-GUID":"9FTDNG4RccCHvMAhTrywhBTS6D84Jnnt","X-Authority-Analysis":"v=2.4 cv=fYidDUQF c=1 sm=1 tr=0 ts=69e26df1 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=U7nrCbtTmkRpXpFmAIza:22 a=VwQbUJbxAAAA:8 a=VnNF1IyMAAAA:8\n a=0DtoxFBozvEr3AFqBbAA:9","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-17_01,2026-04-17_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n adultscore=0 impostorscore=0 clxscore=1015 malwarescore=0 phishscore=0\n bulkscore=0 priorityscore=1501 spamscore=0 suspectscore=0 lowpriorityscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604170174","X-Spam-Status":"No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"Some physical adapters on Power systems do not support segmentation\noffload when the MSS is less than 224 bytes. Attempting to send such\npackets causes the adapter to freeze, stopping all traffic until\nmanually reset.\n\nImplement ndo_features_check to disable GSO for packets with small MSS\nvalues. The network stack will perform software segmentation instead.\n\nThe 224-byte minimum matches ibmvnic\ncommit <f10b09ef687f> (\"ibmvnic: Enforce stronger sanity checks\non GSO packets\")\nwhich uses the same physical adapters in SEA configurations.\n\nValidated using iptables to force small MSS values. Without the fix,\nthe adapter freezes. With the fix, packets are segmented in software\nand transmission succeeds.\n\nFixes: 8641dd85799f (\"ibmveth: Add support for TSO\")\nCc: stable@vger.kernel.org\nReviewed-by: Brian King <bjking1@linux.ibm.com>\nTested-by: Shaik Abdulla <shaik.abdulla1@ibm.com>\nTested-by: Naveed Ahmed <naveedaus@in.ibm.com>\nSigned-off-by: Mingming Cao <mmc@linux.ibm.com>\n---\nv2: Add Fixes tag as requested by automated checks \n\n drivers/net/ethernet/ibm/ibmveth.c | 20 ++++++++++++++++++++\n drivers/net/ethernet/ibm/ibmveth.h |  1 +\n 2 files changed, 21 insertions(+)","diff":"diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c\nindex 58cc3147afe2..7935c9384ef4 100644\n--- a/drivers/net/ethernet/ibm/ibmveth.c\n+++ b/drivers/net/ethernet/ibm/ibmveth.c\n@@ -1756,6 +1756,25 @@ static int ibmveth_set_mac_addr(struct net_device *dev, void *p)\n \treturn 0;\n }\n \n+static netdev_features_t ibmveth_features_check(struct sk_buff *skb,\n+\t\t\t\t\t\tstruct net_device *dev,\n+\t\t\t\t\t\tnetdev_features_t features)\n+{\n+\t/* Some physical adapters do not support segmentation offload with\n+\t * MSS < 224. Disable GSO for such packets to avoid adapter freeze.\n+\t */\n+\tif (skb_is_gso(skb)) {\n+\t\tif (skb_shinfo(skb)->gso_size < IBMVETH_MIN_LSO_MSS) {\n+\t\t\tnetdev_warn_once(dev,\n+\t\t\t\t\t \"MSS %u too small for LSO, disabling GSO\\n\",\n+\t\t\t\t\t skb_shinfo(skb)->gso_size);\n+\t\t\tfeatures &= ~NETIF_F_GSO_MASK;\n+\t\t}\n+\t}\n+\n+\treturn features;\n+}\n+\n static const struct net_device_ops ibmveth_netdev_ops = {\n \t.ndo_open\t\t= ibmveth_open,\n \t.ndo_stop\t\t= ibmveth_close,\n@@ -1767,6 +1786,7 @@ static const struct net_device_ops ibmveth_netdev_ops = {\n \t.ndo_set_features\t= ibmveth_set_features,\n \t.ndo_validate_addr\t= eth_validate_addr,\n \t.ndo_set_mac_address    = ibmveth_set_mac_addr,\n+\t.ndo_features_check\t= ibmveth_features_check,\n #ifdef CONFIG_NET_POLL_CONTROLLER\n \t.ndo_poll_controller\t= ibmveth_poll_controller,\n #endif\ndiff --git a/drivers/net/ethernet/ibm/ibmveth.h b/drivers/net/ethernet/ibm/ibmveth.h\nindex 068f99df133e..d87713668ed3 100644\n--- a/drivers/net/ethernet/ibm/ibmveth.h\n+++ b/drivers/net/ethernet/ibm/ibmveth.h\n@@ -37,6 +37,7 @@\n #define IBMVETH_ILLAN_IPV4_TCP_CSUM\t\t0x0000000000000002UL\n #define IBMVETH_ILLAN_ACTIVE_TRUNK\t\t0x0000000000000001UL\n \n+#define IBMVETH_MIN_LSO_MSS\t\t224\t/* Minimum MSS for LSO */\n /* hcall macros */\n #define h_register_logical_lan(ua, buflst, rxq, fltlst, mac) \\\n   plpar_hcall_norets(H_REGISTER_LOGICAL_LAN, ua, buflst, rxq, fltlst, mac)\n","prefixes":["net","v2"]}