RE: 21.11.2 patches review and test

2022-07-28 Thread Jiang, YuX
> -Original Message- > From: Luca Boccassi > Sent: Thursday, July 28, 2022 8:34 PM > To: sta...@dpdk.org > Cc: dev@dpdk.org; Abhishek Marathe ; > Ali Alnubani ; Walker, Benjamin > ; David Christensen > ; Hemant Agrawal ; > Stokes, Ian ; Jerin Jacob ; > Mcnamara, John ; Ju-Hyoung Lee > ; Ke

RE: [RFC v3 16/26] bus/pci: make driver-only headers private

2022-07-28 Thread Xu, Rosen
Hi, > -Original Message- > From: David Marchand > Sent: Thursday, July 28, 2022 23:27 > To: dev@dpdk.org > Cc: Chautru, Nicolas ; Ray Kinsella > ; Nithin Dabilpuram ; Kiran > Kumar K ; Sunil Kumar Kori > ; Satha Rao ; Matan Azrad > ; Viacheslav Ovsiienko ; > Zhang, Roy Fan ; Andrew Rybche

RE: [RFC v3 17/26] bus/vdev: make driver-only headers private

2022-07-28 Thread Xu, Rosen
Hi, > -Original Message- > From: David Marchand > Sent: Thursday, July 28, 2022 23:27 > To: dev@dpdk.org > Cc: Gagandeep Singh ; Hemant Agrawal > ; Chautru, Nicolas ; > Ray Kinsella ; Daly, Lee ; Zhang, Roy > Fan ; Ashish Gupta ; > Sunila Sahu ; Ruifeng Wang ; > Ajit Khaparde ; Raveendra

RE: [RFC v3 15/26] bus/ifpga: make driver-only headers private

2022-07-28 Thread Xu, Rosen
Hi, > -Original Message- > From: David Marchand > Sent: Thursday, July 28, 2022 23:26 > To: dev@dpdk.org > Cc: Xu, Rosen ; Ray Kinsella ; Zhang, > Tianfei > Subject: [RFC v3 15/26] bus/ifpga: make driver-only headers private > > The ifpga bus interface is for drivers only. > Mark as int

RE: [RFC v3 14/26] bus/ifpga: cleanup exported symbols

2022-07-28 Thread Xu, Rosen
Hi, > -Original Message- > From: David Marchand > Sent: Thursday, July 28, 2022 23:26 > To: dev@dpdk.org > Cc: Xu, Rosen ; Ray Kinsella ; Zhang, > Tianfei > Subject: [RFC v3 14/26] bus/ifpga: cleanup exported symbols > > Remove unused symbols (exposed only in an internal header which >

RE: [RFC v3 03/26] raw/ifpga: remove PCI bus accessor

2022-07-28 Thread Xu, Rosen
Hi, > -Original Message- > From: David Marchand > Sent: Thursday, July 28, 2022 23:26 > To: dev@dpdk.org > Cc: Ray Kinsella ; Xu, Rosen ; Zhang, > Tianfei > Subject: [RFC v3 03/26] raw/ifpga: remove PCI bus accessor > > There is no in-tree user for this accessor that returns the PCI bus

Re: [RFC v3 25/26] dev: provide Bus specific information

2022-07-28 Thread David Marchand
On Thu, Jul 28, 2022 at 7:03 PM Bruce Richardson wrote: > > On Thu, Jul 28, 2022 at 05:26:39PM +0200, David Marchand wrote: > > For diagnostic, it may be useful to provide a description of the device > > with Bus specific information like, for PCI, the vendor and device ID. > > > > Signed-off-by:

Re: [RFC v3 08/26] dev: move unrelated macros from header

2022-07-28 Thread David Marchand
On Thu, Jul 28, 2022 at 6:38 PM Bruce Richardson wrote: > > On Thu, Jul 28, 2022 at 05:26:22PM +0200, David Marchand wrote: > > RTE_FUNC_PTR_OR_* macros have nothing to do with the rte_device object > > and associated API. > > Move them to rte_common.h and include it where needed. > > > > Signed-o

Re: [RFC v3 06/26] examples/ethtool: prefer device name

2022-07-28 Thread David Marchand
On Thu, Jul 28, 2022 at 6:32 PM Bruce Richardson wrote: > > On Thu, Jul 28, 2022 at 05:26:20PM +0200, David Marchand wrote: > > Rely on the generic device name rather than restrict to only supporting > > PCI devices. > > > > Signed-off-by: David Marchand > > --- > > examples/ethtool/lib/rte_etht

Re: [RFC v3 21/26] bus: hide bus object

2022-07-28 Thread David Marchand
On Thu, Jul 28, 2022 at 6:57 PM Bruce Richardson wrote: > > On Thu, Jul 28, 2022 at 05:26:35PM +0200, David Marchand wrote: > > Make rte_bus opaque for non internal users. > > This will make extending this object possible without breaking the ABI. > > > > Introduce a new driver header and move rte

Re: [PATCH v2] eal: change alloc_sz calculation which may cause unnecessarily allocation

2022-07-28 Thread Dmitry Kozlyuk
2022-07-28 14:41 (UTC+0500), Fidaullah Noonari: > The amount of memory to allocate from the system for heap expansion > was calculated in a way that may yield one page more than needed. > This could hit the allocation limit from the system or EAL. > The allocation would fail despite enough memory b

Re: [RFC v3 26/26] dev: hide device object

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:40PM +0200, David Marchand wrote: > Make rte_device opaque for non internal users. > This will make extending this object possible without breaking the ABI. > > Some applications may have been dereferencing rte_device objects, mark > this object's accessors as stable.

Re: [RFC v3 25/26] dev: provide Bus specific information

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:39PM +0200, David Marchand wrote: > For diagnostic, it may be useful to provide a description of the device > with Bus specific information like, for PCI, the vendor and device ID. > > Signed-off-by: David Marchand > --- Good idea. Acked-by: Bruce Richardson

Re: [RFC v3 24/26] dev: introduce device accessors

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:38PM +0200, David Marchand wrote: > Prepare for making the device object opaque by adding accessors. > Update existing "external" users. > > Signed-off-by: David Marchand > --- > Changes since RFC v2: > - added rte_dev_devargs, > - updated testpmd, > Acked-by: Bruce

Re: [RFC v3 23/26] dev: hide driver object

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:37PM +0200, David Marchand wrote: > Make rte_driver opaque for non internal users. > This will make extending this object possible without breaking the ABI. > > Introduce a new driver header and move rte_driver definition. > Update drivers and library to use the inter

Re: [RFC v3 22/26] dev: introduce driver accessors

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:36PM +0200, David Marchand wrote: > Prepare for making the driver object opaque by adding accessors. > Update existing "external" users. > Internal users may still dereference a rte_driver object. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

Re: [RFC v3 21/26] bus: hide bus object

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:35PM +0200, David Marchand wrote: > Make rte_bus opaque for non internal users. > This will make extending this object possible without breaking the ABI. > > Introduce a new driver header and move rte_bus definition and helpers. > Update drivers and library to use the

Re: [RFC v3 16/26] bus/pci: make driver-only headers private

2022-07-28 Thread Ajit Khaparde
On Thu, Jul 28, 2022 at 9:47 AM Bruce Richardson wrote: > > On Thu, Jul 28, 2022 at 05:26:30PM +0200, David Marchand wrote: > > The pci bus interface is for drivers only. > > Mark as internal and move the header in the driver headers list. > > > > While at it, cleanup the code: > > - fix indentati

Re: [RFC v3 20/26] bus: introduce accessors

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:34PM +0200, David Marchand wrote: > Add helpers to get a rte_bus object details. > This will be used externally. > Internal users may still dereference a rte_bus object. > > Signed-off-by: David Marchand > --- > Changes since RFC v1: > - changed approach: only extern

Re: [RFC v3 19/26] bus: move IOVA definition from header

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:33PM +0200, David Marchand wrote: > iova enum definition does not need to be defined as part of the bus API. > Move it to rte_eal.h. > With this step, rte_eal.h does not depend on rte_bus.h and rte_dev.h. > Fix existing code that was relying on these implicit inclusion

Re: [RFC v3 16/26] bus/pci: make driver-only headers private

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:30PM +0200, David Marchand wrote: > The pci bus interface is for drivers only. > Mark as internal and move the header in the driver headers list. > > While at it, cleanup the code: > - fix indentation, > - remove unneeded reference to bus specific singleton object, >

Re: [RFC v3 10/26] build: export drivers headers

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:24PM +0200, David Marchand wrote: > Same as for device classes, external DPDK users may need to include some > bus headers for their out of tree drivers. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

Re: [RFC v3 09/26] devargs: remove dependency on bus header

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:23PM +0200, David Marchand wrote: > We don't need to include rte_bus.h in rte_devargs.h. > Only a forward declaration of rte_bus and an inclusion of rte_dev.h are > needed. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

Re: [RFC v3 08/26] dev: move unrelated macros from header

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:22PM +0200, David Marchand wrote: > RTE_FUNC_PTR_OR_* macros have nothing to do with the rte_device object > and associated API. > Move them to rte_common.h and include it where needed. > > Signed-off-by: David Marchand > --- Personally, I really don't like these ma

Re: [RFC v3 07/26] dev: hide debug messages in device iterator

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:21PM +0200, David Marchand wrote: > For any bus that does not support device iteration, rte_dev_iterator_init > both returned an error code and logged an error message. > An application (like testpmd) that only wants to list devices, would have > no choice but to inspe

Re: [RFC] EAL: legacy memory fixed address translations

2022-07-28 Thread Dmitry Kozlyuk
2022-07-28 11:41 (UTC-0400), Don Wallwork: > On 7/28/2022 10:46 AM, Don Wallwork wrote: > Let me try to give a trivial example of how it would work > to make sure we're on the same page and then we can get > back to details.. > >>> Thanks you, Don. > >>> Now it's perfectly clear wh

Re: [RFC v3 06/26] examples/ethtool: prefer device name

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:20PM +0200, David Marchand wrote: > Rely on the generic device name rather than restrict to only supporting > PCI devices. > > Signed-off-by: David Marchand > --- > examples/ethtool/lib/rte_ethtool.c | 17 ++--- > 1 file changed, 2 insertions(+), 15 dele

Re: [RFC v3 05/26] kni: stop populating PCI info in examples

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:19PM +0200, David Marchand wrote: > addr and id fields are deprecated and are not used in the kni library. > Stop populating them in the in-tree examples. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

Re: [RFC v3 04/26] app/testpmd: drop PCI register commands

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:18PM +0200, David Marchand wrote: > Those commands date back to the early stages of DPDK when only PCI > devices were supported. > At the time, developers may have used those commands to help in > debugging their buggy^Wwork in progress drivers. > > Removing them, we

Re: [RFC v3 01/26] devtools: forbid inclusions of driver only headers

2022-07-28 Thread Bruce Richardson
On Thu, Jul 28, 2022 at 05:26:15PM +0200, David Marchand wrote: > Let's be good citizens and enforce not using driver only headers in our > own examples. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

Re: [RFC] EAL: legacy memory fixed address translations

2022-07-28 Thread Don Wallwork
On 7/28/2022 10:46 AM, Don Wallwork wrote: Let me try to give a trivial example of how it would work to make sure we're on the same page and then we can get back to details.. Thanks you, Don. Now it's perfectly clear what EAL should do and we can discuss API. I think this RFC is an excellent pr

[RFC v3 26/26] dev: hide device object

2022-07-28 Thread David Marchand
Make rte_device opaque for non internal users. This will make extending this object possible without breaking the ABI. Some applications may have been dereferencing rte_device objects, mark this object's accessors as stable. Signed-off-by: David Marchand --- Changes since RFC v2: - updated relea

[RFC v3 25/26] dev: provide Bus specific information

2022-07-28 Thread David Marchand
For diagnostic, it may be useful to provide a description of the device with Bus specific information like, for PCI, the vendor and device ID. Signed-off-by: David Marchand --- app/test-pmd/config.c| 2 ++ drivers/bus/pci/bsd/pci.c| 8 drivers/bus/pci/bus_pci_drive

[RFC v3 24/26] dev: introduce device accessors

2022-07-28 Thread David Marchand
Prepare for making the device object opaque by adding accessors. Update existing "external" users. Signed-off-by: David Marchand --- Changes since RFC v2: - added rte_dev_devargs, - updated testpmd, --- app/proc-info/main.c | 6 +-- app/test-pmd/config.c | 18 +++

[RFC v3 23/26] dev: hide driver object

2022-07-28 Thread David Marchand
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI. Introduce a new driver header and move rte_driver definition. Update drivers and library to use the internal header. Some applications may have been dereferencing rte_driver obje

[RFC v3 22/26] dev: introduce driver accessors

2022-07-28 Thread David Marchand
Prepare for making the driver object opaque by adding accessors. Update existing "external" users. Internal users may still dereference a rte_driver object. Signed-off-by: David Marchand --- app/test-pmd/config.c | 2 +- lib/eal/common/eal_common_dev.c | 6 ++ lib/eal/include/rte

[RFC v3 21/26] bus: hide bus object

2022-07-28 Thread David Marchand
Make rte_bus opaque for non internal users. This will make extending this object possible without breaking the ABI. Introduce a new driver header and move rte_bus definition and helpers. Update drivers and library to use the internal header. Some applications may have been dereferencing rte_bus o

[RFC v3 20/26] bus: introduce accessors

2022-07-28 Thread David Marchand
Add helpers to get a rte_bus object details. This will be used externally. Internal users may still dereference a rte_bus object. Signed-off-by: David Marchand --- Changes since RFC v1: - changed approach: only external users are updated, --- app/test-pmd/config.c| 4 +-

[RFC v3 19/26] bus: move IOVA definition from header

2022-07-28 Thread David Marchand
iova enum definition does not need to be defined as part of the bus API. Move it to rte_eal.h. With this step, rte_eal.h does not depend on rte_bus.h and rte_dev.h. Fix existing code that was relying on these implicit inclusions. Signed-off-by: David Marchand --- app/test-compress-perf/comp_perf

[RFC v3 18/26] bus/vmbus: make driver-only headers private

2022-07-28 Thread David Marchand
The vmbus bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and ma

[RFC v3 17/26] bus/vdev: make driver-only headers private

2022-07-28 Thread David Marchand
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and mac

[RFC v3 16/26] bus/pci: make driver-only headers private

2022-07-28 Thread David Marchand
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macr

[RFC v3 15/26] bus/ifpga: make driver-only headers private

2022-07-28 Thread David Marchand
The ifpga bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup the code: - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fi

[RFC v3 14/26] bus/ifpga: cleanup exported symbols

2022-07-28 Thread David Marchand
Remove unused symbols (exposed only in an internal header which guarantees that no application out there relied on them). Remove rte_ prefix and inline the rest to avoid having to expose them as global symbols for a relatively small added value. Signed-off-by: David Marchand --- drivers/bus/ifp

[RFC v3 13/26] bus/fslmc: make driver-only headers private

2022-07-28 Thread David Marchand
The fslmc bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup internal structures: - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro mani

[RFC v3 12/26] bus/dpaa: make driver-only headers private

2022-07-28 Thread David Marchand
The dpaa bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup internal structures: - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manip

[RFC v3 11/26] bus/auxiliary: make driver-only headers private

2022-07-28 Thread David Marchand
The auxiliary bus interface is for drivers only. Mark as internal and move the header in the driver headers list. While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions an

[RFC v3 10/26] build: export drivers headers

2022-07-28 Thread David Marchand
Same as for device classes, external DPDK users may need to include some bus headers for their out of tree drivers. Signed-off-by: David Marchand --- drivers/meson.build | 4 1 file changed, 4 insertions(+) diff --git a/drivers/meson.build b/drivers/meson.build index b22c2adda7..7449643fa9

[RFC v3 08/26] dev: move unrelated macros from header

2022-07-28 Thread David Marchand
RTE_FUNC_PTR_OR_* macros have nothing to do with the rte_device object and associated API. Move them to rte_common.h and include it where needed. Signed-off-by: David Marchand --- drivers/common/qat/qat_device.c| 1 + drivers/compress/qat/qat_comp_pmd.c| 1 +

[RFC v3 09/26] devargs: remove dependency on bus header

2022-07-28 Thread David Marchand
We don't need to include rte_bus.h in rte_devargs.h. Only a forward declaration of rte_bus and an inclusion of rte_dev.h are needed. Signed-off-by: David Marchand --- app/test/test_vdev.c | 1 + lib/eal/include/rte_devargs.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) dif

[RFC v3 07/26] dev: hide debug messages in device iterator

2022-07-28 Thread David Marchand
For any bus that does not support device iteration, rte_dev_iterator_init both returned an error code and logged an error message. An application (like testpmd) that only wants to list devices, would have no choice but to inspect a bus object to avoid spewing error logs. Make those log messages de

[RFC v3 06/26] examples/ethtool: prefer device name

2022-07-28 Thread David Marchand
Rely on the generic device name rather than restrict to only supporting PCI devices. Signed-off-by: David Marchand --- examples/ethtool/lib/rte_ethtool.c | 17 ++--- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/examples/ethtool/lib/rte_ethtool.c b/examples/ethtool/

[RFC v3 04/26] app/testpmd: drop PCI register commands

2022-07-28 Thread David Marchand
Those commands date back to the early stages of DPDK when only PCI devices were supported. At the time, developers may have used those commands to help in debugging their buggy^Wwork in progress drivers. Removing them, we can drop the dependency on the PCI bus and library and make testpmd bus agno

[RFC v3 05/26] kni: stop populating PCI info in examples

2022-07-28 Thread David Marchand
addr and id fields are deprecated and are not used in the kni library. Stop populating them in the in-tree examples. Signed-off-by: David Marchand --- app/test/test_kni.c| 30 -- examples/ip_pipeline/kni.c | 10 -- 2 files changed, 40 deletions(-) dif

[RFC v3 03/26] raw/ifpga: remove PCI bus accessor

2022-07-28 Thread David Marchand
There is no in-tree user for this accessor that returns the PCI bus object. On the other hand, a bus object can be retrieved by name using rte_bus_find_by_name. We can remove this driver specific API. Signed-off-by: David Marchand --- Changes since RFC v2: - updated release notes, --- doc/guide

[RFC v3 02/26] common/mlx5: rework check on driver registration

2022-07-28 Thread David Marchand
Rely on a local flag rather than dereference a bus object. This will help next commits. Signed-off-by: David Marchand --- drivers/common/mlx5/linux/mlx5_common_auxiliary.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/common/mlx5/linux/mlx5_common_auxilia

[RFC v3 01/26] devtools: forbid inclusions of driver only headers

2022-07-28 Thread David Marchand
Let's be good citizens and enforce not using driver only headers in our own examples. Signed-off-by: David Marchand --- devtools/checkpatches.sh | 8 1 file changed, 8 insertions(+) diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh index 1edc5810ad..0e82c01947 100755 ---

[RFC v3 00/26] Bus and device cleanup for 22.11

2022-07-28 Thread David Marchand
This is a PoC for hiding the rte_bus, rte_driver and rte_device objects. And mark associated driver only API as internal. A good amount of the patches are preparation work on rte_bus.h, rte_dev.h, rte_devargs.h and rte_eal.h headers, removing dependencies between them. PCI bus specific handling a

RE: [PATCH V5 01/17] pipeline: add pipeline name

2022-07-28 Thread Dumitrescu, Cristian
> -Original Message- > From: Richardson, Bruce > Sent: Thursday, July 28, 2022 9:22 AM > To: Dumitrescu, Cristian > Cc: dev@dpdk.org; R, Kamalakannan > Subject: Re: [PATCH V5 01/17] pipeline: add pipeline name > > On Wed, Jul 27, 2022 at 11:01:16PM +, Cristian Dumitrescu wrote: >

[PATCH V6 17/17] examples/pipeline: call the code generation and build CLI commands

2022-07-28 Thread Cristian Dumitrescu
Update the example CLI scripts with the commands for code generation and shared object library build. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/examples/ethdev.io | 27 + examples/pipeline/examples/fib.cli| 44 +++---

[PATCH V6 16/17] examples/pipelines: remove obsolete tap CLI command

2022-07-28 Thread Cristian Dumitrescu
Remove the tap CLI command, as the file descriptor I/O ports of the pipeline are now configured trough the I/O specification file. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 37 - examples/pipeline/obj.c | 89 -

[PATCH V6 15/17] examples/pipeline: rework the link CLI command

2022-07-28 Thread Cristian Dumitrescu
Rework the link CLI command for better alignment with the naming conventions used in the pipeline I/O specification file. Use the library linked list of devices and remove the application list. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 81 ++

[PATCH V6 14/17] examples/pipeline: use the pipeline name query API

2022-07-28 Thread Cristian Dumitrescu
Convert the CLI commands to use the pipeline name query API and remove the linked list of pipeline objects previously maintained by the application. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c| 268 - exam

[PATCH V6 13/17] examples/pipeline: remove the obsolete mirroring configuration CLI command

2022-07-28 Thread Cristian Dumitrescu
The pipeline mirroring configuration is done through the I/O specification file, so this CLI command is no longer needed. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 76 - 1 file changed, 76 deletions(-)

[PATCH V6 12/17] examples/pipeline: remove the obsolete port configuration CLI commands

2022-07-28 Thread Cristian Dumitrescu
The pipeline I/O ports configuration is now done through the I/O specification file, hence these CLI commands are no longer needed. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 465 1 file changed, 465 d

[PATCH V6 11/17] examples/pipeline: remove the obsolete pipeline create CLI command

2022-07-28 Thread Cristian Dumitrescu
The pipeline configuration is now done through the I/O specification file, hence this CLI command is no longer needed. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 47 - 1 file changed, 47 deletions(-) d

[PATCH V6 10/17] examples/pipeline: add CLI command for shared library build

2022-07-28 Thread Cristian Dumitrescu
Add CLI command for the shared object library build operation. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 157 +++- 1 file changed, 153 insertions(+), 4 deletions(-) diff --git a/examples/pipeline/cli.c b/

[PATCH V6 09/17] examples/pipeline: add CLI command for pipeline code generation

2022-07-28 Thread Cristian Dumitrescu
Add CLI command for the pipeline code generation operation. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/cli.c | 61 + 1 file changed, 61 insertions(+) diff --git a/examples/pipeline/cli.c b/examples/pipeline/cl

[PATCH V6 08/17] pipeline: add API for shared library-based pipeline build

2022-07-28 Thread Cristian Dumitrescu
Previously, the pipeline build operation was done based on the specification file (typically produced by the P4 compiler), then the C code with optimized functions for the pipeline actions and instructions was generated, built into a shared object library, loaded and installed into the pipeline in

[PATCH V6 07/17] pipeline: add API for pipeline code generation

2022-07-28 Thread Cristian Dumitrescu
Previously, the C code generation for the pipeline was hidden under the hood; now, we make this an explicit API operation. Besides the functions for the pipeline actions and the pipeline instructions, the generated C source code now includes the pipeline specification structure required for the pip

[PATCH V6 06/17] pipeline: add support for pipeline I/O specification

2022-07-28 Thread Cristian Dumitrescu
Add specification data structure and API for the pipeline I/O ports and related pipeline configuration such as packet mirroring. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- lib/pipeline/rte_swx_pipeline_spec.c | 852 +++ lib/pipeline/rte_swx_pip

[PATCH V6 05/17] pipeline: generate the code for pipeline specification structure

2022-07-28 Thread Cristian Dumitrescu
Add support to export the pipeline specification data structure to a C source code file. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- lib/pipeline/rte_swx_pipeline_spec.c | 622 +++ lib/pipeline/rte_swx_pipeline_spec.h | 5 + 2 files changed, 6

[PATCH V6 04/17] pipeline: rework the specification file-based pipeline build

2022-07-28 Thread Cristian Dumitrescu
Rework the specification file-based pipeline build operation to first parse the specification file into the previously introduced pipeline specification data structure, then use this structure to configure and build the pipeline. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R.

[PATCH V6 03/17] pipeline: add pipeline specification data structure

2022-07-28 Thread Cristian Dumitrescu
Add specification data structure for the entire pipeline. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- lib/pipeline/rte_swx_pipeline_spec.c | 21 ++ lib/pipeline/rte_swx_pipeline_spec.h | 32 2 files changed, 53 insertions(+)

[PATCH V6 02/17] pipeline: move specification data structures to internal header

2022-07-28 Thread Cristian Dumitrescu
Move all the pipeline object specification data structures to an internal header file. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- lib/pipeline/rte_swx_pipeline_spec.c | 126 +-- lib/pipeline/rte_swx_pipeline_spec.h | 176 +++ 2

[PATCH V6 01/17] pipeline: add pipeline name

2022-07-28 Thread Cristian Dumitrescu
Add an unique name to every pipeline. This enables the library to maintain a list of the existing pipeline objects, which can be queried by the application. Signed-off-by: Cristian Dumitrescu Signed-off-by: Kamalakannan R. --- examples/pipeline/obj.c | 2 +- lib/pipeline/rte_

[PATCH V6 00/17] pipeline: pipeline configuration and build improvements

2022-07-28 Thread Cristian Dumitrescu
The sequence of steps to build a SWX pipeline object are: 1. Create the specification file (pipeline.p4 -> pipeline.spec): This text file represents the pipeline program that is typically generated by the P4 compiler or sometimes manually created. 2. Generate the C source code file (pipeline

Re: [RFC] EAL: legacy memory fixed address translations

2022-07-28 Thread Don Wallwork
On 7/28/2022 7:29 AM, Morten Brørup wrote: Let me try to give a trivial example of how it would work to make sure we're on the same page and then we can get back to details.. Thanks you, Don. Now it's perfectly clear what EAL should do and we can discuss API. I think this RFC is an excellent pr

[PATCH] net/mlx5: fix matcher priority for esp item

2022-07-28 Thread Bassam ZaidAlKilani
ESP is one of IPSec protocols over both IPv4 and IPv6 and is considered a tunnel layer that cannot be followed by any other layer. Taking that into consideration, esp is considered as a 4 layer. Not defining ESP's priority will make it match with the same priority as its prior IP layer, which has

Re: [dpdk-dev] [RFC] testpmd: support user-id attribute

2022-07-28 Thread Singh, Aman Deep
Hi Eli, In RTE flow there is support for group_id attribute(u32). Similar to the example you gave- testpmd> flow create 0 group 0x1234 ingress pattern eth / end actions count / drop / end Please check if it fits the requirement. Regards Aman On 7/20/2022 2:14 AM, Thomas Monjalon wrote: +Cc

CI performance test results might be misleading

2022-07-28 Thread Morten Brørup
I know it's too late for this patch [1], but I am afraid it was performance tested using test-pmd with RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE [2], so the test didn't involve the function fixed by this patch: rte_pktmbuf_prefree_seg(). If so, the performance test results were completely irrelevant. Th

Re: [PATCH v3 5/5] vdpa/sfc: Add support for SW assisted live migration

2022-07-28 Thread Andrew Rybchenko
On 7/14/22 16:48, abhimanyu.sa...@xilinx.com wrote: From: Abhimanyu Saini In SW assisted live migration, vDPA driver will stop all virtqueues and setup up SW vrings to relay the communication between the virtio driver and the vDPA device using an event driven relay thread This will allow vDPA

RE: 21.11.2 patches review and test

2022-07-28 Thread Ali Alnubani
> -Original Message- > From: Luca Boccassi > Sent: Thursday, July 28, 2022 3:34 PM > To: sta...@dpdk.org > Cc: dev@dpdk.org; Abhishek Marathe ; > Ali Alnubani ; benjamin.wal...@intel.com; David > Christensen ; Hemant Agrawal > ; Ian Stokes ; Jerin > Jacob ; John McNamara ; > Ju-Hyoung Lee

Re: 21.11.2 patches review and test

2022-07-28 Thread Luca Boccassi
On Mon, 2022-07-18 at 10:58 +0100, luca.bocca...@gmail.com wrote: > Hi all, > > Here is a list of patches targeted for stable release 21.11.2. > > The planned date for the final release is August 29th. > > Please help with testing and validation of your use cases and report > any issues/results

Re: [PATCH 0/3] mempool: apply deprecations

2022-07-28 Thread David Marchand
On Thu, Jul 28, 2022 at 11:36 AM Andrew Rybchenko wrote: > > Remove deprecated macros. > > Andrew Rybchenko (3): > mempool: remove deprecated macro to calculate header size > mempool: remove deprecated macro to register mempool driver > mempool: remove deprecated unused defines > > doc/guid

Re: [PATCH v3 3/5] common/sfc_efx/base: use the updated definitions of cidx/pidx

2022-07-28 Thread Andrew Rybchenko
On 7/14/22 16:48, abhimanyu.sa...@xilinx.com wrote: From: Abhimanyu Saini Please, try to stick to one E-mail address. Change cidx and pidx definition to mean used queue and avail queue index respectively. Signed-off-by: Abhimanyu Saini Acked-by: Andrew Rybchenko

Re: [PATCH v3 2/5] common/sfc_efx/base: update MCDI headers

2022-07-28 Thread Andrew Rybchenko
On 7/14/22 16:48, abhimanyu.sa...@xilinx.com wrote: From: Abhimanyu Saini Regenerate MCDI headers from smartnic_registry:72940ad since smartnic_registry is not publicly available, it does not make sense to refer to its changeset in the patch description. I think you should put update goal her

RE: [RFC] EAL: legacy memory fixed address translations

2022-07-28 Thread Morten Brørup
> From: Dmitry Kozlyuk [mailto:dmitry.kozl...@gmail.com] > Sent: Thursday, 28 July 2022 09.26 > > 2022-07-27 17:43 (UTC-0400), Don Wallwork: > > On 7/27/2022 4:36 PM, Dmitry Kozlyuk wrote: > > > I now understand more about_why_ you want this feature > > > but became less confident_what_ do you'r

Re: [PATCH v3 4/5] vdpa/sfc: enable support for multi-queue

2022-07-28 Thread Andrew Rybchenko
On 7/14/22 16:48, abhimanyu.sa...@xilinx.com wrote: From: Abhimanyu Saini Increase the number to default RX/TX queue pairs to 8, and add MQ feature flag to vDPA protocol features. Signed-off-by: Abhimanyu Saini Acked-by: Andrew Rybchenko

RE: [PATCH] gro: fix gro with ethernet tail padding bytes

2022-07-28 Thread Jun Qiu
I don't think the stack(software) cares if the length of a packet is less than 60, especially when receiving it. In the linux kernel, if the packet length does not match the IP total-length, the packet is flushed to the stack instead of GRO. The previous GRO cache packets are also flushed into t

RE: [RFC v2] non-temporal memcpy

2022-07-28 Thread Morten Brørup
From: Stanisław Kardach [mailto:k...@semihalf.com] Sent: Thursday, 28 July 2022 00.02 > On Wed, 27 Jul 2022, 21:53 Honnappa Nagarahalli, > wrote: > > > > > > > Yes, x86 needs 16B alignment for NT load/stores But that's > > > supposed > > > > > to be arch > > > > > > specific limitation, that we

[PATCH v3 9/9] dts: add dts executable script

2022-07-28 Thread Juraj Linkeš
The script is an interface to run DTS. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- dts/main.py | 24 1 file changed, 24 insertions(+) create mode 100755 dts/main.py diff --git a/dts/main.py b/dts/main.py new file mode 100755 index 00..a70070765

[PATCH v3 8/9] dts: add dts workflow module

2022-07-28 Thread Juraj Linkeš
The module implements methods needed to run DTS. It handles the creation of objects and eventually the whole DTS workflow, such as running node setups, test gathering, setup and execution and various cleanups. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- dts/framework/dts.py

[PATCH v3 7/9] dts: add Node base class

2022-07-28 Thread Juraj Linkeš
The base class implements basic node management methods - connect and execute commands. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- dts/framework/node.py | 99 +++ dts/framework/settings.py | 11 + 2 files changed, 110 insertions(+) c

[PATCH v3 6/9] dts: add config parser module

2022-07-28 Thread Juraj Linkeš
From: Owen Hilyard The configuration is split into two parts, one defining the parameters of the test run and the other defining the topology to be used. The format of the configuration is YAML. It is validated according to a json schema which also servers as detailed documentation of the variou

[PATCH v3 5/9] dts: add ssh connection extension

2022-07-28 Thread Juraj Linkeš
The class adds logging and history records to existing pexpect methods. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- dts/framework/ssh_connection.py | 70 + 1 file changed, 70 insertions(+) create mode 100644 dts/framework/ssh_connection.py diff

[PATCH v3 4/9] dts: add ssh pexpect library

2022-07-28 Thread Juraj Linkeš
The library uses the pexpect python library and implements connection to a node and two ways to interact with the node: 1. Send a string with specified prompt which will be matched after the string has been sent to the node. 2. Send a command to be executed. No prompt is specified here. Signed-

[PATCH v3 3/9] dts: add basic logging facility

2022-07-28 Thread Juraj Linkeš
The logging module provides loggers distinguished by two attributes, a custom format and a verbosity switch. The loggers log to both console and more verbosely to files. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- dts/framework/__init__.py | 3 + dts/framework/logger.py | 12

[PATCH v3 2/9] dts: add developer tools

2022-07-28 Thread Juraj Linkeš
The Dockerfile contains basic image for CI and developers. There's also an integration of the Dockerfile with Visual Studio. The formatter script uses Black and Isort to format the Python code. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- dts/.devcontainer/devcontainer.json | 30

[PATCH v3 1/9] dts: add project tools config

2022-07-28 Thread Juraj Linkeš
.gitignore contains standard Python-related files. Apart from that, add configuration for Python tools used in DTS: Poetry, dependency and package manager Black, formatter Pylama, static analysis Isort, import sorting .editorconfig modifies the line length to 88, which is the default Black uses.

  1   2   >