From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id DAEC028FD for ; Tue, 7 May 2019 15:42:05 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from orika@mellanox.com) with ESMTPS (AES256-SHA encrypted); 7 May 2019 16:42:03 +0300 Received: from pegasus03.mtr.labs.mlnx (pegasus03.mtr.labs.mlnx [10.210.16.124]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x47Dg3ZA024000; Tue, 7 May 2019 16:42:03 +0300 From: Ori Kam To: yskoh@mellanox.com, shahafs@mellanox.com, matan@mellanox.com Cc: dev@dpdk.org, orika@mellanox.com Date: Tue, 7 May 2019 13:41:34 +0000 Message-Id: <1557236494-4808-1-git-send-email-orika@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH] net/mlx5: fix errno in case of unsupported Direct Rules X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 May 2019 13:42:06 -0000 When Direct Rules API is not supported we don't set the errno. this results in failing the function but with errno equals to zero. The result of this is that a function that failed, is considered as a function that worked correctly. This commit fixes this issue by setting the errno to ENOTSUP and returning this error when error value should be returned. Since RDMA-CORE are returning positive errno we are also returning positive error values. Fixes: 4f84a19779ca ("net/mlx5: add Direct Rules API") Signed-off-by: Ori Kam --- drivers/net/mlx5/mlx5_glue.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_glue.c b/drivers/net/mlx5/mlx5_glue.c index 6172e0d..21cd3bb 100644 --- a/drivers/net/mlx5/mlx5_glue.c +++ b/drivers/net/mlx5/mlx5_glue.c @@ -296,6 +296,7 @@ #ifndef HAVE_IBV_DEVICE_COUNTERS_SET_V45 (void)context; (void)init_attr; + errno = ENOTSUP; return NULL; #else return ibv_create_counters(context, init_attr); @@ -377,6 +378,7 @@ return mlx5dv_dr_action_create_dest_table(tbl); #else (void)tbl; + errno = ENOTSUP; return NULL; #endif } @@ -389,6 +391,7 @@ #else (void)domain; (void)vport; + errno = ENOTSUP; return NULL; #endif } @@ -399,6 +402,7 @@ #ifdef HAVE_MLX5DV_DR_ESWITCH return mlx5dv_dr_action_create_drop(); #else + errno = ENOTSUP; return NULL; #endif } @@ -411,6 +415,7 @@ #else (void)domain; (void)level; + errno = ENOTSUP; return NULL; #endif } @@ -422,7 +427,8 @@ return mlx5dv_dr_table_destroy(tbl); #else (void)tbl; - return 0; + errno = ENOTSUP; + return errno; #endif } @@ -435,6 +441,7 @@ #else (void)ctx; (void)domain; + errno = ENOTSUP; return NULL; #endif } @@ -446,7 +453,8 @@ return mlx5dv_dr_domain_destroy(domain); #else (void)domain; - return 0; + errno = ENOTSUP; + return errno; #endif } @@ -467,6 +475,7 @@ (void)context; (void)wq_attr; (void)mlx5_wq_attr; + errno = ENOTSUP; return NULL; #else return mlx5dv_create_wq(context, wq_attr, mlx5_wq_attr); @@ -504,6 +513,7 @@ (void)context; (void)qp_init_attr_ex; (void)dv_qp_init_attr; + errno = ENOTSUP; return NULL; #endif } @@ -527,6 +537,7 @@ (void)context; (void)matcher_attr; (void)tbl; + errno = ENOTSUP; return NULL; #endif } @@ -581,6 +592,7 @@ #else (void)counter_obj; (void)offset; + errno = ENOTSUP; return NULL; #endif } @@ -603,6 +615,7 @@ #endif #else (void)qp; + errno = ENOTSUP; return NULL; #endif } @@ -641,6 +654,7 @@ (void)flags; (void)actions_sz; (void)actions; + errno = ENOTSUP; return NULL; #endif } @@ -681,6 +695,7 @@ (void)flags; (void)data_sz; (void)data; + errno = ENOTSUP; return NULL; #endif } @@ -702,6 +717,7 @@ #endif #endif (void)tag; + errno = ENOTSUP; return NULL; } @@ -726,7 +742,8 @@ #endif #else (void)matcher; - return 0; + errno = ENOTSUP; + return errno; #endif } @@ -740,6 +757,7 @@ }); #else (void)device; + errno = ENOTSUP; return NULL; #endif } @@ -757,6 +775,7 @@ (void)inlen; (void)out; (void)outlen; + errno = ENOTSUP; return NULL; #endif } -- 1.8.3.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 9780DA0096 for ; Tue, 7 May 2019 15:42:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 534C72BB8; Tue, 7 May 2019 15:42:07 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id DAEC028FD for ; Tue, 7 May 2019 15:42:05 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from orika@mellanox.com) with ESMTPS (AES256-SHA encrypted); 7 May 2019 16:42:03 +0300 Received: from pegasus03.mtr.labs.mlnx (pegasus03.mtr.labs.mlnx [10.210.16.124]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x47Dg3ZA024000; Tue, 7 May 2019 16:42:03 +0300 From: Ori Kam To: yskoh@mellanox.com, shahafs@mellanox.com, matan@mellanox.com Cc: dev@dpdk.org, orika@mellanox.com Date: Tue, 7 May 2019 13:41:34 +0000 Message-Id: <1557236494-4808-1-git-send-email-orika@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH] net/mlx5: fix errno in case of unsupported Direct Rules X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Content-Type: text/plain; charset="UTF-8" Message-ID: <20190507134134.3m8LTgipXNX9wuvoAgqYh5FLQoQmkUheLeI-d1craXQ@z> When Direct Rules API is not supported we don't set the errno. this results in failing the function but with errno equals to zero. The result of this is that a function that failed, is considered as a function that worked correctly. This commit fixes this issue by setting the errno to ENOTSUP and returning this error when error value should be returned. Since RDMA-CORE are returning positive errno we are also returning positive error values. Fixes: 4f84a19779ca ("net/mlx5: add Direct Rules API") Signed-off-by: Ori Kam --- drivers/net/mlx5/mlx5_glue.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_glue.c b/drivers/net/mlx5/mlx5_glue.c index 6172e0d..21cd3bb 100644 --- a/drivers/net/mlx5/mlx5_glue.c +++ b/drivers/net/mlx5/mlx5_glue.c @@ -296,6 +296,7 @@ #ifndef HAVE_IBV_DEVICE_COUNTERS_SET_V45 (void)context; (void)init_attr; + errno = ENOTSUP; return NULL; #else return ibv_create_counters(context, init_attr); @@ -377,6 +378,7 @@ return mlx5dv_dr_action_create_dest_table(tbl); #else (void)tbl; + errno = ENOTSUP; return NULL; #endif } @@ -389,6 +391,7 @@ #else (void)domain; (void)vport; + errno = ENOTSUP; return NULL; #endif } @@ -399,6 +402,7 @@ #ifdef HAVE_MLX5DV_DR_ESWITCH return mlx5dv_dr_action_create_drop(); #else + errno = ENOTSUP; return NULL; #endif } @@ -411,6 +415,7 @@ #else (void)domain; (void)level; + errno = ENOTSUP; return NULL; #endif } @@ -422,7 +427,8 @@ return mlx5dv_dr_table_destroy(tbl); #else (void)tbl; - return 0; + errno = ENOTSUP; + return errno; #endif } @@ -435,6 +441,7 @@ #else (void)ctx; (void)domain; + errno = ENOTSUP; return NULL; #endif } @@ -446,7 +453,8 @@ return mlx5dv_dr_domain_destroy(domain); #else (void)domain; - return 0; + errno = ENOTSUP; + return errno; #endif } @@ -467,6 +475,7 @@ (void)context; (void)wq_attr; (void)mlx5_wq_attr; + errno = ENOTSUP; return NULL; #else return mlx5dv_create_wq(context, wq_attr, mlx5_wq_attr); @@ -504,6 +513,7 @@ (void)context; (void)qp_init_attr_ex; (void)dv_qp_init_attr; + errno = ENOTSUP; return NULL; #endif } @@ -527,6 +537,7 @@ (void)context; (void)matcher_attr; (void)tbl; + errno = ENOTSUP; return NULL; #endif } @@ -581,6 +592,7 @@ #else (void)counter_obj; (void)offset; + errno = ENOTSUP; return NULL; #endif } @@ -603,6 +615,7 @@ #endif #else (void)qp; + errno = ENOTSUP; return NULL; #endif } @@ -641,6 +654,7 @@ (void)flags; (void)actions_sz; (void)actions; + errno = ENOTSUP; return NULL; #endif } @@ -681,6 +695,7 @@ (void)flags; (void)data_sz; (void)data; + errno = ENOTSUP; return NULL; #endif } @@ -702,6 +717,7 @@ #endif #endif (void)tag; + errno = ENOTSUP; return NULL; } @@ -726,7 +742,8 @@ #endif #else (void)matcher; - return 0; + errno = ENOTSUP; + return errno; #endif } @@ -740,6 +757,7 @@ }); #else (void)device; + errno = ENOTSUP; return NULL; #endif } @@ -757,6 +775,7 @@ (void)inlen; (void)out; (void)outlen; + errno = ENOTSUP; return NULL; #endif } -- 1.8.3.1