From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <matan@mellanox.com>
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0066.outbound.protection.outlook.com [104.47.0.66])
 by dpdk.org (Postfix) with ESMTP id 5875A1B04C
 for <dev@dpdk.org>; Sun,  7 Jan 2018 10:46:26 +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=he3Z6GpAM9U9n5A57KztyEHfyFETbqG4p1ctNacN3DQ=;
 b=UaabDH6GwYCQn3A9Ap9GhvALK/63eEi1ykG0iNV6xcNyfZHkJ/WOCf8VlkvlF8IWcudBGKZK8TTzbUH2F18patg/1TYGQ+/Y++cgIj+HSD5LwQcwp0Hnp6ybHFa7MlSy3a8RCkAM+By/UfNj1IEFolX/wWBFpQyEqHZ8Q9wgvN8=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=matan@mellanox.com; 
Received: from mellanox.com (37.142.13.130) by
 AM0PR0502MB3793.eurprd05.prod.outlook.com (2603:10a6:208:1e::27) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Sun, 7 Jan
 2018 09:46:23 +0000
From: Matan Azrad <matan@mellanox.com>
To: Thomas Monjalon <thomas@monjalon.net>,
 Gaetan Rivet <gaetan.rivet@6wind.com>, Jingjing Wu <jingjing.wu@intel.com>
Cc: dev@dpdk.org, Neil Horman <nhorman@tuxdriver.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Sun,  7 Jan 2018 09:45:45 +0000
Message-Id: <1515318351-4756-1-git-send-email-matan@mellanox.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1511870281-15282-1-git-send-email-matan@mellanox.com>
References: <1511870281-15282-1-git-send-email-matan@mellanox.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [37.142.13.130]
X-ClientProxiedBy: DB3PR0202CA0016.eurprd02.prod.outlook.com
 (2603:10a6:8:1::29) To AM0PR0502MB3793.eurprd05.prod.outlook.com
 (2603:10a6:208:1e::27)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: c5d1eade-76d4-4a0c-4928-08d555b383cb
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);
 SRVR:AM0PR0502MB3793; 
X-Microsoft-Exchange-Diagnostics: 1; AM0PR0502MB3793;
 3:JUzrWN3w4jr7C7ZNSSI3Fnv3Ui2XAzDRRFCs7xkCMdXHMbj2vE3eXoKnyodVD8irdOwB5xSQASGh2siYzSYUpcQMQFGKuEiAMre8DzRCva1U+iO0h2A9bDtP1T1BekoCXoEE3ZPVV/dMWwgTI93Rr8Cwdpx5xzc4ydd9RRyRD/AtF+GRXMlnwXW75VfZxkoDlTM97yam12ADIIk5YqYhUJTvfBQrJhvCuCiXgnqM4H9GCIchpdNhmHwWbB3PouDv;
 25:CCQ5FeJJydjiffYiHhAaFyFvGATpLFPRJQzJH+jo/IEnEedM1vTu7Xaev7dK2DOg5sHiTyVTRoAGTHKDL66Dit612JTiaQGydt108EDGgM5nTSbFS8FAZq7UaqG1AsLebuZ2YzpQqrz1sFYuOhlfI99Z9C3UdH+2iZ2kIn8mshmHlgyap1EUEvsdX0av/RwEGVE/mvgbeiJVKBdfsxzCuX/ecYu25ul7g8sdbdXZffvjg7UMxsDjb39P9WoMYsPplef+ePytg0a4KFcFIYU8KH06UZAt4CUvGDLWoDJVZP752MlAkaL5R8urPk/xmFRuRVl8QDenebyRieTiH++hnQ==;
 31:08tdoLVD+9ni4R4xgxEygJ8BhRmNGt914LlKJprPCxoybwaDJOcVCg09NDzqxCb21rtUDiX/GSh0Jsjlu3hFRKFidm5xcwCeHnE+gfcRgrlC0T+zepX8KE+l57j8Kbs8DQmIcdaQOlCe4ITkuTE7lNDEn75F2hDeP0cCpdtyq0Rv6hZMgmJ7jSsszsMM/UmzdomVUEwA5/KIs+5fNFmYtQLUjrPpWlRW24s6aYxV2dY=
X-MS-TrafficTypeDiagnostic: AM0PR0502MB3793:
X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
X-Microsoft-Exchange-Diagnostics: 1; AM0PR0502MB3793;
 20:S7maBBHDyYUwljvm7d6Ui5XYfTDCEtkfTnW+6ZajXwBHDgbMWVHokBAmzihZbfd/JIaTFuMvfnI7vRbXRVPo+ujJfvJhfCtXQwgn5zQnqz0NUxqV4p2iebud2d+l4yGRiCiL08IL5mXpJixUDKHUllxYlcLynQ2ukYY9HsrwfAoaIXOpSZkzm//ZyFFQmndI/2VCPbqyqZvyTK8qBsoRgtQtd8dm2oEa+SuB+ziZroYajNN5MQPxCiCDyNknxZr/Km+4W4Y5reK/XEcz3plE52Nbg2R5zPYw7nw2N0XjzKSOGoadEu4yGXc0gjdjpfBa/OnZjv0Ng0/UImv6NlfAybVuUroR/p9QC7CMyHHO0taKHi8QTQV1E7BnMOV7VseDsO8AMKJEZ3d/QqnOiTpJrd2ounUuFF0B9yy5RJzqUVUZE195avGYSKGGMeYXePq4k6808rQtNuuRz/FmLqXtvG7ImZDAPMsnOFZcOlkP/6LIOFl5s+GbbX8mVM/nKgpi;
 4:TsIY3tZM/R6d2tq53HAbA0GdmGoxXsbUmZtfQR14gikq668g+XVH4+ozMd16nt8lgAa39QJ7w+4W+NepGf6jmqeGaqhb+S4e3Sa7rjW+/krg/7KMIM6vq6nAh9wTjb8gYsVR9iOxDKyOYqrMD71tGbGig/EyvibNZ7v5sNI5DpQPHZ8YxcoMiJnqetM9KcYzyJKBCGwjDTJIzLhZjl1o/hlejQX2CO5Ai+tuw72qdJe6X+DP0UWl7qx8kLtkRY9722JR6NYiePsEvkf0fgpp5NBGuPzIa05jxMm9HmdRkRzkLPKugYh8ogsaOvaw+js5
X-Microsoft-Antispam-PRVS: <AM0PR0502MB3793CF8E668B6192EA0E9713D2120@AM0PR0502MB3793.eurprd05.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(60795455431006);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(944501075)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(6072148)(201708071742011);
 SRVR:AM0PR0502MB3793; BCL:0; PCL:0; RULEID:(100000803101)(100110400095);
 SRVR:AM0PR0502MB3793; 
X-Forefront-PRVS: 0545EFAC9A
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(346002)(396003)(366004)(39860400002)(39380400002)(376002)(199004)(189003)(105586002)(66066001)(8676002)(305945005)(52116002)(47776003)(68736007)(7696005)(76176011)(7736002)(2950100002)(25786009)(81156014)(478600001)(69596002)(55016002)(106356001)(51416003)(48376002)(2906002)(4720700003)(6666003)(6116002)(81166006)(97736004)(59450400001)(50226002)(16586007)(54906003)(53936002)(33026002)(36756003)(50466002)(16526018)(5660300001)(4326008)(386003)(316002)(3846002)(21086003)(86362001)(110136005)(8936002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3793; H:mellanox.com; FPR:; SPF:None;
 PTR:InfoNoRecords; A:1; MX: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; AM0PR0502MB3793;
 23:qzhnsHpL3nJZyQ2Ly5bNjvlROrkeXo0jkqCPvLk?=
 =?us-ascii?Q?jOcNHtzUqDGWFf0oEv3u0gZ7lgW7WfXCPmdZ+rrwMnjCF9RP0QDF8LIGmJlU?=
 =?us-ascii?Q?+9DRwCq5eCKGmbY2BKz1B0XMge5+x2E7Sbv+XMHn6mummct0J2SY8aedUh5k?=
 =?us-ascii?Q?lW66zjsWD+KPK7nV3giimtHwteWsUKbmF5sjOTDnrfHiqEk6cvFhsCJTwS6J?=
 =?us-ascii?Q?8EmbU/kPpEceEB9TR6gj6s0nCkDN6fbPsOCO+etrnh4oJcA8slmS9gbvJmDw?=
 =?us-ascii?Q?2UTmykdBzhTSxekRrrc5VaP65pF+bx8SCOcInw7iToTsUgw4w1msYnQOpNZa?=
 =?us-ascii?Q?DNLhzCzFP/SSli49l2huTvdLnue5Jqs+20d0Fpq/wt48S7KVe3ALQOHkVkKL?=
 =?us-ascii?Q?Z2SvgU22DcDRvQle/GDL7jfEqnmJjHu8VQRv6kgy6m3Nolsj+Y4JCVyD3GGU?=
 =?us-ascii?Q?2g67HdvuyDzm6Zfj3c+fh3aDk0/RYxOps44RxgxSjQtUE8MhWy8ZKPj6etm/?=
 =?us-ascii?Q?EpI8CBWzIyY5Ct5uT0MCs73nb8S0fz+SaOUm5OCfWcmRd1fvXCGIcgs8Z85O?=
 =?us-ascii?Q?WN9TXPUjii2BWCyJ0iyHGcSafEQo1DyS4LZDoOYRIkMk+O2PTL83nLZ4679x?=
 =?us-ascii?Q?AZCyQ9FCtKei5Oid2YVY9iJLOpXIo8717sEqOS4U6ojNzTedj/TwgMEPt5o/?=
 =?us-ascii?Q?EFMWshLFe10nKFTPR/drsxVvRs72CiXJ3TfzBMGrRnfW6HRJ+VUL80bmFu90?=
 =?us-ascii?Q?McFdBkcmReQ5NptsnMCmucRX8CwLJJAo8Jk6aSk4kSBXBw0SB/EcsWxltaCw?=
 =?us-ascii?Q?eY0zB2BihZOiXUqvIA8DVSZXZFQoxUnhwIg1QpzCApavKDcApKVlomsuUy7v?=
 =?us-ascii?Q?xhHoDWp13MM9PNYnJbI0KIxo1wFo2WY1i6Z8xoBoEzud94iTVheokog3b/S7?=
 =?us-ascii?Q?3yTyqCAyvNAICuyP0LAeLWVS09g5eKFSYTMeI73AodYIJZzrSiNZeK4Z+3Hm?=
 =?us-ascii?Q?5w3IN2afaKzeRW3t7wiw1fk+8IjVwDK2JLhdDPYTFp8P2+axtUbe+35UN6jL?=
 =?us-ascii?Q?yEwJS4XatrBmTvCcvT6JABI6WEPcxZcdPZFFqdE56UXlx8KpEi/Sb1onegB1?=
 =?us-ascii?Q?mHd5Q0qeuNSRXBpJYQ+DHdvr/qM9vFawU/tF2z29+lG9NZhR9DpdKuKrXOZh?=
 =?us-ascii?Q?Qc/tC1J66Ctrn6n9WE/uuOOGOgHDS9D18XRZi?=
X-Microsoft-Exchange-Diagnostics: 1; AM0PR0502MB3793;
 6:OMTHf5vrCSh3eJR7/Vik9+O+E9vbZbK6YkPSEfoUmlARp44dgVkOCyQq2zqbfmd2Xaifj4OAb/LYWHCWNtrz4nL05j7zsSeBsFCYmDB+kB86BaQBIT63OhKqVGoNrxz3h/btQr0namdRmoqHsVbUr3hRSqdrKuvwNCf8Zeg5RXLp9HXpYq2aJwB1SKfv02aFHCo7eXnwAyuxvRqrXqbOAV4O98Ij8wePDnGJO9pO0S6uDnQhe/TxzeWROp3cQKXvrD8nPv5neltqewwAlURoqfFWzIbIs1JKp/juJUAtcgKldzbx3v0XXe9+kLGloMzXe9g/3SlAE0QaT8eHEzT9dKn5q+4oSlYkCpcpfRZryww=;
 5:eCfFWIByJwyF69w5p8R680pmTNI+UXS6tbcbQ4NAaQM3t5J1daJlybkqFfrSx+/YTjCt0OjFvBf5o2WY6wwVKL9vYHm55rcpLOt2FZ7HOBDHdQnOFkPAJwntaUs8L7F04XWmlrWT3kW0Kfr+W4u3nj7bAy90oWCDqtA2Hobm5Jk=;
 24:2pW++Wnen4udQSE2PDugx/cHE4XcTvfDWjZ6OYes/zBTsFWbzu9SLgCvjT8NlJwceO0V4+g25XnKLAf3gdU6g/Hkd58gOJ33Nle+kVSt928=;
 7:O0T3M+hOLqoJ9V+IJ/VvOOfxYnViPeRrQlHvIt20HGboRBi8WPr3Q0MDNr2eeadqFINBZQS+Hi7TksmTk2LUpF4d3XUf+x0tWjuSeEC81ytOf4ceDs5rid4LZa+kjJU4evffbJjBUeQqkDQHpX5Ju9/DUxgJsvMlbrwCsTY95eYtaFHIibyDVB5YAffd01aw8MG2GUCisawp4lyA+qhOMFtt0hsCZ0VEW6VeeZscF2sGapBn+SD15j32XH5JJHPE
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2018 09:46:23.1437 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c5d1eade-76d4-4a0c-4928-08d555b383cb
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3793
Subject: [dpdk-dev] [PATCH v2 0/6] ethdev: port ownership
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sun, 07 Jan 2018 09:46:26 -0000

Add ownership mechanism to DPDK Ethernet devices to avoid multiple management of a device by different DPDK entities.

V2:  
Synchronize ethdev port creation.
Synchronize port ownership mechanism.
Rename owner remove API to rte_eth_dev_owner_unset.
Remove "ethdev: free a port by a dedicated API" patch - passed to another series.
Add "ethdev: fix port data reset timing" patch.
Cahnge owner get API to return int value and to pass copy of the owner structure.
Adjust testpmd to the improved owner get API.
Adjust documentations.


Points:
1. rte_eth_dev_owner_claim API was suggested as a blocked API to set owner, I didn't find use case for this.
2. Add comments for all APIs which are required ownership setting before the calling - still was not done, other suggestions?  


Matan Azrad (6):
  ethdev: fix port data reset timing
  ethdev: add port ownership
  ethdev: synchronize port allocation
  net/failsafe: free an eth port by a dedicated API
  net/failsafe: use ownership mechanism to own ports
  app/testpmd: adjust ethdev port ownership

 app/test-pmd/cmdline.c                  |  88 +++++-------
 app/test-pmd/cmdline_flow.c             |   2 +-
 app/test-pmd/config.c                   |  37 ++---
 app/test-pmd/parameters.c               |   4 +-
 app/test-pmd/testpmd.c                  |  63 ++++++---
 app/test-pmd/testpmd.h                  |   3 +
 config/common_base                      |   4 +-
 doc/guides/prog_guide/poll_mode_drv.rst |  14 +-
 drivers/net/failsafe/failsafe.c         |   7 +
 drivers/net/failsafe/failsafe_eal.c     |  10 ++
 drivers/net/failsafe/failsafe_ether.c   |   2 +-
 drivers/net/failsafe/failsafe_private.h |   2 +
 lib/librte_ether/rte_ethdev.c           | 243 +++++++++++++++++++++++++++++---
 lib/librte_ether/rte_ethdev.h           |  89 ++++++++++++
 lib/librte_ether/rte_ethdev_version.map |  12 ++
 15 files changed, 462 insertions(+), 118 deletions(-)

-- 
1.8.3.1