rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max to provide maximum number of segments supported by the platform but API does not provide any default value as well as no show case of above mentioned fields while creating mbuf pool.
Also in absence of this, there may be a gap bewteen application configuration and PMD capabilities. Consider below mentioned points: Point 1: - PMD may support N or infinte segments. So no defined value is assigned to represent infinite value. Point 2: - PMD supports n segments at max and exposed the same to application. - But application didn't created mbuf pool accoding to maximum supported segments so it may be that to support larger packet, application needs more segments than PMD's capability. So packet transmission operation may be discarded by the PMD. Patch set implenments default value and their usage in testpmd to provide a show case. It will help application to create mbuf pool with correct buffer size so that application can cater all sized packets properly. Sunil Kumar Kori (2): lib/librte_ethdev: add in default value of rte_eth_dev_info app/testpmd: creating mbuf pool based on maximum supported segments app/test-pmd/testpmd.c | 21 +++++++++++++++++++++ lib/librte_ethdev/rte_ethdev.c | 2 ++ lib/librte_ethdev/rte_ethdev.h | 2 ++ 3 files changed, 25 insertions(+) -- 1.8.3.1