Re: [PATCH v4] app/test: add support for skipping tests

2023-10-03 Thread Patrick Robb
Thanks, this should help greatly going forward in the community lab.

As it relates to our arm64 unit testing, I will give it a few days (or
longer if needed) for next branches to rebase off of main and then
re-enable arm64 unit testing with the eal_flags_file_prefix_autotest added
to the skipped list. David explained to me on slack that this patch would
not likely be a candidate for backporting, so of course LTS will be
excluded.


Re: [PATCH v6 1/3] eal: add x86 cpuid support for monitorx

2023-10-09 Thread Patrick Robb
Recheck-request: iol-unit-amd64-testing

Failed for service_autotest on windows. I'm doing a retest to see if it's
reproducible.


Re: [PATCH v4] app/test: add support for skipping tests

2023-10-09 Thread Patrick Robb
On Wed, Oct 4, 2023 at 11:13 AM Aaron Conole  wrote:

> Patrick Robb  writes:
>
> > Thanks, this should help greatly going forward in the community lab.
> >
> > As it relates to our arm64 unit testing, I will give it a few days (or
> longer if needed) for next branches to rebase off of
> > main and then re-enable arm64 unit testing with the
> eal_flags_file_prefix_autotest added to the skipped list. David
> > explained to me on slack that this patch would not likely be a candidate
> for backporting, so of course LTS will be
> > excluded.
>
> This is in testing area, and maybe it can be considered as an exception
> if it allows for improved LTS testing.  CC'd Kevin.
>
> Hello,

Yes, backporting would be ideal from a CI perspective because without it we
can't run arm64 testing on LTS tests. But I know there are other
considerations which also have to be weighed.

David also has a patch[1] which should resolve the underlying issue which
introduces the failures on the unit test we want to skip. If that patch is
accepted, and backported, fixing our original problem with unit testing on
our arm testbeds, that's another solution, at least for this specific unit
test issue.

It would still be nice to have this feature in case we need it otherwise.

[1]
https://patches.dpdk.org/project/dpdk/patch/20230821085806.3062613-4-david.march...@redhat.com/


Re: [PATCH] eal: remove return from functions declared void return type

2023-10-17 Thread Patrick Robb
Recheck-request: iol-broadcom-Functional

Sorry, this series was affected by an infra failure today.


Re: [PATCH v4] app/test: add support for skipping tests

2023-10-20 Thread Patrick Robb
On Mon, Oct 9, 2023 at 4:03 PM Patrick Robb  wrote:

>
>> Hello,
>
> Yes, backporting would be ideal from a CI perspective because without it
> we can't run arm64 testing on LTS tests. But I know there are other
> considerations which also have to be weighed.
>
> David also has a patch[1] which should resolve the underlying issue which
> introduces the failures on the unit test we want to skip. If that patch is
> accepted, and backported, fixing our original problem with unit testing on
> our arm testbeds, that's another solution, at least for this specific unit
> test issue.
>
> It would still be nice to have this feature in case we need it otherwise.
>
> [1]
> https://patches.dpdk.org/project/dpdk/patch/20230821085806.3062613-4-david.march...@redhat.com/
>
> Hi. just to close the loops on this, yes David's aforementioned patch did
resolve the unit test failure which was preventing us from running
fast-tests on our arm64 test beds. But, it is not (yet, at least)
backported for LTS releases.

Even if it were, having Bruce's patch here backported would mean the CI
testing approach could be common across releases in situations where
testcases have to be skipped.

Anyways, whether it's possible or "worth it" is ultimately down to the
community's bandwidth, but I didn't want to let the conversation lapse
without an update, and raising what the benefits would be.

In any case, thanks again Bruce for the rework, it's a great addition.


Re: [PATCH 2/2] build: fail if explicitly requested driver is unbuildable

2023-09-02 Thread Patrick Robb
ARM Ampere server test fails on this patch are lab infra-failures (I did
some updates on the server yesterday) and they can be ignored.


Re: [PATCH v13 8/8] net/ntnic: adds socket connection to PMD

2023-09-02 Thread Patrick Robb
ARM Ampere server test fails on this patch are lab infra-failures (I did
some updates on the server yesterday) and they can be ignored.


Re: [PATCH] maintainers: update email address

2023-09-20 Thread Patrick Robb
Recheck-request: iol-unit-amd64-testing

A maintainers file change should not cause eal_flags_misc_autotest to fail,
so I'm queuing a retest for this series.


Community CI Meeting Minutes - July 11, 2024

2024-07-11 Thread Patrick Robb
#
July 11, 2024
Attendees
1. Patrick Robb
2. Juraj Linkeš
3. Alex Chapman
4. Tomas Durovec
5. Jeremy Spewock
6. Adam Hassick
7. Manit Mahajan
8. Dean Marx

#
Minutes

=
General Announcements
* CFP for DPDK Summit closes July 21
* There was a call with AWS people to gauge interest in DPDK testing
on their platform.
   * Their primary interest is in the functional testing
   * Performance testing is not ideal for them as their platform has a
deep tech stack which may scale differently according to deployment
conditions, so it’s hard to publish perf numbers which will hold true
across all possible deployments.

=
CI Status

-
UNH-IOL Community Lab
* Pending checks appear to be working fine so far:
   * Next step is deploying a watchdog which will report to the UNH
team every time a patchseries crosses the 24 hour threshold without
all its pending checks being superseded by PASS/FAIL. This watchdog
script is written and ready to deploy.
* Xueming Li (23.11 LTS maintainer) noticed that 23.11-staging branch
was not triggering a test when he amended the latest commit and force
pushed. UNH team did a little digging and found that the commits in
question were appearing on the dpdk.org git server, but not the GitHub
DPDK mirror. Our webhook for triggering LTS-staging runs is through
GitHub, so this caused the failure to trigger CI. David is helping
troubleshoot the GitHub mirror but this is not resolved yet.
* Retests v2:
   * Targeting to deploy this by Monday, July 15
   * Once this is deployed at UNH, make sure all scripts are submitted
to dpdk-ci and help other labs deploy the updates for the retest
framework (Zhoumin from Loongson has indicated interest)
* OVS:
   * There was some discussion on the mailing list about OVS compile
testing at UNH lab. This testing has been enabled, runs from the
dpdk-latest branch on OVS, and should be catching and series which
break ovs compile.

-
Intel Lab
* Patrick will contact them in the future to ask about supporting the
retest framework

-
Github Actions
* None

-
Loongarch Lab
* None

=
DTS Improvements & Test Development
* The MTU setting bug for mlx5 which Jeremy reported is being fixed in
this patch: 
https://patches.dpdk.org/project/dpdk/patch/20240708105931.1842134-1-dsosnow...@nvidia.com/
* DTS group had a call to sync a few days ago:
   * Testpmd context manager: Now split out from the scatter testsuite
and submitted as an independent testsuite. Has some reviews and was
tested at UNH.
  * Juraj Linkeš is going to take a look at this series and the
improved interactive shell output gathering series, and will follow up
with Thomas afterwards requesting a merge
   * Patrick Robbwill ping David on Slack asking about adding a
DTS-next branch which the DTS group can use for framework patches
   * UNH team is going to focus a lot of their time over the next week
to testing and reviewing the testsuites which are “ready,” and seeing
if those can make RC3.
  * Blocklist
  * Mac_filter
  * Vlan
  * Jumboframes
  * Queue_start_stop/Dynamic_queue (this is one where we will want
to add a capability for stopping queues, which can come in the next
release)
   * “Is there a list of Test Suites currently being worked on, as to
not do the same ones? I may have missed it in the last meeting.” -Alex
  * Working tracking spreadsheet:
https://docs.google.com/spreadsheets/d/1KrAS0c08x16RddzmYm2RDR93lRYxI9_owfk-9sz6iaI/edit?gid=0#gid=0
  * Should always make a ticket when starting a new testsuite:
https://bugs.dpdk.org/buglist.cgi?quicksearch=component%3Adts&list_id=8059

=
Any other business
* The DTS calls are now rescheduled, happening at 13:00 UTC on Thursdays.
* Next Meeting: July 25, 2024


Re: [PATCH v7 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-12 Thread Patrick Robb
Hello Zhoumin,

It looks like Loongarch CI failed to apply this patch, but it worked
at the other labs and locally for Serhii when they were checked out to
next-net.

Maybe your CI did not choose next-net, the right branch? I remember
you saying your CI is based on a fork of the dpdk-ci repo. Perhaps the
pw_maintainers_cli.py script for choosing the right branch to apply
on, is outdated in your fork.
https://git.dpdk.org/tools/dpdk-ci/tree/tools/pw_maintainers_cli.py

Can you take a look? Thanks.

On Fri, Jul 12, 2024 at 5:49 AM Serhii Iliushyk  wrote:
>
> Add initial ntnic ethdev skeleton and register PCI probe functions
> Update documentation: Device description and feature list
>
> Signed-off-by: Serhii Iliushyk 
> ---
>  .mailmap   |  1 +
>  MAINTAINERS|  7 
>  doc/guides/nics/features/ntnic.ini |  8 +
>  doc/guides/nics/index.rst  |  1 +
>  doc/guides/nics/ntnic.rst  | 39 
>  doc/guides/rel_notes/release_24_07.rst | 10 ++
>  drivers/net/meson.build|  1 +
>  drivers/net/ntnic/meson.build  | 18 ++
>  drivers/net/ntnic/ntnic_ethdev.c   | 49 ++
>  9 files changed, 134 insertions(+)
>  create mode 100644 doc/guides/nics/features/ntnic.ini
>  create mode 100644 doc/guides/nics/ntnic.rst
>  create mode 100644 drivers/net/ntnic/meson.build
>  create mode 100644 drivers/net/ntnic/ntnic_ethdev.c
>
> diff --git a/.mailmap b/.mailmap
> index 552d79eaa6..aad8c552f6 100644
> --- a/.mailmap
> +++ b/.mailmap
> @@ -1307,6 +1307,7 @@ Sergey Madaminov 
>  Sergey Mironov 
>  Sergey Temerkhanov 
>  Sergio Gonzalez Monroy 
> +Serhii Iliushyk 
>  Seth Arnold 
>  Seth Howell 
>  Shachar Beiser 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 533f707d5f..0359368981 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -855,6 +855,13 @@ F: drivers/net/octeon_ep/
>  F: doc/guides/nics/features/octeon_ep.ini
>  F: doc/guides/nics/octeon_ep.rst
>
> +Napatech ntnic
> +M: Christian Koue Muf 
> +M: Serhii Iliushyk 
> +F: drivers/net/ntnic/
> +F: doc/guides/nics/ntnic.rst
> +F: doc/guides/nics/features/ntnic.ini
> +
>  NVIDIA mlx4
>  M: Matan Azrad 
>  M: Viacheslav Ovsiienko 
> diff --git a/doc/guides/nics/features/ntnic.ini 
> b/doc/guides/nics/features/ntnic.ini
> new file mode 100644
> index 00..9ceb75a03b
> --- /dev/null
> +++ b/doc/guides/nics/features/ntnic.ini
> @@ -0,0 +1,8 @@
> +;
> +; Supported features of the 'ntnic' network poll mode driver.
> +;
> +; Refer to default.ini for the full list of available PMD features.
> +;
> +[Features]
> +Linux= Y
> +x86-64   = Y
> diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
> index 7bfcac880f..c14bc7988a 100644
> --- a/doc/guides/nics/index.rst
> +++ b/doc/guides/nics/index.rst
> @@ -53,6 +53,7 @@ Network Interface Controller Drivers
>  nfb
>  nfp
>  ngbe
> +ntnic
>  null
>  octeon_ep
>  octeontx
> diff --git a/doc/guides/nics/ntnic.rst b/doc/guides/nics/ntnic.rst
> new file mode 100644
> index 00..249d83d511
> --- /dev/null
> +++ b/doc/guides/nics/ntnic.rst
> @@ -0,0 +1,39 @@
> +..  SPDX-License-Identifier: BSD-3-Clause
> +Copyright(c) 2023 Napatech A/S
> +
> +NTNIC Poll Mode Driver
> +==
> +
> +The NTNIC PMD provides poll mode driver support for Napatech smartNICs.
> +
> +
> +Design
> +--
> +
> +The NTNIC PMD is designed as a pure user-space driver, and requires no 
> special
> +Napatech kernel modules.
> +
> +The Napatech smartNIC presents one control PCI device (PF0). NTNIC PMD 
> accesses
> +smartNIC PF0 via vfio-pci kernel driver. Access to PF0 for all purposes is
> +exclusive, so only one process should access it. The physical ports are 
> located
> +behind PF0 as DPDK port 0 and 1.
> +
> +
> +Supported NICs
> +--
> +
> +- NT200A02 2x100G SmartNIC
> +
> +- FPGA ID 9563 (Inline Flow Management)
> +
> +All information about NT200A02 can be found by link below:
> +https://www.napatech.com/products/nt200a02-smartnic-inline/
> +
> +Limitations
> +~~~
> +
> +Kernel versions before 5.7 are not supported. Kernel version 5.7 added 
> vfio-pci
> +support for creating VFs from the PF which is required for the PMD to use
> +vfio-pci on the PF. This support has been back-ported to older Linux
> +distributions and they are also supported. If vfio-pci is not required kernel
> +version 4.18 is supported.
> diff --git a/doc/guides/rel_notes/release_24_07.rst 
> b/doc/guides/rel_notes/release_24_07.rst
> index e50afed0d5..332a959618 100644
> --- a/doc/guides/rel_notes/release_24_07.rst
> +++ b/doc/guides/rel_notes/release_24_07.rst
> @@ -154,6 +154,16 @@ New Features
>
>Added an API that allows the user to reclaim the defer queue with RCU.
>
> +* **Added Napatech ntnic experimental PMD driver.**
> +
> +  * Added the experimental PMD driver
> +
> +- Ability to initialize the 

Re: [PATCH v7 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-15 Thread Patrick Robb
Hi Min Zhou,

I am seeing that commit for next-net:
https://git.dpdk.org/next/dpdk-next-net/commit/?id=a6c3ec342ee105e322ffdb21e810cdfd38455c62

If you try to manually apply it on next-net, does it work?

Pasting the logs from our apply process below for context:

```

 Trying to checkout branch: origin/next-net-for-main
 Checked out to next-net-for-main (a6c3ec342ee105e322ffdb21e810cdfd38455c62)
 Applying patch...

 Applying: net/ntnic: add ethdev and makes PMD available
 Applying: net/ntnic: add logging implementation
 Applying: net/ntnic: add minimal initialization for PCI device
 Applying: net/ntnic: add NT utilities implementation
 Applying: net/ntnic: add VFIO module
 Applying: net/ntnic: add basic eth dev ops to ntnic
 Applying: net/ntnic: add core platform structures
 Applying: net/ntnic: add adapter initialization
 Applying: net/ntnic: add registers and FPGA model for NapaTech NIC
 Applying: net/ntnic: add FPGA modules for initialization
 Applying: net/ntnic: add FPGA initialization functionality
 Applying: net/ntnic: add support of the NT200A0X smartNIC
 Applying: net/ntnic: add startup and reset sequence for NT200A0X
 Applying: net/ntnic: add clock profile for the NT200A0X smartNIC
 Applying: net/ntnic: add link management skeleton
 Applying: net/ntnic: add link 100G module ops
 Applying: net/ntnic: add generic NIM and I2C modules
 Applying: net/ntnic: add QSFP support
 Applying: net/ntnic: add QSFP28 support
 Applying: net/ntnic: add GPIO communication for NIMs
 Applying: net/ntnic: add physical layer control module


 Running test build...
 The Meson build system

```


Re: [PATCH V2] examples/pipeline: fix include path for rte_log.h

2024-07-16 Thread Patrick Robb
On Wed, Feb 14, 2024 at 3:17 PM Patrick Robb  wrote:
>
>
>
> On Wed, Feb 14, 2024 at 3:00 PM Dumitrescu, Cristian 
>  wrote:
>>
>>
>>
>> [Cristian]
>> Yes, you are right, we do have a DTS test suite for the pipeline library.
>>
>> It would be great to run it automatically as part of the CI testing. Just a 
>> word of caution though: I am not the owner of those tests, and also not 
>> intimately familiar with them, so it might be hard to find volunteers to 
>> setup the test suite, that the only problem that I see unfortunately. But we 
>> should try and see if there are any issues at all.
>>
>> Thanks,
>> Cristian
>
>
> Okay, the setup doesn't look too burdensome anyhow so we should be alright 
> with just the team here at UNH. I'll let you know how it goes.

Sorry I realized today I never provided an update here. Back in
February I did wire a testbed according to the testplan, insalled the
dependencies and gave it a run, which was not passing.

It would have been possible to pick apart the testsuite, manually
running the example app to see whether the issue laid in the testbed
setup, testsuite implementation, or somewhere else. But, it would have
taken time and the premise of this effort was that it would be a quick
setup, so I gave up as our efforts should go towards making additions
to new DTS now, instead of debugging old DTS.

I'm sorry that there isn't pipeline coverage in CI currently though -
something to target going forward.


Re: [PATCH v7 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-17 Thread Patrick Robb
On Mon, Jul 15, 2024 at 10:38 PM zhoumin  wrote:
>
> Hi Patrick,
>
> Thanks for giving the link of commit `a6c3ec342ee1`.
>
> However I cannot checkout this commit in the next-net repository because
> the commit ID is not exist in the history of next-net repository. Could
> you find it?
>
> It seems that the commit `a6c3ec342ee1` is nearly identical to the
> commit `62edcfd6ea3c` except the minor change in the subjects as following:
>
> https://git.dpdk.org/next/dpdk-next-net/commit/?id=62edcfd6ea3c61639df68e4a315046d09f462e8c
>

Thanks Min Zhou, I see what you mean. I guess Ferruh amended a commit
and force pushed to the next-net branch? Otherwise I'm not sure what
happened.

In any case, it looks like for the v9 submission you checked out to a
valid commit on next-net, so I think we're good.

Thanks for updating your dpdk-ci repo!


Re: [PATCH] common/mlx5: remove unneeded field when modify RQ table

2024-07-17 Thread Patrick Robb
Rerunning the CI Test for Broadcom Performance, which appears to be a
false failure.


Re: Community CI Meeting Minutes - June 27, 2024

2024-07-19 Thread Patrick Robb
On Thu, Jun 27, 2024 at 4:52 PM Patrick Robb  wrote:

> #
> Minutes
>
> =
> General Announcements
> * DPDK Summit in Montreal will be September 24-25:
> https://www.dpdk.org/event/dpdk-summit-2024/
>* CFP closes July 21

Correction, CFP closes July 31, not 21.

https://events.linuxfoundation.org/dpdk-summit/program/cfp/


DTS WG Meeting Minutes - July 18, 2024

2024-07-23 Thread Patrick Robb
July 18, 2024

#
Attendees
* Patrick Robb
* juraj.lin...@pantheon.tech
* paul.szczepa...@arm.com
* Jeremy Spewock
* Dean Marx
* Nicholas Pratte
* Alex Chapman

#
Minutes

=
General Announcements
* DPDK CFP deadline is 07/31
   * UNH is going to propose a 10 minute talk
* Going to improve the statistics.txt which DTS outputs. Should be
able to largely do the same thing as the json files which old DTS
outputs.
   * https://bugs.dpdk.org/show_bug.cgi?id=1363
   * Patrick Robbto comment with any suggestions
* UNH is starting to experiment with the flow API and writing
testsuite(s) for it.
   * Having some difficulty checking device capabilities. There is a
testpmd validate function which can be run for flow rules, but
behavior from NICs after applying flow rules seems unreliable - we
need to dig more and figure out whether our implementation is poor,
testpmd support for flow api is poor, driver flow rule validation is
lacking, or something else.

=
Patch discussions
* Thomas has indicated he will look at the DTS patches which are
ready(docs gen, testpmd context manager, interactive shell output
gathering) this week for RC3
* Docs generation
   * Thomas is going to provide a review
   * The part where we link the DTS api docs with the Doxygen landing
page needs to be reviewed, so there is a link from DPDK docs to the
DTS docs.
* Testpmd context manager
   * Has been reviewed by everyone and is final
* Improve interactive shell output gathering
   * Ready
* Capabilities patch
   * Almost ready, but Juraj
  * needs to add support for getting capabilities from show port info
  * Show rxq info vs show rx_queue offload. Which is needed for
our testcase?
  * There was an email send in the Spring about checking for
scatter capability
  * Juraj is looking into the scatter capabilities more:
 * Jeremy: The first testcase should be based on what the port
natively supports (maybe show rxq info {port} {queue}), and the second
testcase should be based on whether the scatter capability can be
offloaded to the NIC (show port {port} rx_offload capabilities)
  * It should be possible to check capabilities for the flow API
too by using the testpmd flow rule validate command. Once we are
confident with the rte_flow testsuite, we can add this part
* Queue_Region testsuite:
   * Tests some comments in testpmd for the i40e driver
   * This uses a private API, and is exclusively for i40e
   * The driver feature is not supported in DPDK
   * It makes sense to avoid working on this testsuite for now, but we
can come back to it
* Blocklist:
   *  UNH needs to provide a tested-by tag and reviews tag once it’s
ran on our hardware
* Mac Filter:
   * Jeremy has provided a review, reviews from others requested
* Dual VLAN
   * Basically the same as the single VLAN testsuite which Dean has
submitted, but for 2 VLANs
   * There was a testcase for extended VLANs in old DTS. And a comment
that says that extended VLANs makes filtering “work normally” on
i40e... it’s not clear what this means, but the VLAN strip, insert,
and filter functions should work without extended VLAN range.
   * TPID support can come with a future version of this testsuite,
but would include implementation of a capability check
* Speed Capabilities:
   * Alex is looking at this testsuite, but it relies on defining a
testsuite config file, something not needed for all other testsuites
written so far
* Dynamic queue is out waiting for review
* Jumbo frames
   * Waiting on Ferruh to get back on the issue Nick was facing
  * Hoping that he will be able to expand more on what
–max-pkt-len is trying to do and why it doesn’t completely work.
 * The command seems to be shaving off certain number of bytes
from the MTU (seemingly in an attempt to account for different PMDs
supporting different ethernet overheads)

=
Bugzilla discussions
* None

=
Any other business
* Next meeting Aug 1, 2024


Community CI Meeting Minutes - July 25, 2024

2024-07-25 Thread Patrick Robb
#
July 25, 2024
Attendees
1. Patrick Robb
2. Jeremy Spewock
3. Juraj Linkeš
4. Aaron Conole
5. Adam Hassick
6. Dean Marx
7. Luca Vizzarro
8. Manit Mahajan
9. Paul Szczepanek
10. Tomas Durovec

#
Minutes

=
General Announcements
* Retests v2:
   * When passing in a branch name, make sure it aligns with what
would be output by pw_maintainers_cli.py (i.e. “next-net” instead of
“next-net-for-main”)
* Depends-on:
   * Reminder: UNH folks are working on adding depends-on to the
patchwork project itself, with a v1 submission up so far.
   * Integer based series IDs vs series urls vs message IDs: will
either be patch urls or message ids to indicate the dependency.
  * Aaron: Message ids are better for folks who are working from
their email clients and don’t want to have to load up patchwork.
* DPDK Summit Presentations:
   * CFP deadline is Jul 31, 2024
   * Luca has made a submission for: How to run DTS testsuites, how to
write a testsuite from scratch. Going to do an overview of the APIs
available for test writers.
   * Patrick will do a submission for UNH Lab updates, including new
ci tools for the community, testing for projects which consume dpdk
(ovs, spdk), how (new) DTS will be used in the lab going forward.

=
CI Status

-
UNH-IOL Community Lab
* Retest Framework now supports the “rebase={branch}” parameter, which
will re-apply the series on a given branch before triggering retests
   * The needed updates to create_series_artifact.py have been
submitted from Adam, and applied on the dpdk-ci repo by Aaron.
   * Patrick Robbto work with other labs on making use of these updates
* The new AMD & Intel x86 servers are mounted, cabled etc. in the new
DPDK server rack. We’re moving over some of the NICs from the old
servers now, setting up the DTS configurations, etc.
   * Running from Ubuntu 24.04
* AMD has reached out for donation agreement for donating 3 additional
servers to the lab.

-
Intel Lab
* None

-
Github Actions
* Upcoming work: Cirrus CI

-
Loongarch Lab
* Patrick needs to reach out to Min Zhou and start up the process for
adding recheck support

=
DTS Improvements & Test Development
* next-dts branch has been approved by tech board, with Juraj as maintainer.
* Testpmd context manager is merged to main
* Alex had a bugfix for the git revision flag merged:
https://patchwork.dpdk.org/project/dpdk/patch/20240719153445.277851-1-alex.chap...@arm.com/
* Jeremy has rebased the improvements for interactive shell output
gathering, and this should be applied.
* Scatter capability:
   * Show rxq info: shows scatter on if MTU will not fit in a message
buf, shows off otherwise.
   * Show rx_offload capability: This shows the offload capability,
regardless of any runtime configuration
   * Mellanox appears to require that the –enable-scatter flag be
passed, others do not have this requirement

=
Any other business
* Patrick Robbneeds to add Tomas Durovec to the DTS call (he is only
invited to the CI call)


Re: How does CI system get updated?

2024-07-25 Thread Patrick Robb
Hi Stephen,

This is a UNH Lab system.

We review our systems for updates once every 4 months. The idea is we
do it early in each DPDK release's development cycle. So, we update
Dockerfiles (for container environments), we apply updates where
needed to persistent systems (for VMs, or baremetal servers).
Obviously the Mingw version for the windows system was a check we have
not been doing. Thank you for spotting this and letting us know.

We will apply the update and let you know when it's ready.


On Thu, Jul 25, 2024 at 11:03 AM Stephen Hemminger
 wrote:
>
>
>
> This warning is due to a very old version of Mingw installed in CI system.
>
>  20 line log output for Windows Server 2019 (dpdk_mingw64_compile): 
> In file included from ..\lib\net/rte_ip.h:21,
> from ../lib/net/rte_dissect.c:20:
> C:/mingw64/mingw64/x86_64-w64-mingw32/include/ws2tcpip.h:447:63: note: 
> expected 'PVOID' {aka 'void *'} but argument is of type 'const uint8_t *' 
> {aka 'const unsigned char *'}
> WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, PVOID pAddr, LPSTR 
> pStringBuf, size_t StringBufSize);
> ~~^
> ../lib/net/rte_dissect.c:292:29: error: passing argument 2 of 'inet_ntop' 
> discards 'const' qualifier from pointer target type 
> [-Werror=discarded-qualifiers]
> inet_ntop(AF_INET6, ip6_hdr->dst_addr, dbuf, sizeof(dbuf));
> ~~~^~
> In file included from ..\lib\net/rte_ip.h:21,
> from ../lib/net/rte_dissect.c:20:
> C:/mingw64/mingw64/x86_64-w64-mingw32/include/ws2tcpip.h:447:63: note: 
> expected 'PVOID' {aka 'void *'} but argument is of type 'const uint8_t *' 
> {aka 'const unsigned char *'}
> WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, PVOID pAddr, LPSTR 
> pStringBuf, size_t StringBufSize);
> ~~^
>
> It was fixed upstream in Mingw 4 years ago.


Re: How does CI system get updated?

2024-07-26 Thread Patrick Robb
Okay I understand better now how we ended up with an older mingw64
version. The DPDK Docs for windows compile direct folks over to
(https://sourceforge.net/projects/mingw-w64/files/) to get the
prebuilt binaries, but the latest toolchain published there is Mingw64
v8.*, whereas the current version is v11.*. So, when we upgraded to
the "latest" published version, we upgraded to that v8.* from years
ago. If you look at the mingw64 website downloads page
(https://www.mingw-w64.org/downloads/), it directs people over to
winlibs.com to download the prebuilt binaries for v11.

I have replaced the Windows Server 2019 CI VM's old mingw64 binaries
with the new (v11.*) ones downloaded from winlibs.com, and I see that
Stephen's patch now passes the compile test. I can issue a retest for
your series once I am all done making the update for the server 2022
machine too.

I guess this also raises the question of whether the DPDK docs for the
windows mingw64 compile process should be updated to point to
winlibs.com instead of sourceforge.net (only has the source code).

https://doc.dpdk.org/guides/windows_gsg/build_dpdk.html#option-2-mingw-w64-toolchain

On Thu, Jul 25, 2024 at 3:06 PM Patrick Robb  wrote:
>
> Hi Stephen,
>
> This is a UNH Lab system.
>
> We review our systems for updates once every 4 months. The idea is we
> do it early in each DPDK release's development cycle. So, we update
> Dockerfiles (for container environments), we apply updates where
> needed to persistent systems (for VMs, or baremetal servers).
> Obviously the Mingw version for the windows system was a check we have
> not been doing. Thank you for spotting this and letting us know.
>
> We will apply the update and let you know when it's ready.
>
>
> On Thu, Jul 25, 2024 at 11:03 AM Stephen Hemminger
>  wrote:
> >
> >
> >
> > This warning is due to a very old version of Mingw installed in CI system.
> >
> >  20 line log output for Windows Server 2019 (dpdk_mingw64_compile): 
> > In file included from ..\lib\net/rte_ip.h:21,
> > from ../lib/net/rte_dissect.c:20:
> > C:/mingw64/mingw64/x86_64-w64-mingw32/include/ws2tcpip.h:447:63: note: 
> > expected 'PVOID' {aka 'void *'} but argument is of type 'const uint8_t *' 
> > {aka 'const unsigned char *'}
> > WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, PVOID pAddr, LPSTR 
> > pStringBuf, size_t StringBufSize);
> > ~~^
> > ../lib/net/rte_dissect.c:292:29: error: passing argument 2 of 'inet_ntop' 
> > discards 'const' qualifier from pointer target type 
> > [-Werror=discarded-qualifiers]
> > inet_ntop(AF_INET6, ip6_hdr->dst_addr, dbuf, sizeof(dbuf));
> > ~~~^~
> > In file included from ..\lib\net/rte_ip.h:21,
> > from ../lib/net/rte_dissect.c:20:
> > C:/mingw64/mingw64/x86_64-w64-mingw32/include/ws2tcpip.h:447:63: note: 
> > expected 'PVOID' {aka 'void *'} but argument is of type 'const uint8_t *' 
> > {aka 'const unsigned char *'}
> > WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, PVOID pAddr, LPSTR 
> > pStringBuf, size_t StringBufSize);
> > ~~^
> >
> > It was fixed upstream in Mingw 4 years ago.


DTS WG Meeting Minutes - August 1, 2024

2024-08-01 Thread Patrick Robb
August 1, 2024

#
Attendees
* Patrick Robb
* Jeremy Spewock
* Nicholas Pratte
* Juraj Linkeš
* Alex Chapman
* Luca Vizzarro

#
Minutes

=
General Announcements
* DPDK 24.07 is released
* DPDK Summit CFP deadline has passed. Luca submitted a talk for
setting up DTS and running testsuites. Patrick submitted a talk for CI
Labs/community update and new CI testing coverage, tools, etc.
available to DPDK developers.
* Draft of DTS 24.11 roadmap:
https://docs.google.com/document/d/1Rcp1-gZWzGGCCSkbEsigrd0-NoQmknv6ZS7V2CPdgFo/edit
* Do we want to add DTS items to release notes?
   * What is the process for building the release notes? Should the
people working on DTS aggregate the updates and submit them? Patrick
Robbshould check the website for the release notes process, or email
the dev mailing list asking.
* Dpdk-next-dts has been set up: https://git.dpdk.org/next/dpdk-next-dts/
   * We should continue to submit patches like normal. Juraj will
apply the patches to next-dts as needed.
   * Once the patches are in next DTS for-main branch, they can be
pulled into DPDK main at any time by Thomas/David
* Some AWS engineers are invited to the CI call for next week.
   * Will talk about reporting publicly using their internal tooling
   * Will talk about reporting using dpdk-test from AWS
   * Will (possibly) talk about DTS at AWS

=
Patch discussions
* Adding support for DTS creating device VFs:
   * Shouldn’t need any additions to the config file.
   * There can be a capability associated with this, i.e. this
testsuite requires VFs, then we run “dpdk-devbind.py -s” and parse out
the output for available VFs.
   * Method for creating the VFs can return the list of VFs which can
be stored in the testsuite object as VF ports
* Ipv4_reassembly: not eth_dev, will not be implemented in new DTS.
   * Patrick Robbneeds to strike through this row, and give Luca edit
access on the spreadsheet
* We need to add more testsuites to the list. Dean Marxand Patrick
Robbshould sync on this to discuss the new list that Dean put
together, and find some more cases.
* We often ship testsuites patches and testpmd shell additions
together, and the testpmd shell addition gets locked up for an
extended period of time as the testsuite gets reviews. If we spit out
the testsuite additions and the framework additions, we can merge the
framework additions quickly into the dts staging branch. For now, we
can ship testsuite patches and their respective framework updates
together, and split them out if we reach the 2nd half of a release
cycle and we need to start moving.

=
Bugzilla discussions
* Looking into submitting a bugzilla ticket for mlx5 NICs not
distinguishing between having a bad checksum and having no checksum in
testpmd verbose output.

=
Any other business
* Next meeting Aug 15, 2024


Re: [PATCH v2 0/7] record and rework component dependencies

2024-08-02 Thread Patrick Robb
I saw there was one fail for this series for the Marvell MVNETA container.

I thought I should also mention that the build did fail when our
automation tried to run DTS on the Octeon CN10K DPU (which is also
Marvell). So, that is why you won't get a report for the CN10K DTS
results.

Let me know if you can't get what you need from the MVNETA build logs
failure, and I can manually get more info about why this won't
compile. Cheers.


Re: [OS-Team] [dpdklab] Re: [PATCH] version: 24.11-rc0

2024-08-08 Thread Patrick Robb
Thanks I will merge the change disabling ABI checks at UNH at start of
day tomorrow.

On Thu, Aug 8, 2024 at 8:56 AM David Marchand  wrote:
>
> On Thu, Aug 8, 2024 at 2:00 PM Thomas Monjalon  wrote:
> >
> > 08/08/2024 10:03, David Marchand:
> > > Start a new release cycle with empty release notes.
> > >
> > > The ABI version becomes 25.0.
> > > The map files are updated to the new ABI major number (25).
> > > The ABI exceptions are dropped and CI ABI checks are disabled because
> > > compatibility is not preserved.
> > >
> > > Signed-off-by: David Marchand 
> > Acked-by: Thomas Monjalon 
>
> Applied, thanks.
>
> Heads up to CI: ABI checks must be disabled during v24.11 release.
>
>
> --
> David Marchand
>


Community CI Meeting Minutes - August 8, 2024

2024-08-08 Thread Patrick Robb
#
August 8, 2024
Attendees
1. Patrick Robb
2. Juraj Linkeš
3. Aaron Conole
4. Alex Chapman
5. Dean Marx
6. Jeremy Spewock
7. Luca Vizzarro
8. Nicholas Pratte
9. Paul Szczepanek
10. Manit Mahajan

#
Minutes

=
General Announcements
* Testing presentations at DPDK Summit:
   * UNH Lab Update and CI tooling updates talk was approved. Patrick
and Adam Hassick will give this talk
   * Luca’s proposal for a DTS talk was approved, but the remote
presentation option was rejected. So, Patrick and (Nick or Dean) will
give this presentation.
* AWS CI Testing initiative status?
   * What testing tooling/frameworks can AWS people use, for CI
testing and reporting to the mailing list?
  * 1. They mentioned they have some internal DPDK test tools
  * 2. dpdk-test/meson test from the DPDK repo
  * 3. DTS (would be most appropriate in a couple months once more
testsuites are merged to DPDK and we can figure out running the
framework in a cloud environment)
   * What utilities do they need in order to setup CI?
  * Each lab has a different automation framework setup (UNH uses
Jenkins, for instance) but the dpdk-ci repo
(https://git.dpdk.org/tools/dpdk-ci/) contains bash/python scripts
which can be used to stand up the CI process regardless of the
automation tool in use:
 * downloading patches from DPDK patchwork (download-patch.sh)
* UNH also wrote a python equivalent for downloading
patchseries, which we can publish to dpdk-ci if there is interest.
 * Making a guess of what the correct DPDK branch to apply on
is, based on files modified
(https://git.dpdk.org/tools/dpdk-ci/tree/tools/pw_maintainers_cli.py)
 * (if needed) Apply patches to DPDK with git-pw and create a
tarball of the resulting DPDK artifact to test on
(https://git.dpdk.org/tools/dpdk-ci/tree/tools/create_series_artifact.py)
 * Send test report to the DPDK test-report mailing list
(https://git.dpdk.org/tools/dpdk-ci/tree/tools/send-patch-report.sh)
 * And more utilities, which may be needed depending on the
specific infra/process you decide to stand up
   * There are some people wanting to visit the UNH lab. Need to
resurrect the mailing list conversation.
  * Most people will probably try to leave the morning of the 26th
and drive to UNH (5 hours), and can arrive early afternoon at UNH

=
CI Status

-
UNH-IOL Community Lab
* Windows Server testbeds: Tyler from Microsoft let us know that we
can discontinue usage of the 2019 server. So, we will only run from
server 2022 now, we just need to verify we are running all 3 compile
toolchains on server 2022. As a reminder, they are:
   * LLVM 14.0.0 (or later) and Microsoft MSVC linker.
   * Microsoft Visual Studio 2022 (any edition).
   * The MinGW-w64 10.0 (or later) toolchain (native).
  * One more note about Windows compile jobs is that the prebuilt
mingw64 binaries are not longer available at Sourceforge. It is
necessary to download them at https://winlibs.com/
* Depends-on support on Patchwork: submitted a v2 for the series
   * https://patchwork.ozlabs.org/project/patchwork/list/?submitter=88738
* Pending reporting:
   * This is working, but we have gotten complaints about spamming the
mailing list with too many reports. The reason is that we send a new
report every time a testing job finishes for a particular environment
(so we add a new row to the results table for a patchwork context).
The community has requested that we change to a model of “send a
report when testing for a patchwork context begins, then as tests
finish, only send a new report if the overall test status for the
context has changed, then send a report when all testing for the
patchwork context is complete.” We are making these updates now.
* Testbed maintenance: Updating baremetal systems, firmware, VMs,
containers definitions via dockerfiles, distro upgrades. We do this at
the start of every release cycle.
* DPDK Dashboard: Have made some improvements to how we query for test
results, and started caching some requests we make to our results REST
API, which have improved performance quite a bit. Still not lightning
fast, but will no longer get timeout errors trying to load the results
detail view for a patchseries etc.

-
Intel Lab
* Juraj’s DTS API doc generation patch failed Intel’s CI, due to “--
exclude=doc/* *” build parameter being used. They have stated this is
done to provide CI stability, and suggested in this case maintainers
make an exception and merge the patch without a pass from Intel lab.
Conversation is ongoing on the mailing list here, but Juraj

Re: [PATCH] net/bonding: add user callback for bond xmit policy

2024-08-15 Thread Patrick Robb
Recheck-request: iol-marvell-Functional

Putting in a retest for this.


DTS WG Meeting Minutes - August 15, 2024

2024-08-15 Thread Patrick Robb
#
August 15, 2024
Attendees
* Patrick Robb
* Jeremy Spewock
* Alex Chapman
* Juraj Linkeš
* Tomas Durovec
* Dean Marx
* Luca Vizzarro
* Paul Szczepanek
* Nicholas Pratte

#
Minutes

=
General Discussion
* DTS Roadmap: 
https://docs.google.com/document/d/1Rcp1-gZWzGGCCSkbEsigrd0-NoQmknv6ZS7V2CPdgFo/edit
   * Will email out after this meeting
* Speakers are all signed up for the CI and DTS talks at DPDK Summit

=
Patch discussions
* Testpmd shell method names: should they align with existing testpmd
runtime commands? I.e. should the “flow create” runtime command be
implemented via a method named flow_create_*() or the more english
intuitive create_flow_*()
   * One option is to implement both, and have one method call the other
  * This potentially creates confusion as people read different
testsuites and see different functions used, not realizing they may be
the same
   * The group agrees it is best to name methods in a human readable
intuitive way… so like create_flow_*() from the example above.
* Testpmd verbose parser
   * If we read port from testpmd to identify packets, they must have
a tcp/udp layer, which may be limiting. If, for whatever reason,
packets for a testsuite cannot be built with a l4, individual
testsuites may have to check based on src mac address, checksum etc.
   * In almost all cases, packets can be build with a l4
* Checksum offload suite is submitted
   * Dependency on the existing testpmd verbose parser
   * RX side testcases work fine, but TX side behavior is not aligning
with what is described in the testsuite, so feedback on this is
appreciated
   * Checksum offload command
  * Csum set {layer name} hw {port number}
  * Returns sctp offload is not supported
  * TCP/UDP packets are working
* Port assignment:
   * Physical ports are defined in the nodes conf section, then port
ids are referred to in the testrun config
   * Also includes splitting the nodes and testrun configs into different files
  * Discussion on ticket regarding having a conf directory to contain these
   * Still some work to be done removing unneeded configuration from conf.yaml
* VXLAN-GPE testsuite is now canceled as the feature is removed as of DPDK 24.07
* API Docs
   * Juraj needs reviews and testing
   * UNH people please rebuild the docs and provide your experience
  * Should specifically test meson install
   * Aim is to make it simple to use (and it is)
   * It builds with DPDK docs
* L2fwd
   * Jeremy provided a review, more people at UNH please run this and
provide feedback
   * When reviewing people should also review the dependency - add
pktgen and testpmd change series
* Tomas and Juraj have begun work on producing the testrun results json

=
Bugzilla discussions
* None

=
Any other business
* Next meeting Aug 29, 2024


Community CI Meeting Minutes - August 22, 2024

2024-08-22 Thread Patrick Robb
#
August 22, 2024
Attendees
1. Patrick Robb
2. Tomas Durovec
3. Dean Marx
4. Luca Vizzarro
5. Jeremy Spewock
6. Ali Alnubani
7. Juraj Linkeš
8. Paul Szczepanek

#
Minutes

=
General Announcements
* DPDK Summit Montreal: September 24-25
   * Some Summit attendees will be visiting the UNH Community Lab on
September 26.

=
CI Status

-
UNH-IOL Community Lab
* openssl_asym_autotest driver test is failing on opensuse Leap
   * Submitted a bugzilla ticket with
testlogs:https://bugs.dpdk.org/show_bug.cgi?id=1523
   * Disabling this in CI testing in the interim
* New Community Lab Servers:
   * NVIDIA ConnectX6-Lx and ConnectX7 NICs were moved to the new
servers. The single core performance testing appears good so far (much
better than with the old servers, and having rough parity with the
performance reports NVIDIA publishes on dpdk.org)
  * Patrick is experimenting with some more of the AMD specific
optimization system configs:
 * https://doc.dpdk.org/guides/linux_gsg/amd_platform.html
 * 
https://www.amd.com/system/files/documents/58017-amd-epyc-9004-tg-data-plane-dpdk.pdf
   * Linux Foundation has provided legal approval for AMD to donate 3
additional used servers to the Community Lab, so those will be
arriving soon
* Deployed the update for sending fewer emails to the test-report
mailing list (now we only send an extra email when the overall test
label status updates, or when testing for a patchwork label is 100%
done)
* DTS Check format check:
   * Going to run that in CI, should be able to do this by next week
   * Also going to start running meson check format with the same process

-
Intel Lab
* None

-
Github Actions
* None

-
Loongarch Lab
* None

=
DTS Improvements & Test Development
* MTU update testpmd methods:
   * Nick will submit a standalone patch for this, Jeremy and Juraj
will depend on this
* Luca’s pktgen and testpmd change patch includes an implementation
for starting and stopping ports. Everyone should use this method once
the series is reviewed and merged.
http://patches.dpdk.org/project/dpdk/patch/20240806124642.2580828-5-luca.vizza...@arm.com/
* VF creation:
   * Host must have sr-iov setup
   * PF is bound to the kernel driver (os_driver in dts)
   * Is it important to be non-destructive towards existing VFs when DTS starts?
  * People may not expect for DTS to be touching existing system
configuration, and could cause confusion for people who run DTS in
terms of their system state after running DTS
  * This is only relevant for bifurcated drivers (mlx5_core)
   * Interfaces need to be up (broadcom)
   * https://bugs.dpdk.org/show_bug.cgi?id=1500
* Pending Testsuites:
   * Some tests require adding functionality to testpmd
  * Interrupt_pmd test plan is written from l3fwd-power which has
some hooks for checking wakeups, would need to patch testpmd to fetch
the same info
  * https://doc.dpdk.org/dts/test_plans/interrupt_pmd_test_plan.html
* MTU Update is assigned to Alex
   * There is probably some discussion on the mailing list about this
suite from years ago, when it was returning inconsistent behavior
across NICs based on assumptions around byte allocations for VLANs
  * Might be the exact same issue as arose when the jumboframes
testsuite was written a couple months ago
  * Patrick will search for the old mail threads
* Patrick and UNH team need to add more testsuite ideas to the
tracking spreadsheet:
https://docs.google.com/spreadsheets/d/1KrAS0c08x16RddzmYm2RDR93lRYxI9_owfk-9sz6iaI/edit?gid=0#gid=0
* Dts-next branch.
   * Paul has been joining the DPDK release meetings, with ARM
updates, and can give dts-next updates too (what is being merged, what
are the important considerations).
   * We should summarize the high level for the patches submitted to
the next-dts branch every week, and then Paul can bring that
information to the release meeting if needed.
*  Next-dts summary:
   * It is not being used yet, but we are going to start now with the
patches which are on patchwork
   * So, for example, Luca’s pktgen and testpmd updates series would
be one of the first things which Juraj will add
   * Juraj (Next-DTS Maintainer) will be on vacation next week, but
this will be used after
* DTS Docs:
   * Dependency issue: pyyaml was a missing dependency, causing docs
build to fail
  * .toml file for dependencies uses distro name for py

Re: [PATCH v1] net/ice: fix incorrect reading of PHY timestamp

2024-08-26 Thread Patrick Robb
Recheck-request: iol-marvell-Functional

On Fri, Aug 23, 2024 at 7:56 AM Soumyadeep Hore
 wrote:
>
> In E830 adapters, PHY timestamp for Tx packets should be read once
> the ready status of PHY timestamp registers is 1.
>
> Fixes: 881169950d80 ("net/ice/base: implement initial PTP support for E830")
> Cc: sta...@dpdk.org
>
> Signed-off-by: Soumyadeep Hore 
> ---
>  drivers/net/ice/base/ice_ptp_hw.c | 68 ---
>  1 file changed, 44 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/net/ice/base/ice_ptp_hw.c 
> b/drivers/net/ice/base/ice_ptp_hw.c
> index 004f659eae..41367105b2 100644
> --- a/drivers/net/ice/base/ice_ptp_hw.c
> +++ b/drivers/net/ice/base/ice_ptp_hw.c
> @@ -5526,6 +5526,27 @@ ice_ptp_port_cmd_e830(struct ice_hw *hw, enum 
> ice_ptp_tmr_cmd cmd,
>lock_sbq);
>  }
>
> +/**
> + * ice_get_phy_tx_tstamp_ready_e830 - Read Tx memory status register
> + * @hw: pointer to the HW struct
> + * @port: the PHY port to read
> + * @tstamp_ready: contents of the Tx memory status register
> + *
> + */
> +static int
> +ice_get_phy_tx_tstamp_ready_e830(struct ice_hw *hw, u8 port, u64 
> *tstamp_ready)
> +{
> +   u64 hi;
> +   u32 lo;
> +
> +   lo = rd32(hw, E830_PRTMAC_TS_TX_MEM_VALID_L);
> +   hi = (u64)rd32(hw, E830_PRTMAC_TS_TX_MEM_VALID_H) << 32;
> +
> +   *tstamp_ready = hi | lo;
> +
> +   return 0;
> +}
> +
>  /**
>   * ice_read_phy_tstamp_e830 - Read a PHY timestamp out of the external PHY
>   * @hw: pointer to the HW struct
> @@ -5539,10 +5560,30 @@ ice_ptp_port_cmd_e830(struct ice_hw *hw, enum 
> ice_ptp_tmr_cmd cmd,
>  static int
>  ice_read_phy_tstamp_e830(struct ice_hw *hw, u8 lport, u8 idx, u64 *tstamp)
>  {
> -   u32 hi_addr = E830_HIGH_TX_MEMORY_BANK(idx, lport);
> -   u32 lo_addr = E830_LOW_TX_MEMORY_BANK(idx, lport);
> +   u32 hi_addr, lo_addr;
> u32 lo_val, hi_val, lo;
> -   u8 hi;
> +   u8 hi, ret;
> +   u64 start_time, curr_time;
> +   u64 tstamp_ready = 0;
> +
> +   start_time = rte_get_timer_cycles() / (rte_get_timer_hz() / 1000);
> +
> +   /* To check the ready status of HY Timestamp register for fetching 
> timestamp */
> +   while (!(tstamp_ready & BIT_ULL(0))) {
> +   ret = ice_get_phy_tx_tstamp_ready_e830(hw, lport, 
> &tstamp_ready);
> +   if (ret) {
> +   PMD_DRV_LOG(ERR, "Failed to get phy ready for 
> timestamp");
> +   return -1;
> +   }
> +   curr_time = rte_get_timer_cycles() / (rte_get_timer_hz() / 
> 1000);
> +   if (curr_time - start_time > 1000) {
> +   PMD_DRV_LOG(ERR, "Timeout to get phy ready for 
> timestamp");
> +   return -1;
> +   }
> +   }
> +
> +   hi_addr = E830_HIGH_TX_MEMORY_BANK(idx, lport);
> +   lo_addr = E830_LOW_TX_MEMORY_BANK(idx, lport);
>
> lo_val = rd32(hw, lo_addr);
> hi_val = rd32(hw, hi_addr);
> @@ -5558,27 +5599,6 @@ ice_read_phy_tstamp_e830(struct ice_hw *hw, u8 lport, 
> u8 idx, u64 *tstamp)
> return 0;
>  }
>
> -/**
> - * ice_get_phy_tx_tstamp_ready_e830 - Read Tx memory status register
> - * @hw: pointer to the HW struct
> - * @port: the PHY port to read
> - * @tstamp_ready: contents of the Tx memory status register
> - *
> - */
> -static int
> -ice_get_phy_tx_tstamp_ready_e830(struct ice_hw *hw, u8 port, u64 
> *tstamp_ready)
> -{
> -   u64 hi;
> -   u32 lo;
> -
> -   lo = rd32(hw, E830_PRTMAC_TS_TX_MEM_VALID_L);
> -   hi = (u64)rd32(hw, E830_PRTMAC_TS_TX_MEM_VALID_H) << 32;
> -
> -   *tstamp_ready = hi | lo;
> -
> -   return 0;
> -}
> -
>  /* Device agnostic functions
>   *
>   * The following functions implement shared behavior common to both E822/E823
> --
> 2.43.0
>


Re: [PATCH v3 00/12] Align ICE shared code with Base driver

2024-08-26 Thread Patrick Robb
Recheck-request: iol-marvell-Functional

On Fri, Aug 23, 2024 at 6:51 AM Soumyadeep Hore
 wrote:
>
> Updating the latest shared code patches to ICE base driver.
>
> ---
> v3:
> - Addressed comments givn by reviewer
> ---
> v2:
> - Addressed comments given by reviewer
> - Corrected errors in Camel Case
> ---
>
> Dan Nowlin (2):
>   net/ice: correct Tx Scheduler AQ command RD bit for E825C
>   net/ice: support optional flags in signature segment header
>
> Fabio Pricoco (1):
>   net/ice: update iteration of TLVs in Preserved Fields Area
>
> Jacob Keller (1):
>   net/ice: avoid reading past end of PFA
>
> Norbert Zulinski (2):
>   net/ice: updates for ptp init in E825C
>   net/ice: update PTP init
>
> Oleg Akhrem (1):
>   net/ice: address compilation errors
>
> Paul Greenwalt (3):
>   net/ice: add new tag definitions
>   net/ice: fix link speed for 200G
>   net/ice: update E830 50G branding strings
>
> Przemyslaw Gierszynski (1):
>   net/ice: add support for FEC auto-detect for E830
>
> Yogesh Bhosale (1):
>   net/ice: use correct format specifiers for unsigned ints
>
>  drivers/net/ice/base/ice_adminq_cmd.h |   2 +-
>  drivers/net/ice/base/ice_cgu_regs.h   |  19 +
>  drivers/net/ice/base/ice_common.c |  66 
>  drivers/net/ice/base/ice_ddp.c|  31 +++-
>  drivers/net/ice/base/ice_ddp.h|   5 +-
>  drivers/net/ice/base/ice_devids.h |  12 +--
>  drivers/net/ice/base/ice_hw_autogen.h |  14 
>  drivers/net/ice/base/ice_nvm.c|  36 ++---
>  drivers/net/ice/base/ice_ptp_consts.h |  75 ++
>  drivers/net/ice/base/ice_ptp_hw.c | 106 +-
>  drivers/net/ice/base/ice_ptp_hw.h |  21 +
>  drivers/net/ice/ice_ethdev.c  |   6 +-
>  12 files changed, 285 insertions(+), 108 deletions(-)
>
> --
> 2.43.0
>


Re: [PATCH v3 00/10] dts: add hello world testcase

2023-02-09 Thread Patrick Robb
sion/{ => remote}/ssh_session.py (65%)
>>  delete mode 100644 dts/framework/remote_session/remote_session.py
>>  create mode 100644 dts/framework/test_result.py
>>  create mode 100644 dts/framework/test_suite.py
>>  create mode 100644 dts/framework/testbed_model/dpdk.py
>>  create mode 100644 dts/framework/testbed_model/hw/__init__.py
>>  create mode 100644 dts/framework/testbed_model/hw/cpu.py
>>  create mode 100644 dts/framework/testbed_model/hw/virtual_device.py
>>  create mode 100644 dts/framework/testbed_model/sut_node.py
>>  create mode 100644 dts/test_plans/hello_world_test_plan.rst
>>  create mode 100644 dts/tests/TestSuite_hello_world.py
>>
>> --
>> 2.30.2
>>
>>
Tested-by: Patrick Robb 
-- 

Patrick Robb

Technical Service Manager

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

www.iol.unh.edu


Re: [PATCH v1] dts: add Dockerfile

2023-02-09 Thread Patrick Robb
t-get -y install --no-install-recommends \
> > +vim emacs git
> > diff --git a/dts/README.md b/dts/README.md new file mode 100644 index
> > 00..fd9f32595c
> > --- /dev/null
> > +++ b/dts/README.md
> > @@ -0,0 +1,55 @@
> > +# DTS Environment
> > +The execution and development environments for DTS are the same, a
> > +[Docker](https://docs.docker.com/) container defined by our
> > [Dockerfile](./Dockerfile).
> > +Using a container for the development environment helps with a few
> > things.
> > +
> > +1. It helps enforce the boundary between the DTS environment and the
> > TG/SUT, something
> > +   which caused issues in the past.
> > +2. It makes creating containers to run DTS inside automated tooling much
> > easier, since
> > +   they can be based off of a known-working environment that will be
> > updated as DTS is.
> > +3. It abstracts DTS from the server it is running on. This means that
> the bare-
> > metal os
> > +   can be whatever corporate policy or your personal preferences
> dictate,
> > and DTS does
> > +   not have to try to support all distros that are supported by DPDK CI.
> > +4. It makes automated testing for DTS easier, since new dependencies
> > +can be sent in with
> > +  the patches.
> > +5. It fixes the issue of undocumented dependencies, where some test
> > suites require
> > +   python libraries that are not installed.
> > +6. Allows everyone to use the same python version easily, even if they
> are
> > using a
> > +   distribution or Windows with out-of-date packages.
> > +7. Allows you to run the tester on Windows while developing via Docker
> for
> > Windows.
> > +
> > +## Tips for setting up a development environment
> > +
> > +### Getting a docker shell
> > +These commands will give you a bash shell inside the container with all
> > +the python dependencies installed. This will place you inside a python
> > +virtual environment. DTS is mounted via a volume, which is essentially a
> > symlink from the host to the container.
> > +This enables you to edit and run inside the container and then delete
> > +the container when you are done, keeping your work.
> > +
> > +```shell
> > +docker build --target dev -t dpdk-dts .
> > +docker run -v $(pwd)/..:/dpdk -it dpdk-dts bash $ poetry install $
> > +poetry shell ```
> > +
> > +### Vim/Emacs
> > +Any editor in the ubuntu repos should be easy to use, with vim and
> > +emacs already installed. You can add your normal config files as a
> > +volume, enabling you to use your preferred settings.
> > +
> > +```shell
> > +docker run -v ${HOME}/.vimrc:/root/.vimrc -v $(pwd)/..:/dpdk -it
> > +dpdk-dts bash ```
> > +
> > +### Visual Studio Code
> > +VSCode has first-class support for developing with containers. You may
> > +need to run the non-docker setup commands in the integrated terminal.
> > +DTS contains a .devcontainer config, so if you open the folder in
> > +vscode it should prompt you to use the dev container assuming you have
> > +the plugin installed. Please refer to [VS Development Containers
> > +Docs](https://code.visualstudio.com/docs/remote/containers)
> > +to set it all up.
> > +
> > +### Other
> > +Searching for '$IDE dev containers' will probably lead you in the right
> > direction.
> > --
> > 2.30.2
>
> Tested-by: Patrick Robb 

-- 

Patrick Robb

Technical Service Manager

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

www.iol.unh.edu


Observed issues with the FIPS sample app

2023-02-13 Thread Patrick Robb
Hello all,

At the UNH Community Lab, we are now running CI testing for cryptodev
validation using the FIPS sample application. In setting up testing we have
run into issues with the sample app documentation being out of date. In
places it points to dependency versions which do not work with the sample
app, and we are also seeing the sample application failing to run on some
of the supported test vectors. We hope to start a conversation about these
issues with interested community members responsible for maintaining
cryptodev functions in DPDK and the FIPS sample application. If desired, we
could produce an updated setup guide according to how we’ve set up our
environment. But, others who are more involved in developing the sample app
may want to provide their own input. We are grateful for any feedback to us
or development of the sample app which may come out of this conversation. A
synopsis of our experience using the FIPS sample app is below.


*Issues with current documentation for IPsec-mb library:*


According to the current test plan documentation for how to utilize the
DPDK FIPS Validation Application (
https://git.dpdk.org/tools/dts/tree/test_plans/fips_cryptodev_test_plan.rst
),

it is recommended that you pull from the intel-ipsec-mb github repository
and then checkout a specific commit (noted as “latest working commit”). The
commit it recommends using in this documentation is a few commits after the
version tagged “v0.50” however, when trying to build DPDK using this
version of the library, it reports that it does not support any version
older than “1.0.0”. When using the documented version of the library, you
also do not get access to the virtual crypto device that is used in the
examples on this page.


There is also the DPDK user guide for the application (
*https://doc.dpdk.org/guides/sample_app_ug/fips_validation.html*
<https://doc.dpdk.org/guides/sample_app_ug/fips_validation.html>) and this
guide does not list any of those same prerequisites, but when building DPDK
without said prerequisites, you receive the driver warning *crypto/ipsec_mb:
missing dependency, "libIPSec_MB”.* There is a different crypto device used
in the examples on this user guide (*crypto_aesni_mb*) but if you do build
the IPsec library from github, on the “0.50” version you don’t get access
to this device. However, if you instead build the IPsec library on the
latest tagged version (v1.3) you can run the sample application using the
crypto device that is mentioned on this page. Even with being able to run
the sample application on the latest version, not all supported algorithms
pass, there are a few algorithms listed as supported that return a failed
verdict.


It is unclear which steps should be followed and which parts are accurate
as it seems some pieces of each form of documentation are true while others
are outdated.


*Other things to note:*

There are other algorithms that pass on some hosts, but fail on others.
Using an ubuntu 20.04 container, on some hosts, validation of AES-GCM
algorithms works and returns a passing verdict. However, running inside the
same container on our production hosts, these algorithms fail with the
message “CipherText was not present in the TestCase.” There was recently a
*patch*
<http://mails.dpdk.org/archives/test-report/2023-February/350635.html> put
out to fix the AES-GCM validation, however we are seeing it fail to compile
with DPDK.


*All algorithm testing listed below was performed using the
“crypto_aesni_mb” virtual device on version 1.3 of the ipsec library*


*List of working algorithms*:

   -

   AES-CBC
   -

   AES-CMAC
   -

   AES-CTR
   -

   AES-GMAC
   -

   HMAC-SHA1
   -

   TDES-CBC

*List of failing algorithms*:

   -

   AES-GCM
   -

  “CipherText missing from TestCase”
  -

  This failure message is found in the verdict returned from the ACVP
  API
  -

   AES-XTS
   -

  “ACVP-AES-XTS-2.0: General exception. Contact service provider.”
  -

  This failure happens before reaching DPDK application so likely a
  NIST problem
  -

   SHA-1
   -

  “Digests do not match”
  -

  This failure message is found in the verdict returned from the ACVP
  API
  -

  Passes some test cases but fails others
  -

   SHA-256
   -

  “Digests do not match”
  -

  This failure message is found in the verdict returned from the ACVP
  API
  -

  Like SHA-1, fails some but passes others
  -

   TDES-ECB
   -

  “USER1: Failed to get capability for cdev 0”
  -

  “USER1: Error -22: test block”
  -

  These errors are encountered during the validation phase (i.e., when
  the vectors are being run through the DPDK sample application)

*Untested algorithms*:

   -

   RSA
   -

   ECDSA


-- 

Patrick Robb

Technical Service Manager

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

www.iol.unh.edu


Re: [PATCH v2] vhost: fix madvise arguments alignment

2023-02-24 Thread Patrick Robb
(vq->desc, len, true);
> > > - mem_set_dump(vq->avail, len, true);
> > > - mem_set_dump(vq->used, len, true);
> > >   vq->access_ok = true;
> > >
> > >   VHOST_LOG_CONFIG(dev->ifname, DEBUG, "mapped address desc:
> %p\n", vq->desc);
> > > @@ -1230,7 +1268,8 @@ vhost_user_mmap_region(struct virtio_net *dev,
> > >   region->mmap_addr = mmap_addr;
> > >   region->mmap_size = mmap_size;
> > >   region->host_user_addr = (uint64_t)(uintptr_t)mmap_addr +
> mmap_offset;
> > > - mem_set_dump(mmap_addr, mmap_size, false);
> > > + region->alignment = alignment;
> > > + mem_set_dump(mmap_addr, mmap_size, false, alignment);
> > >
> > >   if (dev->async_copy) {
> > >       if (add_guest_pages(dev, region, alignment) < 0) {
> > > @@ -1535,7 +1574,6 @@ inflight_mem_alloc(struct virtio_net *dev, const
> char *name, size_t size, int *f
> > >   return NULL;
> > >   }
> > >
> > > - mem_set_dump(ptr, size, false);
> > >   *fd = mfd;
> > >   return ptr;
> > >   }
> > > @@ -1566,6 +1604,7 @@ vhost_user_get_inflight_fd(struct virtio_net
> **pdev,
> > >   uint64_t pervq_inflight_size, mmap_size;
> > >   uint16_t num_queues, queue_size;
> > >   struct virtio_net *dev = *pdev;
> > > + uint64_t alignment;
> > >   int fd, i, j;
> > >   int numa_node = SOCKET_ID_ANY;
> > >   void *addr;
> > > @@ -1628,6 +1667,8 @@ vhost_user_get_inflight_fd(struct virtio_net
> **pdev,
> > >   dev->inflight_info->fd = -1;
> > >   }
> > >
> > > + alignment = get_blk_size(fd);
> > > + mem_set_dump(addr, mmap_size, false, alignment);
> > >   dev->inflight_info->addr = addr;
> > >   dev->inflight_info->size = ctx->msg.payload.inflight.mmap_size =
> mmap_size;
> > >   dev->inflight_info->fd = ctx->fds[0] = fd;
> > > @@ -1744,10 +1785,10 @@ vhost_user_set_inflight_fd(struct virtio_net
> **pdev,
> > >   dev->inflight_info->fd = -1;
> > >   }
> > >
> > > - mem_set_dump(addr, mmap_size, false);
> > >   dev->inflight_info->fd = fd;
> > >   dev->inflight_info->addr = addr;
> > >   dev->inflight_info->size = mmap_size;
> > > + mem_set_dump(addr, mmap_size, false, get_blk_size(fd));
> > >
> > >   for (i = 0; i < num_queues; i++) {
> > >   vq = dev->virtqueue[i];
> > > @@ -2242,6 +2283,7 @@ vhost_user_set_log_base(struct virtio_net **pdev,
> > >   struct virtio_net *dev = *pdev;
> > >   int fd = ctx->fds[0];
> > >   uint64_t size, off;
> > > + uint64_t alignment;
> > >   void *addr;
> > >   uint32_t i;
> > >
> > > @@ -2280,6 +2322,7 @@ vhost_user_set_log_base(struct virtio_net **pdev,
> > >* fail when offset is not page size aligned.
> > >*/
> > >   addr = mmap(0, size + off, PROT_READ | PROT_WRITE, MAP_SHARED,
> fd, 0);
> > > + alignment = get_blk_size(fd);
> > >   close(fd);
> > >   if (addr == MAP_FAILED) {
> > >   VHOST_LOG_CONFIG(dev->ifname, ERR, "mmap log base
> failed!\n");
> > > @@ -2296,7 +2339,7 @@ vhost_user_set_log_base(struct virtio_net **pdev,
> > >   dev->log_addr = (uint64_t)(uintptr_t)addr;
> > >   dev->log_base = dev->log_addr + off;
> > >   dev->log_size = size;
> > > - mem_set_dump(addr, size, false);
> > > + mem_set_dump(addr, size + off, false, alignment);
> > >
> > >   for (i = 0; i < dev->nr_vring; i++) {
> > >   struct vhost_virtqueue *vq = dev->virtqueue[i];
> >
>
>

-- 

Patrick Robb

Technical Service Manager

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

www.iol.unh.edu


Re: [v1, 00/10] fips_validation application improvements

2023-02-28 Thread Patrick Robb
Hello Akhil and Gowrishankar,

We saw the same issue with running the fips sample app under CI testing
here at the UNH Community Lab:
http://mails.dpdk.org/archives/test-report/2023-February/350635.html. We
reported a warn because it failed on the compilation stage (as opposed to a
failure of the actual sample app run).

On the other hand, we are excited to see this patch again with the
compilation part resolved. I sent an email to the dev mailing list a few
weeks ago for our fips sample app CI testing regarding where we could and
could not provide test vector coverage, and it appears this patch series
may resolve our ciphertext issue with AES-GCM test vector and more issues
with the sample app. So - looking forward to seeing a patch like this being
merged when stable!

Best,
Patrick Robb






On Tue, Feb 28, 2023 at 2:39 AM Akhil Goyal  wrote:

> Hi Gowrishankar,
> > >
> > > > Subject: [v1, 00/10] fips_validation application improvements
> > > >
> > > > This patch series adds support for SHA3, SHAKE, AES-CCM JSON test
> vectors
> > > > and fixes existing algorithms to support NIST test vectors.
> > > >
> > > > Gowrishankar Muthukrishnan (10):
> > > >   examples/fips_validation: fix MCT output for SHA
> > > >   examples/fips_validation: add SHA3 validation
> > > >   examples/fips_validation: fix integer parse in test case
> > > >   examples/fips_validation: add SHAKE validation
> > > >   examples/fips_validation: add CCM JSON validation
> > > >   examples/fips_validation: add ECDSA keygen support
> > > >   examples/fips_validation: add SHA3 algorithms in ECDSA test
> > > >   examples/fips_validation: fix AES GCM validation tests
> > > >   examples/fips_validation: fix AES XTS to read seq number
> > > >   examples/fips_validation: add extra space in JSON buffer
> > > >
> > > >  doc/guides/sample_app_ug/fips_validation.rst  |   7 +-
> > > >  examples/fips_validation/fips_validation.c|  31 ++-
> > > >  examples/fips_validation/fips_validation.h|  10 +-
> > > >  .../fips_validation/fips_validation_ccm.c | 132 
> > > >  .../fips_validation/fips_validation_ecdsa.c   |  56 +
> > > >  .../fips_validation/fips_validation_gcm.c |  12 +-
> > > >  .../fips_validation/fips_validation_hmac.c|   8 +
> > > >  .../fips_validation/fips_validation_sha.c |  91 ++--
> > > >  .../fips_validation/fips_validation_xts.c |  13 +-
> > > >  examples/fips_validation/main.c   | 196
> +-
> > > >  10 files changed, 467 insertions(+), 89 deletions(-)
> > > >
> > > > --
> > > > 2.25.1
> > >
> > > Series-acked-by: Brian Dooley 
> >
> > Series Applied to dpdk-next-crypto
> The series is showing compilation issues, please fix it. The series is
> removed from the tree.
>
>
>

-- 

Patrick Robb

Technical Service Manager

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

www.iol.unh.edu


Re: [EXT] Re: [v1, 00/10] fips_validation application improvements

2023-02-28 Thread Patrick Robb
Hi Akhil,

One 2023 goal for UNH is implementing an email based retesting framework.
Once that work is completed, you will be able to trigger a retest yourself
under circumstances where waiting for dependent patches is needed.

On Tue, Feb 28, 2023 at 10:02 AM Akhil Goyal  wrote:

> Hi Patrick,
>
>
>
> The issue reported by CI in below link is not an issue, as the patchset
> was dependent on another patch which is already merged. Now we are
> observing a new issue which is coming only on CentOS I believe.
>
> CI reports are not useful in case there are dependent patches. There
> should be a way maintainer/developer can retrigger the CI as required when
> other patches are merged.
>
>
>
> This issue got skipped as I personally do not test on CentOS and CI
> results are not meaningful when there were dependent patches.
>
> Below is the log for the compilation issue observed now on TOT when these
> patches are applied which is not visible in the below link.
>
>
>
> > OS: CentOS79-64
>
> > Target: x86_64-native-linuxapp-gcc
>
> > FAILED: examples/dpdk-fips_validation.p/fips_validation_main.c.o
>
> > gcc -Iexamples/dpdk-fips_validation.p -Iexamples -I../examples -
>
> > Iexamples/fips_validation -I../examples/fips_validation
> -I../examples/common -
>
> > I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -
>
> > Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -
>
> > I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal
> -I../lib/eal
>
> > -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics
> -Ilib/telemetry -
>
> > I../lib/telemetry -Ilib/mempool -I../lib/mempool -Ilib/ring
> -I../lib/ring -Ilib/net -
>
> > I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/ethdev -I../lib/ethdev
> -Ilib/meter -
>
> > I../lib/meter -Ilib/cmdline -I../lib/cmdline -Ilib/cryptodev
> -I../lib/cryptodev -
>
> > Ilib/rcu -I../lib/rcu -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra
> -
>
> > Werror -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -
>
> > Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-
>
> > prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith
> -Wsign-
>
> > compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-
>
> > initializers -D_GNU_SOURCE -march=native -DUSE_OPENSSL -
>
> > DALLOW_EXPERIMENTAL_API -MD -MQ examples/dpdk-
>
> > fips_validation.p/fips_validation_main.c.o -MF examples/dpdk-
>
> > fips_validation.p/fips_validation_main.c.o.d -o examples/dpdk-
>
> > fips_validation.p/fips_validation_main.c.o -c
> ../examples/fips_validation/main.c
>
> > ../examples/fips_validation/main.c: In function 'fips_mct_shake_test':
>
> > ../examples/fips_validation/main.c:2438:5: error: dereferencing
> type-punned
>
> > pointer will break strict-aliasing rules [-Werror=strict-aliasing]
>
> >  (*(uint16_t *)rightmost % range);
>
> >  ^
>
>
>
>
>
> Regards,
>
> Akhil
>
>
> --
>
> Hello Akhil and Gowrishankar,
>
>
>
> We saw the same issue with running the fips sample app under CI testing
> here at the UNH Community Lab:
> http://mails.dpdk.org/archives/test-report/2023-February/350635.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mails.dpdk.org_archives_test-2Dreport_2023-2DFebruary_350635.html&d=DwMFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=QswegPR1LvDRH4f_2rvo_BvAfrFOBGZPVPGXC7pPlKn2Q99LMoJlfwv4ZZ0QxRu-&s=Ozm6byIlAfWxebW0mSomWcCW-0s59wZNJ7QED4-Tjcs&e=>.
> We reported a warn because it failed on the compilation stage (as opposed
> to a failure of the actual sample app run).
>
>
>
> On the other hand, we are excited to see this patch again with the
> compilation part resolved. I sent an email to the dev mailing list a few
> weeks ago for our fips sample app CI testing regarding where we could and
> could not provide test vector coverage, and it appears this patch series
> may resolve our ciphertext issue with AES-GCM test vector and more issues
> with the sample app. So - looking forward to seeing a patch like this being
> merged when stable!
>
>
>
> Best,
>
> Patrick Robb
>
>
>
>
>
>
>
>
>
> On Tue, Feb 28, 2023 at 2:39 AM Akhil Goyal  wrote:
>
> Hi Gowrishankar,
> > >
> > > > Subject: [v1, 00/10] fips_validation application improvements
> > > >
> > > > This patch series adds support for SHA3, SHAKE, AES-CCM JSON test
> vectors
> > > > 

Re: [PATCH v6 10/10] doc: update dts setup and test suite cookbook

2023-03-09 Thread Patrick Robb
Tested-by: Patrick Robb 

On Fri, Mar 3, 2023 at 5:25 AM Juraj Linkeš 
wrote:

> Document how to configure and run DTS.
> Also add documentation related to new features: SUT setup and a brief
> test suite implementation cookbook.
>
> Signed-off-by: Juraj Linkeš 
> ---
>  doc/guides/tools/dts.rst | 165 ++-
>  1 file changed, 163 insertions(+), 2 deletions(-)
>
> diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
> index daf54359ed..ebd6dceb6a 100644
> --- a/doc/guides/tools/dts.rst
> +++ b/doc/guides/tools/dts.rst
> @@ -1,5 +1,5 @@
>  ..  SPDX-License-Identifier: BSD-3-Clause
> -Copyright(c) 2022 PANTHEON.tech s.r.o.
> +Copyright(c) 2022-2023 PANTHEON.tech s.r.o.
>
>  DPDK Test Suite
>  ===
> @@ -56,7 +56,7 @@ DTS runtime environment or just plain DTS environment
> are used interchangeably.
>
>
>  Setting up DTS environment
> ---
> +~~
>
>  #. **Python Version**
>
> @@ -93,6 +93,167 @@ Setting up DTS environment
>poetry install
>poetry shell
>
> +#. **SSH Connection**
> +
> +   DTS uses Python pexpect for SSH connections between DTS environment
> and the other hosts.
> +   The pexpect implementation is a wrapper around the ssh command in the
> DTS environment.
> +   This means it'll use the SSH agent providing the ssh command and its
> keys.
> +
> +
> +Setting up System Under Test
> +
> +
> +There are two areas that need to be set up on a System Under Test:
> +
> +#. **DPDK dependencies**
> +
> +   DPDK will be built and run on the SUT.
> +   Consult the Getting Started guides for the list of dependencies for
> each distribution.
> +
> +#. **Hardware dependencies**
> +
> +   Any hardware DPDK uses needs a proper driver
> +   and most OS distributions provide those, but the version may not be
> satisfactory.
> +   It's up to each user to install the driver they're interested in
> testing.
> +   The hardware also may also need firmware upgrades, which is also left
> at user discretion.
> +
> +#. **Hugepages**
> +
> +   There are two ways to configure hugepages:
> +
> +   * DTS configuration
> +
> + You may specify the optional hugepage configuration in the DTS
> config file.
> + If you do, DTS will take care of configuring hugepages,
> + overwriting your current SUT hugepage configuration.
> +
> +   * System under test configuration
> +
> + It's possible to use the hugepage configuration already present on
> the SUT.
> + If you wish to do so, don't specify the hugepage configuration in
> the DTS config file.
> +
> +
> +Running DTS
> +---
> +
> +DTS needs to know which nodes to connect to and what hardware to use on
> those nodes.
> +Once that's configured, DTS needs a DPDK tarball and it's ready to run.
> +
> +Configuring DTS
> +~~~
> +
> +DTS configuration is split into nodes and executions and build targets
> within executions.
> +By default, DTS will try to use the ``dts/conf.yaml`` config file,
> +which is a template that illustrates what can be configured in DTS:
> +
> +  .. literalinclude:: ../../../dts/conf.yaml
> + :language: yaml
> + :start-at: executions:
> +
> +
> +The user must be root or any other user with prompt starting with ``#``.
> +The other fields are mostly self-explanatory
> +and documented in more detail in
> ``dts/framework/config/conf_yaml_schema.json``.
> +
> +DTS Execution
> +~
> +
> +DTS is run with ``main.py`` located in the ``dts`` directory after
> entering Poetry shell::
> +
> +   usage: main.py [-h] [--config-file CONFIG_FILE] [--output-dir
> OUTPUT_DIR] [-t TIMEOUT]
> +  [-v VERBOSE] [-s SKIP_SETUP] [--tarball TARBALL]
> +  [--compile-timeout COMPILE_TIMEOUT] [--test-cases
> TEST_CASES]
> +  [--re-run RE_RUN]
> +
> +   Run DPDK test suites. All options may be specified with the
> environment variables provided in
> +   brackets. Command line arguments have higher priority.
> +
> +   options:
> + -h, --helpshow this help message and exit
> + --config-file CONFIG_FILE
> +   [DTS_CFG_FILE] configuration file that
> describes the test cases, SUTs
> +   and targets. (default: conf.yaml)
> + --output-dir OUTPUT_DIR, --output OUTPUT_DIR
> +   [DTS_OUTPUT_DIR] Output directory where dts
> logs and results are
> +   saved. (default: output)
&g

Re: [PATCH] drivers: Convert uses of RTE_LOG_DP to use RTE_LOG_DP_LINE

2024-02-05 Thread Patrick Robb
Recheck-request: iol-intel-Functional

I saw this failed in CI testing for the DTS mtu_update test but suspect it
was an infra failure as it happened across 3 distinct patches in a short
span of time. So, triggering a retest.


Re: [PATCH 00/13] net/ionic: miscellaneous fixes and improvements

2024-02-05 Thread Patrick Robb
Recheck-request: iol-intel-Functional

I saw this failed in CI testing for the DTS MTU_Update test but suspect it
was an infra failure as it happened across 3 distinct patches in a short
span of time. So, triggering a retest.


Re: [PATCH v7 00/19] Replace uses of RTE_LOGTYPE_PMD

2024-02-05 Thread Patrick Robb
Recheck-request: iol-intel-Functional

I saw this failed in CI testing for the DTS MTU_Update test but suspect it
was an infra failure as it happened across 3 distinct patches in a short
span of time. So, triggering a retest.


Re: [PATCH V2] examples/pipeline: fix include path for rte_log.h

2024-02-14 Thread Patrick Robb
Hi Aaron/Cristian,

On Wed, Feb 14, 2024 at 11:25 AM Aaron Conole  wrote:

> Ferruh Yigit  writes:
>
> > On 2/13/2024 5:38 PM, Cristian Dumitrescu wrote:
> >> When rte_log.h was moved to a new directory, the include path was not
> >> updated for the generated C code produced by the pipeline library,
> >> which results in build failure for this code.
> >>
> >> Fixes: 09ce41310930 ("log: separate logging functions out of EAL")
> >> Cc: sta...@dpdk.org
> >>
> >
> > Hi Cristian,
> >
> > How can I verify the fix? Can you please list the required steps?
>
> I guess maybe (?) with the pipeline DTS case, but I'm not sure that
> would be sufficient.
>
> > And I wonder how this skipped the testing, I guess v23.11 released with
> > this defect. Is there a gap in the CI or internal build/test scripts?
>
> I don't know that softnic driver is used in the lab.  Actually, would
> DTS suite even have triggered this issue?  I'm not sure if there is a
> set of tests which covers the case.  Maybe Patrick can confirm about the
> pipeline test?
>

So, based on what Cristian stated (passing in any of the .cli files when
starting the pipeline example app would show it is fixed), yes I assume the
DTS testsuite would have caught this, as I can see the testsuite does do
that. But, yes it's also true that the pipeline testsuites are not run at
UNH or the Intel Lab (the two labs which publicly report DTS results), so
that's how this gets through CI Testing. It is not possible (testing
capacity wise) to run every testsuite, and I don't think there has been
conversation between the lab and our vendor contacts about this specific
coverage (at least not while I've been working here).

However, based on the physical testplan requirements (4 10G tester ports to
4 10G DUT ports), we could bring the testsuite online if there is
interest(and the testsuite hasn't broken since it dropped in 2020). One of
our Intel testbeds which we run currently has exactly that NIC topology,
and it also doesn't have bad testing capacity concerns as compared to some
other testbeds. Let me know if there is an interest in this coverage and
I'll make a ticket for the team to take a look. At a minimum we could dry
run the framework on the testbed I'm thinking of and provide feedback,
which I suppose would take only a couple minutes/hours. Christian let me
know if that's a value - it's a low barrier of entry to dry run.

https://git.dpdk.org/tools/dts/tree/test_plans/pipeline_test_plan.rst


Re: [PATCH V2] examples/pipeline: fix include path for rte_log.h

2024-02-14 Thread Patrick Robb
On Wed, Feb 14, 2024 at 3:00 PM Dumitrescu, Cristian <
cristian.dumitre...@intel.com> wrote:

>
>
> [Cristian]
> Yes, you are right, we do have a DTS test suite for the pipeline library.
>
> It would be great to run it automatically as part of the CI testing. Just
> a word of caution though: I am not the owner of those tests, and also not
> intimately familiar with them, so it might be hard to find volunteers to
> setup the test suite, that the only problem that I see unfortunately. But
> we should try and see if there are any issues at all.
>
> Thanks,
> Cristian
>

Okay, the setup doesn't look too burdensome anyhow so we should be alright
with just the team here at UNH. I'll let you know how it goes.


DTS WG Meeting Minutes - February 14, 2024

2024-02-14 Thread Patrick Robb
February 14, 2024

#
Attendees
* Patrick Robb
* Juraj Linkeš
* Thomas Monjalon
* Gregory Etelson
* Juraj Linkes
* Luca Vizzarro
* Nicholas Pratte

#
Agenda
* Additions to the agenda
* Patch discussions
* DTS Developer documentation
* Bugzilla discussion

#
Minutes

=
General Announcements
* Added developers for DTS: Nick from UNH is starting on DTS now, and 1-2
more people from UNH will be starting on this project in the near future.
   * The first thing Nick will do is build the DTS API docs from Juraj’s
patch and provide a review
   * He will be joining the meetings going forward
* Recordings of these meetings can be seen at the below url, by clicking on
the meeting date, then the 3 dots, then share meeting recording:
https://projectadmin.lfx.linuxfoundation.org/project/a094105osNmAAI

=
Patch discussions
* Docs improvements: Luca’s patch was accepted
   * Thomas noted that the schema for DPDK build options was probably not
well thought out, and just imported from old dts.
   * Noting I remember Juraj mentioned once that cross compile targets
probably are not needed
  1. This is not a priority - we should wait and see if there is
interest later.
  2. https://bugs.dpdk.org/show_bug.cgi?id=1360
  3. There are some unused values which can be removed
  4. Lcores value: change from empty string to “all” (if not specifying
a specific list of cores)
  5. Port topology: should this be a part of the conf schema?
 1. Some testsuites may allow for different port topologies and
should be configurable, others may have specific requirements which should
be built into the capabilities assessment per testsuite
  6. Ports: If we specify port 0 on machine 1 connects to port 0 on
machine 2, we don’t then need to specify port 0 on machine 2 connects to
port 0 on machine 1 - it’s redundant configuration (and introduces possible
setup human error)
* Improved error messages:
   * Intent for Luca’s patch is to improve patch reporting, as well as log
errors from remote sessions
* Scatter
   * Per conversation at the previous meeting, adding a 2nd testcase to the
testsuite (one will include the rx offload testpmd flag, one will not)
   * Ran into a type error yesterday from the xmlrpc client when running on
one of the community lab’s testbeds, but will continue debugging
  1. Error is about a list not being callable? Jeremy Spewock will send
the error and latest diff to Juraj on Slack
   * When running a suite in which testpmd is started for 1 testcase, then
stopped, then started again for subsequent testcases, this can lead to a
timeout. The timeout comes from paramiko.
* Device capabilities: Only source of truth for collecting capabilities
should be any information we can gather via testpmd
   * Needs to build a way to mark testsuites with capabilities
   * Will build a list of capabilities per device
* Dockerfile patch:
   * Patrick Robbneeds to apply this, run from container on one of our
baremetal servers, and ask Thomas to merge
* API Docs:
   * Needs reviews - Nick will provide one
* Juraj: Small patch for storing the output from remote commands (strips
the whitespace)
* Testcase blocking: When a testcase fails, everything under it is blocked.
This patch is final from Juraj’s point of view, and Jeremy has provided
some comments.
   * More reviews are needed. Patrick and Nick can do reviews, also Luca
possibly.

=
Bugzilla:
* If we can assign configuration file bugzillas to two people, they can
provide reviews for one another
* We will discuss bugzilla tickets more tomorrow at the CI meeting

#
Any other business
* Juraj is on vacation 4th of March to 29 March.


Rescheduling DPDK CI Meetings

2024-02-14 Thread Patrick Robb
Hello all,

As discussed in the previous CI testing meeting, it will be advantageous
for us to shift the (every other week) DPDK CI meetings forward or
backwards 1 week to get it onto a different cadence.

That will allow us to have the DTS meetings 1 week, and the CI meetings on
the off week, instead of both on the same week, which should yield more
valuable conversations.

So the idea is to have tomorrow's CI meeting, then have another meeting
next Thursday (2/22), then go back to every other week. So the 2/29 meeting
would be cancelled, we would have a 3/7 meeting, a 3/21 meeting, etc.

I am hoping this will work well for those of you out there who attend these
meetings, but please let me know! If there are no objections, I will
request that Nathan modify the calendar event. Thanks.


Re: Rescheduling DPDK CI Meetings

2024-02-15 Thread Patrick Robb
Hi,

This is finalized. The next CI meeting will be next Thursday. Then we go
back to every other week.

On Wed, Feb 14, 2024 at 4:20 PM Patrick Robb  wrote:

> Hello all,
>
> As discussed in the previous CI testing meeting, it will be advantageous
> for us to shift the (every other week) DPDK CI meetings forward or
> backwards 1 week to get it onto a different cadence.
>
> That will allow us to have the DTS meetings 1 week, and the CI meetings on
> the off week, instead of both on the same week, which should yield more
> valuable conversations.
>
> So the idea is to have tomorrow's CI meeting, then have another meeting
> next Thursday (2/22), then go back to every other week. So the 2/29 meeting
> would be cancelled, we would have a 3/7 meeting, a 3/21 meeting, etc.
>
> I am hoping this will work well for those of you out there who attend
> these meetings, but please let me know! If there are no objections, I will
> request that Nathan modify the calendar event. Thanks.
>
>


Re: [PATCH] doc: update minimum Linux kernel version

2024-02-17 Thread Patrick Robb
+Gao, DaxueX  +Mcnamara, John


Hello,

As you say the Community Lab dropped main and next-* testing for RHEL7 when
the requirement for a C11 compliant compiler was added last year, so we
should already be good to go. We don't have any centos7 testing (centos8
was the first centos introduced for testing at the Community Lab).

Adding Daxue and John so they are aware the Intel Lab will want to
(probably) drop the centos7 testing by 24.07.

Thanks!

On Fri, Feb 16, 2024 at 12:42 PM Stephen Hemminger <
step...@networkplumber.org> wrote:

> On Fri, 16 Feb 2024 09:29:47 +0100
> Morten Brørup  wrote:
>
> > The system requirements in the Getting Started Guide [1] says:
> >
> > Kernel version >= 4.14
> > The kernel version required is based on the oldest long term stable
> kernel available at kernel.org when the DPDK version is in development.
> > Compatibility for recent distribution kernels will be kept, notably
> RHEL/CentOS 7.
> >
> > [1]: https://doc.dpdk.org/guides/linux_gsg/sys_reqs.html#system-software
> >
> > If we consider it API breakage to change that, we have to wait until the
> 24.11 release.
> > For future DPDK LTS releases, we should be more careful about what we
> claim to support. And again: If we claim to support something, people
> expect it to be tested in CI.
> >
> > Disregarding the API breakage by stopping support for a system we claim
> to support... RHEL7 testing was changed to LTS only [2], that should
> probably have been applied to CentOS 7 too.
> >
> > [2]:
> https://inbox.dpdk.org/dev/CAJvnSUBcq3gznQD4k=krQ+gu2OxTxA2YJBc=J=ltidfxqgg...@mail.gmail.com/
> >
>
> This patch is too late for 24.03 release, by the time the next one happens,
> we can drop CentOS 7 as well as the old kernel.
>


Re: DTS testpmd and SCAPY integration

2024-02-18 Thread Patrick Robb
Hi Gregory,

I apologize for my delayed response. I have now taken a look through the
code. I do think a number of the design decisions you made for the unit
test framework can be carried over to DTS - in fact we have some tickets
currently for refactoring DTS to this end. Namely:
-Breaking out test agent setup config and test config into separate
files
-Reducing the amount of config values which need to be set by the user,
lowering the barrier for entry for running the testing framework.
-Add some level of testsuite specific YAML which can be mapped to the
testsuite its written for (just for some values, not explicit commands)

But, I figure what you are asking about here really is the design of
setting phases in YAML and writing the scapy/testpmd commands there.
Although I (and I think the DTS group broadly) agree that this system does
provide a good user experience for quickly writing new testsuites, there
are other reasons (testsuite flexibility, platform/TG agnosticism) we don't
want to provide the 100% YAML option for a testsuite. We discussed the idea
of providing two paths for writing a testsuite (YAML file only, or YAML +
python testsuite file), but honestly I don't think it's a good idea to
split our efforts (particularly early on). If we want to consider building
support for a YAML testsuite approach for simple func testsuites in the
(far) future we can discuss it, but that is an unknown. I think our efforts
now need to remain on the python testsuites.

Still, seeing your project has been a big inspiration. When we can abstract
away some boilerplate, or use YAML to override default behavior, we want to
do it. But we still plan to handle sending commands to TG/SUT from the
python testsuite files. I think you are helping us a lot with your ideas,
even if the end implementation is a little different in approach.

Note: incorporating a function(s) to load different mlnx device firmware as
a part of the testsuite is an interesting touch. Do you mind explaining why
it is made a part of the testing framework, as opposed to a pre-step for
the user to complete ahead of running the framework? Does managing loading
the firmware this way make device firmware development and testing it
against DPDK easier, or is there another reason? Thanks.

On Wed, Feb 14, 2024 at 12:27 PM Gregory Etelson 
wrote:

> Hello Patrick,
>
> Did you have time to check the Unit Test design ?
> Do you think it can be used for short functional DTS tests ?
>
> Regards,
> Gregory
>
> --
> *From:* Gregory Etelson
> *Sent:* Wednesday, January 31, 2024 09:43
> *To:* Patrick Robb 
> *Cc:* Gregory Etelson ; Jeremy Spewock <
> jspew...@iol.unh.edu>; NBU-Contact-Thomas Monjalon (EXTERNAL) <
> tho...@monjalon.net>; Honnappa Nagarahalli ;
> Juraj Linkeš ; Paul Szczepanek <
> paul.szczepa...@arm.com>; Yoan Picchi ; Luca
> Vizzarro ; c...@dpdk.org ; dev@dpdk.org
> ; nd ; Maayan Kashani ;
> Asaf Penso 
> *Subject:* Re: DTS testpmd and SCAPY integration
>
> Hello Patrick,
>
> > External email: Use caution opening links or attachments
> > Thank you for sharing Gregory. I did not get an opportunity to look
> through the code today, but I did run
> > through the presentation. A few points I noted:
> > 1. The presentation shows an example testpmd testcase for creating a
> flow rule, and then shows a
> > validation step in which standard out is compared against the expected
> string ("flow rule x created") and
> > we can conclude whether we are able to create flow rules. Are you also
> sending packets according to the
> > flow rules and validating that what is sent/received corresponds to the
> expected behavior of the flow
> > rules? When I look at the old DTS framework, and an example flow rules
> testsuite
> > (https://doc.dpdk.org/dts/test_plans/rte_flow_test_plan.html) which we
> want feature parity with, I think
> > that validation for this testing framework needs to primarily rely on
> comparing packets sent and packets
> > received.
>
> The unit test infrastructure validates flow rule creation and
> a result produced by that flow.
> Flow result is triggered by a packet.
> However, flow result validation does not always can be done by testing a
> packet.
> Unit test implements 2 flow validation methods.
>
> The first validation method tests testpmd output triggered by a test
> packet.
>
> Example: use the MODIFY_FIELD action to copy packet VLAN ID to flow TAG
> item.
> Flow tag is internal flow resource. It must be validated in DPDK
> application.
>
> Test creates 2 flow rules:
>
> Rule 1: use MODIFY_FILED to copy packet VLAN ID to flow TAG item
> pattern eth / vlan / end \
> actions modify_field op set dst_type tag ... src_type vlan_id .

Email based retest request process: proposal for new pull/re-apply feature

2024-02-20 Thread Patrick Robb
Hi all,

I want to poll the CI group and dev community about a proposed feature
addition to the CI retest request framework. Currently, you can respond to
a patchseries or patch email, requesting a retest like so:

Recheck-request: iol-compile-amd64-testing, iol-unit-amd64-testing

Labs who have added this functionality (UNH and the GitHub Robot) will then
trigger retests according to the contexts provided, using the ORIGINAL dpdk
artifact they produced at the time when the patch was submitted.

This is useful for requesting a retest on a patch when you believe a
failure may have been an infra failure or spurious. It is not useful if you
believe the tree your patch was applied on was in a bad state when your
patch was submitted, and you would like for your patch to be re-applied on
the current tip of the branch. A few people have suggested we add
this feature (re-apply to tip of branch and retest). So, we should probably
add an option allowing people to indicate they want this behavior
instead of the "default" retest.

Ferruh emailed me about this a while ago and proposed the following syntax,
which I am okay with:

Recheck-request,attribute=value: ...

So a practical example would look like:

Recheck-request,pull=True: iol-sample-apps-testing,
iol-compile-amd64-testing, github-robot

Also, I believe that although we should still require people to include the
contexts they're requesting a retest for for posterity (so we can refer
back to it), I think if someone includes the pull keyword, ALL labs should
trigger retests for ALL tests. The reason for this is I don't think we
should display results side by side on a patchseries which are coming from
distinct DPDK artifacts. Readers may assume (rightly, in my opinion) that
when they're looking at a results table for a patchseries, those results
are all coming from identical DPDK artifacts, and not from distinct DPDK
artifacts produced at different times, from different commits.

What do you all think? Thanks.


Re: Email based retest request process: proposal for new pull/re-apply feature

2024-02-20 Thread Patrick Robb
On Tue, Feb 20, 2024 at 1:12 PM Aaron Conole  wrote:

>
> Why not something like:
>
> Recheck-request: [attribute-list],[test-list]...
>
> For example, then we can do:
>
> Recheck-request: rebase=[identifier],
>
> where identifier is a branch specifier (or the word 'latest')?
>
I hadn't thought about the option of allowing branch specifiers. Agree that
allowing a human correction process for the pw_maintainer_cli.py script
choosing the wrong branch sounds helpful.

My original idea was offering 2 options (test original artifact, or
re-apply on latest). Do we want to support for checking out to a specific
commit and re-applying there? I figured that would not be worth it (too
much of a niche case), but your comments are making me reconsider.


>
> That lets us fixup if the branch picker script guessed a wrong branch.
>
> Just spit-balling on syntax.
>
>
> That said, I agree - if a rebase has been requested, all tests need to
> be rerun.  Maybe we should consider that the test labels should be added
> with a run number or something?  Or we could also include that the run
> is a rerun.  That way for labs that don't currently support the recheck
> request framework, we can easily tell that they weren't re-tried.
>
> so re-report with a modified test label? That is good in that it shows the
behavior more clearly. But, it also means we will not overwrite any fails.
So the fail will still be there, and the patchwork patch page will grow a
huge table. Maybe this is fine.

Also raises the point of getting more coverage for the retest framework at
other labs. I will email Min Zhou regarding how he uses the dpdk-ci project
for the loongson build jobs and see how well that can integrate with the
get_reruns.py script.


Re: [PATCH v8 0/7] dts: Port scatter suite over

2024-02-20 Thread Patrick Robb
Tested-by: Patrick Robb 

I ran this testsuite with a bnxt_en NIC at the Community Lab.

I also spoke with Jeremy about the state of this patch today. He wants to
add a second testcase to the suite for testing the scattered packets
hardware offload (--enable-scatter flag in testpmd). But, he still has
questions about querying ethdev for capabilities and writing the testcase
around that, so that testcase cannot be submitted for this release. It will
come in as a separate patch.

So, from what I can tell Juraj has completed his review and this is the
final v of this patchseries.

On Wed, Jan 10, 2024 at 9:43 AM  wrote:

> From: Jeremy Spewock 
>
> v8:
>
> Address comments by making minor docstring adjustments.
>
> Jeremy Spewock (7):
>   dts: add startup verification and forwarding modes to testpmd shell
>   dts: limit EAL parameters to DPDK apps and add parameters to all apps
>   dts: add optional packet filtering to scapy sniffer
>   dts: add pci addresses to EAL parameters
>   dts: allow configuring MTU of ports
>   dts: add scatter to the yaml schema
>   dts: add pmd_buffer_scatter test suite
>
>  dts/framework/config/conf_yaml_schema.json|   3 +-
>  dts/framework/exception.py|   7 +
>  dts/framework/remote_session/testpmd_shell.py | 149 +-
>  dts/framework/test_suite.py   |  15 +-
>  dts/framework/testbed_model/linux_session.py  |   8 +
>  dts/framework/testbed_model/os_session.py |   9 ++
>  dts/framework/testbed_model/sut_node.py   |  28 +++-
>  dts/framework/testbed_model/tg_node.py|  14 +-
>  .../traffic_generator/__init__.py |   7 +-
>  .../capturing_traffic_generator.py|  22 ++-
>  .../testbed_model/traffic_generator/scapy.py  |  27 
>  dts/tests/TestSuite_pmd_buffer_scatter.py | 132 
>  12 files changed, 407 insertions(+), 14 deletions(-)
>  create mode 100644 dts/tests/TestSuite_pmd_buffer_scatter.py
>
> --
> 2.43.0
>
>


Re: [PATCH v4] dts: add Dockerfile

2024-02-20 Thread Patrick Robb
Tested-by: Patrick Robb 

The approach for mounting in ssh keys and managing the test engine
environment has been agreed upon by the CI group, and this patch has been
tested by a few people at the Community Lab. I believe it is ready to be
merged.

On Tue, Jan 16, 2024 at 2:18 PM  wrote:

> From: Juraj Linkeš 
>
> The Dockerfile defines development and CI runner images.
>
> Signed-off-by: Juraj Linkeš 
> Signed-off-by: Jeremy Spewock 
>
>
>


Re: [EXT] Re: [PATCH v2 8/8] crypto/ipsec_mb: set and use session ID

2024-02-20 Thread Patrick Robb
On Tue, Jun 20, 2023 at 5:44 AM Fangming Fang  wrote:

> v1.4 release on the arm repo breaks DPDK
> We have reverted the Arm library version to 1.3.0 to work around this
> issue according to Pablo's suggestion. The library fixing this issue is
> tagged as SECLIB-IPSEC-2023.06.20.
>
> Thanks,
> Fangming
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
>

Does anyone know if there are plans to bring the arm ipsec-mb repo to v1.4,
or plans to advance any of the other ideas which were put forth in this
conversation? DPDK 24.03 will require ipsec 1.4 or greater, and there is a
patch pending to that effect.

We do run some testing at the Community Lab on ARM which installs the
ipsec-mb library, and runs ZUC and Snow3G autotests with their respective
crypto vdev pmds. As noted here the the build fails from the v1.4 tag on
arm, and the SECLIB-IPSEC-2023.06.20 cannot be used for 24.03. If it won't
be possible to install ipsec-mb on ARM for use with 24.03 I will have to
take that test coverage offline. I just want to check to see if there is a
workaround I've missed or some planned work on the horizon which will
unblock this. Thanks.


Re: [EXT] [PATCH v2 8/8] crypto/ipsec_mb: set and use session ID

2024-02-20 Thread Patrick Robb
Okay. In terms of lab operations, I'll disable the ARM ZUC/Snow3G tests for
main and next-*, but leave enabled for LTS. Once we can use v1.4 for ARM,
will re-enable everything. Thanks.

On Wed, Feb 21, 2024 at 12:10 AM Honnappa Nagarahalli <
honnappa.nagaraha...@arm.com> wrote:

>
>
> > On Feb 20, 2024, at 11:01 PM, Patrick Robb  wrote:
> >
> >
> >
> > On Tue, Jun 20, 2023 at 5:44 AM Fangming Fang 
> wrote:
> > v1.4 release on the arm repo breaks DPDK
> > We have reverted the Arm library version to 1.3.0 to work around this
> issue according to Pablo's suggestion. The library fixing this issue is
> tagged as SECLIB-IPSEC-2023.06.20.
> >
> > Thanks,
> > Fangming
> >
> > IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
> >
> > Does anyone know if there are plans to bring the arm ipsec-mb repo to
> v1.4, or plans to advance any of the other ideas which were put forth in
> this conversation? DPDK 24.03 will require ipsec 1.4 or greater, and there
> is a patch pending to that effect.
> >
> > We do run some testing at the Community Lab on ARM which installs the
> ipsec-mb library, and runs ZUC and Snow3G autotests with their respective
> crypto vdev pmds. As noted here the the build fails from the v1.4 tag on
> arm, and the SECLIB-IPSEC-2023.06.20 cannot be used for 24.03. If it won't
> be possible to install ipsec-mb on ARM for use with 24.03 I will have to
> take that test coverage offline. I just want to check to see if there is a
> workaround I've missed or some planned work on the horizon which will
> unblock this. Thanks.
> I am not sure about the current plans, we will get back on this soon.
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
>


Re: [EXT] [PATCH v2 8/8] crypto/ipsec_mb: set and use session ID

2024-02-21 Thread Patrick Robb
On Wed, Feb 21, 2024 at 4:50 AM Power, Ciara  wrote:

>
> Hi folks,
>
> We had based the ipsec-mb version bump to 1.4 on both intel ipsec-mb and
> arm ipsec-mb supporting that version, so both could still use the Ipsec-mb
> SW PMDs.
> I based the arm support from the repo main branch (
> https://gitlab.arm.com/arm-reference-solutions/ipsec-mb/-/tree/main)
> It's version is 1.4 and looks like some of the code changes from
> intel-ipsec-mb 1.4 have been merged in (e.g. imb_set_session function which
> is 1.4+).
> I know there was issues before with it being tagged as 1.4 too soon - is
> that still the case, or is the main branch up to date now with
> intel-ipsec-mb 1.4?
>
> Thanks,
> Ciara
>

Hi Ciara,

I see what you mean and did a test on an arm container. I used tip of main
for ipsec-mb, applied the v1.4 requirement patch to dpdk, built dpdk and
was able to run the ZUC autotest with the zuc vdev pmd.

root@8aad8acde315:/opt/dpdk/build# meson test cryptodev_sw_zuc_autotest
--test-args="--no-huge --no-pci --vdev=crypto_zuc"
ninja: no work to do.
ninja: Entering directory `/opt/dpdk/build'
ninja: no work to do.
1/1 DPDK:driver-tests / cryptodev_sw_zuc_autotestOK
0.22s

Ok: 1
Expected Fail:  0
Fail:   0
Unexpected Pass:0
Skipped:0
Timeout:0

Usually when we install dependencies we go from a tag which is stable.
We'll update the dpdk-ci container image template engine to clone the repo
and then checkout to this commit which is known to be
good: cef9b8924e3ff52f2c5a3703860008c27ee723c4. And our automated testing
can remain online in this way.

Arm folks, I'm not sure what your plans are but at some point in the docs I
think pages like:

https://doc.dpdk.org/guides/cryptodevs/zuc.html
https://doc.dpdk.org/guides/cryptodevs/snow3g.html

should be updated to reference this commit, or a newly introduced tag, to
reflect that the SECLIB-IPSEC-2023.06.20 tag will no longer work for 24.03
as it is ipsec 1.3.

Thanks for the help.


Re: [PATCH 0/7] bnxt bug fixes

2024-02-21 Thread Patrick Robb
https://patchwork.dpdk.org/project/dpdk/patch/20240208171330.31139-8-ajit.khapa...@broadcom.com/

Hi Ajit,

So you know, this series did fail in CI testing, and now that it is merged
to main, all patchseries are failing DTS at EAL. Performance testing is
also offline for the same reason.

I will run the niccli utility to upgrade broadcom NIC firmware on the
system and give it a rerun. Otherwise, let me know what you think.

This occurs on our ARM Ampere server, with the BCM57414 NetXtreme-E
10Gb/25Gb

21:02:08   [00;36m   TestScatter: Test Case
test_scatter_mbuf_2048 Begin [0m
21:02:08  dut.arm-ampere-dut.dpdklab.iol.unh.edu:
x86_64-native-linux-gcc/app/dpdk-testpmd -l 1,2 -n 4 -a 0007:01:00.0 -a
0007:01:00.1 --file-prefix=dpdk_2978774_20240222015854   -- -i
--mbcache=200 --mbuf-size=1024 --portmask=0x1 --max-pkt-len=9000
--port-topology=loop --tx-offloads=0x8000 [0m
21:04:14   [01;31m   TestScatter: Test Case
test_scatter_mbuf_2048 Result FAILED: TIMEOUT on
x86_64-native-linux-gcc/app/dpdk-testpmd -l 1,2 -n 4 -a 0007:01:00.0 -a
0007:01:00.1 --file-prefix=dpdk_2978774_20240222015854   -- -i
--mbcache=200 --mbuf-size=1024 --portmask=0x1 --max-pkt-len=9000
--port-topology=loop --tx-offloads=0x8000 [0m
21:04:14   [01;31m   TestScatter: EAL: Detected CPU lcores:
160
21:04:14  EAL: Detected NUMA nodes: 2
21:04:14  EAL: Detected static linkage of DPDK
21:04:14  EAL: Multi-process socket
/var/run/dpdk/dpdk_2978774_20240222015854/mp_socket
21:04:14  EAL: Selected IOVA mode 'VA'
21:04:14  EAL: VFIO support initialized
21:04:14  EAL: Using IOMMU type 1 (Type 1)
21:04:14  EAL: Probe PCI driver: net_bnxt (14e4:16d7) device: 0007:01:00.0
(socket 1)
21:04:14  Segmentation fault (core dumped)

I'll let you know how reruns go.

On Thu, Feb 8, 2024 at 4:51 PM Ajit Khaparde 
wrote:

> On Thu, Feb 8, 2024 at 9:13 AM Ajit Khaparde 
> wrote:
> >
> > Patchset with bug fixes for bnxt PMD.
> > Patch based against the
> > next-net-brcm for-next-net branch.
> >
> > Please apply.
> Patchset merged to the dpdk-next-brcm for-next-net branch.
> Thanks
>
> >
> > Ajit Khaparde (4):
> >   net/bnxt: modify locking for representor Tx
> >   net/bnxt: refactor VNIC context cleanup
> >   net/bnxt: update consumer index of NQ regularly
> >   net/bnxt: update RSS algorithm capability
> >
> > Damodharam Ammepalli (1):
> >   net/bnxt: cleanup vnic ref count
> >
> > Kishore Padmanabha (1):
> >   net/bnxt: avoid seg fault in Tx queue release
> >
> > Shuanglin Wang (1):
> >   net/bnxt: adjust session name on multi host system
> >
> >  drivers/net/bnxt/bnxt.h|  2 +-
> >  drivers/net/bnxt/bnxt_ethdev.c | 14 +++-
> >  drivers/net/bnxt/bnxt_hwrm.c   | 16 +++--
> >  drivers/net/bnxt/bnxt_irq.c| 26 +++---
> >  drivers/net/bnxt/bnxt_reps.c   |  6 ++--
> >  drivers/net/bnxt/bnxt_txq.c|  8 -
> >  drivers/net/bnxt/bnxt_txq.h|  1 +
> >  drivers/net/bnxt/bnxt_txr.c| 13 +++
> >  drivers/net/bnxt/bnxt_txr.h|  4 ++-
> >  drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 58 ++
> >  10 files changed, 125 insertions(+), 23 deletions(-)
> >
> > --
> > 2.39.2 (Apple Git-143)
> >
>


Community CI Meeting Minutes - February 22, 2024

2024-02-23 Thread Patrick Robb
February 22, 2024

#
Attendees
1. Patrick Robb
2. Ali Alnubani
3. Paul Szczepanek
4. Juraj Linkeš
5. Luca Vizzarro

#
Minutes

=
General Announcements
* Aaron is polling the tech board for feedback on what server hardware is
most needed in the community lab going forward. Some ideas are:
   * AMD CPUs
   * RISC-V CPUs
   * Better PCI-E generation slots which will allow us to use newer NICs
   * He is visiting UNH today so we can work on starting a proposal and plan
* 24.03 RC1 has been released this morning
* Retest framework: Email has been sent out with the proposed syntax and
approach for retests in which users want to request their patch be
re-applied on tip of branch

=
CI Status

-
UNH-IOL Community Lab
* Hardware Refresh:
   * NVIDIA CX7:
  * Had some minor improvements in the performance results, but still
debugging with Ali and NVIDIA
  * Can possibly replaced the cx5 with another cx7, and do forwarding
between 2 nics, solving 1 bandwidth bottleneck
  * Will work on resolving the lower speeds seen on the CX6 first -
this could be related to using a different board and CPU with different
clock rate etc.
 * This server has a broadwell CPU
 * Patrick Robb Make sure that Ali and Gal are included for the
initial feedback thread for server refresh and what is most needed
* Bringing the NVIDIA testbed offline today for a few hours so Ali and Bing
can do some debugging on the mlx5 failure on the CX5 yesterday
* Arm IPSEC-MB Library: Had to move to running from tip of main on the ARM
ipsec repo to enablev1.4 - just storing the commit hash right now but ARM
will publish a new tag for a known good version soon.
   * Wathsala will be doing the new tag soon

-
Intel Lab
* None

-
Github Actions
* We plan to have a maintenance window either Thus the 22nd, or sometime
next week to cover migrating to the original server.  This will involve
upgrading the base os for both the host and the VM.  Michael  will send out
the notice on the day it happens letting everyone know  of the downtime.
   * We don't expect that the downtime will last too long, less than a
day.  We will likely recover the workflows shortly after that.

-
Loongarch Lab
* Patrick pinged Zhoumin about adding retest framework support to the
Loongson lab
   * UNH willing to assist - not sure right now what is possible/not
possible based on how the loongson lab stood up their automation. They do
use the dpdk-ci repo tools.

=
DTS Improvements & Test Development
* Dockerfile patch can be merged - Thomas has been pinged about this on
slack
* Scattered packets patch:
   * Patrick tested this on a bnxt_en NIC, and it worked fine
   * When gathering device capabilities, the scatter capability is always
off on mlnx nics, even when including the scatter offload flag with testpmd
  * Juraj is going to send to Patrick and Jermey a summary of what he
has learned about passing the scatter flag and how DPDK handles it. And
what he has learned about querying for this capability.
   * For now, not including the scatter offload flag testcase with this
testsuite, only submitting the testcase which is a direct port from old dts
   * Luca is going to review this today. He is also running it on a MLNX
nic.
   * Juraj: Interestingly, on the Intel NICs it is on whether you include
the --enable-scatter flag or not, but the Mellanox NICs don't have it set
to on in either case
   * Ali: Have you tried "--enable-scatter --tx-offloads=0x8000"
  * Jeremy Spewockwill try this
* For next Wednesday, We are going to have to have discussions for putting
together the 24.07 DTS roadmap since Juraj will be on vacation in March and
we won’t be able to have the conversation then.
   * Patrick will put together some ethdev suite ideas which the new DTS
employees at UNH can start on
   * We will also review bugzilla tickets then, assign more tickets if
needed
* Patch for the testcast blocking:
   * There is a bug (it does not include the smoke tests in the list of
suites to run), so Juraj will be sending a new version
* Gregory reached out to see whether his framework’s approach could be used
for simple DTS cases. Juraj and Patrick read the code. There are some good
ideas we are bringing into the framework, but not the phase based yaml
approach which translates scapy and testpmd commands to testsuites.
* XMLRPC Server: Jeremy foun

Re: [PATCH v3] examples/ipsec-secgw: fix cryptodev to SA mapping

2024-02-26 Thread Patrick Robb
Recheck-request: iol-broadcom-Performance

This patch should not fail a performance test in CI - checking with a rerun
now.

On Mon, Feb 26, 2024 at 5:25 AM Radu Nicolau  wrote:

> There are use cases where a SA should be able to use different cryptodevs
> on
> different lcores, for example there can be cryptodevs with just 1 qp per
> VF.
> For this purpose this patch relaxes the check in create lookaside session
> function.
> Also add a check to verify that a CQP is available for the current lcore.
>
> Fixes: a8ade12123c3 ("examples/ipsec-secgw: create lookaside sessions at
> init")
> Cc: sta...@dpdk.org
> Cc: vfia...@marvell.com
>
> Signed-off-by: Radu Nicolau 
> Tested-by: Ting-Kai Ku 
> Acked-by: Ciara Power 
> Acked-by: Kai Ji 
> ---
> v3: check if the cryptodev are not of the same type
>
>  examples/ipsec-secgw/ipsec.c | 25 -
>  1 file changed, 20 insertions(+), 5 deletions(-)
>
> diff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c
> index f5cec4a928..b59576c049 100644
> --- a/examples/ipsec-secgw/ipsec.c
> +++ b/examples/ipsec-secgw/ipsec.c
> @@ -288,10 +288,21 @@ create_lookaside_session(struct ipsec_ctx
> *ipsec_ctx_lcore[],
> if (cdev_id == RTE_CRYPTO_MAX_DEVS)
> cdev_id = ipsec_ctx->tbl[cdev_id_qp].id;
> else if (cdev_id != ipsec_ctx->tbl[cdev_id_qp].id) {
> -   RTE_LOG(ERR, IPSEC,
> -   "SA mapping to multiple cryptodevs
> is "
> -   "not supported!");
> -   return -EINVAL;
> +   struct rte_cryptodev_info dev_info_1, dev_info_2;
> +   rte_cryptodev_info_get(cdev_id, &dev_info_1);
> +
>  rte_cryptodev_info_get(ipsec_ctx->tbl[cdev_id_qp].id,
> +   &dev_info_2);
> +   if (dev_info_1.driver_id == dev_info_2.driver_id) {
> +   RTE_LOG(WARNING, IPSEC,
> +   "SA mapped to multiple cryptodevs
> for SPI %d\n",
> +   sa->spi);
> +
> +   } else {
> +   RTE_LOG(WARNING, IPSEC,
> +   "SA mapped to multiple cryptodevs
> of different types for SPI %d\n",
> +   sa->spi);
> +
> +   }
> }
>
> /* Store per core queue pair information */
> @@ -908,7 +919,11 @@ ipsec_enqueue(ipsec_xform_fn xform_func, struct
> ipsec_ctx *ipsec_ctx,
> continue;
> }
>
> -   enqueue_cop(sa->cqp[ipsec_ctx->lcore_id], &priv->cop);
> +   if (likely(sa->cqp[ipsec_ctx->lcore_id]))
> +   enqueue_cop(sa->cqp[ipsec_ctx->lcore_id],
> &priv->cop);
> +   else
> +   RTE_LOG(ERR, IPSEC, "No CQP available for lcore
> %d\n",
> +   ipsec_ctx->lcore_id);
> }
>  }
>
> --
> 2.34.1
>
>


Re: [PATCH v4 1/2] crypto/ipsec_mb: bump minimum IPsec Multi-buffer version

2024-02-26 Thread Patrick Robb
Recheck-request: iol-unit-arm64-testing

This ran before we had swapped out the old arm v1.2 ipsec container for our
new arm v1.4  ipsec container. We have now made that change, so this retest
should report a pass. Sorry for the inconvenience.

On Fri, Feb 23, 2024 at 7:21 AM Sivaramakrishnan Venkat <
venkatx.sivaramakrish...@intel.com> wrote:

> SW PMDs increment IPsec Multi-buffer version to 1.4.
> A minimum IPsec Multi-buffer version of 1.4 or greater is now required.
>
> Signed-off-by: Sivaramakrishnan Venkat  >
> Acked-by: Ciara Power 
> Acked-by: Pablo de Lara 
> ---
>   v4:
>  - 24.03 release notes updated to bump minimum IPSec Multi-buffer
>version to 1.4 for SW PMDs.
>   v2:
>  - Removed unused macro in ipsec_mb_ops.c
>  - set_gcm_job() modified correctly to keep multi_sgl_job line
>  - Updated SW PMDs documentation for minimum IPSec Multi-buffer version
>  - Updated commit message, and patch title.
> ---
>  doc/guides/cryptodevs/aesni_gcm.rst |   3 +-
>  doc/guides/cryptodevs/aesni_mb.rst  |   3 +-
>  doc/guides/cryptodevs/chacha20_poly1305.rst |   3 +-
>  doc/guides/cryptodevs/kasumi.rst|   3 +-
>  doc/guides/cryptodevs/snow3g.rst|   3 +-
>  doc/guides/cryptodevs/zuc.rst   |   3 +-
>  doc/guides/rel_notes/release_24_03.rst  |   4 +
>  drivers/crypto/ipsec_mb/ipsec_mb_ops.c  |  23 ---
>  drivers/crypto/ipsec_mb/meson.build |   2 +-
>  drivers/crypto/ipsec_mb/pmd_aesni_mb.c  | 165 
>  drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h |   9 --
>  11 files changed, 17 insertions(+), 204 deletions(-)
>
> diff --git a/doc/guides/cryptodevs/aesni_gcm.rst
> b/doc/guides/cryptodevs/aesni_gcm.rst
> index f5773426ee..dc665e536c 100644
> --- a/doc/guides/cryptodevs/aesni_gcm.rst
> +++ b/doc/guides/cryptodevs/aesni_gcm.rst
> @@ -85,7 +85,8 @@ and the external crypto libraries supported by them:
> 18.05 - 19.02  Multi-buffer library 0.49 - 0.52
> 19.05 - 20.08  Multi-buffer library 0.52 - 0.55
> 20.11 - 21.08  Multi-buffer library 0.53 - 1.3*
> -   21.11+ Multi-buffer library 1.0  - 1.5*
> +   21.11 - 23.11  Multi-buffer library 1.0  - 1.5*
> +   24.03+ Multi-buffer library 1.4  - 1.5*
> =  
>
>  \* Multi-buffer library 1.0 or newer only works for Meson but not Make
> build system.
> diff --git a/doc/guides/cryptodevs/aesni_mb.rst
> b/doc/guides/cryptodevs/aesni_mb.rst
> index b2e74ba417..5d670ee237 100644
> --- a/doc/guides/cryptodevs/aesni_mb.rst
> +++ b/doc/guides/cryptodevs/aesni_mb.rst
> @@ -146,7 +146,8 @@ and the Multi-Buffer library version supported by them:
> 19.05 - 19.08   0.52
> 19.11 - 20.08   0.52 - 0.55
> 20.11 - 21.08   0.53 - 1.3*
> -   21.11+  1.0  - 1.5*
> +   21.11 - 23.11   1.0  - 1.5*
> +   24.03+  1.4  - 1.5*
> ==  
>
>  \* Multi-buffer library 1.0 or newer only works for Meson but not Make
> build system.
> diff --git a/doc/guides/cryptodevs/chacha20_poly1305.rst
> b/doc/guides/cryptodevs/chacha20_poly1305.rst
> index 9d4bf86cf1..c32866b301 100644
> --- a/doc/guides/cryptodevs/chacha20_poly1305.rst
> +++ b/doc/guides/cryptodevs/chacha20_poly1305.rst
> @@ -72,7 +72,8 @@ and the external crypto libraries supported by them:
> =  
> DPDK version   Crypto library version
> =  
> -   21.11+ Multi-buffer library 1.0-1.5*
> +   21.11 - 23.11  Multi-buffer library 1.0-1.5*
> +   24.03+ Multi-buffer library 1.4-1.5*
> =  
>
>  \* Multi-buffer library 1.0 or newer only works for Meson but not Make
> build system.
> diff --git a/doc/guides/cryptodevs/kasumi.rst
> b/doc/guides/cryptodevs/kasumi.rst
> index 0989054875..a8f4e6b204 100644
> --- a/doc/guides/cryptodevs/kasumi.rst
> +++ b/doc/guides/cryptodevs/kasumi.rst
> @@ -87,7 +87,8 @@ and the external crypto libraries supported by them:
> =  
> 16.11 - 19.11  LibSSO KASUMI
> 20.02 - 21.08  Multi-buffer library 0.53 - 1.3*
> -   21.11+ Multi-buffer library 1.0  - 1.5*
> +   21.11 - 23.11  Multi-buffer library 1.0  - 1.5*
> +   24.03+ Multi-buffer library 1.4  - 1.5*
> =  
>
>  \* Multi-buffer library 1.0 or newer only works for Meson but not Make
> build system.
> diff --git a/doc/guides/cryptodevs/snow3g.rst
> b/doc/guides/cryptodevs/snow3g.rst
> index 3392932653..46863462e5 100644
> --- a/doc/guides/cryptodevs/snow3g.rst
> +++ b/doc/guides/cryptodevs/snow3g.rst
> @@ -96,7 +96,8 @@ and the external crypto libraries supported by them:
> =  
> 16.04 - 19.11  LibSSO SNOW3G
> 20.02 - 21.08  Multi-buffer library 0.53 - 1.3*
> -   21.11+ Multi-buffer lib

Re: [EXT] Re: [PATCH v2 8/8] crypto/ipsec_mb: set and use session ID

2024-02-26 Thread Patrick Robb
On Mon, Feb 26, 2024 at 6:24 PM Wathsala Wathawana Vithanage <
wathsala.vithan...@arm.com> wrote:

> Hi Patrick,
> > I tried mainline earlier today it compiles and links fine. However,
> build failed on
> > v1.4. We are working on tagging the mainline, until then please continue
> > working on mainline.
> >
> A new tag SECLIB-IPSEC-2023.10.13 has been created from the tip of arm
> ipsec-mb git repo.
> Please use this tag going forward, it has been tested and works as
> expected.
>
> Thanks Wathsala - will do!


Re: [PATCH v2] dts: strip whitespaces from stdout and stderr

2024-02-28 Thread Patrick Robb
Acked-by: Patrick Robb 


Re: [PATCH] crypto/mlx5: add max segment assert

2024-03-01 Thread Patrick Robb
The Community Lab had an infra failure this morning and some patches
including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 7:43 AM Suanming Mou  wrote:

> Currently, for multi-segment mbuf, before crypto WQE an extra
> UMR WQE will be introduced to build the contiguous memory space.
> Crypto WQE uses that contiguous memory space key as input.
>
> This commit adds assert for maximum supported segments in debug
> mode in case the segments exceed UMR's limitation.
>
> Signed-off-by: Suanming Mou 
> Acked-by: Matan Azrad 
> ---
>  drivers/crypto/mlx5/mlx5_crypto_gcm.c | 6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/crypto/mlx5/mlx5_crypto_gcm.c
> b/drivers/crypto/mlx5/mlx5_crypto_gcm.c
> index 8b9953b46d..fc6ade6711 100644
> --- a/drivers/crypto/mlx5/mlx5_crypto_gcm.c
> +++ b/drivers/crypto/mlx5/mlx5_crypto_gcm.c
> @@ -441,6 +441,9 @@ mlx5_crypto_gcm_get_op_info(struct mlx5_crypto_qp *qp,
> op_info->digest = NULL;
> op_info->src_addr = aad_addr;
> if (op->sym->m_dst && op->sym->m_dst != m_src) {
> +   /* Add 2 for AAD and digest. */
> +   MLX5_ASSERT((uint32_t)(m_dst->nb_segs + m_src->nb_segs +
> 2) <
> +   qp->priv->max_klm_num);
> op_info->is_oop = true;
> m_dst = op->sym->m_dst;
> dst_addr = rte_pktmbuf_mtod_offset(m_dst, void *,
> op->sym->aead.data.offset);
> @@ -457,6 +460,9 @@ mlx5_crypto_gcm_get_op_info(struct mlx5_crypto_qp *qp,
> op_info->need_umr = true;
> return;
> }
> +   } else {
> +   /* Add 2 for AAD and digest. */
> +   MLX5_ASSERT((uint32_t)(m_src->nb_segs) + 2 <
> qp->priv->max_klm_num);
> }
> if (m_src->nb_segs > 1) {
> op_info->need_umr = true;
> --
> 2.34.1
>
>


Re: [PATCH] crypto/mlx5: add virtual function device ID

2024-03-01 Thread Patrick Robb
The Community CI Testing Lab had an infra failure this morning and some
patches including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 7:31 AM Suanming Mou  wrote:

> This adds the virtual function device ID to the list of
> supported NVIDIA devices that run the MLX5 compress PMD.
>
> Signed-off-by: Suanming Mou 
> Acked-by: Matan Azrad 
> ---
>  drivers/crypto/mlx5/mlx5_crypto.c | 4 
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/crypto/mlx5/mlx5_crypto.c
> b/drivers/crypto/mlx5/mlx5_crypto.c
> index 4bac723c8b..26bd4087da 100644
> --- a/drivers/crypto/mlx5/mlx5_crypto.c
> +++ b/drivers/crypto/mlx5/mlx5_crypto.c
> @@ -465,6 +465,10 @@ static const struct rte_pci_id
> mlx5_crypto_pci_id_map[] = {
> RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
> PCI_DEVICE_ID_MELLANOX_BLUEFIELD3)
> },
> +   {
> +   RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX,
> +   PCI_DEVICE_ID_MELLANOX_CONNECTXVF)
> +   },
> {
> .vendor_id = 0
> }
> --
> 2.34.1
>
>


Re: [PATCH v4 0/7] test case blocking and logging

2024-03-01 Thread Patrick Robb
The Community CI Testing Lab had an infra failure this morning and some
patches including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 5:55 AM Juraj Linkeš 
wrote:

> We currently don't record test case results that couldn't be executed
> because of a previous failure, such as when a test suite setup failed,
> resulting in no executed test cases.
>
> In order to record the test cases that couldn't be executed, we must
> know the lists of test suites and test cases ahead of the actual test
> suite execution, as an error could occur before we even start executing
> test suites.
>
> In addition, the patch series contains two refactors and one
> improvement.
>
> The first refactor is closely related. The dts.py was renamed to
> runner.py and given a clear purpose - running the test suites and all
> other orchestration needed to run test suites. The logic for this was
> not all in the original dts.py module and it was brought there. The
> runner is also responsible for recording results, which is the blocked
> test cases are recorded.
>
> The other refactor, logging, is related to the first refactor. The
> logging module was simplified while extending capabilities. Each test
> suite logs into its own log file in addition to the main log file which
> the runner must handle (as it knows when we start executing particular
> test suites). The runner also handles the switching between execution
> stages for the purposes of logging.
>
> The one aforementioned improvement is in unifying how we specify test
> cases in the conf.yaml file and in the environment variable/command line
> argument.
>
> v2:
> Rebase and update of the whole patch. There are changes in all parts of
> the code, mainly improving the design and logic.
> Also added the last patch which improves test suite specification on the
> cmdline.
>
> v3:
> Improved variables in _get_test_suite_class along with docstring.
> Fixed smoke test suite not being added into the list of test suites to
> be executed.
>
> v4:
> Added the checking of CamelCase convention when discovering test cases.
> Also added additional test stages. The stages were split into setup and
> teardown.
>
> Juraj Linkeš (7):
>   dts: convert dts.py methods to class
>   dts: move test suite execution logic to DTSRunner
>   dts: filter test suites in executions
>   dts: reorganize test result
>   dts: block all test cases when earlier setup fails
>   dts: refactor logging configuration
>   dts: improve test suite and case filtering
>
>  doc/guides/tools/dts.rst  |  14 +-
>  dts/framework/config/__init__.py  |  36 +-
>  dts/framework/config/conf_yaml_schema.json|   2 +-
>  dts/framework/dts.py  | 338 -
>  dts/framework/logger.py   | 246 +++---
>  dts/framework/remote_session/__init__.py  |   6 +-
>  .../interactive_remote_session.py |   6 +-
>  .../remote_session/interactive_shell.py   |   6 +-
>  .../remote_session/remote_session.py  |   8 +-
>  dts/framework/runner.py   | 711 ++
>  dts/framework/settings.py | 188 +++--
>  dts/framework/test_result.py  | 565 --
>  dts/framework/test_suite.py   | 239 +-
>  dts/framework/testbed_model/node.py   |  11 +-
>  dts/framework/testbed_model/os_session.py |   7 +-
>  .../traffic_generator/traffic_generator.py|   6 +-
>  dts/main.py   |   9 +-
>  dts/pyproject.toml|   3 +
>  dts/tests/TestSuite_os_udp.py |   2 +-
>  dts/tests/TestSuite_smoke_tests.py|   2 +-
>  20 files changed, 1375 insertions(+), 1030 deletions(-)
>  delete mode 100644 dts/framework/dts.py
>  create mode 100644 dts/framework/runner.py
>
> --
> 2.34.1
>
>


Re: [PATCH v5 0/4] add pointer compression API

2024-03-01 Thread Patrick Robb
The Community CI Testing Lab had an infra failure this morning and some
patches including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 6:16 AM Morten Brørup 
wrote:

> > From: Konstantin Ananyev [mailto:konstantin.anan...@huawei.com]
> > Sent: Thursday, 22 February 2024 17.16
> >
> > > For some reason your email is not visible to me, even though it's in
> the
> > > archive.
> >
> > No worries.
> >
> > >
> > > On 02/11/202416:32,Konstantin Ananyev konstantin.v.ananyev  wrote:
> > >
> > > > From one side the code itself is very small and straightforward, >
> from
> > other side - it is not clear to me what is intended usage for it
> > > > within DPDK and it's applianances?
> > > > Konstantin
> > >
> > > The intended usage is explained in the cover email (see below) and
> > demonstrated
> > > in the test supplied in the following patch - when sending arrays of
> > pointers
> > > between cores as it happens in a forwarding example.
> >
> > Yes, I saw that. The thing is that test is a 'synthetic' one.
> > My question was about how do you expect people to use it in more
> realistic
> > scenarios?
> > Let say user has a bunch of mbuf pointers, possibly from different
> mempools.
> > How he can use this API: how to deduce the base pointer for all of them
> and
> > what to
> > do if it can't be done?
>
> I share Konstantin's concerns with this feature.
>
> If we want to compress mbuf pointers in applications with a few mbuf
> pools, e.g. an mbuf pool per CPU socket, the compression algorithm would be
> different.
>
> I would like to add:
> If we want to offer optimizations specifically for applications with a
> single mbuf pool, I think it should be considered in a system-wide context
> to determine if performance could be improved in more areas.
> E.g. removing the pool field from the rte_mbuf structure might free up
> space to move hot fields from the second cache line to the first, so the
> second cache line rarely needs to be touched. (As an alternative to
> removing the pool field, it could be moved to the second cache line, only
> to be used if the global "single mbuf pool" is NULL.)
>
> On the other hand, I agree that pointer compression can be useful for some
> applications, so we should accept it.
>
> However, pointer compression has nothing to do with the underlying
> hardware or operating system, so it does not belong in the EAL (which is
> already too bloated). It should be a separate library.
>
> >
> > > On 01/11/2023 18:12, Paul Szczepanek wrote:
> > >
> > > > This patchset is proposing adding a new EAL header with utility
> functions
> > > > that allow compression of arrays of pointers.
> > > >
> > > > When passing caches full of pointers between threads, memory
> containing
> > > > the pointers is copied multiple times which is especially costly
> between
> > > > cores. A compression method will allow us to shrink the memory size
> > > > copied.
> > > >
> > > > The compression takes advantage of the fact that pointers are usually
> > > > located in a limited memory region (like a mempool). We can compress
> them
> > > > by converting them to offsets from a base memory address.
> > > >
> > > > Offsets can be stored in fewer bytes (dictated by the memory region
> size
> > > > and alignment of the pointer). For example: an 8 byte aligned pointer
> > > > which is part of a 32GB memory pool can be stored in 4 bytes. The
> API is
> > > > very generic and does not assume mempool pointers, any pointer can be
> > > > passed in.
> > > >
> > > > Compression is based on few and fast operations and especially with
> vector
> > > > instructions leveraged creates minimal overhead.
> > > >
> > > > The API accepts and returns arrays because the overhead means it
> only is
> > > > worth it when done in bulk.
> > > >
> > > > Test is added that shows potential performance gain from
> compression. In
> > > > this test an array of pointers is passed through a ring between two
> cores.
> > > > It shows the gain which is dependent on the bulk operation size. In
> this
> > > > synthetic test run on ampere altra a substantial (up to 25%)
> performance
> > > > gain is seen if done in bulk size larger than 32. At 32 it breaks
> even and
> > > > lower sizes create a small (less than 5%) slowdown due to overhead.
> > > >
> > > > In a more realistic mock application running the l3 forwarding dpdk
> > > > example that works in pipeline mode on two cores this translated
> into a
> > > > ~5% throughput increase on an ampere altra.
>
> Which burst size was used to achieve this ~5% throughput increase?
>
> > > >
> > > > v2:
> > > > * addressed review comments (style, explanations and typos)
> > > > * lowered bulk iterations closer to original numbers to keep runtime
> short
> > > > * fixed pointer size warning on 32-bit arch
> > > > v3:
> > > > * added 16-bit versions of compression functions and tests
> > > > * ad

Re: [PATCH v5] net/i40e: add diagnostic support in TX path

2024-03-01 Thread Patrick Robb
The Community CI Testing Lab had an infra failure this morning and some
patches including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 5:25 AM Bruce Richardson 
wrote:

> On Fri, Mar 01, 2024 at 09:44:21AM +, Mingjin Ye wrote:
> > Implemented a Tx wrapper to perform a thorough check on mbufs,
> > categorizing and counting invalid cases by types for diagnostic
> > purposes. The count of invalid cases is accessible through xstats_get.
> >
> > Also, the devarg option "mbuf_check" was introduced to configure the
> > diagnostic parameters to enable the appropriate diagnostic features.
> >
> > supported cases: mbuf, size, segment, offload.
> >  1. mbuf: check for corrupted mbuf.
> >  2. size: check min/max packet length according to hw spec.
> >  3. segment: check number of mbuf segments not exceed hw limitation.
> >  4. offload: check any unsupported offload flag.
> >
> > parameter format: "mbuf_check=" or "mbuf_check=[,]"
> > eg: dpdk-testpmd -a :81:01.0,mbuf_check=[mbuf,size] -- -i
> >
> > Signed-off-by: Mingjin Ye 
> > ---
> > v2: remove strict.
> > ---
> > v3: optimised.
> > ---
> > v4: rebase.
> > ---
> > v5: fix ci error.
> > ---
> >  doc/guides/nics/i40e.rst   |  13 +++
> >  drivers/net/i40e/i40e_ethdev.c | 138 -
> >  drivers/net/i40e/i40e_ethdev.h |  28 ++
> >  drivers/net/i40e/i40e_rxtx.c   | 153 +++--
> >  drivers/net/i40e/i40e_rxtx.h   |   2 +
> >  5 files changed, 326 insertions(+), 8 deletions(-)
> >
> > diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
> > index 15689ac958..bf1d1e5d60 100644
> > --- a/doc/guides/nics/i40e.rst
> > +++ b/doc/guides/nics/i40e.rst
> > @@ -275,6 +275,19 @@ Runtime Configuration
> >
> >-a 84:00.0,vf_msg_cfg=80@120:180
> >
> > +- ``Support TX diagnostics`` (default ``not enabled``)
> > +
> > +  Set the ``devargs`` parameter ``mbuf_check`` to enable TX
> diagnostics. For example,
> > +  ``-a 18:01.0,mbuf_check=`` or ``-a
> 18:01.0,mbuf_check=[,...]``. Also,
> > +  ``xstats_get`` can be used to get the error counts, which are
> collected in
> > +  ``tx_mbuf_error_packets`` xstats. For example, ``testpmd> show port
> xstats all``.
> > +  Supported cases:
> > +
> > +  *   mbuf: Check for corrupted mbuf.
> > +  *   size: Check min/max packet length according to hw spec.
> > +  *   segment: Check number of mbuf segments not exceed hw limitation.
> > +  *   offload: Check any unsupported offload flag.
> > +
>
> Hi Mingjin,
>
> please see the changes made to the equivalent doc (and commit-log) updates
> for iavf when I applied that earlier patch to next-net-intel. This patch
> should be updated to match that. Changes were pretty basic, but still
> useful, for example, aligning line breaks to punctuation.
>
> Thanks,
> /Bruce
>
> PS: This feedback applies to the net/ice patch too.
>


Re: [PATCH v3] net/ice: add diagnostic support in TX path

2024-03-01 Thread Patrick Robb
The Community CI Testing Lab had an infra failure this morning and some
patches including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 5:11 AM Mingjin Ye  wrote:

> Implemented a Tx wrapper to perform a thorough check on mbufs,
> categorizing and counting invalid cases by types for diagnostic
> purposes. The count of invalid cases is accessible through xstats_get.
>
> Also, the devarg option "mbuf_check" was introduced to configure the
> diagnostic parameters to enable the appropriate diagnostic features.
>
> supported cases: mbuf, size, segment, offload.
>  1. mbuf: check for corrupted mbuf.
>  2. size: check min/max packet length according to hw spec.
>  3. segment: check number of mbuf segments not exceed hw limitation.
>  4. offload: check any unsupported offload flag.
>
> parameter format: "mbuf_check=" or "mbuf_check=[,]"
> eg: dpdk-testpmd -a :81:01.0,mbuf_check=[mbuf,size] -- -i
>
> Signed-off-by: Mingjin Ye 
> ---
> v2: rebase.
> ---
> v3: Modify comment log.
> ---
>  doc/guides/nics/ice.rst  |  13 +++
>  drivers/net/ice/ice_ethdev.c | 108 +++-
>  drivers/net/ice/ice_ethdev.h |  23 +
>  drivers/net/ice/ice_rxtx.c   | 158 ---
>  drivers/net/ice/ice_rxtx.h   |  20 +
>  5 files changed, 311 insertions(+), 11 deletions(-)
>
> diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
> index bafb3ba022..d1aee811b3 100644
> --- a/doc/guides/nics/ice.rst
> +++ b/doc/guides/nics/ice.rst
> @@ -257,6 +257,19 @@ Runtime Configuration
>As a trade-off, this configuration may cause the packet processing
> performance
>degradation due to the PCI bandwidth limitation.
>
> +- ``Tx diagnostics`` (default ``not enabled``)
> +
> +  Set the ``devargs`` parameter ``mbuf_check`` to enable TX diagnostics.
> For example,
> +  ``-a 18:01.0,mbuf_check=`` or ``-a
> 18:01.0,mbuf_check=[,...]``.
> +  Also, ``xstats_get`` can be used to get the error counts, which are
> collected in
> +  ``tx_mbuf_error_packets`` xstats. For example, ``testpmd> show port
> xstats all``.
> +  Supported cases:
> +
> +  *   mbuf: Check for corrupted mbuf.
> +  *   size: Check min/max packet length according to hw spec.
> +  *   segment: Check number of mbuf segments not exceed hw limitation.
> +  *   offload: Check any unsupported offload flag.
> +
>  Driver compilation and testing
>  --
>
> diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
> index 72e13f95f8..d28e205375 100644
> --- a/drivers/net/ice/ice_ethdev.c
> +++ b/drivers/net/ice/ice_ethdev.c
> @@ -12,6 +12,7 @@
>  #include 
>
>  #include 
> +#include 
>
>  #include "eal_firmware.h"
>
> @@ -34,6 +35,7 @@
>  #define ICE_HW_DEBUG_MASK_ARG "hw_debug_mask"
>  #define ICE_ONE_PPS_OUT_ARG   "pps_out"
>  #define ICE_RX_LOW_LATENCY_ARG"rx_low_latency"
> +#define ICE_MBUF_CHECK_ARG   "mbuf_check"
>
>  #define ICE_CYCLECOUNTER_MASK  0xULL
>
> @@ -49,6 +51,7 @@ static const char * const ice_valid_args[] = {
> ICE_ONE_PPS_OUT_ARG,
> ICE_RX_LOW_LATENCY_ARG,
> ICE_DEFAULT_MAC_DISABLE,
> +   ICE_MBUF_CHECK_ARG,
> NULL
>  };
>
> @@ -319,6 +322,14 @@ static const struct ice_xstats_name_off
> ice_stats_strings[] = {
>  #define ICE_NB_ETH_XSTATS (sizeof(ice_stats_strings) / \
> sizeof(ice_stats_strings[0]))
>
> +static const struct ice_xstats_name_off ice_mbuf_strings[] = {
> +   {"tx_mbuf_error_packets", offsetof(struct ice_mbuf_stats,
> +   tx_pkt_errors)},
> +};
> +
> +#define ICE_NB_MBUF_XSTATS (sizeof(ice_mbuf_strings) / \
> +   sizeof(ice_mbuf_strings[0]))
> +
>  static const struct ice_xstats_name_off ice_hw_port_strings[] = {
> {"tx_link_down_dropped", offsetof(struct ice_hw_port_stats,
> tx_dropped_link_down)},
> @@ -2061,6 +2072,58 @@ handle_pps_out_arg(__rte_unused const char *key,
> const char *value,
> return 0;
>  }
>
> +static int
> +ice_parse_mbuf_check(__rte_unused const char *key, const char *value,
> void *args)
> +{
> +   char *cur;
> +   char *tmp;
> +   int str_len;
> +   int valid_len;
> +
> +   int ret = 0;
> +   uint64_t *mc_flags = args;
> +   char *str2 = strdup(value);
> +   if (str2 == NULL)
> +   return -1;
> +
> +   str_len = strlen(str2);
> +   if (str_len == 0) {
> +   ret = -1;
> +   goto err_end;
> +   }
> +
> +   /* Try stripping the outer square brackets of the parameter
> string. */
> +   str_len = strlen(str2);
> +   if (str2[0] == '[' && str2[str_len - 1] == ']') {
> +   if (str_len < 3) {
> +   ret = -1;
> +   goto err_end;
> +   }
> +   valid_len = str_len - 2;
> +   memmove(str2, str2 + 1, valid_len

Re: [PATCH] net/mlx5: set correct priority for meter policy

2024-03-01 Thread Patrick Robb
The Community CI Testing Lab had an infra failure this morning and some
patches including yours were affected with false failures. The issue is now
resolved and we are rerunning the tests in question for all patches
submitted today.

On Fri, Mar 1, 2024 at 3:46 AM Shun Hao  wrote:

> Currently a meter policy's flows are always using the same priority for
> all colors, so the red color flow might be before green/yellow ones.
> This will impact the performance cause green/yellow packets will check
> red flow first and got miss, then match green/yellow flows, introducing
> more hops.
>
> This patch fixes this by giving the same priority to flows for all
> colors.
>
> Fixes: 363db9b00f ("net/mlx5: handle yellow case in default meter policy")
> CC: sta...@dpdk.org
>
> Signed-off-by: Shun Hao 
> Acked-by: Bing Zhao 
> Acked-by: Matan Azrad 
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 41 +++--
>  1 file changed, 24 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index 18f09b22be..f1584ed6e0 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -17922,9 +17922,8 @@ __flow_dv_create_policy_matcher(struct rte_eth_dev
> *dev,
> }
> }
> tbl_data = container_of(tbl_rsc, struct mlx5_flow_tbl_data_entry,
> tbl);
> -   if (priority < RTE_COLOR_RED)
> -   flow_dv_match_meta_reg(matcher.mask.buf,
> -   (enum modify_reg)color_reg_c_idx, color_mask,
> color_mask);
> +   flow_dv_match_meta_reg(matcher.mask.buf,
> +   (enum modify_reg)color_reg_c_idx, color_mask, color_mask);
> matcher.priority = priority;
> matcher.crc = rte_raw_cksum((const void *)matcher.mask.buf,
> matcher.mask.size);
> @@ -17975,7 +17974,6 @@ __flow_dv_create_domain_policy_rules(struct
> rte_eth_dev *dev,
> int i;
> int ret = mlx5_flow_get_reg_id(dev, MLX5_MTR_COLOR, 0, &flow_err);
> struct mlx5_sub_policy_color_rule *color_rule;
> -   bool svport_match;
> struct mlx5_sub_policy_color_rule *tmp_rules[RTE_COLORS] = {NULL};
>
> if (ret < 0)
> @@ -18011,10 +18009,9 @@ __flow_dv_create_domain_policy_rules(struct
> rte_eth_dev *dev,
> /* No use. */
> attr.priority = i;
> /* Create matchers for colors. */
> -   svport_match = (i != RTE_COLOR_RED) ? match_src_port :
> false;
> if (__flow_dv_create_policy_matcher(dev, color_reg_c_idx,
> MLX5_MTR_POLICY_MATCHER_PRIO, sub_policy,
> -   &attr, svport_match, NULL,
> +   &attr, match_src_port, NULL,
> &color_rule->matcher, &flow_err)) {
> DRV_LOG(ERR, "Failed to create color%u matcher.",
> i);
> goto err_exit;
> @@ -18024,7 +18021,7 @@ __flow_dv_create_domain_policy_rules(struct
> rte_eth_dev *dev,
> color_reg_c_idx, (enum rte_color)i,
> color_rule->matcher,
> acts[i].actions_n, acts[i].dv_actions,
> -   svport_match, NULL, &color_rule->rule,
> +   match_src_port, NULL, &color_rule->rule,
> &attr)) {
> DRV_LOG(ERR, "Failed to create color%u rule.", i);
> goto err_exit;
> @@ -18907,7 +18904,7 @@ flow_dv_meter_hierarchy_rule_create(struct
> rte_eth_dev *dev,
> struct {
> struct mlx5_flow_meter_policy *fm_policy;
> struct mlx5_flow_meter_info *next_fm;
> -   struct mlx5_sub_policy_color_rule
> *tag_rule[MLX5_MTR_RTE_COLORS];
> +   struct mlx5_sub_policy_color_rule *tag_rule[RTE_COLORS];
> } fm_info[MLX5_MTR_CHAIN_MAX_NUM] = { {0} };
> uint32_t fm_cnt = 0;
> uint32_t i, j;
> @@ -18941,14 +18938,22 @@ flow_dv_meter_hierarchy_rule_create(struct
> rte_eth_dev *dev,
> mtr_policy = fm_info[i].fm_policy;
> rte_spinlock_lock(&mtr_policy->sl);
> sub_policy = mtr_policy->sub_policys[domain][0];
> -   for (j = 0; j < MLX5_MTR_RTE_COLORS; j++) {
> +   for (j = 0; j < RTE_COLORS; j++) {
> uint8_t act_n = 0;
> -   struct mlx5_flow_dv_modify_hdr_resource
> *modify_hdr;
> +   struct mlx5_flow_dv_modify_hdr_resource
> *modify_hdr = NULL;
> struct mlx5_flow_dv_port_id_action_resource
> *port_action;
> +   uint8_t fate_action;
>
> -   if (mtr_policy->act_cnt[j].fate_action !=
> MLX5_FLOW_FATE_MTR &&
> -   mtr_policy->act_cnt[j].fate_action !=
> MLX5_FLOW_FATE

Depends-on patchseries support via git-pw or patchwork

2023-12-22 Thread Patrick Robb
Hi all,

As some of you know from discussions at DPDK CI meetings, Adam from UNH is
writing a script which leverages git-pw, and takes as arguments a patch
series patchwork id, patchwork project, and pw token, and produces a
project artifact for CI testing purposes. Starting in January we will use
it for applying patches to DPDK and creating our dpdk.tar.gz artifacts for
testing. And, we will submit it to the dpdk-ci repo.

Anyways, when we originally discussed the idea, Thomas suggested that we
implement the depends-on functionality by contributing to the git-pw
project, as opposed to implementing the depend-on support in the create
artifact script itself. Adam did create a github issue on the git-pw
project in order to poll the community for interest in this feature, and
one of the patchwork maintainers chimed in to suggest that rather than
implementing the feature on the client side via git-pw, it should simply be
implemented for patchwork itself. That way if it's patchwork server side
and exposed via the api, other client side tools like pwclient can also
receive the benefits.

I just wanted to flag this on the ci mailing list so that anyone with
thoughts could submit them on the Github issue, which you can find here:
https://github.com/getpatchwork/git-pw/issues/71

Thanks Adam for pushing this effort forward.


Re: [PATCH] doc: update minimum Linux kernel version

2024-01-11 Thread Patrick Robb
On Thu, Jan 11, 2024 at 4:18 AM Morten Brørup 
wrote:

>
> I wonder if any automated tests are using this specific kernel version, or
> if we are only testing using the distros' native kernels. @Aaron?
>

For UNH, we generally run from the distros' native kernels. Any exceptions
are not for testing older kernel versions, so we don't have anything
running from 4.14 in our testing right now.

If running some automated testing for, say, the minimum supported kernel
version at any point in time is a value to anyone, certainly they can speak
up and we can discuss adding that.


Re: [PATCH] doc: update minimum Linux kernel version

2024-01-11 Thread Patrick Robb
On Thu, Jan 11, 2024 at 2:27 PM Morten Brørup 
wrote:

> *From:* Patrick Robb [mailto:pr...@iol.unh.edu]
> *Sent:* Thursday, 11 January 2024 20.02
>
>
>
> On Thu, Jan 11, 2024 at 4:18 AM Morten Brørup 
> wrote:
>
>
> I wonder if any automated tests are using this specific kernel version, or
> if we are only testing using the distros' native kernels. @Aaron?
>
>
>
> For UNH, we generally run from the distros' native kernels. Any exceptions
> are not for testing older kernel versions, so we don't have anything
> running from 4.14 in our testing right now.
>
>
>
> If running some automated testing for, say, the minimum supported kernel
> version at any point in time is a value to anyone, certainly they can speak
> up and we can discuss adding that.
>
>
>
>
>
> When the documentation specifies a minimum required kernel version, it
> implicitly claims that DPDK works with that kernel version.
>
> So we should either test with the specified kernel version (which requires
> significant effort to set up, so I’m not going to ask for it!), or add a
> big fat disclaimer/warning that DPDK is not tested with the mentioned
> kernel version, and list the kernel versions actually tested.
>
Well, adding one system which moves with the minimum supported kernel
version probably wouldn't be too onerous, so I will add a ticket noting
this as a community request. On the other hand, one of the reasons we're
moving to running more and more of our testing from containers is so that
we don't have to do as much VM "babysitting" and our testing environment is
more cleanly defined. Obviously that doesn't apply in this case, so we'd
set up a custom VM for this testing job specifically. But, as an LTS kernel
version reaches EOL approximately 1x per year, it shouldn't be too bad.


>
>
> As an appliance vendor, we build our systems from scratch, including the
> bootloader, kernel and file systems. We don’t use any of the distro stuff.
>
> Having information about well tested kernel versions would be helpful when
> choosing kernel version for our appliances. I suppose other appliance
> vendors also use their own hardened/purpose-built kernel versions, and
> would consider this information useful for their decision process too.
>
>
>
Maybe the best thing we can do without a significant overhaul of our
process is to more explicitly display the kernel version for a system when
reporting results. If others chime in and there is big interest here, we
can go further.


Re: Minutes of Techboard Meeting, 2024-01-10

2024-01-16 Thread Patrick Robb
On Tue, Jan 16, 2024 at 11:45 AM Honnappa Nagarahalli <
honnappa.nagaraha...@arm.com> wrote:

>
> 3. How well does DPDK run on Hyperscaler environments?
> - Can UNH take the task of running DPDK on Hyperscaler environments? UNH
> seems to have lot of things already.
>

Sorry, I could not make techboard this week as I had a conflict from
another project. I would like to reiterate that in principle an effective
way to start addressing any gaps is to use testing to better understand the
landscape as is. At the same time, yes this conversation did not reach
maturity during 2023, so there aren't hyperscaler testing work items in
2024's Community Lab SOW. Written SOW items always have to take precedence,
but we will continue to accept ad-hoc community requests like always, and
engage in conversations for what's next for testing in DPDK.

We had an email chain going with Robin/Honnappa about the most needed test
coverage in this space, etc. but it died out. I remember Honnappa
mentioning the importance of measuring multi core scalability performance,
running l2fwd l3fwd sample apps etc. I think Robin may host some calls in
2024 to take feedback on this. We would still need a plan on funding for
the cloud instances used, list of vNICs to provide testing coverage for, a
test plan, etc. So, realistically today we are very far off, but if the
conversation on this continues to develop, we can engage and define better
if/how the Community Lab could play a role.


Community CI Meeting Minutes - January 18, 2024

2024-01-18 Thread Patrick Robb
January 18, 2024

#
Attendees
1. Lincoln Lavoie
2. Thomas Monjalon
3. Aaron Conole
4. Jeremy Spewock
5. Paul Szczepanek
6. Ali Alnubani
7. Juraj Linkeš

#
Minutes

=
General Announcements
* First 2024 DTS WG meeting was held yesterday, and the minutes are here:
https://docs.google.com/document/d/1pG_NGuwYgPuovwIfhvcs9u8PNYIJuInsFr0GeTUIU4k/edit?usp=sharing
   * Patrick Robb will publish the meeting minutes

=
CI Status

-
UNH-IOL Community Lab
* Octeon CN106XX: Patrick worked with Hiral this week about the process for
SDK rebuild. This will have to happen regularly, but we now have a VM setup
which will serve as the place to rebuild SDK and act as TFTP server for the
Octeon board.
   * After that we need to iron out switching rootfs to ubuntu, setting up
DTS on the tester, validating this works fine in a CI context (Phanendra
from Marvell has approved of the concept).
* The Intel server arrived in the mail yesterday. We will mount the system
this week and begin setup. As a reminder this now unblocks:
   * E810 testing for Intel
   * Traffic gen for the CX7 testing (this server will act as TG)
   * Traffic gen for the Octeon CN106xx board
* The new create dpdk artifact for ci testing script is in production at
UNH, and Adam is submitting the V3 patchseries for this to dpdk-ci today
* There is an update from the patchwork maintainer about supporting
Depends-on via patchwork. I encourage everyone to read his full thoughts on
the issue below, but shorthand conclusions are:
   * He prefers to only support Depends-on on a series basis, not a series
or patch basis.
  * Patrick will update the CI testing thread on this topic, but this
may require the DPDK community agreeing to a new approach. From looking
through the dev mailing list, it seems that series dependency is the
typical use, but there are also some examples of developers using patch
dependency.
  * Keep the same syntax which allows for depends-on: patch, but in
reality translate this to depends on that patch’s series
   * He will need some help for the effort. We can ping the DPDK community
to look for volunteers. Or, it can possibly become a community ask for
development at the DPDK Community Lab. Looking at it at a high level I
don’t think the scope will be too bad.
   * Full thread: https://github.com/getpatchwork/git-pw/issues/71
* Arm-Ampere still needs a kernel rebuild for the QAT card
* Standing up ts-factory testing framework
   * Adam did the first cx-5 run on an ARM system, and will do an Intel
XL710 run on an ARM system today. Both will be published on Oktet Lab’s
Bublik for review.
   * Unlike our ARM testbeds, our x86 servers are single server TG/DUT
testbeds, which breaks an assumption in ts-factory. My view on how to
proceed is bring testing online with what works now (arm), then review the
value with the community, and choose a strategy for x86 based on what we
learn from running this at the lab.
   * Andrew from Oktet labs has added some missing components to GitHub for
the data visualization tool (Bublik), and has finished categorizing the
tests for the XL710 and the expected results for that NIC
* Old DTS patches:
   * We noticed that as DPDK has grown, the compile time also increases and
the old compile timeout for the DUT is no longer valid on some slower
systems. Jeremy will submit a patch extending the timeout.
   * Once the cx7 is online, patrick will submit the patch adding the cx6
and cx7 to the NIC registry in DTS
* Lincoln saw the email thread about DPDK failing to build on FreeBSD 14.
We are only testing FreeBSD 13 in the lab right now, so we will add
coverage for 14.

-
Intel Lab
* John says there is still no new person who can act as a contact. There
have been further staffing changes at Intel, so it may be hard to get a
contact soon, but Patrick will keep asking.

-
Github Actions
* Cirrus CI: Adding support for this to the 0 day robot. Aaron submitted a
patch for polling for Cirrus ci status in ovs.
* They are getting a server to migrate the VM over to, so there should be
minimal downtime associated with the hardware moving from Westford to
another state.

-
Loongarch Lab
* None

=
DTS Improvements & Test Development
* scapy/templated yaml for tests:
   * One motivation is for making writing simple tests in minimal time
(like 3 minutes). Should we aim for a target of writing a testsuite in
minutes, not h

Fwd: DTS WG Meeting Minutes - January 17, 2024

2024-01-18 Thread Patrick Robb
I forgot to CC the dev mailing list

-- Forwarded message -
From: Patrick Robb 
Date: Thu, Jan 18, 2024 at 2:52 PM
Subject: DTS WG Meeting Minutes - January 17, 2024
To: 
Cc: , NBU-Contact-Thomas Monjalon (EXTERNAL) <
tho...@monjalon.net>, Juraj Linkeš 


January 17, 2024

#
Attendees
* Juraj Linkeš
* Gregory Etelson
* Honnappa Nagarahalli
* Jeremy Spewock
* Luca Vizzarro
* Paul Szczepanek

#
Agenda
* Additions to the agenda
* Patch discussions
* DTS Developer documentation
* 24.03 roadmap

#
Minutes

=
Additions to the agenda
* Nothing

=
YAML test suites
* Greg wanted to automate his testing; started with test writtens in
Python, but was not scalable; easily understandable by newcomers.
   * The idea is to take an application, send commands (interactive input),
collect output and compare with expected strings.
* The code was available as of two months ago, but no longer is (private on
GitHub). Greg may be able to share it once taking care of it in his company.
* Gregory submitted an idea for writing test suites in yaml, which just
passes values into a templated testpmd testsuite.
   * Do we want to support a secondary way of writing test suites?
  * Will this be usable for both functional and performance testing?
   * Will this coexist well with the current method?
  * The current method also aims to be minimalistic and intuitive
  * Coexistence makes sense as the yaml approach may not be able to
cover more complicated cases
   * What are any limitations which this places on the testing framework?
If there aren’t major downsides, then the benefits in terms of quickly
adding new testpmd testsuites seems significant.
  * The traffic generator can't be configured here, we need an
abstraction that works for all traffic generators; we can mark the test
cases as functional/performance though, which could be enough
  * We can only specify test-specific testpmd cmdline options;
shouldn't be a problem, but we have to keep in mind that configuration such
as cores and pci addresses are configured elsewhere (the testbed
configuration)
  * Using specific strings in testpmd is harder to maintain (if the
same config is used in multiple places)
   * Are the phases for both setup/teardown and test cases? This could
complicate results recording
   * Can we easily specify multiple test cases? I.e. we have a test method
and we want to test different input combinations (the inputs could just be
the number of cores/packet size for performance tests)


Re: DTS testpmd and SCAPY integration

2024-01-19 Thread Patrick Robb
Thanks for summarizing Juraj.

As we discussed at the CI meeting yesterday, we should get together next
week to workshop some rough testsuites based on the ideas which have been
proposed above, and discussed in the DTS meeting and CI testing meeting.

Just to get something on the calendar I scheduled a zoom for next wednesday
at 2pm UTC, but yall let me know if you prefer something different. All are
welcome of course.

https://unh.zoom.us/j/94747183133



On Thu, Jan 18, 2024 at 7:32 AM Juraj Linkeš 
wrote:

> Hi folks,
>
> Let me summarize the yesterday's discussion in a few keys points:
>
>- Greg's proposal aims at simplicity and is useful mainly for test
>cases which can be written in a few minutes. More complex test cases are
>not suitable for the YAML approach.
>- The above implies that the YAML based test cases would be supported
>alongside the existing approach. This fast way to implement simple test
>cases would likely be a valuable addition.
>- The big picture idea behind the YAML test cases is to take an
>application with interactive input, send commands, collect output and
>compare the output with expected string(s).
>- Greg may be able to make the code available and may assess how to
>integrate it with DTS.
>
> Regards,
> Juraj
>
> On Mon, Jan 8, 2024 at 6:36 PM Honnappa Nagarahalli <
> honnappa.nagaraha...@arm.com> wrote:
>
>> 
>>
>> >
>> > Hello Honnappa,
>> >
>> > [snip]
>> >
>> > > Hi Gregory,
>> > >I do not fully understand your proposal, it will be helpful to
>> join the DTS
>> > meetings to discuss this further.
>> > >
>> >
>> > Agree, let's discuss the proposal details during the DTS meeting.
>> >
>> > > YAML has wide support built around it. By using our own text format,
>> we will
>> > have to build the parsing support etc ourselves.
>> > >
>> > > However, YAML is supposed to be easy to read and understand. Is it
>> just a
>> > matter for getting used to it?
>> > >
>> >
>> > I selected YAML for 2 reasons:
>> >* Plain and intuitive YAML format minimized test meta data.
>> >  By the meta data I refer to control tags and markup characters
>> >  that are not test commands.
>> >* YAML has Python parser.
>> I have mis-understood your proposal. I agree with your above comments.
>> +1 for the proposal.
>>
>> >
>> > Regards,
>> > Gregory
>> >
>> >
>>
>>

-- 

Patrick Robb

Technical Service Manager

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

www.iol.unh.edu


Re: DTS testpmd and SCAPY integration

2024-01-30 Thread Patrick Robb
Thank you for sharing Gregory. I did not get an opportunity to look through
the code today, but I did run through the presentation. A few points I
noted:

1. The presentation shows an example testpmd testcase for creating a flow
rule, and then shows a validation step in which standard out is compared
against the expected string ("flow rule x created") and we can conclude
whether we are able to create flow rules. Are you also sending packets
according to the flow rules and validating that what is
sent/received corresponds to the expected behavior of the flow rules? When
I look at the old DTS framework, and an example flow rules testsuite (
https://doc.dpdk.org/dts/test_plans/rte_flow_test_plan.html) which we want
feature parity with, I think that validation for this testing framework
needs to primarily rely on comparing packets sent and packets received. In
any case, there may be some testsuites which can be written which are small
enough in scope that validating by standard out in this way may be
appropriate. I'm not sure but we should keep our options open.

2. If the implementation overhead is not too significant for the
configuration step in the DTS execution a "--fast" option like you use may
be a good improvement for the framework. In your mind, is the main benefit
A. reduced execution time, B. reduced user setup time (don't have to write
full config file) or C. Something else?

Thanks for making this available to use so we can use it as a reference in
making DTS better. :)


On Sun, Jan 28, 2024 at 8:44 AM Gregory Etelson  wrote:

> Hello,
>
> I've uploaded the code snapshot and functional description here:
>
> https://drive.google.com/drive/folders/1cHrPwx4fUJ6ibUCtHd4kNKsrmmvQvvOj?usp=drive_link
>
> Regards,
> Gregory
> --
> *From:* Jeremy Spewock 
> *Sent:* Tuesday, January 23, 2024 20:26
> *To:* NBU-Contact-Thomas Monjalon (EXTERNAL) 
> *Cc:* Honnappa Nagarahalli ; Gregory
> Etelson ; Juraj Linkeš ;
> Paul Szczepanek ; Yoan Picchi <
> yoan.pic...@foss.arm.com>; Patrick Robb ; Luca
> Vizzarro ; c...@dpdk.org ; dev@dpdk.org
> ; nd 
> *Subject:* Re: DTS testpmd and SCAPY integration
>
> *External email: Use caution opening links or attachments*
>
>
> On Tue, Jan 23, 2024 at 3:50 AM Thomas Monjalon 
> wrote:
>
> 23/01/2024 04:42, Honnappa Nagarahalli:
> > > 08/01/2024 13:10, Luca Vizzarro:
> > > > Your proposal sounds rather interesting. Certainly enabling DTS to
> > > > accept YAML-written tests sounds more developer-friendly and should
> > > > enable quicker test-writing. As this is an extra feature though – and
> > > > a nice-to-have, it should definitely be discussed in the DTS meetings
> > > > as Honnappa suggested already.
> > >
> > > I would not classify this idea as "nice-to-have".
> > > I would split this proposal in 2 parts:
> > > 1/ YAML is an implementation alternative.
> > > 2/ Being able to write a test with a small number of lines,
> > > reusing some commands from existing tools,
> > > should be our "must-have" common goal.
> > >
> > > Others have mentioned that YAML may not be suitable in complex cases,
> and
> > > that it would be an additional language for test writing.
> > > I personnaly think we should focus on a single path which is easy to
> read and
> > > maintain.
> >
> > I think we are digressing from the plan we had put forward if we have to
> go down this path.
> > We should understand what it means by going down the YAML format.
> > Also, what would happen if there is another innovation in 3 months?
>
> There is a misunderstanding here.
> I suggest to take this proposal as an example of the simplicity to reach.
> But I agree with you it is more reasonnable to continue with the Python
> path.
>
>
> I agree that it would be easier to develop both the framework and some of
> the more complex test cases in python and think sticking with Python is a
> good route.
>
> I think taking this proposal and using it as an example of something we
> could work towards is also a great outlook because it gives a more
> structured goal instead of the idea being "let's just make it as simple as
> we can."
>
>
>
> > We already have scatter-gather test suite ported to DPDK repo and has
> undergone review in the community.
> >
> > In the last meeting we went through a simple test case. Is it possible
> to write the scatter-gather test case in YAML and see how they compare?
>
> After the latest CI meeting we thought about writing a simple text case
> in Python with some virtual functions which would abst

DTS WG Meeting Minutes - January 31, 2024

2024-01-31 Thread Patrick Robb
January 31, 2024

#
Attendees
* Patrick Robb
* Juraj Linkeš
* Paul Szczepanek
* Jeremy Spewock
* Luca Vizzarro
* Thomas Monjalon

#
Agenda
* Additions to the agenda
* Patch discussions
* DTS Developer documentation
* 24.03 roadmap

#
Minutes

=
General Announcements
* Added developers for DTS: Nick from UNH is starting on DTS now, and 1-2
more people from UNH will be starting on this project in the near future.

=
Patch discussions
* Dockerfile patch is updated to fix poetry installation and add
documentation for using SSH keys.
   * We are not going to COPY in the keys to the image from the Dockerfile.
New approach is volume mounting ~/.ssh to the container at Docker run, and
readme is provided explaining this process
   * Patrick Robb will run this, add a tag on the patch, and request a
merge from Thomas
* Scatter is submitted and has been reviewed by Juraj, looking for more
reviews from community members to get that patch moving.
   * Can have 1 test for no offload, and 1 test for including offload
  1. If scatter is not available, we should expect a failure in the
second case.
  2. Feature is underdocumented currently
  3. We can add a patch adding comments documenting the feature. All
lines in ethdev.h should be commented, so it is a “bug” that additions from
early dpdk days are not well documented. (RTE_ETH_RX_OFFLOAD_SCATTER)
  4. doc/guides/nics/features.rst - this file documents the feature
matrix, what the feature does and how we determine if the feature is
available.
* Docstring patch: What is the latest status of the needed meson changes?
Has Bruce provided any feedback?
   * Bruce said he was OK with the patch, but Juraj is not
   * The docs don't look as good as they probably could.
   * The current process generates the docs in two steps: one generates the
.rst inputs for Sphinx (using the sphinx-apidoc tool), the second step then
generates the actual html docs from the .rst file.
   * Juraj is looking into removing the sphinx-apidoc step from meson and
having a semi-manual way to produce the .rst files: running the
sphinx-apidoc locally the first time (or when there's a big change to file
structure) and adding new files manually (which is very easy copy-paste
with just a few changes).
   * The second approach gives us much better control over how the docs
look and how we structure the pages.
   * Do we want to generate docs from test suites? This is likely an item
for the future.
   * Action item: Try to generate the docs, give feedback on how it looks,
give feedback on maintenance.
* Blocked test case results recording: In progress, needs rebase on top of
docstrings and finishing touches.
* DTS Documentation from Luca.
   * Has been merged by Thomas now.
   * We might want to move around some documentation so it is more
logically partitioned for readers.
   * Juraj is ok with the patch, but Thomas wants bigger changes. We need
to agree on what we do in this patch and what in other patches.
   * Possibly related are these bugzilla items:
  1. DTS: Split testbed and test configuration
  2. DTS: Rename the execution section/stage
  3. DTS Config improvements
   * On one more item that came up during the review:
  1. DTS: add support for externally compiled DPDK

=
The original DTS patches
* Thomas pinged Intel people to check whether there can be a final round of
DTS patches merged, or some minimal support for that repo going forward.
There are some tens or hundreds of patches which were submitted after
Lijuan Tu (old maintainer) left Intel, which are just languishing in the
dts mailing list.
   * Jeremy has a patch extending timeout for DTS which he can submit, but
only if there will be more merging coming up
   * Patrick has some patch(es) adding cx6 and cx7 NICs to old DTS.
Technically our testbeds running now are forked. When setup is 100% done
for both NICs, intending to circle back and add these NICs to upstream DTS
if merging is a possibility.
New/Open feature requests
* How do we want to handle feature requests for the framework going
forward? We have a lot of needed features dumped into bugzilla now (thank
you Juraj), but how do we prioritize, filter through what is most important
for each release?
   * Patrick suggests: incorporate bugzilla tickets into release roadmaps,
assign them to individuals, and set action items at each DTS meeting for
bugzilla tickets.
https://bugs.dpdk.org/buglist.cgi?bug_status=__open__&component=dts&product=DPDK
   * We can also run through all the tickets during meetings, and set the
“importance” value f

Community CI Meeting Minutes - February 1, 2024

2024-02-01 Thread Patrick Robb
February 1, 2024

#
Attendees
1. Patrick Robb
2. Paul Szczepanek
3. Thomas Monjalon
4. Juraj Linkes
5. Ali Alnubani
6. Aaron Conole

#
Minutes

=
General Announcements
* Per mailing list/slack conversation, an important feature to add for the
email based retest framework is to trigger a retest, but instead of
retesting the original DPDK artifact created for the patchseries, re-apply
on latest and retest. Ferruh suggests we include an optional argument
“pull”, so if “pull=true” we re-apply on latest, if the argument is omitted
or pull=false we do the normal behavior.
* Some community members running automation are still pulling from the
dpdk.org git server and need to move to github. People who don’t move will
get blacklisted, and then they will move quickly.
* Making periodic test results more visible:
   * Would be helpful to list the testing labels matrix for periodic “main”
testing on the dpdk.org testing page (or a page under testing).
   * After main, we should add all branches, and should display datetime of
test and branch name
   * Can also extend this to per patch testing. If we only include the
latest patch tested, at least that shows all the labels tested.
   * Would be helpful to have a more detailed description.
   * We can do this in small steps, and just start with periodic testing.
* Is there a problem with testing RFCs? UNH and GHA are not doing it, but
should start. It does present a value to maintainers/developers and it
probably does not present a testing capacity problem (most come early in a
release cycle.)

=
CI Status

-
UNH-IOL Community Lab
* Automation for TS-Factory testing is now online at UNH
   * Runs on ARM servers, for the XL710 NIC and MLNX CX5
   * Runs 1x/month
   * Posts results to https://ts-factory.io/bublik/v2/runs
* UNH team is still working on provisioning the new server donated by Intel
* Requesting reviews/comments on Adam’s create artifact script (can be used
in ci to leverage the pw_maintainers_cli.py tool for creating DPDK
artifacts from new patchseries):
https://inbox.dpdk.org/ci/20240118234120.29256-1-ahass...@iol.unh.edu/
* Rebuilding containers for all testing which has an ipsec-mb library
dependency (fips, zuc, snow3g) due to the minimal version increasing to
1.4:
https://inbox.dpdk.org/dev/20240130142412.2047550-1-venkatx.sivaramakrish...@intel.com/

-
Intel Lab
* No updates from John

-
Github Actions
* Will be (within the next week) migrating the VM which runs the robot. The
disruption should be about one half day.

-
Loongarch Lab
* None

=
DTS Improvements & Test Development
* We held a meeting yesterday for this.
* We have someone at UNH starting now on this project (Nicholas Pratte), so
we will see if he can start joining these meetings
* Should update the bugzilla query for DTS to include the priority column
so we can sort by that

=
Any other business
* In the near future, we should change the week which ci meetings fall on,
so that they are on the off week of the DTS meetings
* Thomas will start saving the ci meeting minutes on the website
* Next Meeting: February 15, 2024


Re: [PATCH v1 2/4] dts: unify class inheritance from object

2024-04-23 Thread Patrick Robb
Reviewed-by: Patrick Robb 


Re: [PATCH v1 3/4] dts: unify super calls

2024-04-23 Thread Patrick Robb
Reviewed-by: Patrick Robb 


Re: [PATCH v1 2/2] dts: Add missing docstring from XML-RPC server

2024-04-24 Thread Patrick Robb
Recheck-request: github-robot


Re: [PATCH v2 1/2] deque: add multi-thread unsafe double ended queue

2024-04-24 Thread Patrick Robb
Hi Ali,

Wathsala reached out asking how the checkpatch CI check can be updated so
that this series passes checkpatch.

If building the dictionary is a 1 time operation for you, you may have to
apply this patch and re-run devtools/build-dict.sh so that the new
dictionary is in place for a V3 of this series.

It looks like these dictionary exceptions are submitted quite rarely. But,
if it becomes more common in the future you could look at adding a step to
your automation which produces a new dictionary every time you run
checkpatch, based on any additions to the exception list which came with
the patch. But it's probably not worth the effort with the low volume of
word exception additions.

Thanks.


DTS WG Meeting Minutes - April 24, 2024

2024-04-24 Thread Patrick Robb
#
Attendees
* Patrick Robb
* Juraj Linkeš
* Paul Szczepanek
* Luca Vizzarro
* Nicholas Pratte

#
Minutes

=
General Announcements
* What does the path to project wide adoption look like for DTS?
   * Tech board laid out at the end of 2023 what the process should look
like for building DTS adoption in DPDK
  * 1. Current DTS developers start writing testsuites for dpdk library
X, demonstrating the framework (easily and effectively) supports testsuites
for the library. If any gaps in the framework are discovered, submit the
needed DTS framework patches for writing testsuites for dpdk library X.
 * 1.1 As this process gets under way, it’s important to start
working with library maintainers to validate the new testsuites, and start
to build the loose framework for what broad adoption will look like.
 * 1.2 To this end, UNH developers are supposed to write ethdev
testsuites in 2024. The current timeline is that techboard will assess
ethdev testsuite support in DTS at the end of 2024.
* Paul notes that Luca too will be writing some ethdev suites
in the future
* Group should determine the “shortlist” of ethdev testsuite
   * Patrick Robbto the full list down for the next bi-weekly
dts meeting
* Always make a bugzilla ticket per testsuite before doing any
work
   * please make a ticket for jumboframes:
https://bugs.dpdk.org/show_bug.cgi?id=1421
  * 2. When DTS developers indicate DTS support for library X is ready,
tech board will take it up as a discussion point and give that an up/down
vote. And “up” vote will set the new policy that when DPDK developers
submit a DPDK patch to library X, they are now required to also submit an
associated testsuite/testcase addition which provides some test coverage
for their new feature.
 * 2.1 DPDK CI labs will “pick up” the new testsuite additions
alongside the new patches and run across their hardware.
* Jeremy has been on another project for a few weeks, but that’s wrapped up
now and he’s back to focusing on DTS

=
Patch discussions
* Hugepages patch:
   * V4 is submitted with some small improvements recommended by Juraj:
https://patchwork.dpdk.org/project/dpdk/patch/20240418161026.2839-1-npra...@iol.unh.edu/
   * Juraj will send a review tag
* Jumboframes: Nick is writing this now, V1 should be coming soon
   * Bugzilla: https://bugs.dpdk.org/show_bug.cgi?id=1421
* Testpmd show port info/show port stats:
https://patchwork.dpdk.org/project/dpdk/list/?series=31729
* Testpmd statefullness / params class
   * V2 will be forthcoming here
   * Jeremy can give a review on the V2 now that’s he’s back to DTS world…
   * Jeremy should assess for his patch whether show port info should be
used as a tool to check capabilities
* Skip test cases based on capabilities
   * Jeremy still needs to provide feedback from his new scatter testsuite
rebased off of this patch
* Replace XML-RPC server with scapy shell:
   * Coming soon to a mailing list near you.
* API-Docs generation patch
   * Review are needed for the latest version
   * Jeremy Spewockplease review
   * Nicholas Pratteplease build the docs again and provide another
tested-by
* Renaming “Execution”
   * Idea is to rename to testrun
   * As it is a tiny patch it can be applied soon
* Juraj’s patch to remove OS-UDP suite
   * We want to remove the code which was added only to support the os-udp
suite. This includes the code which allows for network configuration in the
os. But, we may need some of this for scapy on the TG.
   * Bugzilla: https://bugs.dpdk.org/show_bug.cgi?id=1414
* Juraj submitted some small patches with cleanups like changing implicit
object inheritance… etc.
* Interactive shells:
   * By default, the interactive shells are not run with admin privileges.
For shells handling any DPDK apps, it may make sense to run with admin
privilege.

=
Bugzilla discussions
* Had some discussion on 1360 relating to how users should define node
ports for an execution: https://bugs.dpdk.org/show_bug.cgi?id=1360
   * It’s not really execution specific, as the execution has things which
we are configuring for a specific testrun. There will never be a different
value for a specific port on a node, so this information should not go into
the execution config block.
   * Individual nodes do not need to have the full port links stored as
attributes. The port links can be created by the testsuite alone.
  * So, going forward the SUTNode and TGNode should contain ONLY local
pci addresses, and these nodes are not aware of the full links
   * Store a list of “NICs” in the node config block, then specify the

Re: [PATCH] net/af_packet: cache align Rx/Tx structs

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH v2] vhost: cleanup resubmit info before inflight setup

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [RFC] net/af_packet: make stats reset reliable

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH] lib/vhost: add flag for async connection in client mode

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH] eal/linux: enhanced error handling for affinity

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH 10/10] doc: update nfp document

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [v1 1/1] docs: af_xdp device plugin repo update

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [RFC 0/4] malloc type argument cleanup (part 1)

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH] ethdev: document that stats reset APIs are not thread-safe

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH] bpf/xdp: disable on 32bit x86

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [v1 1/1] MAINTAINERS: add another AF_XDP maintainer

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [RFC v2 0/6] Improve EAL bit operations API

2024-04-26 Thread Patrick Robb
Recheck-request: iol-compile-amd64-testing

The DPDK Community Lab updated to the latest Alpine image yesterday, which
resulted in all Alpine builds failing. The failure is unrelated to your
patch, and this recheck should remove the fail on Patchwork, as we have
disabled Alpine testing for now.


Re: [PATCH] bus/pci: fix build with musl 1.2.4 / Alpine 3.19

2024-04-29 Thread Patrick Robb
On Mon, Apr 29, 2024 at 6:01 AM David Marchand 
wrote:

> Following an upgrade of musl, pread64/pwrite64 wrappers are not provided
> anymore. Switch to POSIX pread/pwrite.
>
> Bugzilla ID: 1422
> Cc: sta...@dpdk.org
>
> Signed-off-by: David Marchand 
>
>
Tested-by: Patrick Robb 

We will re-enable Alpine compile in our CI testing once this patch hits
mainline


Re: [PATCH v4 0/3] dts: API docs generation

2024-04-29 Thread Patrick Robb
On Mon, Apr 29, 2024 at 9:49 AM Jeremy Spewock  wrote:

> 
> > The patchset contains the .rst sources which Sphinx uses to generate the
> > html pages. These were first generated with the sphinx-apidoc utility
> > and modified to provide a better look. The documentation just doesn't
> > look that good without the modifications and there isn't enough
> > configuration options to achieve that without manual changes to the .rst
> > files. This introduces extra maintenance which involves adding new .rst
> > files when a new Python module is added or changing the .rst structure
> > if the Python directory/file structure is changed (moved, renamed
> > files). This small maintenance burden is outweighed by the flexibility
> > afforded by the ability to make manual changes to the .rst files.
> >
> > We can merge this patch when:
> > 1. We agree on the approach with manually modifying the files.
> > This approach is, in my opinion, much better than just generating the
> > .rst files every time,
>
> +1 for manually modifying .rst files. The .rst files are very simple,
> and I think the added flexibility to change headers or tweak things as
> needed is a big benefit over just auto-generating and not having as
> much control. Additionally, if it just so happens that the
> auto-generated file looks fine and the developer doesn't want to make
> changes, they can still just generate it themselves and it fits right
> in, so this approach still works with the other regardless.
>
> +1


Re: Run unit tests with C++ too

2024-04-30 Thread Patrick Robb
On Sun, Apr 28, 2024 at 3:46 AM Mattias Rönnblom 
wrote:

> It would be great if the unit test suite (app/test/*) was compiled (and
> run) using a C++ (C++11) compiler as well. At least, if such is available.
>

Sure, the UNH Lab can try this.


>
> With the current state of affairs, header file macros or functions are
> not verified to be functional (or even valid) C++.
>
> "C is a subset of C++", which was never true, is becoming less and less so.
>
> If all unit tests aren't valid C++, maybe one could start with an "opt
> in" model.
>

Okay, so basically run the fast-test suite, record all that don't pass,
submit a bugzilla ticket stating which unit tests are not valid on a
certain c++ compiler, then bring CI Testing online using the valid subset
of fast-tests. This should work.


>
> A drawback of this is that the unit tests need to be both valid C and
> valid C++.
>


Re: Run unit tests with C++ too

2024-04-30 Thread Patrick Robb
On Tue, Apr 30, 2024 at 4:13 PM Mattias Rönnblom 
wrote:

> On 2024-04-30 15:52, Patrick Robb wrote:
> >
> >
> > On Sun, Apr 28, 2024 at 3:46 AM Mattias Rönnblom  > <mailto:hof...@lysator.liu.se>> wrote:
> >
> > It would be great if the unit test suite (app/test/*) was compiled
> (and
> > run) using a C++ (C++11) compiler as well. At least, if such is
> > available.
> >
> >
> > Sure, the UNH Lab can try this.
> >
> >
> > With the current state of affairs, header file macros or functions
> are
> > not verified to be functional (or even valid) C++.
> >
> > "C is a subset of C++", which was never true, is becoming less and
> > less so.
> >
> > If all unit tests aren't valid C++, maybe one could start with an
> "opt
> > in" model.
> >
> >
> > Okay, so basically run the fast-test suite, record all that don't pass,
> > submit a bugzilla ticket stating which unit tests are not valid on a
> > certain c++ compiler, then bring CI Testing online using the valid
> > subset of fast-tests. This should work.
> >
>
> Sounds good.
>
> Just to be clear: the above includes extending the DPDK build system to
> build the app/test/dpdk-test binary in two versions: one C and one C++,
> so that anyone can run the C++ tests locally as well. Correct?
>

Okay, so now I am understanding this is not yet available. When I responded
this morning I was figuring that c++ compiler support was available and I
simply wasn't aware, and that we could quite easily set cc={some c++
compiler}, meson would pick it up, and we would be able to build DPDK and
then run unit tests in this manner in CI testing.

I didn't mean to suggest we would submit patches extending the build system
to this end. That's probably a little out of scope for what we try to
accomplish at the Community Lab.

But if the aforementioned build system support is added, of course we are
willing to add that as a build environment for unit tests and report those
respective results.


Community CI Meeting Minutes - May 2, 2024

2024-05-02 Thread Patrick Robb
#
May 2, 2024
Attendees
1. Patrick Robb
2. Juraj Linkeš
3. Aaron Conole
4. Paul Szczepanek
5. Luca Vizzarro

#
Minutes

=
General Announcements
* New servers at UNH Lab:
   * Patrick has an initial quote from our server vendor for the new
Dell servers coming into the lab. He requested some small modification
and a new quote which is pending. Once this is finalized we will send
to Aaron Conole and if he approves, make the purchase.
  * Small adjustment: Switching CPU on Xeon DUT to a similar
model, but with more offload devices (QAT, etc.). Bruce from Intel
acked this and it is actually slightly cheaper.
   * Quote not yet ready with Supermicro for the ARM Grace server, but
we’re working with one of their sales reps.

=
CI Status

-
UNH-IOL Community Lab
* FreeBSD 14:
   * Cody has noted that not all unit tests pass on our new FreeBSD 14
VM. He submitted an update on Bugzilla. We are bringing this machine
online now only for build testing.
* OvS DPDK testing:
   * Adam finished bugfixing for OvS compile, but we are writing the
jenkinsfiles still
* Code coverage reports added to our dashboard:
https://dpdkdashboard.iol.unh.edu/results/dashboard/code-coverage
   * Aaron requested we dry run the driver tests and perf tests
testsuites alongside fast tests. That’s on our radar but still in
queue
   * Patrick Robbshould “announce” the code coverage report page on
dpdkdashboard, so the maintainers and developers take note. Can do
this on the CI and dev mailing lists.
* NVIDIA: Installed an additional CX7 on the DUT server at UNH (thanks
Gal and Ali for sending). Saw an increase in MPPS but still not
matching published results from NVIDIA.
   * Patrick can put more cycles into troubleshooting the system
setup, the testpmd params etc.
   * This may be a case where the CPU hardware is also a factor (these
are on older broadwell servers), so this is a place where the new
servers coming into UNH may be beneficial

-
Intel Lab
* Rajesh can be contacted for Intel lab needs going forward
* There was a request on the CI mailing list for Intel lab to
discontinue CI Testing on centos 7:
https://inbox.dpdk.org/ci/CAJvnSUB8ikROiizW+iS=h0-GdTjh2a2UnawJFpEF=g-oppr...@mail.gmail.com/T/#t
   * GCC 4.8.5 is no longer supported in DPDK

-
Github Actions
* Did migrate the GH robot from its temp machine to permanent home.
There were some issues with sending report emails, but Aaron doesn’t
think any patches were missed. If they were, the Recheck-request
function allows for users to initiate a backfill of results.
   * Roughly April 25-26

-
Loongarch Lab
* None

=
DTS Improvements & Test Development
* Paul/Luca indicated interest in writing testsuites. Patrick will
produce an updated list of ethdev testsuites to port to the new
framework, and we will pick some next Wednesday at the next DTS
meeting.
   * Juraj also indicated interest in also writing some, but he will
be on vacation next week, so we’ll select 2-3 for him.
* patches:
   * Juraj: small cleanup of remote session close, moving the function
and removing the force parameter.
  * There is agreement here, so Juraj will ping Thomas for an apply
   * Juraj: Rename execution to test run
  * There is agreement here, so Juraj will ping Thomas for an apply
   * Nick: hugepage is done and acked by Juraj
  * Requsting a review from Luca
 * Otherwise, there is agreement here, so Juraj will ping
Thomas for an apply
   * Nick: Working on Jumboframes testsuite patch right now.
   * Luca:
  * From_dict methods and typing: Convert all the classes factory
methods used as `@staticmethod` to`@classmethod`. Update mypy so the
self type is recognized as valid. Mypy update can be in a separate
patch which will (hopefully) get applied quickly as there will be
basically nothing to review.
https://bugs.dpdk.org/show_bug.cgi?id=1433
   * CI: It would be worth running mypy in CI. Luca is running it
locally and is seeing some things have been missed. UNH CI should run
the /devtools/dts-check-format.sh, and if black, linters, etc. find
any issues it will result in a non-zero exit code, and we can report a
fail based on this.
  * Patrick Robbwill make a ticket for this at UNH and get it in queue
  * Can name it dts_lint
  * Only run it if /dts/* are modified.

=
Any other business
* Next Mee

DPDK code coverage reports dashboard page

2024-05-02 Thread Patrick Robb
Hi DPDK Developers,

I wanted to announce to the mailing lists that the UNH Community Lab
recently rolled out a new page on our dashboard where you can find
code coverage reports for DPDK unit tests.

https://lab.dpdk.org/results/dashboard/code-coverage

It provides some unit test code coverage reports for lib/* and
drivers/*. You can download and extract the test coverage artifacts,
and open up the styled html page by navigating to
out/coveragereport/index.html.

We run these coverage reports 1x/month, on the first day of the month.
Ideally these can serve as a reference for how many lines of code are
touched by unit tests, but also how coverage evolves over time.

Some improvements we have in queue:
-Add driver-tests and perf-tests testsuites. Currently we are only
running fast-tests and a few individual testcases from driver-tests.
-embed the test report (with styling) in the lab dashboard page,
so people don't have to download and open the page locally.

We are building gcov/lcov targets according to the documentation here:
https://mesonbuild.com/Unit-tests.html

Questions or suggestions on how to improve the coverage reports are welcome.

Thanks,
-DPDK Community Lab team


Re: [PATCH v5 00/45] use stdatomic API

2024-05-06 Thread Patrick Robb
Recheck-request: iol-broadcom-Performance

On Mon, May 6, 2024 at 1:58 PM Tyler Retzlaff
 wrote:
>
> This series converts all non-generic built atomics to use the rte_atomic
> macros that allow optional enablement of standard C11 atomics.
>
> Use of generic atomics for non-scalar types are not converted in this
> change and will be evaluated as a part of a separate series.
> Specifically conversion of lib/lpm and drivers/x/cnxk will be addressed
> in a separate series to address use of generics.
>
> v5:
>   * add missing RTE_ATOMIC for ``struct channel_info.status`` field.
>
> v4:
>   * rebase after merge of move alignment attribute on types for MSVC,
> no other changes.
>
> v3:
>   * event/dsw, wrap all lines <= 80 chars, align arguments to
> opening parenthesis.
>   * event/dlb2, wrap changed lines <= 80 chars, remove comments
> referencing gcc __atomic built-ins.
>   * bus/vmbus, remove comment referencing gcc atomic built-ins,
> fix mistake where monitor_mask was declared RTE_ATOMIC(uint32_t),
> fix mistake where pending was not declared RTE_ATOMIC(uint32_t),
> remove now unnecessary cast to __rte_atomic of pending (since
> the field is now properly declare RTE_ATOMIC).
>
> v2:
>   * drop the net/sfc driver from the series. the sfc driver
> uses generic __atomic_store not handled by the current macros.
> the cases where generic __atomic_xxx are used on objects that
> can't be accepted by __atomic_xxx_n will be addressed in a
> separate series.
>
> Tyler Retzlaff (45):
>   net/mlx5: use rte stdatomic API
>   net/ixgbe: use rte stdatomic API
>   net/iavf: use rte stdatomic API
>   net/ice: use rte stdatomic API
>   net/i40e: use rte stdatomic API
>   net/hns3: use rte stdatomic API
>   net/bnxt: use rte stdatomic API
>   net/cpfl: use rte stdatomic API
>   net/af_xdp: use rte stdatomic API
>   net/octeon_ep: use rte stdatomic API
>   net/octeontx: use rte stdatomic API
>   net/cxgbe: use rte stdatomic API
>   net/gve: use rte stdatomic API
>   net/memif: use rte stdatomic API
>   net/thunderx: use rte stdatomic API
>   net/virtio: use rte stdatomic API
>   net/hinic: use rte stdatomic API
>   net/idpf: use rte stdatomic API
>   net/qede: use rte stdatomic API
>   net/ring: use rte stdatomic API
>   vdpa/mlx5: use rte stdatomic API
>   raw/ifpga: use rte stdatomic API
>   event/opdl: use rte stdatomic API
>   event/octeontx: use rte stdatomic API
>   event/dsw: use rte stdatomic API
>   dma/skeleton: use rte stdatomic API
>   crypto/octeontx: use rte stdatomic API
>   common/mlx5: use rte stdatomic API
>   common/idpf: use rte stdatomic API
>   common/iavf: use rte stdatomic API
>   baseband/acc: use rte stdatomic API
>   net/txgbe: use rte stdatomic API
>   net/null: use rte stdatomic API
>   event/dlb2: use rte stdatomic API
>   dma/idxd: use rte stdatomic API
>   crypto/ccp: use rte stdatomic API
>   common/cpt: use rte stdatomic API
>   bus/vmbus: use rte stdatomic API
>   examples: use rte stdatomic API
>   app/dumpcap: use rte stdatomic API
>   app/test: use rte stdatomic API
>   app/test-eventdev: use rte stdatomic API
>   app/test-crypto-perf: use rte stdatomic API
>   app/test-compress-perf: use rte stdatomic API
>   app/test-bbdev: use rte stdatomic API
>
>  app/dumpcap/main.c |  12 +-
>  app/test-bbdev/test_bbdev_perf.c   | 183 
> +
>  app/test-compress-perf/comp_perf_test_common.h |   2 +-
>  app/test-compress-perf/comp_perf_test_cyclecount.c |   4 +-
>  app/test-compress-perf/comp_perf_test_throughput.c |  10 +-
>  app/test-compress-perf/comp_perf_test_verify.c |   6 +-
>  app/test-crypto-perf/cperf_test_latency.c  |   6 +-
>  app/test-crypto-perf/cperf_test_pmd_cyclecount.c   |  10 +-
>  app/test-crypto-perf/cperf_test_throughput.c   |  10 +-
>  app/test-crypto-perf/cperf_test_verify.c   |  10 +-
>  app/test-eventdev/test_order_atq.c |   4 +-
>  app/test-eventdev/test_order_common.c  |   5 +-
>  app/test-eventdev/test_order_common.h  |   8 +-
>  app/test-eventdev/test_order_queue.c   |   4 +-
>  app/test-eventdev/test_perf_common.h   |   6 +-
>  app/test/test_bpf.c|  46 --
>  app/test/test_distributor.c| 114 ++---
>  app/test/test_distributor_perf.c   |   4 +-
>  app/test/test_func_reentrancy.c|  28 ++--
>  app/test/test_hash_multiwriter.c   |  16 +-
>  app/test/test_hash_readwrite.c |  74 -
>  app/test/test_hash_readwrite_lf_perf.c |  88 +-
>  app/test/test_lcores.c |  25 +--
>  app/test/test_lpm_perf.c   |  14 +-
>  app/test/test_mcslock.c|  12 +-
>  app/test/test_mempool_perf.c   |   9 +-
>  app/test/test_pflock.c

Updated DTS 24.07 Roadmap

2024-05-14 Thread Patrick Robb
When we sent this out originally we missed some patches Luca Vizzarro
has been working on for this release, so here is an updated version.

Thanks Luca.

1) Write ethdev testsuites:
Jumboframes: 
https://git.dpdk.org/tools/dts/tree/test_plans/jumboframes_test_plan.rst
Mac Filter: 
https://git.dpdk.org/tools/dts/tree/test_plans/mac_filter_test_plan.rst
Dynamic Queue: 
https://git.dpdk.org/tools/dts/tree/test_plans/dynamic_queue_test_plan.rst

2)
Replace XMLRPC server with Scapy interactive shell:
https://bugs.dpdk.org/show_bug.cgi?id=1374

3)
Configuration schema updates:
DTS Hugepages refactor:
https://patchwork.dpdk.org/project/dpdk/patch/20240409172811.27866-1-npra...@iol.unh.edu/
Cut down total configuration options in schema (not all we originally
added are needed): https://bugs.dpdk.org/show_bug.cgi?id=1360
Split testbed and test configuration to different files:
https://bugs.dpdk.org/show_bug.cgi?id=1344

4)API Docs generation:
https://patchwork.dpdk.org/project/dpdk/list/?series=30877

5)Skip test cases based on testbed capabilities:
https://patches.dpdk.org/project/dpdk/patch/20240301155416.96960-1-juraj.lin...@pantheon.tech/
Bugzilla: https://bugs.dpdk.org/show_bug.cgi?id=1351

6)Rename the execution section/stage:
Bugzilla: https://bugs.dpdk.org/show_bug.cgi?id=1355

7)Add support for externally compiled DPDK:
Bugzilla: https://bugs.dpdk.org/show_bug.cgi?id=136

[ADDED]
8)
Add common data structure to handle command line params for EAL and
testpmd: https://patches.dpdk.org/project/dpdk/list/?series=31897

[ADDED]
9)
Update mypy and backport new self type:
https://patches.dpdk.org/project/dpdk/list/?series=31920

[ADDED]
10)
testpmd: show port info and show port stats support and parsing
utility: https://patches.dpdk.org/project/dpdk/list/?series=31898

[ADDED]
11)
Error message and usage improvements for debugging:
https://patches.dpdk.org/project/dpdk/list/?series=31924


  1   2   3   4   5   6   >