From: Safiyat Reza <reza.safiyat@acm.org>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Unable to send ping requests using pktgen-dpdk
Date: Mon, 17 Apr 2017 22:05:56 +0530 [thread overview]
Message-ID: <CAJC8Y-SJr+NQZVagEk3s8Q=o8QY=c+b+YZRxgzytC2J4UpERnQ@mail.gmail.com> (raw)
In-Reply-To: <E8228CB2-EB6D-4D7E-889C-05CA299A9F8B@intel.com>
On 17 April 2017 at 21:25, Wiles, Keith <keith.wiles@intel.com> wrote:
> Comments below:
>
> > On Apr 17, 2017, at 8:07 AM, Safiyat Reza <reza.safiyat@acm.org> wrote:
> >
> > Hi,
> >
> > I am trying to ping a remote machine (within the same network) via port 0
> > using the command
> >
> > Pktgen> ping4 0
> >
> > But the packet that is received on the remote machine is not a ping
> packet.
> > Upon investigation using dpdkcap (https://github.com/dpdkcap/dpdkcap)
> and
> > tcpdump, the packet
> >
> > dpdkcap output:
> > reading from file output_01.pcap, link-type EN10MB (Ethernet)
> > 12:50:34.870498 IP 50.0.50.14.4660 > 50.0.50.13.22136: tcp 6
> > 0x0000: 4500 002e 1636 0000 0406 d879 3200 320e E....6.....y2.2.
> > 0x0010: 3200 320d 1234 5678 1234 5678 1234 5690 2.2..4Vx.4Vx.4V.
> > 0x0020: 5010 2000 6c72 0000 7778 797a 3031 P...lr..wxyz01
> >
> > tcpdump output:
> > tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size
> > 65535 bytes
> > 12:53:49.828091 IP (tos 0x0, ttl 4, id 5794, offset 0, flags
> > [none], proto TCP (6), length 46)
> > 50-0-50-14.dsl.dynamic.fusionbroadband.com.4660 >
> > 50-0-50-13.dsl.dynamic.fusionbroadband.com.22136: Flags [.], cksum
> 0x6c72
> > (correct), seq 305419896:305419902, ack 305419920, win 8192, length 6
> >
> >
> > The output after turning screen on is:
> > - Ports 0-0 of 1 <Main Page> Copyright (c) <2010-2016>, Intel
> > Corporation
> > Flags:Port : -E----R--------:0
> > Link State : <UP-10000-FD> ----TotalRate----
> > Pkts/s Max/Rx : 2/0 2/0
> > Max/Tx : 1/0 1/0
> > MBits/s Rx/Tx : 0/0 0/0
> > Broadcast : 0
> > Multicast : 15
> > 64 Bytes : 0
> > 65-127 : 0
> > 128-255 : 0
> > 256-511 : 3
> > 512-1023 : 0
> > 1024-1518 : 0
> > Runts/Jumbos : 12/0
> > Errors Rx/Tx : 0/0
> > Total Rx Pkts : 15
> > Tx Pkts : 2
> > Rx MBs : 0
> > Tx MBs : 0
> > ARP/ICMP Pkts : 12/0
> > :
> > Pattern Type : abcd...
> > Tx Count/% Rate : Forever / 255%
> > PktSize/Tx Burst : 64 / 10
> > Src/Dest Port : 4660 /22136
> > Pkt Type:VLAN ID : IPv4 / TCP:0001
> > Dst IP Address : 50.0.50.13
> > Src IP Address : 50.0.50.14/24
> > Dst MAC Address : fa:16:3e:e3:81:68
> > Src MAC Address : fa:16:3e:62:5e:3c
> > VendID/PCI Addr : 1af4:1000/00:04.0
> >
> > -- Pktgen Ver: 3.1.2 (DPDK 16.07.2) Powered by Intel® DPDK
> > -------------------
> >
> > On the sender side (using pktgen-dpdk) apart from setting the usual
> source
> > and destination ip addresses and mac addresses, I am setting
> >
> > pktgen.icmp_echo("all", "on”);
>
> This command only enables processing incoming ICMP echo packets. This is
> the ‘E’ flags value above.
>
I understand it is to enable the replies to ping requests. Added it here
just for information, in case it affects the outgoing ping requests.
>
> > pktgen.send_arp("all", "g”);
>
> This one only sends a single ARP packet.
>
Yes. I added this piece of information just in case it affects the outgoing
ping requests.
>
> If you are trying to send multiple ping or ICMP echo request packets then
> you need to construct a packet in the sequence page ‘page seq’. What is
> being sent is the single mode packets you see on the first page.
>
> It also looks like you have Range packets enabled, did you configure the
> range packets via ‘page range’?
>
Yes, I have configured the range feature, using a lua script. Below is the
relevant code snippet for the same.
function setup()
pktgen.set("all", "count", 0);
pktgen.set("all", "pps", tonumber(pps)); -- custom change to
pktgen-dpdk source to support setting pps directly.
pktgen.set("all", "size", tonumber(packetSize));
pktgen.set("all", "burst", tonumber(burst));
pktgen.set("all", "sport", 0x1234);
pktgen.set("all", "dport", 0x5678);
pktgen.set("all", "prime", 1);
pktgen.set("all", "seqCnt", 0);
pktgen.range.vlan_id("all", "start", tonumber(vlanid));
pktgen.range.vlan_id("all", "inc", 0);
pktgen.range.vlan_id("all", "min", 1);
pktgen.range.vlan_id("all", "max", 4094);
pktgen.range.pkt_size("all", "start", tonumber(packetSize));
pktgen.range.pkt_size("all", "inc", 0);
pktgen.range.pkt_size("all", "min", 64);
pktgen.range.pkt_size("all", "max", 1518);
pktgen.set_mac("all", dstmac);
pktgen.set_ipaddr("all", "dst", dstip);
pktgen.range.dst_ip("all", "start", dstipStart);
pktgen.range.dst_ip("all", "inc", dstipInc);
pktgen.range.dst_ip("all", "min", dstipMin);
pktgen.range.dst_ip("all", "max", dstipMax);
pktgen.range.dst_port("all", "start", dstportStart);
pktgen.range.dst_port("all", "inc", dstportInc);
pktgen.range.dst_port("all", "min", dstportMin);
pktgen.range.dst_port("all", "max", dstportMax);
pktgen.set_ipaddr("all", "src", srcip.."/24");
pktgen.range.src_ip("all", "start", srcipStart);
pktgen.range.src_ip("all", "inc", srcipInc);
pktgen.range.src_ip("all", "min", srcipMin);
pktgen.range.src_ip("all", "max", srcipMax);
pktgen.range.src_port("all", "start", srcportStart);
pktgen.range.src_port("all", "inc", srcportInc);
pktgen.range.src_port("all", "min", srcportMin);
pktgen.range.src_port("all", "max", srcportMax);
pktgen.range.dst_mac("all", "start", dstmac);
pktgen.range.dst_mac("all", "inc", dstmacInc);
pktgen.range.dst_mac("all", "min", dstmac);
pktgen.range.dst_mac("all", "max", dstmac);
pktgen.send_arp("all", "g");
pktgen.icmp_echo("all", "on");
pktgen.set_range("all", "on");
end
>From your reply, I still couldn't gather completely about how to correctly
send the ICMP echo request. I may need to send multiple requests but right
now I am trying to send one request only.
>
> >
> > via a lua script file. The burst size is 10.
> >
> > I am trying this on VMs with 'Virtio network device' as the NIC and using
> > igb_uio driver.
> >
> > I have no idea why I am unable to send ping packets. Can anyone guide me
> as
> > to what I am doing wrong, or why this issue might be coming?
> >
> > Thanks!
> >
> > Regards,
> >
> > *S*afiyat *R*eza
> > Google+ <https://plus.google.com/110916808580428369956/posts> | GitHub
> > <https://github.com/safiyat/> | LinkedIn
> > <https://in.linkedin.com/in/safiyat-reza-74329765>
>
> Regards,
> Keith
>
>
next prev parent reply other threads:[~2017-04-17 16:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-17 13:07 Safiyat Reza
2017-04-17 15:55 ` Wiles, Keith
2017-04-17 16:35 ` Safiyat Reza [this message]
2017-04-18 6:31 ` Wiles, Keith
2017-04-21 17:52 ` Safiyat Reza
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJC8Y-SJr+NQZVagEk3s8Q=o8QY=c+b+YZRxgzytC2J4UpERnQ@mail.gmail.com' \
--to=reza.safiyat@acm.org \
--cc=dev@dpdk.org \
--cc=keith.wiles@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).