From: David Laight <david.laight.linux@gmail.com>
To: Justin Lai <justinlai0215@realtek.com>
Cc: Andrew Lunn <andrew@lunn.ch>, "kuba@kernel.org" <kuba@kernel.org>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"horms@kernel.org" <horms@kernel.org>,
Ping-Ke Shih <pkshih@realtek.com>,
Larry Chiu <larry.chiu@realtek.com>
Subject: Re: [PATCH] rtase: Workaround for IP fragmented UDP packet hardware bug
Date: Thu, 4 Jun 2026 12:46:06 +0100 [thread overview]
Message-ID: <20260604124606.7143581b@pumpkin> (raw)
In-Reply-To: <447c46ad1f654222a8daa423149f0b89@realtek.com>
On Thu, 4 Jun 2026 08:33:51 +0000
Justin Lai <justinlai0215@realtek.com> wrote:
> Andrew Lunn <andrew@lunn.ch> wrote:
> >
> > On Mon, Jun 01, 2026 at 02:23:41PM +0800, Justin Lai wrote:
> > > The hardware parser incorrectly interprets 319/320 in a short IP
> > > fragmented UDP packet payload as standard PTP destination ports and
> > > treats the fragment as a PTP packet for further parsing.
Is that a packet that has been segmented by IP, or one where the skb
is fragmented enough that the data in the header is too short?
I thought that IPv4 required an mtu of 128 bytes (ish) and IPv6 somewhat
larger - so I don't see how that is a problem.
If the skb is fragmented then you need to move data into the header
not pad the frame.
If the hardware really is broken then I suspect you need to disable
the feature and suffer the consequences.
> > >
> > > If the transport data is smaller than RTASE_MIN_PAD_LEN, the remaining
> > > data is insufficient for further parsing and causes hardware TX hang.
> >
> > Where does RTASE_SHORT_PKT_THRESH come into this?
> >
> > RTASE_MIN_PAD_LEN is 47, so matches all packets which need padding up to
> > 60 bytes, plus FCS. There are not many such packets, so why both this all the
> > complexity and just pad all small packets? Do you have any performance
> > numbers which show the complexity is worth it?
> >
> > > Pad these packets so the transport data reaches RTASE_MIN_PAD_LEN
> > > before transmitting to avoid triggering the hardware issue.
> > >
> > > Signed-off-by: Justin Lai <justinlai0215@realtek.com>
> >
> > Is this a Fix? Please add a Fixes: tag. And base it on net.
> >
> > https://www.kernel.org/doc/html/latest/process/maintainer-netdev.html
> >
> > Andrew
> >
> > ---
> > pw-bot: cr
>
> Hi Andrew,
>
> RTASE_MIN_PAD_LEN is not the Ethernet minimum-frame padding
> threshold. It is the minimum transport-data length required by
> the hardware parser after the packet is incorrectly detected as
> a PTP packet.
>
> Therefore, this workaround needs to pad the packets which can
> trigger the hardware issue, rather than just padding packets to
> the Ethernet minimum frame size.
Is that a longer length?
Excessive frame padding (beyond 60+FCS) can be treated as a protocol error.
-- David
>
> I agree that RTASE_SHORT_PKT_THRESH is not necessary here. I
> will remove it in the next revision.
>
> Yes, this is a fix. I will add a Fixes tag and repost it
> against the net tree.
>
> Thanks,
> Justin
>
next prev parent reply other threads:[~2026-06-04 11:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 6:23 [PATCH] rtase: Workaround for IP fragmented UDP packet hardware bug Justin Lai
2026-06-01 13:20 ` Andrew Lunn
2026-06-04 8:33 ` Justin Lai
2026-06-04 11:46 ` David Laight [this message]
2026-06-04 13:43 ` Justin Lai
2026-06-04 14:53 ` David Laight
2026-06-01 13:22 ` Alexander Lobakin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260604124606.7143581b@pumpkin \
--to=david.laight.linux@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=justinlai0215@realtek.com \
--cc=kuba@kernel.org \
--cc=larry.chiu@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pkshih@realtek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.