From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20058.outbound.protection.outlook.com [40.107.2.58]) by dpdk.org (Postfix) with ESMTP id F1B121B21C; Thu, 11 Jan 2018 08:58:11 +0100 (CET) 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; bh=mXXAq/BnyoZeyOQ4SMMLjEHUyUN5PGjHCKndeS7C3W4=; b=TTT3jG3SQoCADKZ8pegcXEM3Zz/1LX8a7ekcz7w4xRWWZq0NSxIy/793ne6KPxGCppVPVUY0c7VItJmOOR026sZD9kpZFIO41WUS1O9SVYmSoCDRxAK/gY4xoZRd9RtP6jlViQ0IWrpw0qdkfMht/5EZAqGa59kZYOQ7L6L3faE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by DB6PR0501MB2039.eurprd05.prod.outlook.com (2603:10a6:4:6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Thu, 11 Jan 2018 07:58:08 +0000 From: Yongseok Koh To: adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Cc: dev@dpdk.org, Yongseok Koh , stable@dpdk.org Date: Wed, 10 Jan 2018 23:57:53 -0800 Message-Id: <20180111075753.34391-1-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: MWHPR21CA0072.namprd21.prod.outlook.com (2603:10b6:300:db::34) To DB6PR0501MB2039.eurprd05.prod.outlook.com (2603:10a6:4:6::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e96d26a6-ec0b-4d34-d5d5-08d558c90e2f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020063)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0501MB2039; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 3:bc1NaSzHVRCDg1csmFdnfDmu+cbmcloSi29crOBhcbkkvT4g14xcAQKkWMi/3Odd3oUvLz8oIV6pMWOKCpz3hFz2CCTb7Cdu1Eq2gkP8sh4g4Q62vybA6WJtRQRfUYVE2L036l60aOPMplw9DVpQzWPwMmf1jOncOFThFotcVqffBbG/N5pimEZdRhxFzE3j6A+E3c27wLso4ALQ4VEtrluyPoSeM1s/u5ipErXAoviz/tXCwdif/wNdDHVxZhFo; 25:2ijKXqEqwNxoUWV9iUzPcOIFDROF2+g2p1gU5QS/aht4QRm9VOZpSgH2PHstAuIoW/80WyzoN/xPrLp2C1SsxeHT7oqfmopH6xGnora2CPi2EI2ufMYF5MoM/HAIOejEgH6fTgk269SpbdzzETxdrHC1QL8fNp+gRhS/QqHgt00iXCxtB6sQhxwDSqpfz0bua4ocn5qcEBcA9UWxDeVFNxBzLMzMWkT8CyeWDRq0XiAYFbvaSRfEkHLYk+6eET66+iD+Yy0iLjeUvVg04fwTe9FKRijpnQHLd+cn2SYxGKqKQHvR0909G8Pr8Q0mdoL4Ebw/VLLC2592GFHn2tZPpA==; 31:zZEOpDUETe6StKRkGKgKUDpaiQa/jzrjrPwR2bgSl4U9t6NYOe3vwbD4FT2loMUtuxv3j6RHgz/h9P7WQ040OJLTwpt3wKcRyqZS8zQBeVGQtgeY+hc+S8Ev0FAhKT1xfToUlLAtYfY5sTNVPYGK4m6UurBHeaGT+vCZiv5EMdhGUSJwE26FKphff+gwJKPKhkbNd2RElD8oQFAA9G2oHq3IegdBF9s53+wGvM+XHQ4= X-MS-TrafficTypeDiagnostic: DB6PR0501MB2039: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 20:ubTJShnJko6IsG8AL34MA06rLcYPyUzLjaPrBI0ZQq1XaS/4tfmMX7d0s2DE+a5WXFF0llQNVQovqth7MB8trzDUSzFXQa4krymycHlR73gAzJvR1qxvEjULTPXcs1Jpy2G2B47tfsXddjm8R712NBWgQdaO8/zRjAweAqjEqLL8k9Dx8K+BARYYi9n7xVbKOiGVXWneFoI6egZe5tozX0kQ+EYzI7WKHChTEyUfJgbsfhsC0IE/xi8Sk/OG/eJOdJFvcZut+qs58pacOWMWxO+Yp8MvFQ8vpFUnSd53HhVdIgfITgtEMEkIgKyo2LzncC4slJ4vzW67GMJnyKF6k74xWcspBakQS04Cp1o4BvD9fkJZCD3YYwn+17k6MBuYBBq9fXkdhBzr+0IhgH5PTqrFrGEHaS2a6fJ3FqnTPjGBUrr0O8HPWCSa6zjOxdWjLaP+0txs6r/xY618lQoE2VRzCXLAXGREGhkS5CK2cKKgGSPcEKGNo8LxBfLD9I3U; 4:ktDufA73lPE2vVWE+Lfh/C0sDvNkrLDAJq+0l4PJpWqHHLSO0UlfKk+zDPljEBVpLOA30oRH1oyJ6md/PI93Lbv1JXxclrtHyxoyBsMf7m1zf+MWFUULxYOlht/BdLbkF1x8gVHdDk+lYaYQqO60GXB2Qlya0QwsvMhP7Nw6/Au9SxKFo1viINmXC1fte6QnU8I8899k15AgonMamI/EG2wZeDfRDdc7hk397gioRA0dcLjfFbOcWPRNwiNz4SqUuzJRHZ+OILT2ZEb4ZY+AIQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(944501134)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:DB6PR0501MB2039; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0501MB2039; X-Forefront-PRVS: 0549E6FD50 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(376002)(396003)(366004)(346002)(189003)(199004)(81156014)(55016002)(81166006)(68736007)(8676002)(106356001)(316002)(16586007)(8936002)(7736002)(305945005)(2906002)(5660300001)(3846002)(36756003)(51416003)(52116002)(7696005)(50226002)(97736004)(6666003)(25786009)(1076002)(6116002)(53936002)(4326008)(386003)(66066001)(47776003)(86362001)(478600001)(21086003)(105586002)(69596002)(16526018)(50466002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2039; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2039; 23:5kyPNn1w8x4QSrX8M9K8rj+hm7ksK/pYgXNr7tI?= =?us-ascii?Q?yBVXZdO/8J3voTfULmtvpPKkY3uusyxCrjtB78+kc0sf5jhJ9lM9OUG5WGh6?= =?us-ascii?Q?FkCILA9Xe9xXgj61AaXIy1Wf2SJG9Pk+BomQgz30KiGzujLq4PLzub5dDNBM?= =?us-ascii?Q?lVa7Q2OzhRBVLAL8+1AcEmrwxlW3Vlf6tO7W+ulVfKnIc8W82ih+68+yC9Ha?= =?us-ascii?Q?A2vx0Qz9KDB3TSgchJSDUwQSgIGbG2ipPYSARGBxipqAw0PW8yVPoI5QGlQW?= =?us-ascii?Q?Y9e6gyj+yPguNhpjrym78AG3T7cmabTazidSlt9o11zdSmE2Z566tUf79X2O?= =?us-ascii?Q?H4FrsaG365RJLIoeFSProVLKwDOk6HLn4DcJa9xxRQvCPJMMqFrghOaaBoNB?= =?us-ascii?Q?HfIZh4xciuBc/VgTV5YW85LI8hoJOQM4u9rHVXvIqgymCt64QjxYxGbMQ82i?= =?us-ascii?Q?b7bBmetJkFFx+22poPb1BboSwN+/ty7cb3wHRiM4+KFr1dnZkbJgNC13BP7T?= =?us-ascii?Q?fHeCT095bgA1/wAUsbn3yMW++RlTjSKACaqYNArpkR30Vbgl5RZ6pf/1rh5m?= =?us-ascii?Q?J35Vizryq8jH0XgUJfRCV/mJ4/ipoIPASxrVLKytfi7BP8+aJgMXEAGLL5tE?= =?us-ascii?Q?wTt+Lmx6DspAtVGvw1Y6/QGMQ6Wfwr1e0DzmvKrlEvCvf66GVjnVct6euhmz?= =?us-ascii?Q?vn5w5KBrIJrkY7w6yMBD72XTRgINXauN8NhMBn8c6Zr3pS9Vyr/rBq1QT1sI?= =?us-ascii?Q?qA2AYAkKt11H5gV66yyEYUJNfX9j7K+X1UOJ91J4RAGF22cTpFWDDOgeRUNX?= =?us-ascii?Q?jFQODD9rSwUXXezT+OIU1EPJa4akjr2JHAkMH+FfjC2zcoXNCyenqgaCwUEi?= =?us-ascii?Q?UyawiabfODerD2dzoFER+JNCaTTilLCe/66z3pzhvZhyY4a9RK2ZJTi5ng67?= =?us-ascii?Q?PQMfJ75OugjnE/7Pb5llUz/PDGFAjJu0nKCDannohXZdWbcM/f0Gx+4MkS8V?= =?us-ascii?Q?OLWMLBGbS+feJOtyCwKCOU866MyzBxlsPjpHaegXoOV9+/FINM7B1uzn3rp0?= =?us-ascii?Q?+nrd8aTk=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 6:VZPJCqhVyCRUQpR2sGCkkn56VZ+s8ahathRk57BX7GG+xF8FwGuVNskqVBdEve8NF1J2BoSnTgJMA4MUhuQoNX/Edb1+Yku6FdMdvRku35Cx/ubYRDJ33eOyzmcXNueZ+2fSbyYth/lG6E04NBv1WmTMqSaAoZEXebnZvf14uSbzEOGwXshNPbJAtHCiBbEycTDbhcXE076LxpUYsKr/8DCRY30egJN0BcQj1rgUyPE9fY5Z8wv1b6WZ6BN2jfi1pyTR1cSrYMVtu89tvJe43HKxMQcoGaJIGZfinii3NyJXiWFiiLx47QQ36hOG6W5JXr5mTxWZpyWQ/JAdXRtfFnaLSgzWOwo5Xy1ertiGvlw=; 5:Y6mrhXU8TPMY5DMaxs5IBG0f8NSTdgoLGdqmdWOQcmOLJLimmpH1o9770WAKPK2+6hcAmv16A5WQEMQ3DdMoGl6BDhM+9WGE6aNs78x3ASXIKNQV7EfkEBpIJedzn2q5swDLBitzoztqIPa0as9GKNkCB6XyOCpbVTPdAYLhAcs=; 24:9xeqCL0pFsrP7rCJ60IqqX3mYo8RXTw/XJyq5tmMLznnI9dZ179J6h8CIv0YRhDKgE9y2VVJytiSu+kj2yC/loOFAvGvRAeTqQ2wHsg5eh4=; 7:WkzR+vsImfw1UbEpOyvP9DqJXk4AANX4BrlKOrv68oky0yZkOmlk6NurhaaYJzrqD0Ty0tIu485vZWwaet9/yqcYjRCI14tt1rA9NOa3+u6Xf8dRbriAoqTLj3VVDCPGX4/Q4Vgp0zhOZy7nqK40iWjuH/+EA/0VYSJcwhdeB0WG2IPYugoEelSTm/vTNl666ql/hvLwUxa4Tc8vB8vqqGZwbbayNcaPWgL2CiTv6/oJnuKSBrqaqp07OqMRwX0U SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2018 07:58:08.1073 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e96d26a6-ec0b-4d34-d5d5-08d558c90e2f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2039 Subject: [dpdk-dev] [PATCH] net/mlx5: fix calculation of flow ID flag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Jan 2018 07:58:12 -0000 PKT_RX_FDIR_ID should be set only if flow_tag is neither non-zero nor MLX5_FLOW_MARK_DEFAULT. Fixes: 6cb559d67b83 ("net/mlx5: add vectorized Rx/Tx burst for x86") Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for ARM") Cc: stable@dpdk.org Reported-by: Xueming Li Signed-off-by: Yongseok Koh Acked-by: Xueming Li --- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 10 +++++++--- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h index 62155dbfd..e11565f69 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h @@ -583,11 +583,15 @@ rxq_cq_to_ptype_oflags_v(struct mlx5_rxq_data *rxq, if (rxq->mark) { const uint32x4_t ft_def = vdupq_n_u32(MLX5_FLOW_MARK_DEFAULT); const uint32x4_t fdir_flags = vdupq_n_u32(PKT_RX_FDIR); - const uint32x4_t fdir_id_flags = vdupq_n_u32(PKT_RX_FDIR_ID); + uint32x4_t fdir_id_flags = vdupq_n_u32(PKT_RX_FDIR_ID); + uint32x4_t invalid_mask; /* Check if flow tag is non-zero then set PKT_RX_FDIR. */ - ol_flags = vorrq_u32(ol_flags, vbicq_u32(fdir_flags, - vceqzq_u32(flow_tag))); + invalid_mask = vceqzq_u32(flow_tag); + ol_flags = vorrq_u32(ol_flags, + vbicq_u32(fdir_flags, invalid_mask)); + /* Mask out invalid entries. */ + fdir_id_flags = vbicq_u32(fdir_id_flags, invalid_mask); /* Check if flow tag MLX5_FLOW_MARK_DEFAULT. */ ol_flags = vorrq_u32(ol_flags, vbicq_u32(fdir_id_flags, diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h index 24fc90aa7..559b0237e 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h @@ -584,7 +584,7 @@ rxq_cq_to_ptype_oflags_v(struct mlx5_rxq_data *rxq, __m128i cqes[4], _mm_set_epi32(0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00); const __m128i fdir_flags = _mm_set1_epi32(PKT_RX_FDIR); - const __m128i fdir_id_flags = _mm_set1_epi32(PKT_RX_FDIR_ID); + __m128i fdir_id_flags = _mm_set1_epi32(PKT_RX_FDIR_ID); __m128i flow_tag, invalid_mask; flow_tag = _mm_and_si128(pinfo, pinfo_ft_mask); @@ -594,7 +594,7 @@ rxq_cq_to_ptype_oflags_v(struct mlx5_rxq_data *rxq, __m128i cqes[4], _mm_andnot_si128(invalid_mask, fdir_flags)); /* Mask out invalid entries. */ - flow_tag = _mm_andnot_si128(invalid_mask, flow_tag); + fdir_id_flags = _mm_andnot_si128(invalid_mask, fdir_id_flags); /* Check if flow tag MLX5_FLOW_MARK_DEFAULT. */ ol_flags = _mm_or_si128(ol_flags, _mm_andnot_si128( -- 2.11.0