From patchwork Tue Jul 6 08:12:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawei Wang X-Patchwork-Id: 95330 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B412A0C47; Tue, 6 Jul 2021 08:22:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4DEB24120F; Tue, 6 Jul 2021 08:22:45 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2067.outbound.protection.outlook.com [40.107.94.67]) by mails.dpdk.org (Postfix) with ESMTP id 078A141208 for ; Tue, 6 Jul 2021 08:22:44 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EY7GogFtNF9eJ+WanQVlAmM92C2Eggoeh5aMBrplg0Woh5JiOIPryFdfIxp1UMoUr2erR6xvA34Vjy6gn4alDSoVDv+F3VVi0V3//RmsIIOSovBawPAzrFYFUKHUZJKvBVRTTLQnBWdoMh0w4adButaaXZQGa6ejt6NSx0eROzRT4vkTVo62zyY8HxL6vzcMgOAOHwiC3c9zIlb5HAGB+geUZNxFQsKxIMntDfPCMIwdUqyZOempoX6rNzSH44OFJv7VfQzkMY0SEnkux7Ir0Xx6URe1k9EAnpyBE8+AdAp8YhYIMTq4gS6O84QncvebSTTR04MhpXjTrWR5XJZ5cw== 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=2jsiW2gMOFknCAaTYgdG1kxmSqtsR4hPd1hcq8VIM2s=; b=clVpmtvciTyp69qMxKP4hupkYZCxJ/gA03EhrPDwSuaOw6GYEmyZx6jLUO+JbOz1wbJfcwRgy3MikJwluf5Mk0o1C+jXnBAADwnlWkTfqjmGF9qkvlX9u92IdleBvSaPC1IWym3zEK10gZcoYwVm1Mglc0gcykXBNIJLpTJCh4vU8fw91vKct72NbPiu88IXgDAlJ3lhgBFg12x9JcUT29suWnNB+F3CKeDXaOYIMOCQGc2hvt2b+/E1WF3GSTAz0anCF7Np+/+tUyGaWLMfix0MDEqEhbj61PcFcN85tslxyayr7s2cgUP083BOVi+ewfe6EqZzmeut39NbxQu/og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2jsiW2gMOFknCAaTYgdG1kxmSqtsR4hPd1hcq8VIM2s=; b=BMCz3LJ1Mi5c1GQYr1cVo1u1pEsOad8JBFa6AotAthABnWQ+IbkuTujz3w6AueBQDTclc5Grg0RB7CS494XksBjQlHQXSNpHNr0xBxALJq7Em3O+UPyr9iE84V5LjiG25VkyXo5+Lr1uWCtiphTCM956NYbHFWmSPzOugHGyjDyhoWWZUONRrEY6IKwOn5OHE73BNcxtarVdkM9k3b0mPfXJZpQHvLyM07TPcjm1vCZQbQ3DszuGo3R1WqwtTHq+UAmmetnj7tDc4FBTycmPqTtUxhvLkq/Xamimy4kfNb1JeKMgkMrESQTZyQc1YKHKwXb3DKuHwEO3eRDj/z1ZYw== Received: from MWHPR1601CA0009.namprd16.prod.outlook.com (2603:10b6:300:da::19) by MWHPR12MB1614.namprd12.prod.outlook.com (2603:10b6:301:f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Tue, 6 Jul 2021 06:22:42 +0000 Received: from CO1NAM11FT040.eop-nam11.prod.protection.outlook.com (2603:10b6:300:da:cafe::c2) by MWHPR1601CA0009.outlook.office365.com (2603:10b6:300:da::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Tue, 6 Jul 2021 06:22:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by CO1NAM11FT040.mail.protection.outlook.com (10.13.174.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4287.22 via Frontend Transport; Tue, 6 Jul 2021 06:22:42 +0000 Received: from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 6 Jul 2021 06:22:39 +0000 From: Jiawei Wang To: , , , , Shahaf Shuler CC: , Date: Tue, 6 Jul 2021 11:12:27 +0300 Message-ID: <20210706081228.32672-2-jiaweiw@nvidia.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20210706081228.32672-1-jiaweiw@nvidia.com> References: <20210528132524.32451-1-jiaweiw@nvidia.com> <20210706081228.32672-1-jiaweiw@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5b4fc75c-7d9b-4af5-5591-08d94046761b X-MS-TrafficTypeDiagnostic: MWHPR12MB1614: X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:308; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: flkUxYoVRWslM5qJ4D33N6oGBu6Dn3JB4R2R206eEFbDv1w+mFsLZoMHAiqfhB3d3UFMG9LfTFJE6ZaC2CUTIeC9xaEhJZsYxSCnMksJpdAfNtnjZJjBJErMrPYcz78Qoz4Bx/BiFfiNoP9Sl+R5FNt8tvkYt+W3I6c46nk4yWEkZ6c/TBWPd503ZPBAtYAPV0GF4UoIO1R0NqcVVbus6ZFjHLD2TSCMEQjpFMvmAU5w9C9DZba0T1UVVqG71bMmL1mKxjn8ljbTUy2C1ic2rc5thEUnAkXq6swNS/vPPGgzIA2X5haIFjQ99tbqSBJiduPplNxTQr7L8g9whHCyeShKney2s/yzSAFd6wZVKULewbdaAd3szwNh8hst5ckNY+RnrX6WnDHNvaGDMPU5uBY2JnWwOLCkZDBm2UR+4RUogl8NaM7Id1xc86ozXoQzAzolLpulKQtFrG7aq3ybGA8/HZzRJzK4NZOqusKm+mZM0gKOLnfNWdlzH78TN7azHbKKGGn1kxPJWxacFJW5ZesvbnROgf41bhDXGOBlVWdalSEuRr/HDGcqqKghYFE2BVEg1KEPYPKKZgijNF0GTAMRQ/MCxSXXeIG2WhQK2tWk6oeRAiDFT8DaMFjD8s+dqu/MFXuBDdUmFHBoUNUDE3w8JOmS7oL4X4q70DvpkCc8BW61D0NoS0YkaW9M6Mt9L7rcLoYj6BJh98lMJIA1hQ== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(136003)(39860400002)(376002)(346002)(396003)(36840700001)(46966006)(356005)(83380400001)(70586007)(36906005)(426003)(2906002)(47076005)(8676002)(2616005)(8936002)(107886003)(70206006)(86362001)(82740400003)(26005)(186003)(16526019)(6286002)(478600001)(6666004)(82310400003)(336012)(6636002)(7696005)(1076003)(4326008)(36860700001)(54906003)(110136005)(55016002)(316002)(5660300002)(7636003)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2021 06:22:42.0858 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b4fc75c-7d9b-4af5-5591-08d94046761b X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT040.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1614 Subject: [dpdk-dev] [PATCH v2 1/2] common/mlx5: add glue function for duplicate rule ability X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Add glue function to update the duplicate rule allow/disallow through rdma-core DV API. Signed-off-by: Jiawei Wang Acked-by: Matan Azrad --- drivers/common/mlx5/linux/meson.build | 2 ++ drivers/common/mlx5/linux/mlx5_glue.c | 12 ++++++++++++ drivers/common/mlx5/linux/mlx5_glue.h | 1 + 3 files changed, 15 insertions(+) diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build index 5cea1b44d7..d3e95f83bb 100644 --- a/drivers/common/mlx5/linux/meson.build +++ b/drivers/common/mlx5/linux/meson.build @@ -195,6 +195,8 @@ has_sym_args = [ 'mlx5dv_dump_dr_rule' ], [ 'HAVE_MLX5_DR_ACTION_ASO_CT', 'infiniband/mlx5dv.h', 'MLX5DV_DR_ACTION_FLAGS_ASO_CT_DIRECTION_INITIATOR' ], + [ 'HAVE_MLX5_DR_ALLOW_DUPLICATE', 'infiniband/mlx5dv.h', + 'mlx5dv_dr_domain_allow_duplicate_rules' ], ] config = configuration_data() foreach arg:has_sym_args diff --git a/drivers/common/mlx5/linux/mlx5_glue.c b/drivers/common/mlx5/linux/mlx5_glue.c index 00be8114be..037ca961a0 100644 --- a/drivers/common/mlx5/linux/mlx5_glue.c +++ b/drivers/common/mlx5/linux/mlx5_glue.c @@ -1358,6 +1358,17 @@ mlx5_glue_dv_alloc_pp(struct ibv_context *context, #endif } +static void +mlx5_glue_dr_allow_duplicate_rules(void *domain, uint32_t allow) +{ +#ifdef HAVE_MLX5_DR_ALLOW_DUPLICATE + mlx5dv_dr_domain_allow_duplicate_rules(domain, allow); +#else + (void)(allow); + (void)(domain); +#endif +} + static void mlx5_glue_dv_free_pp(struct mlx5dv_pp *pp) { @@ -1478,6 +1489,7 @@ const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue) { mlx5_glue_dr_create_flow_action_sampler, .dr_create_flow_action_dest_array = mlx5_glue_dr_action_create_dest_array, + .dr_allow_duplicate_rules = mlx5_glue_dr_allow_duplicate_rules, .devx_query_eqn = mlx5_glue_devx_query_eqn, .devx_create_event_channel = mlx5_glue_devx_create_event_channel, .devx_destroy_event_channel = mlx5_glue_devx_destroy_event_channel, diff --git a/drivers/common/mlx5/linux/mlx5_glue.h b/drivers/common/mlx5/linux/mlx5_glue.h index 840d8cf57f..61f40d5478 100644 --- a/drivers/common/mlx5/linux/mlx5_glue.h +++ b/drivers/common/mlx5/linux/mlx5_glue.h @@ -350,6 +350,7 @@ struct mlx5_glue { struct mlx5dv_devx_async_event_hdr *event_data, size_t event_resp_len); void (*dr_reclaim_domain_memory)(void *domain, uint32_t enable); + void (*dr_allow_duplicate_rules)(void *domain, uint32_t allow); struct mlx5dv_pp *(*dv_alloc_pp)(struct ibv_context *context, size_t pp_context_sz, const void *pp_context,