DPDK usage discussions
 help / color / mirror / Atom feed
From: Wisam Monther <wisamm@mellanox.com>
To: Thomas Monjalon <thomasm@mellanox.com>,
	"users@dpdk.org" <users@dpdk.org>,
	 "jiayu.hu@intel.com" <jiayu.hu@intel.com>
Cc: Raslan Darawsheh <rasland@mellanox.com>,
	Shahaf Shuler <shahafs@mellanox.com>
Subject: [dpdk-users] Unable to merge packets using GRO feature
Date: Mon, 21 Aug 2017 07:25:23 +0000	[thread overview]
Message-ID: <AM3PR05MB307345657FCECBD98C991C7A9870@AM3PR05MB307.eurprd05.prod.outlook.com> (raw)

Hello Guys,

I hope this finds you well, I'm trying to test the GRO feature. But I'm stuck with this scenario.
As you know, GRO is only support TCP_IPV4 packet until now.
So I'm trying to test the basic functionality of the feature, as following:
Start testpmd:
"""
./x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4  -w 00:0a.0  -w 00:09.0 --  --burst=64 --mbcache=512 --portmask 0xf -i  --txd=512 --rxd=512  --nb-cores=9  --rxq=2 --txq=2 --txqflags=0
"""

Then enable GRO at the two ports:
"""
Testpmd>gro on 0
Testpmd>gro on 1
"""

And trying to send TCP_IPV4 fragmented packet "packet with length 1500 fragmented to three packets of 500"
"""
p=Ether(src=get_if_hwaddr('ens10'), dst= '24:8A:07:88:26:6B')/IP()/TCP()
p.add_payload('F'*(1500 - len(p)))
frags=fragment(p,fragsize=500)
for fragment in frags:
     sendp(fragment, iface='ens10')
"""

But the testpmd forward the packets as it is, " doesn't do any merge"

Tcpdump at the TG side,
The sending fragmets using ens10:
#tcpdump -I ens10 -vvven
15:45:29.083514 24:8a:07:88:26:5b > 24:8a:07:88:26:6b, ethertype IPv4 (0x0800), length 538: (tos 0x0, ttl 64, id 1, offset 0, flags [+], proto Options (0), length 524)
    127.0.0.1 > 127.0.0.1:  ip-proto-0 504
15:45:29.115266 24:8a:07:88:26:5b > 24:8a:07:88:26:6b, ethertype IPv4 (0x0800), length 538: (tos 0x0, ttl 64, id 1, offset 504, flags [+], proto Options (0), length 524)
    127.0.0.1 > 127.0.0.1: ip-proto-0
15:45:29.147258 24:8a:07:88:26:5b > 24:8a:07:88:26:6b, ethertype IPv4 (0x0800), length 492: (tos 0x0, ttl 64, id 1, offset 1008, flags [none], proto Options (0), length 478)
    127.0.0.1 > 127.0.0.1: ip-proto-0

#tcpdump -i ens9 -vvven  /// here will be received the forwarded packets from testpmd:
15:45:29.083996 24:8a:07:88:26:5b > 24:8a:07:88:26:6b, ethertype IPv4 (0x0800), length 538: (tos 0x0, ttl 64, id 1, offset 0, flags [+], proto Options (0), length 524)
    127.0.0.1 > 127.0.0.1:  ip-proto-0 504
15:45:29.115425 24:8a:07:88:26:5b > 24:8a:07:88:26:6b, ethertype IPv4 (0x0800), length 538: (tos 0x0, ttl 64, id 1, offset 504, flags [+], proto Options (0), length 524)
    127.0.0.1 > 127.0.0.1: ip-proto-0
15:45:29.147492 24:8a:07:88:26:5b > 24:8a:07:88:26:6b, ethertype IPv4 (0x0800), length 492: (tos 0x0, ttl 64, id 1, offset 1008, flags [none], proto Options (0), length 478)
    127.0.0.1 > 127.0.0.1: ip-proto-0


Am I doing something wrong?! Or it is a bug.

? As you see the tcpdump shows the offset of each fragment, and testpmd prints L4_FRAG, so the both are recognizing that this is a fragmented packet.


Best regards,
Wisam Jaddo

             reply	other threads:[~2017-08-21  7:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-21  7:25 Wisam Monther [this message]
2017-08-21  9:13 ` Jiayu Hu
2017-08-22 11:07   ` Wisam Monther
2017-08-22 13:21     ` Hu, Jiayu
2017-08-22 13:25       ` Wisam Monther
2017-08-24  5:47         ` Hu, Jiayu
2017-08-24  6:15           ` Wisam Monther
2017-08-28  7:36           ` Wisam Monther
2017-08-28  8:10             ` Hu, Jiayu
2017-08-29  1:51             ` Hu, Jiayu
2017-08-29  7:49               ` Wisam Monther
2017-09-06 11:17               ` Wisam Monther
2017-09-07  1:14                 ` Hu, Jiayu
2017-09-07  7:19                   ` Wisam Monther
2017-09-07  7:57                     ` Hu, Jiayu
2017-09-07  8:24                       ` Wisam Monther
2017-09-07  8:47                       ` Wisam Monther
2017-09-07  8:55                         ` Hu, Jiayu
2017-09-07  9:01                         ` Hu, Jiayu

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=AM3PR05MB307345657FCECBD98C991C7A9870@AM3PR05MB307.eurprd05.prod.outlook.com \
    --to=wisamm@mellanox.com \
    --cc=jiayu.hu@intel.com \
    --cc=rasland@mellanox.com \
    --cc=shahafs@mellanox.com \
    --cc=thomasm@mellanox.com \
    --cc=users@dpdk.org \
    /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).