This is a belated follow-up to Zefir Kurtisi's report:
https://lore.kernel.org/netdev/20260220132930.2521155-1-zefir.kurtisi@gmail.com/
My analysis shows quite a different chain of events than the one
presented by Zefir. What is common is that, indeed, the ENETC misbehaves
when transmitting packets smaller than 16 octets sans FCS: it sends them
but does not update the completed index in the transmit BD ring.
However, I did find a sentence in the reference manual explicitly
stating these short frames are not supported.
The main patch is 2/3, which Zefir already tested and confirmed working
in the thread from February.
Patch 3/3 fixes a similar issue which can be reproduced from the XDP
path.
Patch 1/3 fixes an issue I identified while reviewing the code w.r.t.
TBaCIR interaction.
Vladimir Oltean (3):
net: enetc: fix bogus TX ring consumer index after reinitialization
net: enetc: pad short frames in software
net: enetc: pad short XDP frames coming from devmap
drivers/net/ethernet/freescale/enetc/enetc.c | 9 ++++++++-
include/net/xdp.h | 17 +++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
--
2.43.0