Thanks! I think I figured out the problem. Some DPDK NICs require that the 
buffer length is at least 2kB + headroom to not segment standard ethernet 
frames. This PR should fix the issue: https://github.com/Linaro/odp/pull/731 . 
Please let me know if this fixed your problem.

-Matias


On 17 Oct 2018, at 10:23, Elo, Matias (Nokia - FI/Espoo) 
<matias....@nokia.com<mailto:matias....@nokia.com>> wrote:

Hi Gyanesh,

Could you please provide some additional information about your system (ODP & 
DPDK versions, NICs)? I’m using DPDK (v17.11.4) zero-copy pktio with the latest 
ODP master branch code and I’m unable to reproduce this issue.

Regards,
Matias

On 16 Oct 2018, at 23:44, gyanesh patra 
<pgyanesh.pa...@gmail.com<mailto:pgyanesh.pa...@gmail.com>> wrote:

Hi Maxim,
Increasing the POOL_SEG_LEN worked. But i am not sure how to calculate the
necessary value to use?
I was using the values from the odp_l2fwd example before. But now i
required to increase it upto 2200 for it to work.
Is there any guideline how to calculate this value? And also does it have
any impact on performance?

Regarding the examples, i tried with odp_l2fwd_simple and odp_switch and
faced the same problem. But in my case "odp_l2fwd" example never recieves
any packets. Hence i have not been able to test that.  If you can give any
input regarding this, it will be helpful too.
Thanks for your help.

Regards,
P Gyanesh Kumar Patra


On Tue, Oct 16, 2018 at 3:36 PM Maxim Uvarov 
<maxim.uva...@linaro.org<mailto:maxim.uva...@linaro.org>>
wrote:

DPDK as ODP can have packets which are not in physacally continius memory.
I.e. packet can be split on several memory segments. That is not supported
by current code and you have this warning. I think that we have dpdk pkio
validation test and it works with large packets. But to do that you need to
be sure that you created pool with right parameters. In your case
POOL_SEG_LEN has to be increased.

Also you can try more featured example: ./test/performance/odp_l2fwd

Best Regards,
Maxim.


On Tue, 16 Oct 2018 at 20:49, gyanesh patra 
<pgyanesh.pa...@gmail.com<mailto:pgyanesh.pa...@gmail.com>>
wrote:

Hi,
I am facing problem while using ODP master branch with DPDK pktio &
zero-pkt-copy as below:

ODP/bin/# ./odp_l2fwd_simple ./odp_l2fwd_simple

pktio/dpdk.c:851:mbuf_to_pkt_zero():Segmented buffers not supported
pktio/dpdk.c:851:mbuf_to_pkt_zero():Segmented buffers not supported
pktio/dpdk.c:851:mbuf_to_pkt_zero():Segmented buffers not supported
pktio/dpdk.c:851:mbuf_to_pkt_zero():Segmented buffers not supported

This error is present for dpdk pktio only. It appears with larger packet
sizes like 1518bytes, 1280bytes. But everything works fine with 1024bytes
and smaller packets.

I have verified that the packets have IP-don't fragment flag set. And
Wireshark doesn't show any abnormality with the pcap.
Is it broken or we need to specify some extra flags?

I am on:
commit 570758a22fd0d6e2b2a73eb8ed0a8360a5b0ef32
Author: Matias Elo <matias....@nokia.com<mailto:matias....@nokia.com>>
Date:   Tue Oct 2 14:13:35 2018 +0300
 linux-gen: ring: allocate global data from shm


Thanks,
P Gyanesh Kumar Patra




Reply via email to