When the mbuf data size cannot contain the maximum Rx packet length with the mbuf headroom, a packet should be scattered in more than one mbuf.
The application did not configure scatter offload in the above case. Enable the Rx scatter offload in the above case. Fixes: 33f9630fc23d ("app/testpmd: create mbuf based on max supported segments") Cc: sta...@dpdk.org Signed-off-by: Matan Azrad <ma...@mellanox.com> --- app/test-pmd/testpmd.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 518865a..4ae70ef 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1191,6 +1191,17 @@ struct extmem_param { warning = 1; } } + if (rx_mode.max_rx_pkt_len + RTE_PKTMBUF_HEADROOM > + mbuf_data_size) { + if (port->dev_info.rx_queue_offload_capa & + DEV_RX_OFFLOAD_SCATTER) + port->dev_conf.rxmode.offloads |= + DEV_RX_OFFLOAD_SCATTER; + else + TESTPMD_LOG(WARNING, "Configure scatter is" + " needed and cannot be configured" + " in the port %u\n", pid); + } } if (warning) -- 1.8.3.1