From patchwork Wed Oct 17 02:07:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 46936 X-Patchwork-Delegate: shahafs@mellanox.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C843558EC; Wed, 17 Oct 2018 04:07:57 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0056.outbound.protection.outlook.com [104.47.2.56]) by dpdk.org (Postfix) with ESMTP id 4FF3E58EC for ; Wed, 17 Oct 2018 04:07:57 +0200 (CEST) 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=der/7bIa7KcLaA2sUwgzXqyyKsp36Ulm8nu3YzKh6Cg=; b=hc/TLb+7ikYtk5ptcDbKWYZ6mVx72kM+PeXFp+ZVh1o1c0sAe9yWqcpMVG5R42msL9QYWWhijMLOlma9R+erV+J3OHGkvEEIM0JMlVQIqloPBETOCq5EKPTN/NbNoMGh86KgKZxFzh8Qq4CEY/g+kxHyJOWrpHjqbhUS8MwO5Zw= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB3946.eurprd05.prod.outlook.com (52.134.71.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.21; Wed, 17 Oct 2018 02:07:53 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc%3]) with mapi id 15.20.1228.027; Wed, 17 Oct 2018 02:07:53 +0000 From: Yongseok Koh To: Shahaf Shuler CC: "dev@dpdk.org" , Yongseok Koh , Ori Kam Thread-Topic: [PATCH 1/5] net/mlx5: add warning message for Direct Verbs flow Thread-Index: AQHUZb4253JTlEw6sECbjdrVVyILSA== Date: Wed, 17 Oct 2018 02:07:52 +0000 Message-ID: <20181017020739.11203-1-yskoh@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR01CA0006.prod.exchangelabs.com (2603:10b6:a02:80::19) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB3946; 6:Sr83FPhnV9mW6nvO5pHFGNcDPa3XkjldKPtif9Sqg9nQ4sBilijUbbkAafH7s1MUbJYN7ev79rFoHG4wuxCh2NjP6a2JFD9kZqH/uki5Y6AX1k0Bg8jVsXlrZzcOjW9NpzJpeE80VyMJQ/wk5tPZpngC5NEopsuNUtInrA+kDP2274jHAV8DmhWK66w4lBkDoYLtEZR4j5CCn4V/N/G8cwrz2tLDCLFSVU9XlqDmkTZfglo/CSsjXWH61qW2qwPFCSAPwDV472aWD24nZvzkoykQ6MsLuznqJHz90KDFFxjTlHocyQ/Eg+JG17fPhKPp3+VxFjR+jgOe/sRFOrCFNd60MQZ4/f1oez86FVpRsfzHP+ZNXRlBPZUrAIb0s7ILJpuAo7ZVxB67wYDBtJpJRdmS9gyMY6HGNcP91xhNwgFMeMNe4Yk0S//5zUaAdghZxs8xlKxhoJ+bbkEk9WfuSA==; 5:uobduXFQRCOOdACSp/0S6yzxN4yvKSUuvKOBPEuxq5UIIbVc5HG63yR+CIYsfM+S6sbTAxKuwkInvTdVgyIC4LB5De5evnbED9CHEjrOF9AJ4mC888SfgokrP6M99656VBNKsodKnn/7WCnDxpSAp07t4M9xMdVsiEjekVoTWXs=; 7:PHQDk2xrsCDJnkcYui4rOwxkqrOLEW99jyEAK72OypPUBt/Ool+yc8YS4J08PVZRUWZRSFcL0IIYyLlDYprcI18dFykaz2Yt8P+aC7MF+Tnww1WvOu6Es01ygHoOxN5FV/Z4eqoY1fY3k8Z3/vdT+8Qi3100N1dUSDIRmhUFhtm3+eSl0sgWDPIlGhojZeiaxCXr7nnlabaZQ6s3emyO7d5PVOrwz8xe0H4rdy+bizFL9vDUdUwRzLcuoLbEdlaX x-ms-office365-filtering-correlation-id: 6cc7d163-acf9-4fd0-fbbc-08d633d5586e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3946; x-ms-traffictypediagnostic: DB3PR0502MB3946: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991084); SRVR:DB3PR0502MB3946; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3946; x-forefront-prvs: 08286A0BE2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(376002)(136003)(366004)(199004)(189003)(71200400001)(71190400001)(105586002)(66066001)(97736004)(86362001)(52116002)(2900100001)(99286004)(107886003)(36756003)(478600001)(14454004)(15650500001)(5250100002)(106356001)(54906003)(316002)(37006003)(6636002)(6486002)(256004)(305945005)(8936002)(2616005)(476003)(14444005)(486006)(6436002)(81166006)(81156014)(8676002)(53936002)(6862004)(4326008)(2906002)(25786009)(6512007)(5660300001)(186003)(7736002)(1076002)(102836004)(68736007)(3846002)(26005)(386003)(6116002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3946; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: V0+1t6QFoHDa0U7A8gzyOw2dUfWDmRnSJy13ufsZzqlNVMK4VX7ZKIZqdHwGBqVBnu9hZo9ajiYqsS2H0I8UgpaeNfcCUnVOr/n7gz121CZA9O9CmGZzrMMWym3jGgggvySlNQbcczDl9im/jIhneCCaLD9/irN+LC9FEL1M5Drdins3NZOuk7Yg0ERaDXpU8idXdGHwHMSDI/puyKkeAaQFr8EUpiuXLTu126U7eHAjAd4aDEXYJzwidjrV/DDpFHT95dDH79MxArHAdPsi5X5bC++ymgF8tiRKBk28rVeVgzdx7sP5w3/+hKO08wTX8x6BrnBNsFEiIOYUER86Y56bl4GR23+UCedZcxDL1Wc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc7d163-acf9-4fd0-fbbc-08d633d5586e X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2018 02:07:52.9222 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3946 Subject: [dpdk-dev] [PATCH 1/5] net/mlx5: add warning message for Direct Verbs flow 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" In case that the library doesn't support DV flow, if enabled by 'dv_flow_en=1', print out a warning message and disable it. Fixes: 51e72d386c99 ("net/mlx5: add runtime parameter to enable Direct Verbs") Cc: orika@mellanox.com Signed-off-by: Yongseok Koh Acked-by: Ori Kam Acked-by: Ori Kam --- drivers/net/mlx5/mlx5.c | 6 ++++++ drivers/net/mlx5/mlx5_flow.c | 20 +++++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 795a219771..70b8626126 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1016,6 +1016,12 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, cs_desc.counter_type, cs_desc.num_of_cs, cs_desc.attributes); #endif +#ifndef HAVE_IBV_FLOW_DV_SUPPORT + if (config.dv_flow_en) { + DRV_LOG(WARNING, "DV flow is not supported"); + config.dv_flow_en = 0; + } +#endif config.ind_table_max_size = attr.rss_caps.max_rwq_indirection_table_size; /* diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index bd70fce248..04e287f160 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -1673,25 +1673,19 @@ const struct mlx5_flow_driver_ops mlx5_flow_null_drv_ops = { * Pointer to the flow attributes. * * @return - * flow driver type if supported, MLX5_FLOW_TYPE_MAX otherwise. + * flow driver type, MLX5_FLOW_TYPE_MAX otherwise. */ static enum mlx5_flow_drv_type -flow_get_drv_type(struct rte_eth_dev *dev __rte_unused, - const struct rte_flow_attr *attr) +flow_get_drv_type(struct rte_eth_dev *dev, const struct rte_flow_attr *attr) { - struct priv *priv __rte_unused = dev->data->dev_private; + struct priv *priv = dev->data->dev_private; enum mlx5_flow_drv_type type = MLX5_FLOW_TYPE_MAX; - if (attr->transfer) { + if (attr->transfer) type = MLX5_FLOW_TYPE_TCF; - } else { -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - type = priv->config.dv_flow_en ? MLX5_FLOW_TYPE_DV : - MLX5_FLOW_TYPE_VERBS; -#else - type = MLX5_FLOW_TYPE_VERBS; -#endif - } + else + type = priv->config.dv_flow_en ? MLX5_FLOW_TYPE_DV : + MLX5_FLOW_TYPE_VERBS; return type; } From patchwork Wed Oct 17 02:07:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 46938 X-Patchwork-Delegate: shahafs@mellanox.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AB30B5B1E; Wed, 17 Oct 2018 04:08:02 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0056.outbound.protection.outlook.com [104.47.2.56]) by dpdk.org (Postfix) with ESMTP id 3D93F1E2F for ; Wed, 17 Oct 2018 04:07:57 +0200 (CEST) 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=EhnWReKjzrPEM3GOYuEcxZWWi5dxGD3phixBkww1P+o=; b=KnfCaZwTBMROW1nOlWrUkPmdVJthYtyBO8/jcKvXX2lTD+cl624AC+7V87UfVxdMjSLPksTMm5BB3VC0EuD/OOsJkCOqvYl18Bb8/ipnb3YXhK8oIz3lD3B8nIS+OQMY5VIGrHcg/9bEAlihXvzJkLrOAlhalqmEGOFvpR3kw2U= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB3946.eurprd05.prod.outlook.com (52.134.71.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.21; Wed, 17 Oct 2018 02:07:54 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc%3]) with mapi id 15.20.1228.027; Wed, 17 Oct 2018 02:07:54 +0000 From: Yongseok Koh To: Shahaf Shuler CC: "dev@dpdk.org" , Yongseok Koh , Ori Kam Thread-Topic: [PATCH 2/5] net/mlx5: fix UDP hash field flag in Direct Verbs Thread-Index: AQHUZb43wBXsSjLya02YJLS+/QJG7Q== Date: Wed, 17 Oct 2018 02:07:54 +0000 Message-ID: <20181017020739.11203-2-yskoh@mellanox.com> References: <20181017020739.11203-1-yskoh@mellanox.com> In-Reply-To: <20181017020739.11203-1-yskoh@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR01CA0006.prod.exchangelabs.com (2603:10b6:a02:80::19) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB3946; 6:AgeQl0kE1OpbfzhBj4uKCBb0QvDLANy+bJV56oLdDlB+WRZi8FFm29x0cAb8rjxdVC1P7CJt4/lFl7OO3xb+knWNI3uC0B5Rxv9+1cGHJ+lLbUzirbfKOcvOOi3x7hSLK1wsNSpAmcs1gMbwOUD275kJon/ntNHmp0i/a9yz/MS8qAaWHLtS8ognQM28HFiN6bf1s+/AJJW9i9aP9HC47wHhgUz8SiUJI3cDLAx4/5dMeFPyj8hA9FEQDtQoR/mAKkLEgrkdT5LheHarc81Q7MDDopwo/s/DxBq0uLuYYaoctXQJC9yelNuKlRPU1zOQRNXjRBzBCsqHpqynwif+ExMCdBTmynWBfqp4ksJOS9eTkjqIaknR5jDDxfjDolAGgXlLOaNsLhXolibHFTatiIHPlkCgzN+NJj2zKBcFq06Tdcx5b8LFbxeETg3eTpc1ceSibL+yJYAwSnDXG7lrVg==; 5:RQeKWcvlBvOZRvkH/QC3w0kHwV+K2nuiS6ufqhUI4mM7CuVQ30NbvFSLjFzGPeRcS/3YKIFP90Nl9o10sSStmbaQWFbPZj9/HbSy4kG9d9BjSVxXwi1eT0jCLjaDk6LhATxVCg9pvdvaKfzc+/fJtpCXixTlPZnmCR7ONukoc4U=; 7:yaGSKNsZaBD2Dy7dClFZ5X3C9UPcTXxQVplu2b/U909BcDnKfTcnTdvcu03bPDtZwPGb2LPbOfgpI4zWVbtN/Q5T4Bm9kGJhJgmOAOkq/N6mzbHavBn26A6bYst2wGiCO7TWtkDd28K3syfUBs6RSXeXtVhrB4J+jquxRL59Wse9bWyeZHsDJL32oLgrUXzi7ZytT0viz4LLS/xPom2xH6iRGIx5Tn3Xalo8rl4uGfoSf1LQ0fdCjnMo1q8tADg7 x-ms-office365-filtering-correlation-id: 8a77a327-41ee-42be-a246-08d633d55958 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3946; x-ms-traffictypediagnostic: DB3PR0502MB3946: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991084); SRVR:DB3PR0502MB3946; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3946; x-forefront-prvs: 08286A0BE2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(376002)(136003)(366004)(199004)(189003)(71200400001)(71190400001)(105586002)(66066001)(97736004)(76176011)(86362001)(52116002)(2900100001)(99286004)(107886003)(36756003)(478600001)(14454004)(5250100002)(106356001)(54906003)(316002)(446003)(37006003)(6636002)(6486002)(11346002)(256004)(305945005)(8936002)(2616005)(476003)(486006)(6436002)(81166006)(81156014)(8676002)(53936002)(6862004)(4326008)(2906002)(25786009)(6512007)(5660300001)(186003)(7736002)(1076002)(102836004)(68736007)(3846002)(26005)(386003)(6116002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3946; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: SHG9ziIS+4xTChJJuAeDmRIYQ3gHX9VbDRg4L9PboKRW3DIsyXt+5FV9/1xYjL5Xgw8LYHqwMkacuI83Y7WKxRVc9rkOOgY+swf0qmAoyiIelzN7m/VcPUHudJRK2pNNSKeAwJrJc2w8phq8uSVKqdA2F6YdgsMCW/L9yAuFMeb5F1pwZTSfuovHccjlsicw8Rf1qDCJBNwRVrgCfMcYoe47pi543ti/IRGksTZIdqw+fxaSWolaveK6MlsFSSav2vr9PYSMERrlQlnOQCN4Laegn8ovKIHSioN/j8BOK7U6Aaqz+nC9H7JKea8tikBE0lNxIhfluURyORuSeFi3xxzCLaajEqNvy6/VlizPGRQ= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a77a327-41ee-42be-a246-08d633d55958 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2018 02:07:54.4222 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3946 Subject: [dpdk-dev] [PATCH 2/5] net/mlx5: fix UDP hash field flag in Direct Verbs 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" Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Cc: orika@mellanox.com Signed-off-by: Yongseok Koh Acked-by: Ori Kam Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow_dv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index becbc57b55..2b362dae11 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -925,9 +925,9 @@ flow_dv_create_item(void *matcher, void *key, tmatcher->priority = MLX5_PRIORITY_MAP_L4; dev_flow->verbs.hash_fields |= mlx5_flow_hashfields_adjust(dev_flow, inner, - ETH_RSS_TCP, - (IBV_RX_HASH_SRC_PORT_TCP | - IBV_RX_HASH_DST_PORT_TCP)); + ETH_RSS_UDP, + (IBV_RX_HASH_SRC_PORT_UDP | + IBV_RX_HASH_DST_PORT_UDP)); break; case RTE_FLOW_ITEM_TYPE_NVGRE: flow_dv_translate_item_nvgre(tmatcher->mask.buf, key, item, From patchwork Wed Oct 17 02:07:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 46937 X-Patchwork-Delegate: shahafs@mellanox.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 61C265B38; Wed, 17 Oct 2018 04:08:00 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0056.outbound.protection.outlook.com [104.47.2.56]) by dpdk.org (Postfix) with ESMTP id 617765A6A for ; Wed, 17 Oct 2018 04:07:57 +0200 (CEST) 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=573lbmPhmLa8e5XqCGSTGZ7j3XlN5o1zB0CTeLGr22k=; b=FWDMrWQ4jtE7yIJFlWFFP7Pm8T+tm5GsfaXvH38qeE7d3OY8ZvGQRxrnEqtNlnCtcCkaLCwaz4f0wX6kByEQijTO+iSKXrH0Ej2auCz240noW0VJ7wS1N5khYqY5xPk4yTHZfVKmEtE4tDDfmqYW54jYnP5HgGLSJVhn2x/1ioY= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB3946.eurprd05.prod.outlook.com (52.134.71.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.21; Wed, 17 Oct 2018 02:07:56 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc%3]) with mapi id 15.20.1228.027; Wed, 17 Oct 2018 02:07:56 +0000 From: Yongseok Koh To: Shahaf Shuler CC: "dev@dpdk.org" , Yongseok Koh , Ori Kam Thread-Topic: [PATCH 3/5] net/mlx5: fix item validation in Direct Verbs Thread-Index: AQHUZb44AcExSwUxDk2qtSFWK9hDtg== Date: Wed, 17 Oct 2018 02:07:55 +0000 Message-ID: <20181017020739.11203-3-yskoh@mellanox.com> References: <20181017020739.11203-1-yskoh@mellanox.com> In-Reply-To: <20181017020739.11203-1-yskoh@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR01CA0006.prod.exchangelabs.com (2603:10b6:a02:80::19) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB3946; 6:2CmzNNL3weD+RBFCaNiqeYgS6cKWecZo98ukVKe3fr6+fvMf6KENpnvLzuQfmZ/xTmmD4PlSgaTQEiwKePyOJnWlgSgyzhOQPVygWc80pO0xiBF/Gh23qwrc9u5gxDzYGyOtuOz93EVBr+lKFSW1IqJVNmVd60lEzeBCClEVSJgJnlUdV+ZUVqNkYeaTAiuegfEOPQwvNiD/25oQXdK1PBLKCCYd/BLXP687laRxI6gQ511Ru2+qzFhmqQ9jWYzkZaTCuni2y+RttJE8BmsEOqPQBjqMClOoFfFSRumU1sSGiIS/WRXMf5e6Uj3sRVnGjN0GEL2fhoSxbdMiQoqMvrxmupayw7e3v3DkixKdllIPhOSOGgQv5nX5X5kkMKI7f1mGROPaGJxTw4iVIeAii8IS/HsJkMRbQazc4ppYkm1hiKF57BD1gKU29muT/8/Ne25DQMYnW6XEu1z8YoNzGw==; 5:AtXmohlC9B0yTvrl57nAARob48oTvCE4sePXYOpTXvIQEgDNBIoHtF+NY1mQKkTHSIooOcwxl7k/vYwRH2GEESQxevqwBrLH4rVFcwl0qi0R2v0zo89wbO6iwGEhIgESdoHqs/6re9RujztCCHXk4rmqCggBYGov62K8bUksMjE=; 7:kXxBSkDMB9ksgQ3gB00tbh+sOX3nTBCH3gzHk1q39lQgnsdxp9CldREuN/QO7fjtkMM/KXrPuN1768cBg7Y7AZOZIvvmjgfXFgB3IqaIzMx0OR6oGe1V8h0t0yK767QMei38+Wr/2mj3K6N6s00FX8uFc954hYQu6ZtkEMUtROhwl6+CtzO163W3N7Vzbcs9VEKawEGO55QkyGaT9HMMRY8zZoYC6adFf52U26gqXYnOkV0SMySx19cNvL4/njs8 x-ms-office365-filtering-correlation-id: 25e06db3-2f52-498c-840f-08d633d55a3d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3946; x-ms-traffictypediagnostic: DB3PR0502MB3946: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991084); SRVR:DB3PR0502MB3946; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3946; x-forefront-prvs: 08286A0BE2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(376002)(136003)(366004)(199004)(189003)(71200400001)(71190400001)(105586002)(66066001)(97736004)(76176011)(86362001)(52116002)(2900100001)(99286004)(107886003)(36756003)(478600001)(14454004)(5250100002)(106356001)(54906003)(316002)(446003)(37006003)(6636002)(6486002)(11346002)(256004)(305945005)(8936002)(2616005)(476003)(14444005)(486006)(6436002)(81166006)(81156014)(8676002)(53936002)(6862004)(4326008)(2906002)(25786009)(6512007)(5660300001)(186003)(7736002)(1076002)(102836004)(68736007)(3846002)(26005)(386003)(6116002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3946; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: QWra94VE93Zshr3KglLXA2MF+cK+3Ml1bLXZAf44ARAn+LlO3qhp6lMKUao/uNMdpsEvr6LGfiRa/DN19/2skXwQad5mE3/MCzgGi2dHyp6TbVMybTDyF2XK5JY5Mhs22KAsaZUTpv62WYO8feV+mVk1KSUzckH+0Ny++23TtyJfeTbUGbrNF+jJqawwdu7C6QGCjIs366Q9jEGdJeAwrN/3AlJyPbF85JfNqKF7Vow5CQiIWsi0FuqqBRq0NyHiU02119z1rTmTuqlEDSNGZ9KYff5jqkHU+44it3StzGT8M7O6QrbRKmbN1l0KWNXE8jwdKy1/3wWMmBxhRDY1glWrmt8zJ5JkrlaPPxJkLgY= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25e06db3-2f52-498c-840f-08d633d55a3d X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2018 02:07:55.9691 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3946 Subject: [dpdk-dev] [PATCH 3/5] net/mlx5: fix item validation in Direct Verbs 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" 1) remove MPLS item in validation as it doesn't have a translator. 2) add missing NVGRE item to validation 3) match switch-case order between validation and translation. Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Fixes: 3d69434113d1 ("net/mlx5: add Direct Verbs validation function") Cc: orika@mellanox.com Signed-off-by: Yongseok Koh Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow_dv.c | 50 +++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 2b362dae11..ea8e1f4831 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -164,6 +164,17 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, ((const struct rte_flow_item_ipv6 *) items->spec)->hdr.proto; break; + case RTE_FLOW_ITEM_TYPE_TCP: + ret = mlx5_flow_validate_item_tcp + (items, item_flags, + next_protocol, + &rte_flow_item_tcp_mask, + error); + if (ret < 0) + return ret; + item_flags |= tunnel ? MLX5_FLOW_LAYER_INNER_L4_TCP : + MLX5_FLOW_LAYER_OUTER_L4_TCP; + break; case RTE_FLOW_ITEM_TYPE_UDP: ret = mlx5_flow_validate_item_udp(items, item_flags, next_protocol, @@ -173,16 +184,13 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, item_flags |= tunnel ? MLX5_FLOW_LAYER_INNER_L4_UDP : MLX5_FLOW_LAYER_OUTER_L4_UDP; break; - case RTE_FLOW_ITEM_TYPE_TCP: - ret = mlx5_flow_validate_item_tcp - (items, item_flags, - next_protocol, - &rte_flow_item_tcp_mask, - error); + case RTE_FLOW_ITEM_TYPE_GRE: + case RTE_FLOW_ITEM_TYPE_NVGRE: + ret = mlx5_flow_validate_item_gre(items, item_flags, + next_protocol, error); if (ret < 0) return ret; - item_flags |= tunnel ? MLX5_FLOW_LAYER_INNER_L4_TCP : - MLX5_FLOW_LAYER_OUTER_L4_TCP; + item_flags |= MLX5_FLOW_LAYER_GRE; break; case RTE_FLOW_ITEM_TYPE_VXLAN: ret = mlx5_flow_validate_item_vxlan(items, item_flags, @@ -199,21 +207,6 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, return ret; item_flags |= MLX5_FLOW_LAYER_VXLAN_GPE; break; - case RTE_FLOW_ITEM_TYPE_GRE: - ret = mlx5_flow_validate_item_gre(items, item_flags, - next_protocol, error); - if (ret < 0) - return ret; - item_flags |= MLX5_FLOW_LAYER_GRE; - break; - case RTE_FLOW_ITEM_TYPE_MPLS: - ret = mlx5_flow_validate_item_mpls(items, item_flags, - next_protocol, - error); - if (ret < 0) - return ret; - item_flags |= MLX5_FLOW_LAYER_MPLS; - break; default: return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ITEM, @@ -879,9 +872,6 @@ flow_dv_create_item(void *matcher, void *key, struct mlx5_flow_dv_matcher *tmatcher = matcher; switch (item->type) { - case RTE_FLOW_ITEM_TYPE_VOID: - case RTE_FLOW_ITEM_TYPE_END: - break; case RTE_FLOW_ITEM_TYPE_ETH: flow_dv_translate_item_eth(tmatcher->mask.buf, key, item, inner); @@ -929,14 +919,14 @@ flow_dv_create_item(void *matcher, void *key, (IBV_RX_HASH_SRC_PORT_UDP | IBV_RX_HASH_DST_PORT_UDP)); break; - case RTE_FLOW_ITEM_TYPE_NVGRE: - flow_dv_translate_item_nvgre(tmatcher->mask.buf, key, item, - inner); - break; case RTE_FLOW_ITEM_TYPE_GRE: flow_dv_translate_item_gre(tmatcher->mask.buf, key, item, inner); break; + case RTE_FLOW_ITEM_TYPE_NVGRE: + flow_dv_translate_item_nvgre(tmatcher->mask.buf, key, item, + inner); + break; case RTE_FLOW_ITEM_TYPE_VXLAN: case RTE_FLOW_ITEM_TYPE_VXLAN_GPE: flow_dv_translate_item_vxlan(tmatcher->mask.buf, key, item, From patchwork Wed Oct 17 02:07:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 46939 X-Patchwork-Delegate: shahafs@mellanox.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 016F55F22; Wed, 17 Oct 2018 04:08:05 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0083.outbound.protection.outlook.com [104.47.2.83]) by dpdk.org (Postfix) with ESMTP id B19035B16 for ; Wed, 17 Oct 2018 04:07:58 +0200 (CEST) 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=AL6mPvzYSfolVceCConU16gD3RLoLmAGj7n5xjCPnIE=; b=Fz9C7gj1NP4ypm2Cv8Rm3R1d4lPc6Q0rEq+zRRYlT01M1J6PeiApclKBLYLjCrX99c6FrTenPMJ3YLuDLBLkPcCNmWr48L3E00AuI/O0Ah/6er6MByOR6Tl+ZSH9cg3rax6lCwY37kGrwzX8EzDNnsJTQa1wKt32rJXoDP0Docw= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB3946.eurprd05.prod.outlook.com (52.134.71.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.21; Wed, 17 Oct 2018 02:07:57 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc%3]) with mapi id 15.20.1228.027; Wed, 17 Oct 2018 02:07:57 +0000 From: Yongseok Koh To: Shahaf Shuler CC: "dev@dpdk.org" , Yongseok Koh , Ori Kam Thread-Topic: [PATCH 4/5] net/mlx5: fix wildcard item for Direct Verbs Thread-Index: AQHUZb44Sv6Ho+4ohEShzRKzUMWDDg== Date: Wed, 17 Oct 2018 02:07:57 +0000 Message-ID: <20181017020739.11203-4-yskoh@mellanox.com> References: <20181017020739.11203-1-yskoh@mellanox.com> In-Reply-To: <20181017020739.11203-1-yskoh@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR01CA0006.prod.exchangelabs.com (2603:10b6:a02:80::19) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB3946; 6:aPUlKvREtL5tDG07XIh4l6KlwMxCDHG21x3k67MA56T799uYkKzReTPqXJvSb/XKUzwpwBtQFGvIHepKEJeTwXnAXcE4xK65WWZwuZ1GO3uDGmjVNvRVphXhEDqSjDbtxwsUsqQzWRea/jvHxAgysPXwWWaP53Fz9nQyjmqBLo3pdxhIX2canHTL+NNiqr/CKJ/N1rxo2X7e4Xem+CfsX5fmyTTrmjcrZx8xA+H4BX96jXekCjRzcCTpIwPcvr7q6FQYdK5pbYH6Gg+x3ikq59vuef9CzmMnL/5zZFtIJ1BkIHAVUwYvQ75VaMqp6Z20nASdwn2uX8fc/HJi5UeJ8VEXt6JaP5PId0DyJ1J9NJojznxNVc8hqrVcsiNBTGJWqSXgbLxx74mFZG2vbq7tqTrlqmUSHTtkN8XrKfJrYkAS1kZs7eB5YDKietvHEOOAbAGVqq0IYwmyPH+rbq781A==; 5:4HRECztZ/hGKyq+PwU1AJB9Nd5a/kwy16iTyIXQ+FwgT2ieb5SCDvbOHuiXBZyjZjib0S6lDj2aywKyBW5zYpJZDRCJ0Ge3GqqKIkjuCSJk3ry9Ml/8KFEHW/qU6CIHncUSY8q5QsbIQAB7+2f7HBmBoulGe55cydI8IITPyhdE=; 7:2036nQUslS6qtUw5keUWBW0YiLe6F+2RASWfhb0aG4sSO1Y5JTfH6jt4AyRyxDbO5L5MC3+0n3Z524nyomK2S0vth/rx+Dex9KUDREug6sjzq2UV+3TVaBrvyiSf7dlWp4b5vUm3oIX+wEVbJsJZ9W9x2sKq0WHPnDt+lSXZ/ku5AfH6E1H2SoC9oqc6uAIVLTbBRRbA+XWutFfvJyoWz+VOThHsr5TKcajvnNgjh8/9dMu9Jv334S/tjQUJSxVz x-ms-office365-filtering-correlation-id: eca9f5b0-c2a7-4ab4-ef47-08d633d55b2b x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3946; x-ms-traffictypediagnostic: DB3PR0502MB3946: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991084); SRVR:DB3PR0502MB3946; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3946; x-forefront-prvs: 08286A0BE2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(376002)(136003)(366004)(199004)(189003)(71200400001)(71190400001)(105586002)(66066001)(97736004)(76176011)(86362001)(52116002)(2900100001)(99286004)(107886003)(36756003)(478600001)(14454004)(5250100002)(106356001)(54906003)(316002)(446003)(37006003)(6636002)(6486002)(11346002)(256004)(305945005)(8936002)(2616005)(476003)(486006)(6436002)(81166006)(81156014)(8676002)(53936002)(6862004)(4326008)(2906002)(25786009)(6512007)(5660300001)(186003)(7736002)(1076002)(102836004)(68736007)(3846002)(26005)(386003)(6116002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3946; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: /oidMuCv/XIOjgQH0GzGnFbMLSYR9eRtNLD+J6F4sMdninQYCu6TSfRnvefI43DTLE6q4lt5r8b3jlBDQU+Niq7T6oK/VKBGkS/EuSqGjNXljasdi5bEOmXGdprBf5YhmwUMjvk4Nx2RyeZlybBGoAjT+L8YrflmwAAn2Jf4WjBTKCm1eeexkeCZE7hLYD03a4/kPLXAv/UYErXbZMRzkper4JE0y8eavifTJJTaMAfLeVQuH9FcFl33itJ27NlBfVY1y8BHfb0pGuZJdrMv/LiIyDqdGFNPCprTrnuTuM8R0OMgryE/TYBuPpl0i5bM3MBIi2IIbJWjYEoH9Mg+qUuPcv14gTcnS93PLI0FQBc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: eca9f5b0-c2a7-4ab4-ef47-08d633d55b2b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2018 02:07:57.5785 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3946 Subject: [dpdk-dev] [PATCH 4/5] net/mlx5: fix wildcard item for Direct Verbs 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" If a network layer is specified with no spec, it means wildcard match. flow_dv_translate_item_*() returns without writing anything if spec is null and it causes creation of wrong flow. E.g., the following flow has to patch with any ipv4 packet. flow create 0 ingress pattern eth / ipv4 / end actions ... But, with the current code, it matches any packet because PMD doesn't write anything about IPv4. The matcher value and mask becomes completely zero. It should have written the IP version at least. It is same for the rest of items. Even if the spec is null, PMD has to write constant fields before return, e.g. IP version and IP protocol number. Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Cc: orika@mellanox.com Signed-off-by: Yongseok Koh Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow_dv.c | 55 ++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index ea8e1f4831..0c09ac8026 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -2,7 +2,6 @@ * Copyright 2018 Mellanox Technologies, Ltd */ - #include #include #include @@ -474,10 +473,6 @@ flow_dv_translate_item_ipv4(void *matcher, void *key, char *l24_v; uint8_t tos; - if (!ipv4_v) - return; - if (!ipv4_m) - ipv4_m = &nic_mask; if (inner) { headers_m = MLX5_ADDR_OF(fte_match_param, matcher, inner_headers); @@ -489,6 +484,10 @@ flow_dv_translate_item_ipv4(void *matcher, void *key, } MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf); MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_version, 4); + if (!ipv4_v) + return; + if (!ipv4_m) + ipv4_m = &nic_mask; l24_m = MLX5_ADDR_OF(fte_match_set_lyr_2_4, headers_m, dst_ipv4_dst_ipv6.ipv4_layout.ipv4); l24_v = MLX5_ADDR_OF(fte_match_set_lyr_2_4, headers_v, @@ -557,10 +556,6 @@ flow_dv_translate_item_ipv6(void *matcher, void *key, int i; int size; - if (!ipv6_v) - return; - if (!ipv6_m) - ipv6_m = &nic_mask; if (inner) { headers_m = MLX5_ADDR_OF(fte_match_param, matcher, inner_headers); @@ -570,6 +565,12 @@ flow_dv_translate_item_ipv6(void *matcher, void *key, outer_headers); headers_v = MLX5_ADDR_OF(fte_match_param, key, outer_headers); } + MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf); + MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_version, 6); + if (!ipv6_v) + return; + if (!ipv6_m) + ipv6_m = &nic_mask; size = sizeof(ipv6_m->hdr.dst_addr); l24_m = MLX5_ADDR_OF(fte_match_set_lyr_2_4, headers_m, dst_ipv4_dst_ipv6.ipv6_layout.ipv6); @@ -585,8 +586,6 @@ flow_dv_translate_item_ipv6(void *matcher, void *key, memcpy(l24_m, ipv6_m->hdr.src_addr, size); for (i = 0; i < size; ++i) l24_v[i] = l24_m[i] & ipv6_v->hdr.src_addr[i]; - MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf); - MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_version, 6); /* TOS. */ vtc_m = rte_be_to_cpu_32(ipv6_m->hdr.vtc_flow); vtc_v = rte_be_to_cpu_32(ipv6_m->hdr.vtc_flow & ipv6_v->hdr.vtc_flow); @@ -635,10 +634,6 @@ flow_dv_translate_item_tcp(void *matcher, void *key, void *headers_m; void *headers_v; - if (!tcp_v) - return; - if (!tcp_m) - tcp_m = &rte_flow_item_tcp_mask; if (inner) { headers_m = MLX5_ADDR_OF(fte_match_param, matcher, inner_headers); @@ -650,6 +645,10 @@ flow_dv_translate_item_tcp(void *matcher, void *key, } MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_protocol, 0xff); MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, IPPROTO_TCP); + if (!tcp_v) + return; + if (!tcp_m) + tcp_m = &rte_flow_item_tcp_mask; MLX5_SET(fte_match_set_lyr_2_4, headers_m, tcp_sport, rte_be_to_cpu_16(tcp_m->hdr.src_port)); MLX5_SET(fte_match_set_lyr_2_4, headers_v, tcp_sport, @@ -682,10 +681,6 @@ flow_dv_translate_item_udp(void *matcher, void *key, void *headers_m; void *headers_v; - if (!udp_v) - return; - if (!udp_m) - udp_m = &rte_flow_item_udp_mask; if (inner) { headers_m = MLX5_ADDR_OF(fte_match_param, matcher, inner_headers); @@ -697,6 +692,10 @@ flow_dv_translate_item_udp(void *matcher, void *key, } MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_protocol, 0xff); MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, IPPROTO_UDP); + if (!udp_v) + return; + if (!udp_m) + udp_m = &rte_flow_item_udp_mask; MLX5_SET(fte_match_set_lyr_2_4, headers_m, udp_sport, rte_be_to_cpu_16(udp_m->hdr.src_port)); MLX5_SET(fte_match_set_lyr_2_4, headers_v, udp_sport, @@ -731,10 +730,6 @@ flow_dv_translate_item_gre(void *matcher, void *key, void *misc_m = MLX5_ADDR_OF(fte_match_param, matcher, misc_parameters); void *misc_v = MLX5_ADDR_OF(fte_match_param, key, misc_parameters); - if (!gre_v) - return; - if (!gre_m) - gre_m = &rte_flow_item_gre_mask; if (inner) { headers_m = MLX5_ADDR_OF(fte_match_param, matcher, inner_headers); @@ -746,6 +741,10 @@ flow_dv_translate_item_gre(void *matcher, void *key, } MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_protocol, 0xff); MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, IPPROTO_GRE); + if (!gre_v) + return; + if (!gre_m) + gre_m = &rte_flow_item_gre_mask; MLX5_SET(fte_match_set_misc, misc_m, gre_protocol, rte_be_to_cpu_16(gre_m->protocol)); MLX5_SET(fte_match_set_misc, misc_v, gre_protocol, @@ -780,6 +779,7 @@ flow_dv_translate_item_nvgre(void *matcher, void *key, int size; int i; + flow_dv_translate_item_gre(matcher, key, item, inner); if (!nvgre_v) return; if (!nvgre_m) @@ -790,7 +790,6 @@ flow_dv_translate_item_nvgre(void *matcher, void *key, memcpy(gre_key_m, tni_flow_id_m, size); for (i = 0; i < size; ++i) gre_key_v[i] = gre_key_m[i] & tni_flow_id_v[i]; - flow_dv_translate_item_gre(matcher, key, item, inner); } /** @@ -822,10 +821,6 @@ flow_dv_translate_item_vxlan(void *matcher, void *key, int size; int i; - if (!vxlan_v) - return; - if (!vxlan_m) - vxlan_m = &rte_flow_item_vxlan_mask; if (inner) { headers_m = MLX5_ADDR_OF(fte_match_param, matcher, inner_headers); @@ -841,6 +836,10 @@ flow_dv_translate_item_vxlan(void *matcher, void *key, MLX5_SET(fte_match_set_lyr_2_4, headers_m, udp_dport, 0xFFFF); MLX5_SET(fte_match_set_lyr_2_4, headers_v, udp_dport, dport); } + if (!vxlan_v) + return; + if (!vxlan_m) + vxlan_m = &rte_flow_item_vxlan_mask; size = sizeof(vxlan_m->vni); vni_m = MLX5_ADDR_OF(fte_match_set_misc, misc_m, vxlan_vni); vni_v = MLX5_ADDR_OF(fte_match_set_misc, misc_v, vxlan_vni); From patchwork Wed Oct 17 02:07:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 46940 X-Patchwork-Delegate: shahafs@mellanox.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A6F2E5F24; Wed, 17 Oct 2018 04:08:06 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0082.outbound.protection.outlook.com [104.47.2.82]) by dpdk.org (Postfix) with ESMTP id 17CB95B16 for ; Wed, 17 Oct 2018 04:08:00 +0200 (CEST) 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=4HAH8ZiWlHJ3C3cyxFme5PBTuAzwWjrHGc/RrYdadb4=; b=nnuWA3mA0SMWLHnTIC3AQf1LDfcQgHUBCwW9ghX53R2tL9T8nWZJf3Wu+n/8FrWo69QLfxMcXe8aOo0XZyFvpuTZzqssGd74DzlOOJG3nf1seGlpckvI66SLLyZnwqXYW7lvbbAjpX+qU1i9QiRR8cAIWU8SkaQJAO1DxZ5vXEY= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB3946.eurprd05.prod.outlook.com (52.134.71.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.21; Wed, 17 Oct 2018 02:07:59 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc%3]) with mapi id 15.20.1228.027; Wed, 17 Oct 2018 02:07:59 +0000 From: Yongseok Koh To: Shahaf Shuler CC: "dev@dpdk.org" , Yongseok Koh , Ori Kam Thread-Topic: [PATCH 5/5] net/mlx5: fix flow mark ID conversion in Direct Verbs Thread-Index: AQHUZb45Szve19+k0U6Ovmfkjhu73g== Date: Wed, 17 Oct 2018 02:07:59 +0000 Message-ID: <20181017020739.11203-5-yskoh@mellanox.com> References: <20181017020739.11203-1-yskoh@mellanox.com> In-Reply-To: <20181017020739.11203-1-yskoh@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR01CA0006.prod.exchangelabs.com (2603:10b6:a02:80::19) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB3946; 6:5hJXTPY4MEpw5xKBRWsrQ/E//Y78syMZnZXLE2LBPEISdcIdWpK1CAsZzsrovmB0Ja6rbsgQEUJOErlZdqz9UVVuAoTgzsyTgvbzymAcWvCJIBHapfp/THlzNRtnBJsM5fTJ1Xxfl973dUEqObljJ1zr+zdtwOZ9z7ivJ5vMK+w/C/66QzRtr/iygh8S5TX2Azm3nGcRWWQ245IBbnCWKV+zNrsjgOEX8uUkPkZeLd/f+QO+t6US8Eiz+YNZ9BJaq2tD0Ofa8wVc1JQgVdBFOMdk2/kZUPdqZQOm0XSjF+xN6t3MOugG7yiOyl+GjEBifwOpHzPw+XzqEEDItAzrG9VudqDmojxnPPEHxphUUr8tdKja8g9hLil+Af966Asy7pqksy1In+HaPWRdCAHwExjwVtra1/UO4/nOIBXLFhMu8HmDdPckcOZeyxn+v723gBQdAlg8QQgtheg+ZEwrRw==; 5:tqKR8yg9J03H/KY+zZ7ErS/YijkkQkVdgMjzYhltIP3lS/W44hxjpOtBW5G6MNMLxfl3V1hn9Oe9tilNqIlyHACbjaFVV7rQHjEBd1lJfCF2H+cuUae6P0Up3IdooXUQbIjbK44pJpik4quYCPqvoPnVSzvn6hzFjPEBOrVoFG0=; 7:N2xbBCF6CkLNmVvR5h5Sg71DntiarXCZUHQ/HuLgmasmcMDzDQ5qvtr1iKi4ecIGq0b2uKWZWRthIltKetq5Z+VJztZ0sE9YlGR8w8xGJh3U0XM09QAjOPipnbKbyYV0XBcYg05TrbbZ41H6NQTwh8jIojRbDcwQM2RcbK7XWr6k0RFQBSnFqW58zp0MNuPhlXW2rctrrlK3b+aMgPnUn260sbJad1xO5Zv4ZWOm9xEKwDiJJr0cVANHBqg6HF9d x-ms-office365-filtering-correlation-id: 5de96f84-f7b8-4b2a-1f3b-08d633d55c1f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3946; x-ms-traffictypediagnostic: DB3PR0502MB3946: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991084); SRVR:DB3PR0502MB3946; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3946; x-forefront-prvs: 08286A0BE2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(376002)(136003)(366004)(199004)(189003)(71200400001)(71190400001)(105586002)(66066001)(97736004)(76176011)(86362001)(52116002)(2900100001)(99286004)(107886003)(36756003)(478600001)(14454004)(5250100002)(106356001)(54906003)(316002)(446003)(37006003)(6636002)(6486002)(11346002)(256004)(305945005)(8936002)(2616005)(476003)(486006)(6436002)(81166006)(81156014)(8676002)(53936002)(6862004)(4326008)(2906002)(25786009)(6512007)(5660300001)(186003)(7736002)(1076002)(102836004)(68736007)(3846002)(26005)(386003)(6116002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3946; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: XODAsGi8d5OguFt+6L1UvIArvH8JoAVw7M/GmFtbHABOzpd4O6fbMfQW1nydIifrB9e414pCnwJdjTIhHsPz98Go7ubXQ4jfA6kuCnBQTxj0P4KK6y7/ypD5Qir4+FFBQv9vpZ0iFh3QQNwuAXdXJh1kvhl6Mij4h5NauEvkVf+7lTqV5lRMn5JidubdweHQ6oicy+oGutkTfqlSLdQ4HB0aT3GAuvrcA8dFhfYc4WToEvsmMMD8Ke2eRaQWajBKrPRxH+H89+VSPKtL3SAgWNRH65mEsjwM3Jae3jiy0A0+L9a+nOCBgnyZ0xJidIPLQI2QndGM4YeR4hIhBZSPoQVhZpLiEfKT+P1xTasSYJs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5de96f84-f7b8-4b2a-1f3b-08d633d55c1f X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2018 02:07:59.1410 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3946 Subject: [dpdk-dev] [PATCH 5/5] net/mlx5: fix flow mark ID conversion in Direct Verbs 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" Fixes: d02cb0691299 ("net/mlx5: add Direct Verbs translate actions") Cc: orika@mellanox.com Signed-off-by: Yongseok Koh Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow_dv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 0c09ac8026..cbda05455a 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -959,15 +959,16 @@ flow_dv_create_action(const struct rte_flow_action *action, case RTE_FLOW_ACTION_TYPE_FLAG: dev_flow->dv.actions[actions_n].type = MLX5DV_FLOW_ACTION_TAG; dev_flow->dv.actions[actions_n].tag_value = - MLX5_FLOW_MARK_DEFAULT; + mlx5_flow_mark_set(MLX5_FLOW_MARK_DEFAULT); actions_n++; flow->actions |= MLX5_FLOW_ACTION_FLAG; break; case RTE_FLOW_ACTION_TYPE_MARK: dev_flow->dv.actions[actions_n].type = MLX5DV_FLOW_ACTION_TAG; dev_flow->dv.actions[actions_n].tag_value = - ((const struct rte_flow_action_mark *) - (action->conf))->id; + mlx5_flow_mark_set + (((const struct rte_flow_action_mark *) + (action->conf))->id); flow->actions |= MLX5_FLOW_ACTION_MARK; actions_n++; break;