From patchwork Thu May 7 08:56:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ophir Munk X-Patchwork-Id: 69910 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 508B3A00C5; Thu, 7 May 2020 10:56:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B06D51DADE; Thu, 7 May 2020 10:56:45 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60041.outbound.protection.outlook.com [40.107.6.41]) by dpdk.org (Postfix) with ESMTP id 8CAE31DACA for ; Thu, 7 May 2020 10:56:44 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I8e8ZuGgDyFk23tu1uVgRmap87zOADxLVx5s6WVug5HJaNjB8fBRIdFPxKyWWnbPzyQrPMPoU8jHOSFFZXRM0EWQrnJPoJuFJ5ZxtpexkX/xvJnbI9p+3EeblXD++bSCbbi6aY7qbwRVNGgFISauj1xIzOrM5218K/lbVKofikFlXuXktjvyAKd4U/+jR4DxO8pQuOtB27xV1ijtx78iHmM7PSGVqle4aB38ElbiDqQKxMMLTJWRy6R7Da6KIQ1fncIn28RVdcZ5z0qnfVoOlpd75Mm1qezDCLjrFHZsj5wNJ2Rcyxh3Dc5gpT5jf0o9s2T+QNADTMDwcgLNmITSnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RP565CwQUfpeSuk+Egvmu+FXeyOIISSkWFyYpub3a1o=; b=Lmdhsrz7+AbmSspVnv5BmaSI/SZx2PXS+wYQGfG0liH0R16OYkhV1gVQIN2dydhE8VVWDsFiU/GnWs8E+i7/Emk9l28fJgygK2qRV+q8thuvxJxSMgJie+1v3KBgVycAq4Dqs+6GaBrP0V/2sjQU5Y/j9U1ng5AkuR37qDQaB4JHZSGwa1hireGEWHxOdvm+t/45snaP8EzEdzHlvhsXiT3IoDSsdlfQsOB2v8C/SUCbEBplTGDstxjVnAAu6FetVmcFhs0JYAiQaQeQkk4dxYRvBxHgYdgQke3OQlhmgUoG5BslKBTBmvu7QG81Aa8LBSfxCfz9uKPfeymf6Un86A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RP565CwQUfpeSuk+Egvmu+FXeyOIISSkWFyYpub3a1o=; b=rbB5a7BItHSQmFzfz1JNl/jI/y+FKPjpFNYEuokr1wDgUOp+YoGviFpaVDbKZnIN0e2HLkWHCwUgd7oxbsjTryvJ4qazlBPXQYWrQwC7Qr8Ro68cdvcwakxjan7KJB/802qHxYVZ1zsQqSlCVX9SlwXHXdOKcXoDKxM5FWX0fy0= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=mellanox.com; Received: from AM0PR05MB4209.eurprd05.prod.outlook.com (2603:10a6:208:61::22) by AM0PR05MB4546.eurprd05.prod.outlook.com (2603:10a6:208:af::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Thu, 7 May 2020 08:56:43 +0000 Received: from AM0PR05MB4209.eurprd05.prod.outlook.com ([fe80::1068:89a9:41d3:b14a]) by AM0PR05MB4209.eurprd05.prod.outlook.com ([fe80::1068:89a9:41d3:b14a%3]) with mapi id 15.20.2958.034; Thu, 7 May 2020 08:56:43 +0000 From: Ophir Munk To: dev@dpdk.org, David Marchand Cc: Ray Kinsella , Matan Azrad , Raslan Darawsheh , Thomas Monjalon , Ophir Munk Date: Thu, 7 May 2020 08:56:33 +0000 Message-Id: <20200507085634.9589-1-ophirmu@mellanox.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20200507073702.4047-2-ophirmu@mellanox.com> References: <20200507073702.4047-2-ophirmu@mellanox.com> X-ClientProxiedBy: PR3P191CA0030.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::35) To AM0PR05MB4209.eurprd05.prod.outlook.com (2603:10a6:208:61::22) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mellanox.com (37.142.13.130) by PR3P191CA0030.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28 via Frontend Transport; Thu, 7 May 2020 08:56:41 +0000 X-Mailer: git-send-email 2.8.4 X-Originating-IP: [37.142.13.130] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 07ca5bbb-d12b-49da-c942-08d7f264903a X-MS-TrafficTypeDiagnostic: AM0PR05MB4546:|AM0PR05MB4546: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:110; X-Forefront-PRVS: 03965EFC76 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PS4VRHGCFd88BHl9HMuJN3xTheUlA2my5n3RD0myACtyye/EnEA+NqoBqCyj0GEPTLPJTvrbAwfGvbBy69ti06qO8qdytzW4c24LU9Yf3W0uzrH/ELokPPTgBDqiRwLkT9O86LvRYoEEyA+uy9iqvG+yus+ayihYyQFr4LIqnANfvKvCBWMfEqNYKTFfssRC/ZIeS9erX6ick8tPo8E0GBKTn1KSxPiOQcvbCu27ymIUwtwmpkFk+xxNYDBM1OoNzF/PcXtJpeuU5ru9c4ElcN9qUTlV81JU/dannEDPC4oTiqicUagyhgK3E9p9nzv9OUL0t7TQX9/kFDjTFzRQgeu38KLCuuKklJObhKRsD7b1cStE1tBaJ/58blD5lhu6nPDwxxzc62+9IndLADBuokUrgVgvJnT7UmkGXopZ9PTb2EVSUhOXR7SFh6316m3ZbxV/2r1MQq7Pi/5qjxV+XOSD8T3dCTl6pSMis8prmaTjKf0f6huGEhzcXHwmKiTZp7rgWBjL2eID9hgLzcB5sQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB4209.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(136003)(376002)(346002)(396003)(366004)(33430700001)(5660300002)(8676002)(16526019)(8936002)(26005)(2906002)(186003)(83290400001)(316002)(83300400001)(54906003)(107886003)(2616005)(956004)(6916009)(4326008)(86362001)(478600001)(83320400001)(33440700001)(83280400001)(83310400001)(7696005)(52116002)(66556008)(66946007)(1076003)(66476007)(8886007)(55016002)(36756003)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 1uBWVs8IEouC5AO2bDUXtd6arb0PZnm37VDTA4bvLYMrPXngXrXaR4SvV4z2rJTBehgdfXgfGEo5hILF5ukE3k8n1Do2zWJWgDQV3Rnweq1w1ZFSboh3rcYkjU4HW+U9Mr9cFabvElZZ90BkE4uPBLHngOKGLmlSaUXIxMg2z76WXl8pXJ1sMQbOAcNDac/DSv5lJFzhhiu6RSL+aEsK8663byvS7D4Pzi1AAJW26HnapUNLyd0UjDp1X86aNvYtNuUKrp31XJLF7xWvwy3GpnXnSnTVrI12r2bu/lfqgPONm9me+OE3UhA1kKZ5JCalXZxoNU6orbQt0ald570A+LfQLE/ZpdkjjQ/GYzewI0Qek0BvlZ60gti8U1IkeTiRxQYDH8xQots6x4JPjNxn2NvAglY2+CL95MYwRxF4vyTXWmUp6oKdC0iWvZoJxOjUjxaotI/3x+GjG8kVTWaHApLtOL/IEso27VC6m7M3ONK6re/9oRHvep3+kaNSi73Rqd2MwidQXNlGq+xNdsRF8Gb9CL9gQpOIDScmB16qQWxtVBThmYE7beCGEg1H4dXo9wnczeirkyYi6uLlZg/5iyEc9nZrj8oFXI+tAkH6kZFIdHxsc22iGuer9LexY2CxV6ba9pE9LR4K/gMba5ZRCG+grRNhtDSCKRRMOdUsgWztUlqDmqEq/LL7NuvF3B8q8sjPw6P9mlT8DtVYfZTbHoiO4D3WgCeZ4Y4ROA2oswtdJSCD1p1JO5yIUmB6ynLBsU6FstoTJFT4/+BtolTLwzAzGsrUtRen4WNxyqvEwzM= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07ca5bbb-d12b-49da-c942-08d7f264903a X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2020 08:56:42.9655 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Z+4P/zi0PIxcIVTN88T+CT9qfd9ui7Oraxzfy+CrhL8enqlJ2Pzv76/WdhG97aiEJ/xMfDkjtO2MpFrGeE493Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB4546 Subject: [dpdk-dev] [PATCH v3 1/2] common/mlx5: add rte internal tag and avoid comparison 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" Move mlx5 symbols in the map file to the INTERNAL section and add __internal tags to their definitions. Those symbols were exported in 20.02 and now (20.05) they are removed. Avoid ABI comparison issues between 20.05/20.08 and 20.02 by adding the suppress_file directive to libabigail.abignore file. This directive will prevent loading mlx5 common symbols and no comparison will be performed. Fixes: 7b4f1e6bd367 ("common/mlx5: introduce common library") Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- v3: add "Fixes" and "Acked-by" to commit message devtools/libabigail.abignore | 7 +++++++ drivers/common/mlx5/mlx5_common.h | 3 +++ drivers/common/mlx5/mlx5_devx_cmds.h | 23 +++++++++++++++++++++++ drivers/common/mlx5/mlx5_nl.h | 18 +++++++++++++++++- drivers/common/mlx5/rte_common_mlx5_version.map | 6 +++--- 5 files changed, 53 insertions(+), 4 deletions(-) diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index 0326662..f22d540 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -35,3 +35,10 @@ type_kind = enum name = rte_eth_event_type changed_enumerators = RTE_ETH_EVENT_MAX + +; These functions were moved from stable to internal. +; Avoid loading the symbols and comparing them. +; This is a temporary exception till DPDK 20.11 +[suppress_file] + file_name_regexp = ^librte_common_mlx5\. + diff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h index c2d688a..b37b820 100644 --- a/drivers/common/mlx5/mlx5_common.h +++ b/drivers/common/mlx5/mlx5_common.h @@ -196,6 +196,7 @@ check_cqe(volatile struct mlx5_cqe *cqe, const uint16_t cqes_n, return MLX5_CQE_STATUS_SW_OWN; } +__rte_internal int mlx5_dev_to_pci_addr(const char *dev_path, struct rte_pci_addr *pci_addr); #define MLX5_CLASS_ARG_NAME "class" @@ -206,7 +207,9 @@ enum mlx5_class { MLX5_CLASS_INVALID, }; +__rte_internal enum mlx5_class mlx5_class_get(struct rte_devargs *devargs); +__rte_internal void mlx5_translate_port_name(const char *port_name_in, struct mlx5_switch_info *port_info_out); diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h index f7802e6..6dc27da 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.h +++ b/drivers/common/mlx5/mlx5_devx_cmds.h @@ -300,52 +300,75 @@ struct mlx5_devx_qp_attr { /* mlx5_devx_cmds.c */ +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_flow_counter_alloc(struct ibv_context *ctx, uint32_t bulk_sz); +__rte_internal int mlx5_devx_cmd_destroy(struct mlx5_devx_obj *obj); +__rte_internal int mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs, int clear, uint32_t n_counters, uint64_t *pkts, uint64_t *bytes, uint32_t mkey, void *addr, struct mlx5dv_devx_cmd_comp *cmd_comp, uint64_t async_id); +__rte_internal int mlx5_devx_cmd_query_hca_attr(struct ibv_context *ctx, struct mlx5_hca_attr *attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_mkey_create(struct ibv_context *ctx, struct mlx5_devx_mkey_attr *attr); +__rte_internal int mlx5_devx_get_out_command_status(void *out); +__rte_internal int mlx5_devx_cmd_qp_query_tis_td(struct ibv_qp *qp, uint32_t tis_num, uint32_t *tis_td); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_rq(struct ibv_context *ctx, struct mlx5_devx_create_rq_attr *rq_attr, int socket); +__rte_internal int mlx5_devx_cmd_modify_rq(struct mlx5_devx_obj *rq, struct mlx5_devx_modify_rq_attr *rq_attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_tir(struct ibv_context *ctx, struct mlx5_devx_tir_attr *tir_attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_rqt(struct ibv_context *ctx, struct mlx5_devx_rqt_attr *rqt_attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_sq(struct ibv_context *ctx, struct mlx5_devx_create_sq_attr *sq_attr); +__rte_internal int mlx5_devx_cmd_modify_sq(struct mlx5_devx_obj *sq, struct mlx5_devx_modify_sq_attr *sq_attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_tis(struct ibv_context *ctx, struct mlx5_devx_tis_attr *tis_attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_td(struct ibv_context *ctx); +__rte_internal int mlx5_devx_cmd_flow_dump(void *fdb_domain, void *rx_domain, void *tx_domain, FILE *file); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_cq(struct ibv_context *ctx, struct mlx5_devx_cq_attr *attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_virtq(struct ibv_context *ctx, struct mlx5_devx_virtq_attr *attr); +__rte_internal int mlx5_devx_cmd_modify_virtq(struct mlx5_devx_obj *virtq_obj, struct mlx5_devx_virtq_attr *attr); +__rte_internal int mlx5_devx_cmd_query_virtq(struct mlx5_devx_obj *virtq_obj, struct mlx5_devx_virtq_attr *attr); +__rte_internal struct mlx5_devx_obj *mlx5_devx_cmd_create_qp(struct ibv_context *ctx, struct mlx5_devx_qp_attr *attr); +__rte_internal int mlx5_devx_cmd_modify_qp_state(struct mlx5_devx_obj *qp, uint32_t qp_st_mod_op, uint32_t remote_qp_id); +__rte_internal int mlx5_devx_cmd_modify_rqt(struct mlx5_devx_obj *rqt, struct mlx5_devx_rqt_attr *rqt_attr); diff --git a/drivers/common/mlx5/mlx5_nl.h b/drivers/common/mlx5/mlx5_nl.h index 2c3f837..53021e1 100644 --- a/drivers/common/mlx5/mlx5_nl.h +++ b/drivers/common/mlx5/mlx5_nl.h @@ -28,35 +28,51 @@ struct mlx5_nl_vlan_vmwa_context { struct mlx5_nl_vlan_dev vlan_dev[4096]; }; - +__rte_internal int mlx5_nl_init(int protocol); +__rte_internal int mlx5_nl_mac_addr_add(int nlsk_fd, unsigned int iface_idx, uint64_t *mac_own, struct rte_ether_addr *mac, uint32_t index); +__rte_internal int mlx5_nl_mac_addr_remove(int nlsk_fd, unsigned int iface_idx, uint64_t *mac_own, struct rte_ether_addr *mac, uint32_t index); +__rte_internal void mlx5_nl_mac_addr_sync(int nlsk_fd, unsigned int iface_idx, struct rte_ether_addr *mac_addrs, int n); +__rte_internal void mlx5_nl_mac_addr_flush(int nlsk_fd, unsigned int iface_idx, struct rte_ether_addr *mac_addrs, int n, uint64_t *mac_own); +__rte_internal int mlx5_nl_promisc(int nlsk_fd, unsigned int iface_idx, int enable); +__rte_internal int mlx5_nl_allmulti(int nlsk_fd, unsigned int iface_idx, int enable); +__rte_internal unsigned int mlx5_nl_portnum(int nl, const char *name); +__rte_internal unsigned int mlx5_nl_ifindex(int nl, const char *name, uint32_t pindex); +__rte_internal int mlx5_nl_vf_mac_addr_modify(int nlsk_fd, unsigned int iface_idx, struct rte_ether_addr *mac, int vf_index); +__rte_internal int mlx5_nl_switch_info(int nl, unsigned int ifindex, struct mlx5_switch_info *info); +__rte_internal void mlx5_nl_vlan_vmwa_delete(struct mlx5_nl_vlan_vmwa_context *vmwa, uint32_t ifindex); +__rte_internal uint32_t mlx5_nl_vlan_vmwa_create(struct mlx5_nl_vlan_vmwa_context *vmwa, uint32_t ifindex, uint16_t tag); +__rte_internal int mlx5_nl_devlink_family_id_get(int nlsk_fd); +__rte_internal int mlx5_nl_enable_roce_get(int nlsk_fd, int family_id, const char *pci_addr, int *enable); +__rte_internal int mlx5_nl_driver_reload(int nlsk_fd, int family_id, const char *pci_addr); +__rte_internal int mlx5_nl_enable_roce_set(int nlsk_fd, int family_id, const char *pci_addr, int enable); diff --git a/drivers/common/mlx5/rte_common_mlx5_version.map b/drivers/common/mlx5/rte_common_mlx5_version.map index 564a9a7..61d1d4d 100644 --- a/drivers/common/mlx5/rte_common_mlx5_version.map +++ b/drivers/common/mlx5/rte_common_mlx5_version.map @@ -1,8 +1,10 @@ -DPDK_21 { +INTERNAL { global: mlx5_class_get; + mlx5_dev_to_pci_addr; + mlx5_devx_cmd_create_cq; mlx5_devx_cmd_create_qp; mlx5_devx_cmd_create_rq; @@ -27,8 +29,6 @@ DPDK_21 { mlx5_devx_cmd_query_virtq; mlx5_devx_get_out_command_status; - mlx5_dev_to_pci_addr; - mlx5_nl_allmulti; mlx5_nl_devlink_family_id_get; mlx5_nl_driver_reload; From patchwork Thu May 7 08:56:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ophir Munk X-Patchwork-Id: 69911 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 63805A00C5; Thu, 7 May 2020 10:56:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9140D1DAF4; Thu, 7 May 2020 10:56:48 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60047.outbound.protection.outlook.com [40.107.6.47]) by dpdk.org (Postfix) with ESMTP id 739141DAEC for ; Thu, 7 May 2020 10:56:46 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mruRw5y062Mmc6Oj2ZMs3Ue63nlw55li865Ncuj+UKZDTTEGjhR6Igu9qlGPv7YnzQpc3qOwVD+9CCGUNLRfYLZipOztsSjf8r4cgsDgbSM0mM7lP39e4OctskL/P2Vm4MDFp0CrVqeJM53J+oexb37xiJTpbEH7SPyo8Enm87yGCJWY8r8hOvo0+fgIraQEvk/DdsYo+ifzTmfOSxRZDx/7uF8Ld1lsBOo5mppc02/nkMCNXYSr9I3lNJbSaCr+N+D2JXIkbNLtYN33B4VJEPxrYvNTBqBm3NrYWWbltGr8oy0oVut40J09/+WJ6KYggu0zeilHS44Ocvqe/CjkCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FPOR3hya+kfCaVkHxFtDcuS6oKSKshQwEcH1XoF/rJQ=; b=fVqUEjeq0W0xlbdV2TdFugpJdLlLs4VylQLLlcv2UJ5YRF1/f298hwKMjuP8zz0O/x4vCoTrIp/yBazbWvkLKdQIMDTJ+win3der6KJgauPyQE70gB/liibIginckJ5L2cIbYMCO+WDqhxnl5GZMVvOJ5vz3AHsXLOuviCdoDQ7mI+O9wot3A2fYynqrpa2R92CmHLLUKJ7bBBxlHSXoyyrN/70C6P6ZJ0GH84ZQi3JztkQ211rjzfao5+0qXRPXlYn9FYz6AllOU2YTFfGBZqAUVdgaJYPADDYNuEtdRh+7n2P0FVpAXoNMyTx+4ICTm7rrzxQFlAi0MvkKbcTKHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FPOR3hya+kfCaVkHxFtDcuS6oKSKshQwEcH1XoF/rJQ=; b=jUuZ3gtuO4ZiW2yLtpCC8akf1EXXlh5U+X/uEMxe5dpGkrDizI1/SuVo/TjQ8dkeU4MzECh3sHGB0s4A0lABRASD+YF6fu8CZYQ0fLrSaBrcgdj/gYPQbPD51xAJ9jiz9ZrytFF2e442KGgO3rirnXIJW6+nidzIejcWYE7v+u4= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=mellanox.com; Received: from AM0PR05MB4209.eurprd05.prod.outlook.com (2603:10a6:208:61::22) by AM0PR05MB4546.eurprd05.prod.outlook.com (2603:10a6:208:af::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Thu, 7 May 2020 08:56:44 +0000 Received: from AM0PR05MB4209.eurprd05.prod.outlook.com ([fe80::1068:89a9:41d3:b14a]) by AM0PR05MB4209.eurprd05.prod.outlook.com ([fe80::1068:89a9:41d3:b14a%3]) with mapi id 15.20.2958.034; Thu, 7 May 2020 08:56:44 +0000 From: Ophir Munk To: dev@dpdk.org, David Marchand Cc: Ray Kinsella , Matan Azrad , Raslan Darawsheh , Thomas Monjalon , Ophir Munk Date: Thu, 7 May 2020 08:56:34 +0000 Message-Id: <20200507085634.9589-2-ophirmu@mellanox.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20200507085634.9589-1-ophirmu@mellanox.com> References: <20200507073702.4047-2-ophirmu@mellanox.com> <20200507085634.9589-1-ophirmu@mellanox.com> X-ClientProxiedBy: PR3P191CA0030.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::35) To AM0PR05MB4209.eurprd05.prod.outlook.com (2603:10a6:208:61::22) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mellanox.com (37.142.13.130) by PR3P191CA0030.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28 via Frontend Transport; Thu, 7 May 2020 08:56:43 +0000 X-Mailer: git-send-email 2.8.4 X-Originating-IP: [37.142.13.130] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4b3fe9b1-c609-434a-52fc-08d7f2649103 X-MS-TrafficTypeDiagnostic: AM0PR05MB4546:|AM0PR05MB4546: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:486; X-Forefront-PRVS: 03965EFC76 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GJuQfkw6eG7mWj3jOnPnv3CtyNHvlUnC11e01vu4/Fmu9G5QjX3dyjWWdV27oJE8gB6hswZ/qYUCwKLrxAkXJcgpbVaCP0pt3IeEousEHGl9koJi5xfp80dPm2cJYYkkYFsjLjH/ryPPrW1O4iRTfXw3c/lZEPjbylbK+aXmJ9IJ0hn1uNTXtXTGkZy5rCpJUvjfmJiensoyU2Rb3semDLrPFugpbA6iF+8+FjwiyyVwbSdPXqrLGa4JwgdEi4Tfsc6qWHKeuDRLHYEN7/76g3aHAkaHTBOMTMm3erl7O7Tz1h+Lqt02VJwwypbpoGGTe045o5t4xn/vE0YqRacRg2IHAfLqkVK4yjNhcpYQ8VY+kdXV89uPbMmldCoUmWpp+WNaPXrxzBECKmyTCai8B5G6pfVUSx7XL3joTF/YRe5zHPgEYXFrZXxiWgJ7mg8pH3wA7hkRG87CiYYnteYMwgavoYWcF+C6+SwxcrT2jVrWGn/iW0CknbRGBAxR9GH84mXRfSDY93hu3Hv0SONnkg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB4209.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(136003)(376002)(346002)(396003)(366004)(33430700001)(5660300002)(8676002)(16526019)(8936002)(26005)(2906002)(186003)(83290400001)(316002)(83300400001)(54906003)(107886003)(2616005)(956004)(6916009)(4326008)(86362001)(478600001)(83320400001)(33440700001)(83280400001)(83310400001)(7696005)(52116002)(30864003)(66556008)(66946007)(1076003)(66476007)(8886007)(55016002)(36756003)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: TlaYTE33jQtDy+I2E8PLloo1ssL1X3NeTgMvR2Hx1mBVPEOVCODCPF9lugIgOkd9P5zjY2r8EbNbJMcG+Pk3Z9YbiJk6eIPBUqIs30eydxCbipAtcIy1AlA3MibSaaej9px84OBcXJqzzw3QASE04mcRTuR05b1OXNJuqrr+52N1y8NwUnQ5z76/ag0HvmZK83opJILjZ8uFccmVnkWMqh78jEJWizGB+hBa9iwD52IS4L0zAC4zAPhm3t3lIqAjqYxQDc3jBD75cgFVjhHPR0TOzLOsfp7HYRZeBNj0WmGFvw+jKv5KYxgmsJOiCy9zea2ooL0Ni6ZX22X9klqanO+aWdnT6OQX6/icsbfswfpy/xXvA/NB2IIKSWNM82HZ3x5Y6Ox5kh4NoRr2ICpuTmgjk2xoDUP1GVhpbcvj+bb2fEy4HxJFazPIO/vNFuoq4mxrl4iJVywemIDAEsJQfc8+1h+gKchZsFKLNsJg/hYPM2TvE1O3R4TW7SDDoGDKscipLzcNugKoCOlYXw8veekpHHB39d+mheYpVy296jZ7xKFkFK1r5pccCszgRsj8pXyAFHZNkFKw/Aemje/Z2bjZmuL7Fh7XjC8RCeIgncK9zb0/J/3gvYwsOg+jfpH+LB2ea7qiKpmFXBm1hbHprkXZToSL7HQ1IzPw/6J1myp1hnkzYgpBjFOfE9eeCjGvrhR6LghhJKjbjodkpONd/6hID49gcnr8mnHobz2jK53ODx7ycwuVCdr1NgOcJfYUx2jYZKGbg7ubqLDKMkNJWvanZupmI5e1Ga+C5j/VRns= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b3fe9b1-c609-434a-52fc-08d7f2649103 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2020 08:56:44.2818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NZXV3zxE6pCciFH1J9qxEod3FbdOaUg9rK5WCPG2BiY8q1tD7oT5sF1jmsy/MLyhs+42U1u0EeGFViAJLfEbUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB4546 Subject: [dpdk-dev] [PATCH v3 2/2] common/mlx5: remove devx dependency on ibv and DV 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" File mlx5_devx_cmds.c should contain pure DevX calls. It must be OS agnostic and not include any references to ibv or dv structs (defined in ibverbs and rdma-core linux libraries). This commit replaces all ibv and dv references with 'void *'. Specifically, the following struct were replaced: 1. struct ibv_context * 2. struct ibv_qp * 3. struct mlx5dv_devx_cmd_comp * Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_devx_cmds.c | 59 ++++++++++++++++++------------------ drivers/common/mlx5/mlx5_devx_cmds.h | 30 +++++++++--------- 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c index 67c8a8c..230ac58 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.c +++ b/drivers/common/mlx5/mlx5_devx_cmds.c @@ -15,7 +15,7 @@ * Allocate flow counters via devx interface. * * @param[in] ctx - * ibv contexts returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param dcs * Pointer to counters properties structure to be filled by the routine. * @param bulk_n_128 @@ -26,7 +26,7 @@ * rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_flow_counter_alloc(struct ibv_context *ctx, uint32_t bulk_n_128) +mlx5_devx_cmd_flow_counter_alloc(void *ctx, uint32_t bulk_n_128) { struct mlx5_devx_obj *dcs = rte_zmalloc("dcs", sizeof(*dcs), 0); uint32_t in[MLX5_ST_SZ_DW(alloc_flow_counter_in)] = {0}; @@ -81,7 +81,7 @@ mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs, int clear, uint32_t n_counters, uint64_t *pkts, uint64_t *bytes, uint32_t mkey, void *addr, - struct mlx5dv_devx_cmd_comp *cmd_comp, + void *cmd_comp, uint64_t async_id) { int out_len = MLX5_ST_SZ_BYTES(query_flow_counter_out) + @@ -130,7 +130,7 @@ mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs, * Create a new mkey. * * @param[in] ctx - * ibv contexts returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param[in] attr * Attributes of the requested mkey. * @@ -139,7 +139,7 @@ mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs, * is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_mkey_create(struct ibv_context *ctx, +mlx5_devx_cmd_mkey_create(void *ctx, struct mlx5_devx_mkey_attr *attr) { struct mlx5_klm *klm_array = attr->klm_array; @@ -279,7 +279,7 @@ mlx5_devx_cmd_destroy(struct mlx5_devx_obj *obj) * 0 on success, a negative value otherwise. */ static int -mlx5_devx_cmd_query_nic_vport_context(struct ibv_context *ctx, +mlx5_devx_cmd_query_nic_vport_context(void *ctx, unsigned int vport, struct mlx5_hca_attr *attr) { @@ -321,12 +321,12 @@ mlx5_devx_cmd_query_nic_vport_context(struct ibv_context *ctx, * Query NIC vDPA attributes. * * @param[in] ctx - * ibv contexts returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param[out] vdpa_attr * vDPA Attributes structure to fill. */ static void -mlx5_devx_cmd_query_hca_vdpa_attr(struct ibv_context *ctx, +mlx5_devx_cmd_query_hca_vdpa_attr(void *ctx, struct mlx5_hca_vdpa_attr *vdpa_attr) { uint32_t in[MLX5_ST_SZ_DW(query_hca_cap_in)] = {0}; @@ -402,7 +402,7 @@ mlx5_devx_cmd_query_hca_vdpa_attr(struct ibv_context *ctx, * is having the required capabilities. * * @param[in] ctx - * ibv contexts returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param[out] attr * Attributes device values. * @@ -410,7 +410,7 @@ mlx5_devx_cmd_query_hca_vdpa_attr(struct ibv_context *ctx, * 0 on success, a negative value otherwise. */ int -mlx5_devx_cmd_query_hca_attr(struct ibv_context *ctx, +mlx5_devx_cmd_query_hca_attr(void *ctx, struct mlx5_hca_attr *attr) { uint32_t in[MLX5_ST_SZ_DW(query_hca_cap_in)] = {0}; @@ -570,7 +570,7 @@ mlx5_devx_cmd_query_hca_attr(struct ibv_context *ctx, * 0 on success, a negative value otherwise. */ int -mlx5_devx_cmd_qp_query_tis_td(struct ibv_qp *qp, uint32_t tis_num, +mlx5_devx_cmd_qp_query_tis_td(void *qp, uint32_t tis_num, uint32_t *tis_td) { uint32_t in[MLX5_ST_SZ_DW(query_tis_in)] = {0}; @@ -637,7 +637,7 @@ devx_cmd_fill_wq_data(void *wq_ctx, struct mlx5_devx_wq_attr *wq_attr) * Create RQ using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] rq_attr * Pointer to create RQ attributes structure. * @param [in] socket @@ -647,7 +647,7 @@ devx_cmd_fill_wq_data(void *wq_ctx, struct mlx5_devx_wq_attr *wq_attr) * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_rq(struct ibv_context *ctx, +mlx5_devx_cmd_create_rq(void *ctx, struct mlx5_devx_create_rq_attr *rq_attr, int socket) { @@ -746,7 +746,7 @@ mlx5_devx_cmd_modify_rq(struct mlx5_devx_obj *rq, * Create TIR using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] tir_attr * Pointer to TIR attributes structure. * @@ -754,7 +754,7 @@ mlx5_devx_cmd_modify_rq(struct mlx5_devx_obj *rq, * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_tir(struct ibv_context *ctx, +mlx5_devx_cmd_create_tir(void *ctx, struct mlx5_devx_tir_attr *tir_attr) { uint32_t in[MLX5_ST_SZ_DW(create_tir_in)] = {0}; @@ -815,7 +815,7 @@ mlx5_devx_cmd_create_tir(struct ibv_context *ctx, * Create RQT using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] rqt_attr * Pointer to RQT attributes structure. * @@ -823,7 +823,7 @@ mlx5_devx_cmd_create_tir(struct ibv_context *ctx, * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_rqt(struct ibv_context *ctx, +mlx5_devx_cmd_create_rqt(void *ctx, struct mlx5_devx_rqt_attr *rqt_attr) { uint32_t *in = NULL; @@ -917,7 +917,7 @@ mlx5_devx_cmd_modify_rqt(struct mlx5_devx_obj *rqt, * Create SQ using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] sq_attr * Pointer to SQ attributes structure. * @param [in] socket @@ -927,7 +927,7 @@ mlx5_devx_cmd_modify_rqt(struct mlx5_devx_obj *rqt, * The DevX object created, NULL otherwise and rte_errno is set. **/ struct mlx5_devx_obj * -mlx5_devx_cmd_create_sq(struct ibv_context *ctx, +mlx5_devx_cmd_create_sq(void *ctx, struct mlx5_devx_create_sq_attr *sq_attr) { uint32_t in[MLX5_ST_SZ_DW(create_sq_in)] = {0}; @@ -1019,7 +1019,7 @@ mlx5_devx_cmd_modify_sq(struct mlx5_devx_obj *sq, * Create TIS using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] tis_attr * Pointer to TIS attributes structure. * @@ -1027,7 +1027,7 @@ mlx5_devx_cmd_modify_sq(struct mlx5_devx_obj *sq, * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_tis(struct ibv_context *ctx, +mlx5_devx_cmd_create_tis(void *ctx, struct mlx5_devx_tis_attr *tis_attr) { uint32_t in[MLX5_ST_SZ_DW(create_tis_in)] = {0}; @@ -1066,13 +1066,12 @@ mlx5_devx_cmd_create_tis(struct ibv_context *ctx, * Create transport domain using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. - * + * Context returned from mlx5 open_device() glue function. * @return * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_td(struct ibv_context *ctx) +mlx5_devx_cmd_create_td(void *ctx) { uint32_t in[MLX5_ST_SZ_DW(alloc_transport_domain_in)] = {0}; uint32_t out[MLX5_ST_SZ_DW(alloc_transport_domain_out)] = {0}; @@ -1143,7 +1142,7 @@ mlx5_devx_cmd_flow_dump(void *fdb_domain __rte_unused, * Create CQ using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] attr * Pointer to CQ attributes structure. * @@ -1151,7 +1150,7 @@ mlx5_devx_cmd_flow_dump(void *fdb_domain __rte_unused, * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_cq(struct ibv_context *ctx, struct mlx5_devx_cq_attr *attr) +mlx5_devx_cmd_create_cq(void *ctx, struct mlx5_devx_cq_attr *attr) { uint32_t in[MLX5_ST_SZ_DW(create_cq_in)] = {0}; uint32_t out[MLX5_ST_SZ_DW(create_cq_out)] = {0}; @@ -1201,7 +1200,7 @@ mlx5_devx_cmd_create_cq(struct ibv_context *ctx, struct mlx5_devx_cq_attr *attr) * Create VIRTQ using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] attr * Pointer to VIRTQ attributes structure. * @@ -1209,7 +1208,7 @@ mlx5_devx_cmd_create_cq(struct ibv_context *ctx, struct mlx5_devx_cq_attr *attr) * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_virtq(struct ibv_context *ctx, +mlx5_devx_cmd_create_virtq(void *ctx, struct mlx5_devx_virtq_attr *attr) { uint32_t in[MLX5_ST_SZ_DW(create_virtq_in)] = {0}; @@ -1370,7 +1369,7 @@ mlx5_devx_cmd_query_virtq(struct mlx5_devx_obj *virtq_obj, * Create QP using DevX API. * * @param[in] ctx - * ibv_context returned from mlx5dv_open_device. + * Context returned from mlx5 open_device() glue function. * @param [in] attr * Pointer to QP attributes structure. * @@ -1378,7 +1377,7 @@ mlx5_devx_cmd_query_virtq(struct mlx5_devx_obj *virtq_obj, * The DevX object created, NULL otherwise and rte_errno is set. */ struct mlx5_devx_obj * -mlx5_devx_cmd_create_qp(struct ibv_context *ctx, +mlx5_devx_cmd_create_qp(void *ctx, struct mlx5_devx_qp_attr *attr) { uint32_t in[MLX5_ST_SZ_DW(create_qp_in)] = {0}; diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h index 6dc27da..ac10687 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.h +++ b/drivers/common/mlx5/mlx5_devx_cmds.h @@ -11,7 +11,7 @@ /* devX creation object */ struct mlx5_devx_obj { - struct mlx5dv_devx_obj *obj; /* The DV object. */ + void *obj; /* The DV object. */ int id; /* The object ID. */ }; @@ -301,7 +301,7 @@ struct mlx5_devx_qp_attr { /* mlx5_devx_cmds.c */ __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_flow_counter_alloc(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_flow_counter_alloc(void *ctx, uint32_t bulk_sz); __rte_internal int mlx5_devx_cmd_destroy(struct mlx5_devx_obj *obj); @@ -310,51 +310,51 @@ int mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs, int clear, uint32_t n_counters, uint64_t *pkts, uint64_t *bytes, uint32_t mkey, void *addr, - struct mlx5dv_devx_cmd_comp *cmd_comp, + void *cmd_comp, uint64_t async_id); __rte_internal -int mlx5_devx_cmd_query_hca_attr(struct ibv_context *ctx, +int mlx5_devx_cmd_query_hca_attr(void *ctx, struct mlx5_hca_attr *attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_mkey_create(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_mkey_create(void *ctx, struct mlx5_devx_mkey_attr *attr); __rte_internal int mlx5_devx_get_out_command_status(void *out); __rte_internal -int mlx5_devx_cmd_qp_query_tis_td(struct ibv_qp *qp, uint32_t tis_num, +int mlx5_devx_cmd_qp_query_tis_td(void *qp, uint32_t tis_num, uint32_t *tis_td); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_rq(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_rq(void *ctx, struct mlx5_devx_create_rq_attr *rq_attr, int socket); __rte_internal int mlx5_devx_cmd_modify_rq(struct mlx5_devx_obj *rq, struct mlx5_devx_modify_rq_attr *rq_attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_tir(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_tir(void *ctx, struct mlx5_devx_tir_attr *tir_attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_rqt(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_rqt(void *ctx, struct mlx5_devx_rqt_attr *rqt_attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_sq(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_sq(void *ctx, struct mlx5_devx_create_sq_attr *sq_attr); __rte_internal int mlx5_devx_cmd_modify_sq(struct mlx5_devx_obj *sq, struct mlx5_devx_modify_sq_attr *sq_attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_tis(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_tis(void *ctx, struct mlx5_devx_tis_attr *tis_attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_td(struct ibv_context *ctx); +struct mlx5_devx_obj *mlx5_devx_cmd_create_td(void *ctx); __rte_internal int mlx5_devx_cmd_flow_dump(void *fdb_domain, void *rx_domain, void *tx_domain, FILE *file); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_cq(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_cq(void *ctx, struct mlx5_devx_cq_attr *attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_virtq(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_virtq(void *ctx, struct mlx5_devx_virtq_attr *attr); __rte_internal int mlx5_devx_cmd_modify_virtq(struct mlx5_devx_obj *virtq_obj, @@ -363,7 +363,7 @@ __rte_internal int mlx5_devx_cmd_query_virtq(struct mlx5_devx_obj *virtq_obj, struct mlx5_devx_virtq_attr *attr); __rte_internal -struct mlx5_devx_obj *mlx5_devx_cmd_create_qp(struct ibv_context *ctx, +struct mlx5_devx_obj *mlx5_devx_cmd_create_qp(void *ctx, struct mlx5_devx_qp_attr *attr); __rte_internal int mlx5_devx_cmd_modify_qp_state(struct mlx5_devx_obj *qp,