From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from www253.your-server.de (www253.your-server.de [188.40.28.33]) by dpdk.org (Postfix) with ESMTP id 12397DED for ; Tue, 28 Aug 2018 16:42:48 +0200 (CEST) Received: from [78.46.172.3] (helo=sslproxy06.your-server.de) by www253.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89_1) (envelope-from ) id 1fufCh-0002hZ-Nz; Tue, 28 Aug 2018 16:42:47 +0200 Received: from [93.244.224.0] (helo=DESKTOPPRFVO55) by sslproxy06.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1fufCh-0006L5-DF; Tue, 28 Aug 2018 16:42:47 +0200 From: "Sebastian Foss" To: "'Rami Rosen'" Cc: References: <000801d43d36$ef9f7480$cede5d80$@ingenieurbuero-foss.de> <001401d43d76$fe69f860$fb3de920$@ingenieurbuero-foss.de> <001a01d43edc$147fbcf0$3d7f36d0$@ingenieurbuero-foss.de> In-Reply-To: Date: Tue, 28 Aug 2018 16:42:46 +0200 Message-ID: <002b01d43edd$63438190$29ca84b0$@ingenieurbuero-foss.de> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_002C_01D43EEE.26D181B0" X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIBh3lWgwVKJh/M2Rx3NoI17djjbwKcEIokAdBua5QC5HMf4wGRIDuNArqSN32kHcZIYA== Content-Language: de X-Authenticated-Sender: sfo@ingenieurbuero-foss.de X-Virus-Scanned: Clear (ClamAV 0.100.1/24881/Tue Aug 28 14:49:47 2018) Subject: Re: [dts] DDP / testpmd setup X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Aug 2018 14:42:48 -0000 This is a multipart message in MIME format. ------=_NextPart_000_002C_01D43EEE.26D181B0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I used the latest pppoe ddp from intel=E2=80=99s website and tried to = map/add pctypes 15 and 17 to the hashing =E2=80=93 then run some pppoe = when using i40e again and it still all goes to queue 0. =20 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 =20 i40e Profile Track id: 0x80000006 i40e Profile Version: 1.0.0.0 i40e Profile name: E710 PPPoE and PPPoL2TPv2 =20 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 =20 =20 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 =20 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 =20 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 =20 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 =20 Von: Rami Rosen =20 Gesendet: Dienstag, 28. August 2018 16:38 An: Sebastian Foss Cc: dts@dpdk.org Betreff: Re: [dts] DDP / testpmd setup =20 Hi Sebastian, =20 What do you get when running: =20 testpmd> ddp get info (profile_path) =20 See: https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html =20 Regards, Rami Rosen =20 =20 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 ? =20 Thanks. =20 Von: Rami Rosen >=20 Gesendet: Sonntag, 26. August 2018 22:46 An: Sebastian Foss > Cc: dts@dpdk.org =20 Betreff: Re: [dts] DDP / testpmd setup =20 Hi, Sebastian, Regarding rebinding, there are two types: One is with=20 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 =20 Regarding userspace app for achieving it: you can follow the dpdk = testpmd code, but this can take quite a time and effort. =20 Regards, Rami Rosen =20 =20 =D7=91=D7=AA=D7=90=D7=A8=D7=99=D7=9A =D7=99=D7=95=D7=9D =D7=90=D7=B3, 26 = =D7=91=D7=90=D7=95=D7=92=D7=B3 2018, 22:57, =D7=9E=D7=90=D7=AA Sebastian = Foss =E2=80=8F >: 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 =E2=80=93 however im not sure how to do it from = userland. =20 =20 Von: Rami Rosen >=20 Gesendet: Sonntag, 26. August 2018 20:59 An: sfo@ingenieurbuero-foss.de =20 Betreff: Re: [dts] DDP / testpmd setup =20 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. =20 Regards, Rami Rosen http://ramirose.wix.com/ramirosen =20 =20 =20 =20 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 = =E2=80=93 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. =20 Thank you! =20 Mit freundlichen Gr=C3=BC=C3=9Fen / Best Regards Sebastian Foss, Electrical Engineering (B. Eng.) Hardware & Software Development Gesch=C3=A4ftsf=C3=BChrer / CEO SF Engineering UG & Co. KG =20 =20 --=20 regards, Rami Rosen --=20 regards, Rami Rosen ------=_NextPart_000_002C_01D43EEE.26D181B0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

I used the latest pppoe ddp from intel=E2=80=99s website and = tried to map/add pctypes 15 and 17 to the hashing =E2=80=93 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:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = 0x80000006

Global Version:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = 1.0.0.0

Global Package name:=C2=A0=C2=A0 PPPoE and = PPPoL2TPv2

 

i40e Profile Track id: 0x80000006

i40e Profile Version:=C2=A0 1.0.0.0

i40e Profile name:=C2=A0=C2=A0=C2=A0=C2=A0 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:

=C2=A0 8086:1572 FFFF:FFFF

=C2=A0 8086:1574 FFFF:FFFF

=C2=A0 8086:1580 FFFF:FFFF

=C2=A0 8086:1581 FFFF:FFFF

=C2=A0 8086:1583 FFFF:FFFF

=C2=A0 8086:1584 FFFF:FFFF

=C2=A0 8086:1585 FFFF:FFFF

=C2=A0 8086:1586 FFFF:FFFF

=C2=A0 8086:1587 FFFF:FFFF

=C2=A0 8086:1588 FFFF:FFFF

=C2=A0 8086:1589 FFFF:FFFF

=C2=A0 8086:158A FFFF:FFFF

=C2=A0 8086:158B FFFF:FFFF

 

List of used protocols:

=C2=A0 12: IPV4

=C2=A0 13: IPV6

=C2=A0 15: GRENAT

=C2=A0 17: TCP

=C2=A0 18: UDP

=C2=A0 19: SCTP

=C2=A0 20: ICMP

=C2=A0 22: L2TPv2CTRL

=C2=A0 23: ICMPV6

=C2=A0 26: L2TPv2

=C2=A0 27: L2TPv2PAY

=C2=A0 28: PPPoL2TPv2

=C2=A0 29: PPPoE

=C2=A0 33: PAY2

=C2=A0 34: PAY3

=C2=A0 35: PAY4

=C2=A0 44: IPV4FRAG

=C2=A0 48: IPV6FRAG

=C2=A0 52: OIPV4

=C2=A0 53: OIPV6

 

List of defined packet classification = types:

=C2=A0 14: L2TPv2CTRL

=C2=A0 15: PPPoE IPV4

=C2=A0 16: PPPoE IPV6

=C2=A0 17: PPPoE

=C2=A0 18: PPPoL2TPv2 IPV4

=C2=A0 19: PPPoL2TPv2 IPV6

=C2=A0 20: PPPoL2TPv2

=C2=A0 21: L2TPv2PAY

 

List of defined packet types:

=C2=A0 154: PPPoE PAY2

=C2=A0 155: PPPoE IPV4FRAG PAY3

=C2=A0 156: PPPoE IPV4 PAY3

=C2=A0 157: PPPoE IPV4 UDP PAY4

=C2=A0 158: PPPoE IPV4 TCP PAY4

=C2=A0 159: PPPoE IPV4 SCTP PAY4

=C2=A0 160: PPPoE IPV4 ICMP PAY4

=C2=A0 161: PPPoE IPV6FRAG PAY3

=C2=A0 162: PPPoE IPV6 PAY3

=C2=A0 163: PPPoE IPV6 UDP PAY4

=C2=A0 164: PPPoE IPV6 TCP PAY4

=C2=A0 165: PPPoE IPV6 SCTP PAY4

=C2=A0 166: PPPoE IPV6 ICMPV6 PAY4

=C2=A0 167: OIPV4 L2TPv2 PPPoL2TPv2 = PAY3

=C2=A0 168: OIPV4 L2TPv2 PPPoL2TPv2 IPV4FRAG = PAY3

=C2=A0 169: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 = PAY3

=C2=A0 170: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 UDP = PAY4

=C2=A0 171: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 TCP = PAY4

=C2=A0 172: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 SCTP = PAY4

=C2=A0 173: OIPV4 L2TPv2 PPPoL2TPv2 IPV4 ICMP = PAY4

=C2=A0 174: OIPV4 L2TPv2 PPPoL2TPv2 IPV6FRAG = PAY3

=C2=A0 175: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 = PAY3

=C2=A0 176: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 UDP = PAY4

=C2=A0 177: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 TCP = PAY4

=C2=A0 178: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 SCTP = PAY4

=C2=A0 179: OIPV4 L2TPv2 PPPoL2TPv2 IPV6 ICMPV6 = PAY4

=C2=A0 180: OIPV6 L2TPv2 PPPoL2TPv2 = PAY3

=C2=A0 181: OIPV6 L2TPv2 PPPoL2TPv2 IPV4FRAG = PAY3

=C2=A0 182: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 = PAY3

=C2=A0 183: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 UDP = PAY4

=C2=A0 184: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 TCP = PAY4

=C2=A0 185: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 SCTP = PAY4

=C2=A0 186: OIPV6 L2TPv2 PPPoL2TPv2 IPV4 ICMP = PAY4

=C2=A0 187: OIPV6 L2TPv2 PPPoL2TPv2 IPV6FRAG = PAY3

=C2=A0 188: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 = PAY3

=C2=A0 189: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 UDP = PAY4

=C2=A0 190: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 TCP = PAY4

=C2=A0 191: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 SCTP = PAY4

=C2=A0 150: OIPV6 L2TPv2 PPPoL2TPv2 IPV6 ICMPV6 = PAY4

=C2=A0 12: OIPV4 L2TPv2 L2TPv2CTRL PAY4

=C2=A0 13: OIPV6 L2TPv2 L2TPv2CTRL PAY4

=C2=A0 14: OIPV4 L2TPv2 L2TPv2PAY PAY3

=C2=A0 15: OIPV6 L2TPv2 L2TPv2PAY PAY3

 

Von: = Rami Rosen <ramirose@gmail.com>
Gesendet: Dienstag, 28. = August 2018 16:38
An: Sebastian Foss = <sfo@ingenieurbuero-foss.de>
Cc: = dts@dpdk.org
Betreff: Re: [dts] DDP / testpmd = setup

 

Hi = Sebastian,

 

What do you get when = running:

 

testpmd> ddp get info = (profile_path)

 

 

Regards,

Rami Rosen

 

 

On = Tue, Aug 28, 2018 at 5:33 PM Sebastian Foss <sfo@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@gmail.com>
Gesendet: = Sonntag, 26. August 2018 22:46
An: Sebastian Foss <sfo@ingenieurbuero-foss.de>
Cc: dts@dpdk.org
Betreff: Re: [dts] DDP / = testpmd setup

 <= /o:p>

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

 <= /o:p>

Regarding = userspace app for achieving it: you can follow the dpdk testpmd code, = but

this can = take quite a time and effort.

 <= /o:p>

Regards,

Rami = Rosen

 <= /o:p>

 <= /o:p>

=D7=91=D7=AA= =D7=90=D7=A8=D7=99=D7=9A =D7=99=D7=95=D7=9D =D7=90=D7=B3, 26 = =D7=91=D7=90=D7=95=D7=92=D7=B3 2018, 22:57, =D7=9E=D7=90=D7=AA Sebastian = Foss =E2=80=8F<sfo@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 =E2=80=93 however im not sure how to do it from = userland.

 =

 =

Von: = Rami Rosen <ramirose@gmail.com>
Gesendet: = Sonntag, 26. August 2018 20:59
An: sfo@ingenieurbuero-foss.de
Betreff: Re: = [dts] DDP / testpmd setup

 <= /o:p>

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.

 <= /o:p>

Regards,

Rami = Rosen

http://ramirose.wix.com/ramirosen

 <= /o:p>

 <= /o:p>

 <= /o:p>

 <= /o:p>

On Sun, Aug = 26, 2018 at 3:18 PM Sebastian Foss <sfo@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 =E2=80=93 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.

 <= /o:p>

Thank = you!

 <= /o:p>

Mit freundlichen Gr=C3=BC=C3=9Fen / Best = Regards

Sebastian Foss, Electrical Engineering (B. = Eng.)

Hardware & Software = Development

Gesch=C3=A4ftsf=C3=BChrer / = CEO

SF Engineering UG & Co. = KG

 

 <= /o:p>



--

regards,

Rami = Rosen



-- =

regards,

Rami = Rosen

------=_NextPart_000_002C_01D43EEE.26D181B0--