[dts] DDP / testpmd setup
Sebastian Foss
sfo at ingenieurbuero-foss.de
Tue Aug 28 16:52:27 CEST 2018
Hi,
im only using testpmd to upload the ddp tot he card. After that i rebind to i40e and want to change the rss hashing or pppoe for the „regular“ network stack in linux. Seems like ddp is only supported in dpdk right now – although there are ddp references in the i40e linux driver.
Von: Rami Rosen <ramirose at gmail.com>
Gesendet: Dienstag, 28. August 2018 16:49
An: Sebastian Foss <sfo at ingenieurbuero-foss.de>
Cc: dts at dpdk.org
Betreff: Re: [dts] DDP / testpmd setup
Hi Sebastian,
How did you found out it goes all to queue 0 ? is it by running testpmd in RXonly mode, and setting it to verbose
and looking in the content of the packets it shows on the console ? or by any other means ?
Also can you describe your setup - is it with VMs, how do you send the traffic (scapy/pktgen/IXIA)?
Regards,
Rami Rosen
On Tue, Aug 28, 2018 at 5:42 PM Sebastian Foss <sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de> > wrote:
I used the latest pppoe ddp from intel’s website and tried to map/add pctypes 15 and 17 to the hashing – then run some pppoe when using i40e again and it still all goes to queue 0.
testpmd> ddp get info /home/dpdktest/ppp-oe-ol2tpv2.pkgo
Global Track id: 0x80000006
Global Version: 1.0.0.0
Global Package name: PPPoE and PPPoL2TPv2
i40e Profile Track id: 0x80000006
i40e Profile Version: 1.0.0.0
i40e Profile name: E710 PPPoE and PPPoL2TPv2
Package Notes:
This profile enables PPPoE and PPPoL2TPv2 parsing
L2TPv2 Tunnel ID extracted to field 46
L2TPv2/PPPoE Session ID extracted to field 47
PPP Protocol ID extracted to field 48
List of supported devices:
8086:1572 FFFF:FFFF
8086:1574 FFFF:FFFF
8086:1580 FFFF:FFFF
8086:1581 FFFF:FFFF
8086:1583 FFFF:FFFF
8086:1584 FFFF:FFFF
8086:1585 FFFF:FFFF
8086:1586 FFFF:FFFF
8086:1587 FFFF:FFFF
8086:1588 FFFF:FFFF
8086:1589 FFFF:FFFF
8086:158A FFFF:FFFF
8086:158B FFFF:FFFF
List of used protocols:
12: IPV4
13: IPV6
15: GRENAT
17: TCP
18: UDP
19: SCTP
20: ICMP
22: L2TPv2CTRL
23: ICMPV6
26: L2TPv2
27: L2TPv2PAY
28: PPPoL2TPv2
29: PPPoE
33: PAY2
34: PAY3
35: PAY4
44: IPV4FRAG
48: IPV6FRAG
52: OIPV4
53: OIPV6
List of defined packet classification types:
14: L2TPv2CTRL
15: PPPoE IPV4
16: PPPoE IPV6
17: PPPoE
18: PPPoL2TPv2 IPV4
19: PPPoL2TPv2 IPV6
20: PPPoL2TPv2
21: L2TPv2PAY
List of defined packet types:
154: PPPoE PAY2
155: PPPoE IPV4FRAG PAY3
156: PPPoE IPV4 PAY3
157: PPPoE IPV4 UDP PAY4
158: PPPoE IPV4 TCP PAY4
159: PPPoE IPV4 SCTP PAY4
160: PPPoE IPV4 ICMP PAY4
161: PPPoE IPV6FRAG PAY3
162: PPPoE IPV6 PAY3
163: PPPoE IPV6 UDP PAY4
164: PPPoE IPV6 TCP PAY4
165: PPPoE IPV6 SCTP PAY4
166: PPPoE IPV6 ICMPV6 PAY4
167: OIPV4 L2TPv2 PPPoL2TPv2 PAY3
168: OIPV4 L2TPv2 PPPoL2TPv2 IPV4FRAG PAY3
169: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 PAY3
170: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 UDP PAY4
171: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 TCP PAY4
172: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 SCTP PAY4
173: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 ICMP PAY4
174: OIPV4 L2TPv2 PPPoL2TPv2 IPV6FRAG PAY3
175: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 PAY3
176: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 UDP PAY4
177: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 TCP PAY4
178: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 SCTP PAY4
179: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 ICMPV6 PAY4
180: OIPV6 L2TPv2 PPPoL2TPv2 PAY3
181: OIPV6 L2TPv2 PPPoL2TPv2 IPV4FRAG PAY3
182: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 PAY3
183: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 UDP PAY4
184: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 TCP PAY4
185: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 SCTP PAY4
186: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 ICMP PAY4
187: OIPV6 L2TPv2 PPPoL2TPv2 IPV6FRAG PAY3
188: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 PAY3
189: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 UDP PAY4
190: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 TCP PAY4
191: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 SCTP PAY4
150: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 ICMPV6 PAY4
12: OIPV4 L2TPv2 L2TPv2CTRL PAY4
13: OIPV6 L2TPv2 L2TPv2CTRL PAY4
14: OIPV4 L2TPv2 L2TPv2PAY PAY3
15: OIPV6 L2TPv2 L2TPv2PAY PAY3
Von: Rami Rosen <ramirose at gmail.com <mailto:ramirose at gmail.com> >
Gesendet: Dienstag, 28. August 2018 16:38
An: Sebastian Foss <sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de> >
Cc: dts at dpdk.org <mailto:dts at dpdk.org>
Betreff: Re: [dts] DDP / testpmd setup
Hi Sebastian,
What do you get when running:
testpmd> ddp get info (profile_path)
See:
https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html
Regards,
Rami Rosen
On Tue, Aug 28, 2018 at 5:33 PM Sebastian Foss <sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de> > wrote:
Hi,
ok seems the ddp profiles are persistent when unbinding and rebinding the dpdk / linux drivers. However it seems like the ddp profile is not used for rss hashing when i bind the i40e driver and run some test (e.g. PPPoE traffic).
Are there any plans to support ddp profiles for rss hashing when i40e is used without dpdk ?
Thanks.
Von: Rami Rosen <ramirose at gmail.com <mailto:ramirose at gmail.com> >
Gesendet: Sonntag, 26. August 2018 22:46
An: Sebastian Foss <sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de> >
Cc: dts at dpdk.org <mailto:dts at dpdk.org>
Betreff: Re: [dts] DDP / testpmd setup
Hi, Sebastian,
Regarding rebinding, there are two types:
One is with
dpdk-devbind -b i40e pci_id_of_port
And the second is the ribust one:
rmmod i40e and then modprobe i40e. I am not sure as to which of the two you aim when talking about rebinding.
I would suggest to start with the first option. It triggers calling the probe() callback of I40E, and not the full longer and heavier way with I40E module_exit() and module_init() callbacks
Regarding userspace app for achieving it: you can follow the dpdk testpmd code, but
this can take quite a time and effort.
Regards,
Rami Rosen
בתאריך יום א׳, 26 באוג׳ 2018, 22:57, מאת Sebastian Foss <sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de> >:
Hi Rami,
I found the switch for testpmd to use a cmd line script instead of using interactive mode. Still need to see if loading a ddp persists on the card when rebinding the i40e driver instead of vfio / uio.
The kernel i40e driver also seems to have the functions to use AdminQ to load DDPs onto the card – however im not sure how to do it from userland.
Von: Rami Rosen <ramirose at gmail.com <mailto:ramirose at gmail.com> >
Gesendet: Sonntag, 26. August 2018 20:59
An: sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de>
Betreff: Re: [dts] DDP / testpmd setup
Hi Sebastian,
I don't know of such a way, unfortunately. Also you cannot automate testpmd
as it is to load the profile automatically without going interactive mode.
Regards,
Rami Rosen
http://ramirose.wix.com/ramirosen
On Sun, Aug 26, 2018 at 3:18 PM Sebastian Foss <sfo at ingenieurbuero-foss.de <mailto:sfo at ingenieurbuero-foss.de> > wrote:
Hi,
we are using testpmd to store ddp profiles in an Intel X710DA2 NIC. Is there a way to have those profiles stored in the NIC permanently – or what would be the best solution to have those profiles loaded automatically at boot and use a regular kernel driver afterwards ? From what i understand so far to use the DPDK functions to load a DDP Profile the UIO or VFIO drivers have to be used.
Thank you!
Mit freundlichen Grüßen / Best Regards
Sebastian Foss, Electrical Engineering (B. Eng.)
Hardware & Software Development
Geschäftsführer / CEO
SF Engineering UG & Co. KG
--
regards,
Rami Rosen
--
regards,
Rami Rosen
--
regards,
Rami Rosen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dts/attachments/20180828/98ca6749/attachment.html>
More information about the dts
mailing list