Ok...I think you meant there's a bug in the driver code when formatting multi-segment mbuf.
On Tue, Mar 22, 2016 at 3:13 PM, Stephen Hemminger < stephen at networkplumber.org> wrote: > Read the source. > > A multi-segment mbuf has the first mbuf with nb_segs > 1 and chained by > next pointer. > It is a bug in the creator of the mbuf, if number of segments and next > chain don't > match. > > There is a rte_pktmbuf_dump(), you can use to look at how your mbuf is > formatted. > > On Tue, Mar 22, 2016 at 1:36 PM, Clarylin L <clearasu at gmail.com> wrote: > >> Sorry my bad. The mbuf size has been accidentally changed to 3000. >> >> After fixing this by setting mbuf size to 2048, multi-segment mbuf still >> doesn't work. I was trying to send 2500-byte packets to the target system >> and was expecting to see two-segment mbuf chain), but got errors on it. >> >> Tue Mar 22 14:52:00 2016^@PMD: rte_enic_pmd: packet error >> >> >> Tue Mar 22 14:52:01 2016^@PMD: rte_enic_pmd: packet error >> >> >> Tue Mar 22 14:52:02 2016^@PMD: rte_enic_pmd: packet error >> >> >> Tue Mar 22 14:52:03 2016^@PMD: rte_enic_pmd: packet error >> >> >> Tue Mar 22 14:52:04 2016^@PMD: rte_enic_pmd: packet error >> >> >> Is enic supporting multi-segment mbuf? The dpdk version is 2.0.0. I have >> enabled jumbo-frame and enable_scatter for the port. >> >> On Tue, Mar 22, 2016 at 3:27 AM, Bruce Richardson < >> bruce.richardson at intel.com> wrote: >> >> > On Mon, Mar 21, 2016 at 04:34:50PM -0700, Clarylin L wrote: >> > > I am trying multi-segment mbuf, but it seems not working. >> > > >> > > On my target host, the mbuf size is set to 2048 and I am trying to >> send >> > > large packet to it (say 2500 bytes without fragmentation) from another >> > > host. I enabled both jumbo_frame and enable_scatter for the port. But >> I >> > saw >> > > on the target only one mbuf is received with data_len equal to 2500 >> (it's >> > > supposed to be a two-mbuf chain). Although mbuf itself is not >> working as >> > > expected, ping between two hosts succeeded (large ping size; no >> > > fragmentation). >> > > >> > > 1. my mbuf size is only 2048. how can it support receiving such large >> > > packet in one mbuf? >> > > >> > > 2.how to make it work as expected (enable multi-segment mbuf and >> receive >> > > using mbuf chain when needed)? >> > > >> > > Appreciate your help. >> > >> > Hi, >> > >> > when you get the single mbuf with data_len == 2500, what is the buf_len >> > value >> > reported as? >> > >> > /Bruce >> > >> > >