On Tue, 10 Mar 2026 12:21:19 +0100 Xavier Guillaume <[email protected]> wrote:
> This series fixes two bugs in the af_packet PMD related to frame > size calculations and buffer safety, then enables jumbo frame > support by deriving the advertised capabilities from the actual > TPACKET ring configuration. > > Patch 1 fixes the data size calculation in eth_dev_mtu_set() which > is too restrictive due to TPACKET2_HDRLEN including sizeof(struct > sockaddr_ll) even though the sockaddr_ll does not consume frame > data space. The formula is now consistent with the RX and TX paths. > > Patch 2 adds a bounds check in the RX path to prevent a heap buffer > overflow when the kernel delivers a packet larger than the mbuf data > room (e.g. if the kernel interface MTU is raised externally). > > Patch 3 replaces the static max_rx_pktlen (RTE_ETHER_MAX_LEN) and > adds max_mtu, both derived from the configured TPACKET frame size. > This enables jumbo frame support when the user specifies a larger > framesz devarg at vdev creation time. Since the ethdev layer now > validates mtu <= max_mtu before calling the PMD, the data_size > bounds check in eth_dev_mtu_set() is converted to RTE_ASSERT(). > > v3: > - patch 3/3: convert redundant data_size bounds check in > eth_dev_mtu_set() to RTE_ASSERT() (reviewer feedback) > > v2: > - patch 2/3: fix Fixes tag to use 12-char SHA (checkpatch warning) > > Xavier Guillaume (3): > net/af_packet: fix MTU set data size calculation > net/af_packet: fix receive buffer overflow > net/af_packet: support jumbo frames > > drivers/net/af_packet/rte_eth_af_packet.c | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > Applied these three to net-next

