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 83C562B92 for ; Tue, 28 Aug 2018 16:52:28 +0200 (CEST) Received: from [88.198.220.130] (helo=sslproxy01.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 1fufM4-0003Cr-8S; Tue, 28 Aug 2018 16:52:28 +0200 Received: from [93.244.224.0] (helo=DESKTOPPRFVO55) by sslproxy01.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1fufM3-0006t1-S8; Tue, 28 Aug 2018 16:52:28 +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> <002b01d43edd$63438190$29ca84b0$@ingenieurbuero-foss.de> In-Reply-To: Date: Tue, 28 Aug 2018 16:52:27 +0200 Message-ID: <003a01d43ede$bd3d9ae0$37b8d0a0$@ingenieurbuero-foss.de> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_003B_01D43EEF.80CB25D0" X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIBh3lWgwVKJh/M2Rx3NoI17djjbwKcEIokAdBua5QC5HMf4wGRIDuNArqSN30Br05kTAGqj98QpAL56qA= 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:52:28 -0000 This is a multipart message in MIME format. ------=_NextPart_000_003B_01D43EEF.80CB25D0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 = =E2=80=9Eregular=E2=80=9C network stack in linux. Seems like ddp is only = supported in dpdk right now =E2=80=93 although there are ddp references = in the i40e linux driver. =20 Von: Rami Rosen =20 Gesendet: Dienstag, 28. August 2018 16:49 An: Sebastian Foss Cc: dts@dpdk.org Betreff: Re: [dts] DDP / testpmd setup =20 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=20 and looking in the content of the packets it shows on the console ? or = by any other means ?=20 Also can you describe your setup - is it with VMs, how do you send the = traffic (scapy/pktgen/IXIA)? =20 Regards, Rami Rosen =20 =20 On Tue, Aug 28, 2018 at 5:42 PM Sebastian Foss = > wrote: 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 =20 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 --=20 regards, Rami Rosen ------=_NextPart_000_003B_01D43EEF.80CB25D0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

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 = =E2=80=9Eregular=E2=80=9C network stack in linux. Seems like ddp is only = supported in dpdk right now =E2=80=93 although there are ddp references = in the i40e linux driver.

 

Von: = Rami Rosen <ramirose@gmail.com>
Gesendet: Dienstag, 28. = August 2018 16:49
An: Sebastian Foss = <sfo@ingenieurbuero-foss.de>
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 <sfo@ingenieurbuero-foss.de= > wrote:

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:       = 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@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

 <= /o:p>

Hi = Sebastian,

 <= /o:p>

What do you = get when running:

 <= /o:p>

testpmd> = ddp get info (profile_path)

 <= /o:p>

 <= /o:p>

Regards,

Rami = Rosen

 <= /o:p>

 <= /o:p>

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



--

regards,

Rami = Rosen

------=_NextPart_000_003B_01D43EEF.80CB25D0--