[dts] DDP / testpmd setup

Rami Rosen ramirose at gmail.com
Tue Aug 28 16:48:37 CEST 2018


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>
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>
> *Gesendet:* Dienstag, 28. August 2018 16:38
> *An:* Sebastian Foss <sfo at ingenieurbuero-foss.de>
> *Cc:* 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>
> 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>
> *Gesendet:* Sonntag, 26. August 2018 22:46
> *An:* Sebastian Foss <sfo at ingenieurbuero-foss.de>
> *Cc:* 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>:
>
> 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>
> *Gesendet:* Sonntag, 26. August 2018 20:59
> *An:* 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>
> 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/6c24bc11/attachment.html>


More information about the dts mailing list