[dpdk-users] [ptkgen-dpdk] Only can send a few packets and stopped.

Wiles, Keith keith.wiles at intel.com
Tue Aug 14 16:46:16 CEST 2018



On Aug 14, 2018, at 9:18 AM, Vic Wang(BJ-RD) <VicWang at zhaoxin.com<mailto:VicWang at zhaoxin.com>> wrote:

Dear Keith,

    The machine I used is 8 cores.
    Today I do another test that using intel 82599 10G NIC to tranfer packets between pktgen and dpdk.
    I use the same commands as "./pktgen –c 0xf –n2 -- -P –m "2.0,3.1"" on pktgen side and “./test_pmd –c 0xf –n2 -- -i –portmask=0x3 –coremask=0xc” on the dpdk side.
    It is better than 1G NIC case. It can transfer packets about 3-5 minites in random. Sometimes one port can keep transfering ,but the other port is stopped.  I don't know why it suddenly stops transfering.
    I add some debug info in function pktgen_send_pkts, it seems that pg_pktmbuf_alloc_bulk return val is not zero, so it can't call pktgen_send_burst.

>static __inline__ void pktgen_send_pkts(port_info_t *info, uint16_t qid, struct rte_mempool *mp)
>{
> uint32_t flags;
> int rc = 0;
>
> flags = rte_atomic32_read(&info->port_flags);
>
> if (flags & SEND_FOREVER) {
> rc = pg_pktmbuf_alloc_bulk(mp,
>   info->q[qid].tx_mbufs.m_table,
>   info->tx_burst);
> if (rc == 0) {
> info->q[qid].tx_mbufs.len = info->tx_burst;
> info->q[qid].tx_cnt += info->tx_burst;
>
> pktgen_send_burst(info, qid);
> }
> } else {

All this suggests is the mempool/pktmbuf_pool is running out of mbufs. Can you try the test without using random and just a single packet send test. Getting a non-zero return for the call just means no mbufs in the pool, but that can happen if the TX ring is larger then the number of mbufs or they are not getting freed in the PMD or in pktgen.

Could have mbuf leak in Pktgen but I do not think so.


    I will try your suggest for the lastest 18.08 release for pktgen. Thank you very much.


Best Regards.
Vic
________________________________
发件人: Wiles, Keith <keith.wiles at intel.com<mailto:keith.wiles at intel.com>>
发送时间: 2018年8月14日 21:31
收件人: Vic Wang(BJ-RD)
抄送: users at dpdk.org<mailto:users at dpdk.org>
主题: Re: [dpdk-users] [ptkgen-dpdk] Only can send a few packets and stopped.



On Aug 13, 2018, at 10:10 PM, Vic Wang(BJ-RD) <VicWang at zhaoxin.com<mailto:VicWang at zhaoxin.com>> wrote:

Hi  Keith,
       I loop the cable back to the different port on the same machine, but it doesn’t transfer forever, just transfer about one second and stop.
       Then I do another try. I use two ports on both machine A and B. On the machine A , run pktgen with the command “./pktgen –c 0xf –n2 -- -P –m “2.0,3.1””. And on the machine B ,run dpdk with the command “./test_pmd –c 0xf –n2 -- -i –portmask=0x3 –coremask=0xc”. It can also only send a few packets and stop.
       The version of dpdk is v17.11.2, and the version of pktgen is 3.5.2. The NIC I used is intel 82575 Gigabit nic. Is there any problem above?.
<image001.png>

How many cores does this machine have?

In the pktgen command you should really use the -l instead of the -c command as the -l is easier to read and use.

pktgen -l 0-3 -n2 — -P -m “2.0, 3.1”

Also you are using extra cores then you need in the -m command, pktgen needs one extra core for display/timers then used for ports. Using -l 1-3 would give pktgen core 1 and 2/3 are used for the ports.

The only other issue is the 1G PMD is not used much I think and it could have a problem as it does not work in testpmd and pktgen. To me this is not a pktgen problem but a problem with something else.

The only other thing I can suggest is trying the latest 18.08 release for pktgen and see if that works.


Best Regards!
VicWang
发件人: Wiles, Keith [mailto:keith.wiles at intel.com]
发送时间: 2018年8月14日 5:13
收件人: Vic Wang(BJ-RD) <VicWang at zhaoxin.com<mailto:VicWang at zhaoxin.com>>
抄送: users at dpdk.org<mailto:users at dpdk.org>
主题: Re: [dpdk-users] [ptkgen-dpdk] Only can send a few packets and stopped.




On Aug 13, 2018, at 9:46 AM, Vic Wang(BJ-RD) <VicWang at zhaoxin.com<mailto:VicWang at zhaoxin.com>> wrote:

Hi Wiles,

The version of pktgen I used is pktgen-3.5.2.
Additional, I just use one port for recving and xmiting with "-m [2:3].0" .

When I tried tools/pktgen-run.sh with the line "load_file = -f test/set_seq.lua" and without starting the dpdk on computer B,  it seems to work a while. But with starting the dpdk on computer B, the pktgen on computer A can only transfer a few packets.

Pktgen normally works unless the command line is wrong. In your case it seems like the Link is not up or is going up and down. If you can loop the cable back to the same machine to a different port (if you have two ports).



Best Regards!
VicWang
________________________________
发件人: Wiles, Keith <keith.wiles at intel.com<mailto:keith.wiles at intel.com>>
发送时间: 2018年8月13日 21:18
收件人: Vic Wang(BJ-RD)
抄送: users at dpdk.org<mailto:users at dpdk.org>
主题: Re: [dpdk-users] [ptkgen-dpdk] Only can send a few packets and stopped.



> On Aug 13, 2018, at 6:01 AM, Vic Wang(BJ-RD) <VicWang at zhaoxin.com<mailto:VicWang at zhaoxin.com>> wrote:
>
> Hi,
>       When I run pktgen-dpdk on computer A and run dpdk on computer B, the pktgen can only send a few packets( about one second) and stopped.
>       The command on A side is ./tools/pktgen-run.sh.
>       I modified some line in the tools/pktgen-run.sh to suit my computer. The critical line is "load_file = "-f test/tx-rx-loopback.lua"". I also tried "load_file = -f test/set_seq.lua". But it also only can send a few packets and stopped.
>       Does anyone do it successful? I need your help, thanks very much.

Can you please tell me the version of pktgen and I would like to see the command line that is printed when run the script.

>
> Best Regards!
> VicWang
>
>
>
> ?????
> ?????????????????????????????????????????????????????
> CONFIDENTIAL NOTE:
> This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.

These notices are not valid on a public email list, please remove them when sending to this public list.


Regards,
Keith


保密声明:
本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
CONFIDENTIAL NOTE:
This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.

Regards,
Keith




保密声明:
本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
CONFIDENTIAL NOTE:
This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.

Regards,
Keith



保密声明:
本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
CONFIDENTIAL NOTE:
This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.

Regards,
Keith



More information about the users mailing list