Hai bruce,
I changed the burst size to 16. The code crafts 54 byte TCP packets. It sends a few packets and shows a segmentation fault. Below is the portion of the code that sends the packet. ret = rte_eth_tx_burst(1, 0, m_pool, burst_size); if (ret < 16) { for(i=(int)burst_size-ret;i<(int)burst_size;i++) { rte_pktmbuf_free(m_pool[i]); printf("\n Packet dropped %d",i); } } else { lcore_stats[lcore_id].tx += (uint64_t)burst_size; } The above code is being run inside an infinite for loop. m_pool is an array (size 16) of mbuf's allocated using rte_pktmbuf_alloc. I'm trying to achieve maximum transfer rate. Is there any other way to do this with Intel DPDK or am I missing something ? The code works perfectly inside a virtual machine (VMWare) with emulated NIC's, but as expected the host kernel drops 99% of the packets. I'm using Intel? Core? i7-3770 CPU @ 3.40GHz On Wed, May 28, 2014 at 4:48 PM, Richardson, Bruce < bruce.richardson at intel.com> wrote: > > > From: sabu kurian [mailto:sabu2kurian at gmail.com] > > Sent: Wednesday, May 28, 2014 11:54 AM > > To: Richardson, Bruce > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] Intel I350 fails to work with DPDK > > > > Hai bruce, > > Thanks for the reply. > > I even tried that before. Having a burst size of 64 or 128 simply fails. > The card would send out a few packets > > (some 400 packets of 74 byte size) and then freeze. For my > application... I'm trying to generate the peak > > traffic possible with the link speed and the NIC. > > Bursts of 64 and 128 are rather large, can you perhaps try using bursts of > 16 and 32 and see what the result is? The drivers are generally tuned for a > max burst size of about 32 packets. > >