From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0076.outbound.protection.outlook.com [104.47.2.76]) by dpdk.org (Postfix) with ESMTP id 83126A495; Tue, 23 Jan 2018 18:08:45 +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=rNISYQscgWTxgqv42UbkIGH9awjeG6dtZdzuA4Uga8o=; b=ccfzpGAEQOfqX076lqdi9FNIqkPsSrFJI4DdpeAm/ZyG++NnXXRteBP87CWXBnHCHLPu1otU1KMAIy1O+g3SIpBD9rIkss5vOXtWZrXZdf5Gx7Sp/A53GE45hdOvxNeGbdKfPkEiqBpZKFqjVW8/zj6gt9lI3yvSAbR9mowItVQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; Received: from mellanox.com (141.226.120.58) by VI1PR05MB3149.eurprd05.prod.outlook.com (2603:10a6:802:1b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Tue, 23 Jan 2018 17:08:43 +0000 From: Shahaf Shuler To: nelio.laranjeiro@6wind.com, yskoh@mellanox.com, adrien.mazarguil@6wind.com Cc: dev@dpdk.org, stable@dpdk.org, Xueming Li Date: Tue, 23 Jan 2018 19:08:20 +0200 Message-Id: X-Mailer: git-send-email 2.12.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [141.226.120.58] X-ClientProxiedBy: DB6PR0402CA0020.eurprd04.prod.outlook.com (2603:10a6:4:91::30) To VI1PR05MB3149.eurprd05.prod.outlook.com (2603:10a6:802:1b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ece342a7-52ef-4854-590d-08d56283f567 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR05MB3149; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB3149; 3:M0YsMkxrWkO3A0J8933fWsHBEXSH3bumInN/V/OVPGCnb/qPVBlXAkmKhkk7RV6zSpTqjQzBIGuVp4dIa+DQLt+qmvFq7sDu+x4V4Jmx+IsBkiug7yoY7bl5oKUg08/3+gJg7617LE1AeD6YPmZIKAP0K04Vr9qHxT0s6wiun8NZrwdiJZKyAiZo+AglFulW4rUs9pkzaVRb04T9MyM886wRMvddDjr2AO2ONLRn1trPubIv2BtOEdfgg8fwe2WF; 25:pxWOHTEa9DGMAUASmclkY8ZmDU/XALru9RuAmJ+wSEGEX3JO1MR6nlmKyXfP+XK6NXaLheLvl72j8JWAVzTw800qyTbwvcOi/Uns8m1QgBwPmvQQCie9h6f0/CXG38GCV3JT8/7Fgthg5eF+fRTSsj2fkY4LR9dYqb73zpTVDpnz8gsH5sjZNwEZYT2OH/YuSJw8dEcscfjkiAfpNYs0MtzPd6AaKGDzpEV48Sq34y5jUpa8BQj5VrKxTkeQfi4D6fA+BpN7R8qwoEXaBOk5x65VxtEo2/ZKv/frakmNyvyQzOvaWxqI7FfeMZFRJEieY+81brQDYthvvo2tNvGX0w==; 31:WBAG7a6SpS4bHdGZrih6LbluwdFjOgguVgVQwClc4RIiRWrpC/lbQjtksjkUFwKysVFYQhECjymVWB2a44D2+LuG5BabqYNgx/XM6LiKqEtgVkuhaja513wqyX8e8u/qhktdxwOS6vvgHC52YIuvgxBE7Bov/ngOsJHPHCZgeA+2/wqst9uQ9Q6qyLMMGJTRBYX26VtSkGfkyhxvR0bh0MoP9NflTygYFDReLvseM48= X-MS-TrafficTypeDiagnostic: VI1PR05MB3149: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB3149; 20:aB9Z8wXJJ/3MZwL+fMkYjC9ofHOBU6vz6nq0WtDKLEtfQ2r7RtO15j3wxE7fgGtO/gyrGmkXdPx7gXUAFcjyF5eQ9lMVtQQczYrU3zzNRcArFUDp+qd2m6pIuQK9MLKxd9dZ4iZGCB2i9BFm3GdDql29UudSgEJYo1Zzp64c361CMllJZzewVRHaX5qagsldKF96R+stoVN4T5sVvxIQMWJmbcouYLmrLuMuNxkxPu/KAbhIszY0PlmMVcoKA0QVen0NaFQ6tmeo8EOfWsW6zGNa8k9PkbpWyrUllFUX7rRnpljQSXtQQcA53GNLFSv3P+MZe4sR58fPVDV5EIoJpgNIaHgnBI3CUksABcgqAPDE0OYLXumS58dEW7zmMV7dWKcicQpfYBMFSAhYhB+hzX+MdYw1W2C6/oCMrsoDYq/z9Py5RoFkd7CTeNuN+OsNRCu5pvWFIcIWxeJIuAbWVyDJXpk7BZQray+oivV7X0G/g9fVcASbx17y7Zjik3t1; 4:zuQmHfLdcQ7XPxBAWr8A3XRAChZzrI+q3M3dFNdiheXQBcMREPDEMKxMwAorJI0mv99WNzzGd79+B4jzeySN5rSbGccx5cUpZVODQgSDfEMJYp0kACxvOWv4Zgs/lY55+8M0dBMAtfVfeGlNV5qob4LidlDfUpU/K+vuODKHGO7YtWQlo3kgKGAPMMw+bc6a4WG40x/GXMlhZEP10cNSZJuCvENsSSif1lJBj3Z6f/Uyc/KcWQ4A5r7e2LZKUniEJJjj1UrGfiVnCX8XLb08tw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(3231023)(2400081)(944501161)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041288)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR05MB3149; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR05MB3149; X-Forefront-PRVS: 05610E64EE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(376002)(366004)(39380400002)(346002)(189003)(199004)(97736004)(47776003)(5660300001)(86362001)(25786009)(55016002)(16586007)(6666003)(50226002)(53936002)(386003)(26005)(305945005)(16526018)(2906002)(8936002)(66066001)(4326008)(48376002)(7696005)(478600001)(36756003)(68736007)(52116002)(3846002)(51416003)(7736002)(81166006)(69596002)(81156014)(2950100002)(316002)(6116002)(21086003)(59450400001)(118296001)(106356001)(76176011)(8676002)(50466002)(107886003)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB3149; 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; VI1PR05MB3149; 23:9uFR6CezWnIcuMJ5ACq4Lh1uInNEsZthM3leCB37T?= =?us-ascii?Q?fep/KYgpCIOTOJHcv8vhsXdIVrygGSQHudnTBEYAgMQqVoxlF+EjuBQa1XuB?= =?us-ascii?Q?L6mKxZTrLTjN9wFCDJ3NT8w2gBb60av+cNXxlwuABcYDsxHxSCvRzqe3NbUP?= =?us-ascii?Q?vJ8ozL7Ot7xgpjnH6Pvu7i8K2oOgYKVE7sHRjZxHQAQ0/D6F3TeFoH7pfW9H?= =?us-ascii?Q?GQml/FHTNiLEepa0/riEt1kie+8X4Os1Wg+GSrfeDPgQpxjKMEyzuV3kMe6Q?= =?us-ascii?Q?l0ITPeNWYN3FZYSL03bly2buVPjE+D8XPMGuGAI9GR0PHt/SCpTkNmtCLnlE?= =?us-ascii?Q?Df6hUAEn1rQ725kuCPxjxEoTuA3UNM9p6tKhD8yRuU7p/2HnXHA3Wjy9FReQ?= =?us-ascii?Q?520rjOWbSEpzZOkSrS2agbbLa3DZ1XGjaSjTSof69C99d/bnfRcgiMCB40Qj?= =?us-ascii?Q?UFq2J3wZ8KUWiG1bpU/Q3otH/TMpxSSFRYaHEOKvYR6sN36tKlyUx3bLeH8n?= =?us-ascii?Q?fCMOhWqd693w1zmVRk5lYRK41dFIQU6clqK4ISb5o025ZV2n3nXZrzIeIupA?= =?us-ascii?Q?qBPtfhwzTfzFJYdxSbtPXMRHLAnVUr8J1oYowqgVrAhmWiL716ABwbHwGl0o?= =?us-ascii?Q?RoV9E4Ol7IH0uUTiIKUL6/O87D6ypmdgPnS7wGjy4awOcV+LoVaiTS5RWidz?= =?us-ascii?Q?4x18vWaGehflM21hGwddeFSVjGeD9n8ln9PrY+ANjiCSWb0ZWl668D38u8hV?= =?us-ascii?Q?ae+cOxghG2M2r5gX1k1dPe1TbCwzUtVLy+iDYLW7/j7GqltrciLC6kwf3blu?= =?us-ascii?Q?WZ0TwTEXd8tLa0YjYXjQ27VfvXoCCsSp/nKh9fikFvflJCnHLVFhUEsuggQQ?= =?us-ascii?Q?p0e+fWqFXtdSiQTP/2fbiKA6gUub6JKj39RK+SZD88oXPZGTPPVRMBsjQHt9?= =?us-ascii?Q?R4OJPjwFBWdqV4uoJerxr9nPDeYKSvXbqjvAkY0cKtUx4O3eOlcFVB8A96/m?= =?us-ascii?Q?CZY0jHswqpL3gMjTdxYMisBrH0GszuVZ+IfOKkO3+OyQ2is1/VXjZ27FMzaP?= =?us-ascii?Q?FJt3gLZ0IBXBncVaydwif0wKJGzRj78SjUtw2btu7875KBG7zIAWgc1lOa6q?= =?us-ascii?Q?KK3uiE0jcPDgvHF/i7GkYWnlOcBfLAyYHOYqoB/b0XuFXpIXeDnTA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB3149; 6:GP1uhigEmjl5gHd/BCKvFM9xS0zPDcuaWrMRLD1Ggs8TrJc5V9PlutO2DKSLgD24PACs4Aep/MgDM2oXu4IOGoFyPBGhcVCiUlwfYZi/Nozghn1AoaQ74YCq9aTrmrH+uEDq0F1OnuLwKyJqapwHtHCPIDIxjylteHCtyW8HWEZ2FhfJtXZKN1oqxKETh+9eT8M19B8MM8qa/QO6QhpQHlz7CLEQ5i04rVPvThRfs8E8hips7Vjv++qnPfiK/xvz6pMWWTlZFsVTbOqj6qGW7rzrCZRcEVSYtm8REEA59fHzu3txk9Mz8xLXaydD0nuPrPOFjm0HGZzdFjPwGVLh2hR2cBCj0wIovu4my26ADos=; 5:orWnJyW0QZfEulXHxCTX1QXOkzE79y5QNHSk1aR4ELHKTmuQByWVAq0D1jMRA+qmPdnHSP5sVTCSs4Sp76ev8QoHu+o3PTO2FgwUwBGFZRFh8UZMLQbiudnvSnT0ZwbsJpwM2w6oq6OEgdGgCXHXEEHsR77+MUmprrO8KBlKXjk=; 24:qpF2wM0nSLUHrVmqbE5LpYdwqGRpzipPBx8IOCa/0j7jdcHBpItlZgPrrnliAmqabhJ/9aBbjsoCc7UGBU3//iroMnIXLC+M9y0v67l6bZo=; 7:KvDAuzLIjeE0PYaPyL8FFaONX5CDyeJOGkFj3ZxRKqd/vcAueD+amMshk8HvSNy9LPeVSG8Tesc6jbMzN93Bvh0ztdGzCaNUtZOaKQyQtW9XLtdfYZuQJJcdTH19tdjKlq4ZsEjWUwcuIkKN0BiohBiw3URjj3HV4I3sKnBMoWLi0wx1L4Caa6XM6eAmCEMo+/dcij+M28rCoTeuvaSKXgPPkOb8DEvKgIt1RfVXdLrJfJV0Hx/nnRTbfrQSuXt/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 17:08:43.1003 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ece342a7-52ef-4854-590d-08d56283f567 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB3149 Subject: [dpdk-dev] [PATCH 2/5] net/mlx5: fix secondary process mempool registration 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: Tue, 23 Jan 2018 17:08:45 -0000 Secondary process is not allowed to register mempools on the flight. The code will return invalid memory key for such case. Fixes: 87ec44ce1651 ("net/mlx5: add operations for secondary process") Cc: stable@dpdk.org Signed-off-by: Shahaf Shuler Signed-off-by: Xueming Li --- doc/guides/nics/mlx5.rst | 7 ++++++- drivers/net/mlx5/mlx5_rxtx.h | 17 ++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index bdc2216c0..2f860402f 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -106,7 +106,12 @@ Limitations - Inner RSS for VXLAN frames is not supported yet. - Hardware checksum RX offloads for VXLAN inner header are not supported yet. -- Forked secondary process not supported. +- For secondary process: + + - Forked secondary process not supported. + - All mempools must be initialized before rte_eth_dev_start(). + - Number of mempools must less than CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE + - Flow pattern without any specific vlan will match for vlan packets as well: When VLAN spec is not specified in the pattern, the matching rule will be created with VLAN as a wild card. diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index a63364d79..79cdfc793 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -550,6 +550,7 @@ mlx5_tx_mb2mr(struct mlx5_txq_data *txq, struct rte_mbuf *mb) uint16_t i = txq->mr_cache_idx; uintptr_t addr = rte_pktmbuf_mtod(mb, uintptr_t); struct mlx5_mr *mr; + struct rte_mempool *mp; assert(i < RTE_DIM(txq->mp2mr)); if (likely(txq->mp2mr[i]->start <= addr && txq->mp2mr[i]->end >= addr)) @@ -563,14 +564,24 @@ mlx5_tx_mb2mr(struct mlx5_txq_data *txq, struct rte_mbuf *mb) if (txq->mp2mr[i]->start <= addr && txq->mp2mr[i]->end >= addr) { assert(txq->mp2mr[i]->lkey != (uint32_t)-1); - assert(rte_cpu_to_be_32(txq->mp2mr[i]->mr->lkey) == - txq->mp2mr[i]->lkey); + if (rte_eal_process_type() == RTE_PROC_PRIMARY) { + assert(rte_cpu_to_be_32(txq->mp2mr[i]->mr->lkey) + == txq->mp2mr[i]->lkey); + } txq->mr_cache_idx = i; return txq->mp2mr[i]->lkey; } } txq->mr_cache_idx = 0; - mr = mlx5_txq_mp2mr_reg(txq, mlx5_tx_mb2mp(mb), i); + mp = mlx5_tx_mb2mp(mb); + if (rte_eal_process_type() != RTE_PROC_PRIMARY) { + WARN("Using unregistered mempool 0x%p(%s) in secondary process," + " please create mempool before rte_eth_dev_start()", + (void *)mp, mp->name); + assert(rte_eal_process_type() == RTE_PROC_PRIMARY); + return (uint32_t)-1; + } + mr = mlx5_txq_mp2mr_reg(txq, mp, i); /* * Request the reference to use in this queue, the original one is * kept by the control plane. -- 2.12.0