DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] Unable to merge packets using GRO feature
@ 2017-08-21  7:25 Wisam Monther
  2017-08-21  9:13 ` Jiayu Hu
  0 siblings, 1 reply; 19+ messages in thread
From: Wisam Monther @ 2017-08-21  7:25 UTC (permalink / raw)
  To: Thomas Monjalon, users, jiayu.hu; +Cc: Raslan Darawsheh, Shahaf Shuler

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-09-07  9:03 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-21  7:25 [dpdk-users] Unable to merge packets using GRO feature Wisam Monther
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

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).