[PATCH v3 net 0/7] Fix short frame transmission in enetc
From: vladimir.oltean@nxp.com
Date: 2026-09-15 22:27:43
Also in:
bpf, imx, lkml
This is a belated follow-up to Zefir Kurtisi's report: https://lore.kernel.org/netdev/20260220132930.2521155-1-zefir.kurtisi@gmail.com/ (local) which is that 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. I did find a sentence in the reference manual explicitly stating these short frames are not supported. The original series (patches 4, 5) were focused on handling the invalid frame geometries. However, review pointed out further issues in annex code. The other patches handle those. The original patch is 4/7, which Zefir already tested (in a simpler form) and confirmed working in the thread from February. The code path should be identical for his issue, so I've preserved the tag despite the additions. I've CCed the BPF/XDP folks for the new xdp_frame_pad() helper in patch 5/7. v1 at: https://lore.kernel.org/netdev/20260401172246.1075883-1-vladimir.oltean@nxp.com/ (local) v2 at: https://lore.kernel.org/netdev/20260406204122.167237-1-vladimir.oltean@nxp.com/ (local) Change log in individual patches. Vladimir Oltean (7): net: enetc: consistenly track dropped frames in enetc_xdp_xmit() net: enetc: ensure enetc_xdp_xmit() calls enetc_update_tx_ring_tail() 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 net: enetc: linearize PTP event packets with one-step TX timestamping net: enetc: drain and cancel one-step TX tstamp queue when going down drivers/net/ethernet/freescale/enetc/enetc.c | 50 +++++++++++++++----- drivers/net/ethernet/freescale/enetc/enetc.h | 2 + include/net/xdp.h | 23 +++++++++ 3 files changed, 64 insertions(+), 11 deletions(-) -- 2.43.0