From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-172.mta0.migadu.com (out-172.mta0.migadu.com [91.218.175.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFE3413AD05; Tue, 12 May 2026 00:20:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778545224; cv=none; b=rGgY4+mAlXjAKl1ww2MLs3g/yIux7KpESuzKsNbE27OCna+tZTAc/FSs7JXyEZ2qWTmxRUop75S3OLhNiXSAbsXq0iAtAcw37IazuJPFDHJ5I4I5wSnAfx88fz7Aameh2etVL2V5bWTnzdRXdTlpy/Ohx9eUeq/ABjxGnq0jLo4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778545224; c=relaxed/simple; bh=lfYQGESk1pYjERlvde7/XCo/qKCsCSf/aFieokQBwLs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=AEsOrG9NS7eqqLiVIYnw3Pr7UWWF1XuAH6XtRj7xFcp5R7fqjHgBtBwMshU1AtbdZiwiDkuCyuU9MrZM/GT3V1xiQG3a+OVWtymupgLY1QjSD4cV9q23egr2je2AowNUbCOZ2vZkvOFGygLTJZTAk9Ppr6J0FxYiPGnipIZLJ0c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=lwSypuB0; arc=none smtp.client-ip=91.218.175.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="lwSypuB0" Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1778545210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MBaPVTjD3puxjgiW7Y9T4J5M3RK9VooXxh/buPzfQ94=; b=lwSypuB0ep7PiRQwW6z5Ne89pZZHtvi92mljIsMUDARYzVFkv+DS9wyzs5P55sbNJwcShX KX69vQlmB8tIdIqFNGJ0d6HgPI3war5r/Txg02KLh6VqG9/N0rRVSOyFMj+nRBYANMzzGS JBD1Qp3+y15QDJYJGRPa8fl65QlCg48= Date: Mon, 11 May 2026 17:20:06 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [REGRESSION] aquantia: Sunshine/Moonlight UDP video streaming broken since 5b4015ad833c ("net: aquantia: Remove redundant UDP length adjustment with GSO_PARTIAL") To: Gal Pressman Cc: Dragos Tatulea , Jakub Kicinski , regressions@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org References: <980382a2-3b8c-4da1-ac9b-efd8c0d2c1be@nvidia.com> <9f601313-cade-4bd8-8e38-3777139de46d@nvidia.com> <677976cf-d438-4997-bfc6-2691e5579d2c@nvidia.com> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Matthew Schwartz In-Reply-To: <677976cf-d438-4997-bfc6-2691e5579d2c@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT On 5/10/26 5:38 AM, Gal Pressman wrote: > On 06/05/2026 17:20, Gal Pressman wrote: >> On 06/05/2026 10:49, Matthew Schwartz wrote: >>> >>> >>>> On May 5, 2026, at 8:05 AM, Gal Pressman wrote: >>>> >>>> On 27/04/2026 21:26, Matthew Schwartz wrote: >>>>>> On 4/27/26 11:09 AM, Gal Pressman wrote: >>>>>> Hello Matthew, >>>>>> >>>>>> On 27/04/2026 2:20, Matthew Schwartz wrote: >>>>>>> Hello, >>>>>>> >>>>>>> When using a previously working setup of remote streaming from my workstation to another device via Sunshine (the host server) and Moonlight (the client app) on my home network, I no longer receive any video output on the client app after upgrading my host workstation to kernel 7.0. Reverting back to kernel 6.19 on the host restored my setup to a working state. >>>>>>> >>>>>>> After bisecting, I landed on 5b4015ad833c ("net: aquantia: Remove redundant UDP length adjustment with GSO_PARTIAL") as the first bad commit. I confirmed this by moving the cable to my second on-board NIC (Intel) on the same workstation, which restored video output without any other kernel changes. My affected on-board NIC is Aquantia AQC113 [1d6a:04c0] (rev 03), atlantic driver, firmware 1.3.34, MTU 1500. >>>>>>> >>>>>>> Looking into it a bit further, ethtool -K enp97s0 tx-udp-segmentation off also serves as a workaround on my Aquantia port without changing to my other ethernet port. The working Intel NIC reports tx-udp-segmentation as "off [fixed]", so traffic falls back to software UDP segmentation on there. >>>>>>> >>>>>>> Please let me know if there's any additional info I can provide. >>>>>>> >>>>>>> Thanks, >>>>>>> Matt >>>>>>> >>>>>>> #regzbot introduced: 5b4015ad833c >>>>>> >>>>>> Thank you for the report and the bisect! >>>>>> >>>>>> I will take a look and try to figure out what's wrong (though I don't >>>>>> have real hardware to test on). >>>>>> Is the userspace app open source? can I see its code and try to run it >>>>>> myself? >>>>> >>>>> Thanks for the reply. The code for Sunshine is available here: https://github.com/LizardByte/Sunshine and the code for Moonlight is here: https://github.com/moonlight-stream/moonlight-qt. >>>>> >>>>> I have been using the Arch Linux Sunshine package which I installed by following the Linux instructions here: https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2getting__started.html, but there are also binaries for other distros or it's buildable from source. For Moonlight, I have been using the Flatpak distributed on Flathub because the client device runs an atomic rootfs, but you can also use any other device that Moonlight supports. >>>>> >>>>>> >>>>>> I will be OOO for the rest of the week, hope to have some meaningful >>>>>> reply by the end of next week. >>>>> >>>> >>>> I think I see the issue, do you mind testing the following diff? >>> >>> Sorry for the delay. I applied this diff and I’m able to stream from my host to clients again without any issues. >>> >>> If you send this version upstream, feel free to add my Tested-by to it. >> >> Thanks for verifying! >> >> I will finalize this and submit a proper patch soon. > > Hey Matthew, > > I made a small change to the patch, can you please verify it still fixes > the issue? Yes, this diff also fixes the issue. > > diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c > index a0813d425b71..71df45f9488a 100644 > --- a/net/ipv4/udp_offload.c > +++ b/net/ipv4/udp_offload.c > @@ -604,7 +604,7 @@ struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, > seg->data_len); > check = csum16_add(csum16_sub(uh->check, uh->len), newlen); > > - uh->len = newlen; > + uh->len = skb_is_gso(seg) ? msslen : newlen; > uh->check = check; > > if (seg->ip_summed == CHECKSUM_PARTIAL)