patch 'net/mlx5: fix flex item availability' has been queued to stable release 21.11.1

Kevin Traynor ktraynor at redhat.com
Fri Mar 25 18:27:50 CET 2022


On 23/03/2022 16:03, Kevin Traynor wrote:
> On 21/03/2022 17:02, Kevin Traynor wrote:
>> Hi,
>>
>> On 10/03/2022 12:11, Kevin Traynor wrote:
>>> Hi,
>>>
>>> FYI, your patch has been queued to stable release 21.11.1
>>>
>>
>> This patch seems to be causing a build failure [0] in the CI [1] with
>> meson on Windows. Probably there is some piece of a dependent patch that
>> is needed.
>>
>> Can you take a look? thanks.
>>
> 
> Hi. Any progress on this? David mentioned it could be missing
> 
> +#include <rte_bus_pci.h>
> 
> from:
> 
> commit c4c3e8afefa8b7e7bc19073f9a159d50c75c8770
> Author: Michael Baum <michaelba at nvidia.com>
> Date:   Mon Feb 14 11:35:01 2022 +0200
> 
>       common/mlx5: share VF check function
> 
> That patch can backport cleanly, but I don't have a windows env to test
> the clang build before it hits the CI. Please advise on path forward.
> 

Ping. I would like to resolve this on Monday if possible. Either by 
reverting this patch, or applying a fix. Thanks in advance.

> thanks,
> Kevin.
> 
>> [0]
>> [531/617] Compiling C object
>> drivers/a715181@@tmp_rte_net_mlx5 at sta/net_mlx5_mlx5_flow.c.obj.
>> FAILED: drivers/a715181@@tmp_rte_net_mlx5 at sta/net_mlx5_mlx5_flow.c.obj
>> clang @drivers/a715181@@tmp_rte_net_mlx5 at sta/net_mlx5_mlx5_flow.c.obj.rsp
>> ../drivers/net/mlx5/mlx5_flow.c:9867:23: error: incomplete definition of
>> type 'struct rte_pci_device'
>>            switch (priv->pci_dev->id.device_id) {
>>                    ~~~~~~~~~~~~~^
>> ..\drivers\net/mlx5/mlx5.h:154:9: note: forward declaration of 'struct
>> rte_pci_device'
>>            struct rte_pci_device *pci_dev; /**< Backend PCI device. */
>>                   ^
>> 1 error generated.
>>
>> [1] https://lab.dpdk.org/results/dashboard/tarballs/19198/#env-27
>>
>>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>>> It will be pushed if I get no objections before 03/14/22. So please
>>> shout if anyone has objections.
>>>
>>> Also note that after the patch there's a diff of the upstream commit vs the
>>> patch applied to the branch. This will indicate if there was any rebasing
>>> needed to apply to the stable branch. If there were code changes for rebasing
>>> (ie: not only metadata diffs), please double check that the rebase was
>>> correctly done.
>>>
>>> Queued patches are on a temporary branch at:
>>> https://github.com/kevintraynor/dpdk-stable
>>>
>>> This queued commit can be viewed at:
>>> https://github.com/kevintraynor/dpdk-stable/commit/48fe9efaf2fb974e3f805eb7c54440ec3818a4b6
>>>
>>> Thanks.
>>>
>>> Kevin
>>>
>>> ---
>>>    From 48fe9efaf2fb974e3f805eb7c54440ec3818a4b6 Mon Sep 17 00:00:00 2001
>>> From: Gregory Etelson <getelson at nvidia.com>
>>> Date: Wed, 2 Mar 2022 13:06:42 +0200
>>> Subject: [PATCH] net/mlx5: fix flex item availability
>>>
>>> [ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ]
>>>
>>> Flex item availability is restricted to BlueField-2 and BlueField-3
>>> PF ports.
>>>
>>> The patch validates port type compliance before proceeding to
>>> flex item creation.
>>>
>>> Fixes: db25cadc0887 ("net/mlx5: add flex item operations")
>>>
>>> Signed-off-by: Gregory Etelson <getelson at nvidia.com>
>>> Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
>>> ---
>>>     drivers/common/mlx5/linux/mlx5_common_os.h |  1 +
>>>     drivers/net/mlx5/mlx5_flow.c               | 17 +++++++++++++++++
>>>     2 files changed, 18 insertions(+)
>>>
>>> diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h
>>> index 83066e752d..2e4ac09bbf 100644
>>> --- a/drivers/common/mlx5/linux/mlx5_common_os.h
>>> +++ b/drivers/common/mlx5/linux/mlx5_common_os.h
>>> @@ -10,4 +10,5 @@
>>>     
>>>     #include <rte_pci.h>
>>> +#include <rte_bus_pci.h>
>>>     #include <rte_debug.h>
>>>     #include <rte_atomic.h>
>>> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
>>> index 5b36cfa042..41a648ff3f 100644
>>> --- a/drivers/net/mlx5/mlx5_flow.c
>>> +++ b/drivers/net/mlx5/mlx5_flow.c
>>> @@ -9854,8 +9854,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,
>>>     {
>>>     	static const char err_msg[] = "flex item creation unsupported";
>>> +	struct mlx5_priv *priv = dev->data->dev_private;
>>>     	struct rte_flow_attr attr = { .transfer = 0 };
>>>     	const struct mlx5_flow_driver_ops *fops =
>>>     			flow_get_drv_ops(flow_get_drv_type(dev, &attr));
>>>     
>>> +	if (!priv->pci_dev) {
>>> +		rte_flow_error_set(error, ENOTSUP,
>>> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
>>> +				   "create flex item on PF only");
>>> +		return NULL;
>>> +	}
>>> +	switch (priv->pci_dev->id.device_id) {
>>> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF:
>>> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF:
>>> +		break;
>>> +	default:
>>> +		rte_flow_error_set(error, ENOTSUP,
>>> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
>>> +				   "flex item available on BlueField ports only");
>>> +		return NULL;
>>> +	}
>>>     	if (!fops->item_create) {
>>>     		DRV_LOG(ERR, "port %u %s.", dev->data->port_id, err_msg);
>>
> 



More information about the stable mailing list