From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8E1C6A0350; Tue, 23 Jun 2020 10:41:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 043461D5AF; Tue, 23 Jun 2020 10:41:29 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130054.outbound.protection.outlook.com [40.107.13.54]) by dpdk.org (Postfix) with ESMTP id 0E45F1D5AD for ; Tue, 23 Jun 2020 10:41:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XhFMhCwYg6ZBppeNxd09dfwnNlfTUeLgVIq41AMcWHtcQtLF3b85R3ofujsGbGlaIo5nCkwBvf8/n4nM9hiwVVUhLnEz21e9sEVc9/KrgW0ihFrpF+fAE46nWv916tyOkY6a89mEcRWB3guiO0CRKC2YnQDyKMFhBSwjwGZFw+zX10NdxdXk3Wd6+qHeDeQmP8ru5o2EMZqTtYkgq4jSDe4ulr/zixE09X9M16R6vmgMJ1WJtbKdkIs6w9AYUP6Qf46ydEIE0eJ/I+jacBP87GtPImdtP3JLiz3a1gB8/D2tUO+wd9ZvLDXNUPp0/2EePcElut/pgD98hZ0XP7/dXw== 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=wToKHgcSZGpzGfssAz0AUiMrOJJ6kugslaNZlDdqT60=; b=NKXcoPVITxx31/hMVM2nfgSLNXO1iuGXV6ity4OQbZONnnM2XM3d3HHJAMd5mHIHFHvv/9KD89+AJUqR2F0nMNU9DtRYWl/Qvhx5ld1+u8669vO3xKIr49EdsiKIaMe+lOhMot0Ilwf8Ry5Sb7L1xNP/trP3DjA9bQD+yF1U8JSHGzhDrgiZi/pk5AJfZXQgLgmZLOuMw579jfE6+F/HTrvx0+3biGWXqy3B8M2z979IqXsS7Gw5JhYxAF60A3fu+T/HoDtNGuvxH5n9Jyvb1G4+XcCMnZsKCZ1bS9zhbb2EZjyHTnD+DoAXNy6wtedU/qGwGJ34mI4IJ+k4ve6xJA== 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=wToKHgcSZGpzGfssAz0AUiMrOJJ6kugslaNZlDdqT60=; b=k1nj2xAkbu6+kUwBctQkkCgRY5eyf9LpOzqZTE8hNROApAL/k36Tg+N7l9ooZR/J/q8GE+PPE+uuQ0cjq/UTscu52a1/hcO9KbdLoXo2ee0DhXTLqIY+bdvgHPxeCATkWGx1Afmyi6eFUY73SStN+gXp4isdNQUyaPvzkE+FKbI= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=mellanox.com; Received: from AM0PR0502MB3874.eurprd05.prod.outlook.com (2603:10a6:208:1a::29) by AM0PR0502MB4036.eurprd05.prod.outlook.com (2603:10a6:208:d::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Tue, 23 Jun 2020 08:41:26 +0000 Received: from AM0PR0502MB3874.eurprd05.prod.outlook.com ([fe80::84e5:30fb:782e:5e60]) by AM0PR0502MB3874.eurprd05.prod.outlook.com ([fe80::84e5:30fb:782e:5e60%4]) with mapi id 15.20.3109.021; Tue, 23 Jun 2020 08:41:26 +0000 From: Shiri Kuzin To: dev@dpdk.org Cc: matan@mellanox.com, viacheslavo@mellanox.com Date: Tue, 23 Jun 2020 11:41:05 +0300 Message-Id: <1592901667-12161-2-git-send-email-shirik@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1592901667-12161-1-git-send-email-shirik@mellanox.com> References: <1592901667-12161-1-git-send-email-shirik@mellanox.com> Content-Type: text/plain X-ClientProxiedBy: AM0PR04CA0088.eurprd04.prod.outlook.com (2603:10a6:208:be::29) To AM0PR0502MB3874.eurprd05.prod.outlook.com (2603:10a6:208:1a::29) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mellanox.com (94.188.199.18) by AM0PR04CA0088.eurprd04.prod.outlook.com (2603:10a6:208:be::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22 via Frontend Transport; Tue, 23 Jun 2020 08:41:25 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [94.188.199.18] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d751c98f-946b-4715-d2be-08d81751372e X-MS-TrafficTypeDiagnostic: AM0PR0502MB4036: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-Forefront-PRVS: 04433051BF X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TYP6Nf183JbXWj0pcEfQ+oYwlsOXz40PCNWVwFmaWp7p7pPA+yDQzkMU3WJuDxsBBMNtZb0FXuYC1I76YSdvP6qGIAysc0vNojLWSIA5I42Tnr9ePQrrd21uzNtUQkIaf8tLq32oW9SXVrlwQsXc1LwceJvzFRk1RYscyQQB5tPmsjH9qjuNYS1Naosmpz0i0m3B2yXgD4k+ErA4xUGLnyeQMsPvPPlFpru7D+Jq32BJht/UAXu6NRFcbQx+NDDgQt0CwtI24A51/P43Gtyx1CuVDU64JhlBg+EYd5Pl+O4ml4+PjDfldTfiqYK2PTGt X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB3874.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(956004)(52116002)(7696005)(8676002)(2616005)(36756003)(55016002)(86362001)(316002)(26005)(107886003)(4326008)(16526019)(186003)(478600001)(8936002)(5660300002)(66946007)(66476007)(6666004)(66556008)(2906002)(8886007)(6916009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: xkq7aW/XWH14yWm3fS/zJUG/5BOzDgKkKMJhc/Et8z/ntAbudKrUBuwe2LpiuJj2hFQedQsT2c1FQQgbvlV4w1DdzFq/e3V9DMa+OcSEuBT60gwGrlW6UaXgXVar8CM/djXvaeZhs5/6um5xkS8pr158xkTdX0XASvxOpohNeSMibRpgwx/41Yf/UJSts3z/cuJAj0nszXxu2ZK6zNrm/uCmWsdOr1RkYrAwuK/oTOKsqJp1YMTAmqCBnhXNXbLZb1S28+ZBdmF4/pkD9N2I7DuFuV6gz0O6GfrSABmfCXtnGddWUDpM+TpFAppSPApPAW609qrvMalW6NrdapQ4ndAFz3BAdguiuGo5bq1rTy0sgROV7RO0GCWP2WWzr7R1Dn8KfRCP4ND3NERmHhFlb6ErR2FxBc3rmZA2eNXd1ymPnsYalsxQyCr4W2q36SX8A16t1Idm6ky/7mFGFAltvhe+v66YRGBP6dZWkEpFjZs= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: d751c98f-946b-4715-d2be-08d81751372e X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2020 08:41:26.1888 (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: ru7LS/lTg3FKPC/OEu4aCv8eokC2+CX/3IVsJDdJjdg5YsqiXp6Pq8bWPt1Ozy0Ae8FRMLFdI/MacvELT54QKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4036 Subject: [dpdk-dev] [PATCH 1/3] common/mlx5: add default miss action 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" Add dv_create_action_default_miss wrapper function for the action added to the rdma-core MLX5DV_FLOW_ACTION_DEFAULT_MISS. When a packet matches MLX5DV_FLOW_ACTION_DEFAULT_MISS action it is steered to the default miss of the verbs steering domain. Signed-off-by: Shiri Kuzin Acked-by: Matan Azrad --- drivers/common/mlx5/Makefile | 5 +++++ drivers/common/mlx5/linux/meson.build | 2 ++ drivers/common/mlx5/linux/mlx5_glue.c | 13 +++++++++++++ drivers/common/mlx5/linux/mlx5_glue.h | 1 + 4 files changed, 21 insertions(+) diff --git a/drivers/common/mlx5/Makefile b/drivers/common/mlx5/Makefile index 622bde4..f6c762b 100644 --- a/drivers/common/mlx5/Makefile +++ b/drivers/common/mlx5/Makefile @@ -157,6 +157,11 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh enum MLX5DV_FLOW_ACTION_COUNTERS_DEVX \ $(AUTOCONF_OUTPUT) $Q sh -- '$<' '$@' \ + HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS \ + infiniband/mlx5dv.h \ + enum MLX5DV_FLOW_ACTION_DEFAULT_MISS \ + $(AUTOCONF_OUTPUT) + $Q sh -- '$<' '$@' \ HAVE_IBV_DEVX_ASYNC \ infiniband/mlx5dv.h \ func mlx5dv_devx_obj_query_async \ diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build index 638bb2b..2294213 100644 --- a/drivers/common/mlx5/linux/meson.build +++ b/drivers/common/mlx5/linux/meson.build @@ -95,6 +95,8 @@ has_sym_args = [ 'mlx5dv_devx_obj_create' ], [ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h', 'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ], + [ 'HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS', 'infiniband/mlx5dv.h', + 'MLX5DV_FLOW_ACTION_DEFAULT_MISS' ], [ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h', 'mlx5dv_devx_obj_query_async' ], [ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h', diff --git a/drivers/common/mlx5/linux/mlx5_glue.c b/drivers/common/mlx5/linux/mlx5_glue.c index c91ee33..62c4cc7 100644 --- a/drivers/common/mlx5/linux/mlx5_glue.c +++ b/drivers/common/mlx5/linux/mlx5_glue.c @@ -795,6 +795,17 @@ #endif } +static void * +mlx5_glue_dr_create_flow_action_default_miss(void) +{ +#if defined(HAVE_MLX5DV_DR) && defined(HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS) + return mlx5dv_dr_action_create_default_miss(); +#else + errno = ENOTSUP; + return NULL; +#endif +} + static int mlx5_glue_dv_destroy_flow(void *flow_id) { @@ -1276,6 +1287,8 @@ .dv_create_flow_action_tag = mlx5_glue_dv_create_flow_action_tag, .dv_create_flow_action_meter = mlx5_glue_dv_create_flow_action_meter, .dv_modify_flow_action_meter = mlx5_glue_dv_modify_flow_action_meter, + .dr_create_flow_action_default_miss = + mlx5_glue_dr_create_flow_action_default_miss, .dv_destroy_flow = mlx5_glue_dv_destroy_flow, .dv_destroy_flow_matcher = mlx5_glue_dv_destroy_flow_matcher, .dv_open_device = mlx5_glue_dv_open_device, diff --git a/drivers/common/mlx5/linux/mlx5_glue.h b/drivers/common/mlx5/linux/mlx5_glue.h index 5d238a4..069d854 100644 --- a/drivers/common/mlx5/linux/mlx5_glue.h +++ b/drivers/common/mlx5/linux/mlx5_glue.h @@ -237,6 +237,7 @@ struct mlx5_glue { (struct mlx5dv_dr_flow_meter_attr *attr); int (*dv_modify_flow_action_meter)(void *action, struct mlx5dv_dr_flow_meter_attr *attr, uint64_t modify_bits); + void *(*dr_create_flow_action_default_miss)(void); int (*dv_destroy_flow)(void *flow); int (*dv_destroy_flow_matcher)(void *matcher); struct ibv_context *(*dv_open_device)(struct ibv_device *device); -- 1.8.3.1