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 Gesendet: Dienstag, 28. August 2018 16:49 An: Sebastian Foss Cc: dts@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 > 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 > Gesendet: Dienstag, 28. August 2018 16:38 An: Sebastian Foss > Cc: dts@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 > 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 > Gesendet: Sonntag, 26. August 2018 22:46 An: Sebastian Foss > Cc: dts@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 ‏ >: 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 > Gesendet: Sonntag, 26. August 2018 20:59 An: sfo@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 > 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