* [dpdk-dev] [PATCH] examples/ip_fragmentation: fix fail to start on i40e
@ 2019-01-16 12:55 Konstantin Ananyev
2019-01-17 22:52 ` Thomas Monjalon
0 siblings, 1 reply; 2+ messages in thread
From: Konstantin Ananyev @ 2019-01-16 12:55 UTC (permalink / raw)
To: dev; +Cc: Konstantin Ananyev
Previous commit sets mtu to the same value as max_rx_pkt_len.
Though PMDs (at least Intel ones) consider MTU as
max_rx_pkt_len minus ether header, crc bytes, vlan tags.
Fixes: 73d2c1d3f33c ("examples/ip_fragmentation: support big packets")
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
examples/ip_fragmentation/main.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 8d789b417..e90a61e35 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -55,6 +55,13 @@
#define IPV4_MTU_DEFAULT ETHER_MTU
#define IPV6_MTU_DEFAULT ETHER_MTU
+/*
+ * The overhead from max frame size to MTU.
+ * We have to consider the max possible overhead.
+ */
+#define MTU_OVERHEAD \
+ (ETHER_HDR_LEN + ETHER_CRC_LEN + 2 * sizeof(struct vlan_hdr))
+
/*
* Default payload in bytes for the IPv6 packet.
*/
@@ -938,7 +945,7 @@ main(int argc, char **argv)
/* set the mtu to the maximum received packet size */
ret = rte_eth_dev_set_mtu(portid,
- local_port_conf.rxmode.max_rx_pkt_len);
+ local_port_conf.rxmode.max_rx_pkt_len - MTU_OVERHEAD);
if (ret < 0) {
printf("\n");
rte_exit(EXIT_FAILURE, "Set MTU failed: "
--
2.17.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-01-17 22:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-16 12:55 [dpdk-dev] [PATCH] examples/ip_fragmentation: fix fail to start on i40e Konstantin Ananyev
2019-01-17 22:52 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).