From: Xavier Guillaume <xavier.guillaume@ovhcloud.com>
To: <dev@dpdk.org>
Cc: <linville@tuxdriver.com>,
Xavier Guillaume <xavier.guillaume@ovhcloud.com>,
<stable@dpdk.org>
Subject: [PATCH v1 1/3] net/af_packet: fix MTU set data size calculation
Date: Fri, 6 Mar 2026 10:20:11 +0100 [thread overview]
Message-ID: <20260306092013.2205076-2-xavier.guillaume@ovhcloud.com> (raw)
In-Reply-To: <20260306092013.2205076-1-xavier.guillaume@ovhcloud.com>
The data_size in eth_dev_mtu_set() is calculated as:
tp_frame_size - TPACKET2_HDRLEN
Since TPACKET2_HDRLEN is defined as:
TPACKET_ALIGN(sizeof(struct tpacket2_hdr)) + sizeof(struct sockaddr_ll)
it includes sizeof(struct sockaddr_ll), but the actual packet data
in the TPACKET ring starts at TPACKET_ALIGN(sizeof(struct tpacket2_hdr)).
The sockaddr_ll does not consume frame data space. This makes the
current formula 20 bytes too restrictive, matching neither the
RX queue setup nor the TX queue init path, which both correctly use:
tp_frame_size - TPACKET2_HDRLEN + sizeof(struct sockaddr_ll)
Fix the calculation to be consistent and accept all valid MTU values.
Fixes: 8020573894a8 ("net/af_packet: fix setting MTU decrements sockaddr twice")
Cc: stable@dpdk.org
Signed-off-by: Xavier Guillaume <xavier.guillaume@ovhcloud.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index c0ba3381ea..bfa68297a6 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -612,7 +612,7 @@ eth_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
int ret;
int s;
unsigned int data_size = internals->req.tp_frame_size -
- TPACKET2_HDRLEN;
+ TPACKET2_HDRLEN + sizeof(struct sockaddr_ll);
if (mtu > data_size)
return -EINVAL;
--
2.34.1
next prev parent reply other threads:[~2026-03-09 7:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-06 9:20 [PATCH v1 0/3] net/af_packet: fix MTU handling and add jumbo frame support Xavier Guillaume
2026-03-06 9:20 ` Xavier Guillaume [this message]
2026-03-06 9:20 ` [PATCH v1 2/3] net/af_packet: fix receive buffer overflow Xavier Guillaume
2026-03-06 9:20 ` [PATCH v1 3/3] net/af_packet: support jumbo frames Xavier Guillaume
2026-03-09 16:03 ` Stephen Hemminger
2026-03-09 16:10 ` [PATCH v2 0/3] net/af_packet: fix MTU handling and add jumbo frame support Xavier Guillaume
2026-03-09 16:10 ` [PATCH v2 1/3] net/af_packet: fix MTU set data size calculation Xavier Guillaume
2026-03-09 16:10 ` [PATCH v2 2/3] net/af_packet: fix receive buffer overflow Xavier Guillaume
2026-03-09 16:10 ` [PATCH v2 3/3] net/af_packet: support jumbo frames Xavier Guillaume
2026-03-10 23:31 ` Stephen Hemminger
2026-03-12 13:32 ` Xavier Guillaume
2026-03-12 16:20 ` Stephen Hemminger
2026-03-09 20:16 ` [PATCH v2 0/3] net/af_packet: fix MTU handling and add jumbo frame support Stephen Hemminger
2026-03-09 20:49 ` [PATCH] net/af_packet: add multi-segment mbuf support for jumbo frames Sriram Yagnaraman
2026-03-09 21:02 ` [PATCH v2] " Sriram Yagnaraman
2026-03-10 14:02 ` Stephen Hemminger
2026-03-10 20:02 ` Sriram Yagnaraman
2026-03-16 16:02 ` Stephen Hemminger
2026-03-19 9:25 ` Sriram Yagnaraman
2026-03-10 1:55 ` [PATCH v2 0/3] net/af_packet: fix MTU handling and add jumbo frame support Stephen Hemminger
2026-03-10 11:21 ` [PATCH v3 " Xavier Guillaume
2026-03-10 11:21 ` [PATCH v3 1/3] net/af_packet: fix MTU set data size calculation Xavier Guillaume
2026-03-10 11:21 ` [PATCH v3 2/3] net/af_packet: fix receive buffer overflow Xavier Guillaume
2026-03-10 11:21 ` [PATCH v3 3/3] net/af_packet: support jumbo frames Xavier Guillaume
2026-03-11 16:03 ` [PATCH v3 0/3] net/af_packet: fix MTU handling and add jumbo frame support Stephen Hemminger
2026-03-12 18:46 ` Stephen Hemminger
2026-03-16 15:59 ` Stephen Hemminger
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=20260306092013.2205076-2-xavier.guillaume@ovhcloud.com \
--to=xavier.guillaume@ovhcloud.com \
--cc=dev@dpdk.org \
--cc=linville@tuxdriver.com \
--cc=stable@dpdk.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox