Message ID | 1508447700-11394-1-git-send-email-rasland@mellanox.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ferruh Yigit |
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 0921C1B2E2; Thu, 19 Oct 2017 23:15:19 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0062.outbound.protection.outlook.com [104.47.0.62]) by dpdk.org (Postfix) with ESMTP id 6770B1B2A6 for <dev@dpdk.org>; Thu, 19 Oct 2017 23:15:17 +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; bh=vmsMrJbiWaZ/vP4pBLaOdTxLke+XK1JQK9QY/72coJQ=; b=F7p9vjcuPS2EpkjiK1j8+Rx9VsdV3cpXg8ctpBHF77SHPsMtsdjvF1IvcOK9qAc395uTyM6MMnC4fDPKa+rozJMH7+I6PZACPXx9sa+57ypMzvkm/AnNc7f9+H8bwX2Gp1HjuHocDvwE28K5jVct/Vo3/I0GhF3b/pThITaI/qM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rasland@mellanox.com; Received: from mellanox.com (37.142.13.130) by VI1PR05MB1232.eurprd05.prod.outlook.com (2a01:111:e400:582e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.156.4; Thu, 19 Oct 2017 21:15:13 +0000 From: Raslan Darawsheh <rasland@mellanox.com> To: gaetan.rivet@6wind.com Cc: dev@dpdk.org, thomas@monjalon.net Date: Fri, 20 Oct 2017 00:15:00 +0300 Message-Id: <1508447700-11394-1-git-send-email-rasland@mellanox.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: VI1P18901CA0003.EURP189.PROD.OUTLOOK.COM (2603:10a6:801::13) To VI1PR05MB1232.eurprd05.prod.outlook.com (2a01:111:e400:582e::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ea6e9973-110f-4229-6720-08d517367d07 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254172)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199)(201703131423095); SRVR:VI1PR05MB1232; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1232; 3:Z0PPK3/wAk7l53gIqdYKM1LG0R2tdzAxWOkrP4Uhg9AWhWQF0KpIsoqVD19j6zHHemEv/yq4ipUueMoIZ3DXKsdjaBlXwT5xMXtjBc1BBXbSXPYdW+02Q0iu1oCDGwXhomqT50g5TsK0NNnRaOAaMkzENJlQc1Dba2mSxZ2rOQUXhjaqiALRRKxMyj7HRCXHWe49kj1PcGH6Mi9x2R4qmlXp1/gVtppblXc+ocfRjxR5A8JcB4OQfy1WxJHYF02l; 25:F77uubIvmjyUqaLFcC1EAXSCVpGZN1uaE+8/Ud+2+KOetpGXoe4K0OEx2VNjWwo69F7g61jCbXZFWy/ob21E2ALZWjFEGUV3EJkejkdQowmWzXDYEaNpvlcRYGmJ075hk4vqYO0lvIuTKf6lKeyfrPqIHbTUjpXyIfd/vHDtn8E9arS2J1lG2mopHqeh0fxfpwN5M7GCyu8PrNHYLF2T3k2cfH0cQ0NhitpoOqTL93k6Y5bcukKygMpo8auj0gcn9s2Z0k4yYzsZcvckI4p5k8tFpUYDvu8OhhyzvUJdcAs9jc9T956CM51GcUdTGfUg8eS/RdiiosBaxULhIbqYfg==; 31:9XC3ukZWtvuCg5ze5lEhVsJhDc9dI8NCozL+XTMx/JXoxFnyf+MtZOSk3Gn5zu7fMKBxbWZhTyi1H60CUHRS1BI45qi558DRFUYEnTytWHfOKHuRJ1yMf1ptEubD12BRvzfwZE3c7sUKE3cPaCO58ccdc+VPJVkJtzwxfySl+Tvm0npZ0U3MTLYfe6HvMOZ6ik9xhhr57X1POv9GvM+ZaSZNz8Maxj4SNfzcmnK0KfI= X-MS-TrafficTypeDiagnostic: VI1PR05MB1232: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1232; 20:e9DrYcsfUnlvbrb1w/6I22VyYNtUUO06721OPlsasHzmMmKIZadYngwjkW4tQJxzIA6Obl+HAvC+yk00F2qvaLHdp+i09n4vvVJvTU8VkumZta82P2fAVl1a6koTmoz3wR6XKGqJZ/oPdIwL8kxkZ6wjrYN7+bnwbf97z2uUUG5sKCRVbtRlO/IQjS/gD/OuIYolKL0CVWhY702QJXNBdClHwZBZE4Tg9kTEqaYS5A8z8jDIJkqO5vNjwNcyRWgh6SklqTx9L1pVNQ/9C4CFPZM03ArQevrYPOetQJBf8Crcb4RJftqX9rY5SCGTYmOURSimF5OIpOxUoUX0FQ8Pb5LHVHr3jqZ7ITKyOpctviSHsvJyvI44PVJTgIEyWXG5GiMu3gJilr2wYueJ/aRzIH8iJ6xreCgbwYzyllSibQHyQo/JJ9w/2xZas84oRePedslW7ugykM0LzTTn4BBrwyggavoUmik6J+3+0uNGiPZVCjEe8TjLagCoyPyh6AiD; 4:M/tFsBdt7n1SHxu+gp2GtlHAmMqe/WvQFsJBJa87oE3J0UAEqDBu7jm6f8ekh3QBKBKS2zlLjiN3mEjvUn0M1ZIcAIJQSPSBF13X2PAC2ApwqOKXKdM310y26r+5IkX/035E2r2QFIL5AJ5v/g+vQb1poh/4gk6ACvCLSgZ80vnB6SHNdp4SqptGKFjA5qOCgLj3CtuGa1JM0yqifkiF91aCANQ/sgxx18FyNI2UBFAqcZqFH3tCc7a3L81LfTBa X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: <VI1PR05MB123234CF736C72FF4C8EAFDFC2420@VI1PR05MB1232.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR05MB1232; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR05MB1232; X-Forefront-PRVS: 0465429B7F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(189002)(199003)(8676002)(105586002)(2361001)(2351001)(81166006)(101416001)(97736004)(2906002)(81156014)(106356001)(50986999)(5003940100001)(50226002)(33646002)(25786009)(5660300001)(33026002)(69596002)(66066001)(6916009)(47776003)(6666003)(8936002)(6116002)(3846002)(48376002)(189998001)(50466002)(478600001)(21086003)(16586007)(36756003)(5890100001)(68736007)(55016002)(53936002)(86362001)(305945005)(16526018)(316002)(7736002)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1232; 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; VI1PR05MB1232; 23:AlISM8z67LCxalEeJiLofEmmAb6vKcl4O/umxN45I?= 8G971eqqCEF3+AFw695BBQiPs7BdP3zvwn6/8AM+nS14GnCgL4mWQkiOfQGGaq70F3g07riZXjKSpuorrljsxUxnTq9Npt4gACam1HytoBSk0LmnXRxpeWr9MEf0afqgPzZStcXiXdTBDQjZifbTZkPeoI6dfM4I0WaELwM0Nsp0H0N9S2f9TMJ0tM4g1m6JbmWPTUdevcubsaDCfwaJroyZwnrN9H075u3bKJmbzlbWHFCEzkAuFI21NF69NNO9UUn2AaM1Bm9rA3bn/JWch9MSBq6PlyykA8HE68e3SZouKn1gFHnhRop4qlSJkJKJk2sKTovsckVHJUmuodjH6F2pDLuY5CSbWuYyoNPkAc5lcUxktmPfwWMLdiA2a3CmIT5/TmXSzH/WY1zjuecyylYMQh+rvLEkurV6tI/NAa88m6fwHVgNB55huxyOYDEA3v0QxDHGk9fTeoKeDuJYNIyZ6ZehIAAI2hU0G6OqJDk0+Vl26copwawWgJpFItimmNzGVL2zHkG0Fv9CiR/aiSUY4iRdpwmmOiLz920L7D7KRfYwEfYSH0i7KQO3XZ1Xiv6p+3TFzMUSuwh1shWIX8bbkU2KumiKPjDHHK7L8VlJReKmkuzt8g1DIibWhrg0hTD0sCpLON/u7Y6OnGOsQGDLOU3pCczVAWtaCJoFMzhmJeP/rhwRiRM2ELnC4Pl8KR4BdEJzGgkf+RJ4K8Cb338PDM4ipMt3jMf2m3Hzl36Ov1iL2tDcKIhByL4DlGxInxLMHwumX3xrfQf0oi7A+gEAm4J6pttD7RcnOITin2J3p8ghqm1s8UrIhNUB3RfEMh+C6II8GIZo6Gy+Pv9DDkqDUGDjjsCmELrmACGqDySnh5hmXCJErsr7RDs+w/Zshysm0KoFOlzzypGwcRbIxu7h4D68GtD9r7Y137UzPROuItEj5l5qdith3S5snIpGbQYdvzqB0Z7FfLZXWzaFxV7eeAwH397eEYfwawqyI8wna7EsoCeO2c4vaOuVbksgBMMUvOweR/TFsSOUVJN/XEofYoimpWAfGa+PCyrSkqdCIyf0L0ABFr46DVodv/J0sg= X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1232; 6:jcxdr+poAvWIUCjFIIXlsacNUm3g73yQ4V/pmqKa62kOuHcPknRGJ9g3Cu62txU8JjTWMMvunaP1O0I7p4ppWfMPwK/uhhZ/ur9pMeoDpnMrjW2Tvtw5AFpFSPSWllvYD1+feG1DDO7LzOQEcYSv2IQ9HABjw4oPA0nnFdcYGWwlR8FyUaNeHWuEEUWMUmNVv2A2+1p8y8j5h/Npx4Fv4lqY2NPVkY6l/vGmtoUqM2kLpg5b6C3vZUCYL5Lh3YrvEOnH0w7RWf5w7o/98BycVz+Kxgacy+noa4kHtVEVa5F8gts7wYe5kPmfKEV3AoFhXgev70ukQavzPRevyQWB2g==; 5:Wf3DtpZ7tfnQ5WdJxEWWsk41XHDg8hhDKTQNY+Fd/mRMCBB+rF6AKjWJiwbQcm2jJIMIRVoXVkYr2vthUpM7Yy1gWlNpeK7gdT9eKoGIQXzKZtjm8rvWkarz306ZdqcyMTHFhGf812BCJkb9VinDfg==; 24:ybaKifz76F4/D7tdItiHfOdW+f7bUnVzQY119pKqYT8vJbWCLWTm2syeKXov1Tm1zayINZb9BCMt8W5+4XOZvRJFirxBDFnc84nAWw/iHjI=; 7:tDDPdqInVgDigKDsdOgot2phRlBL/uY3ThdgS5rXLF+tsw1mP1dP188opwmzQ375YI6O42JnGmD7QXADdos0nnuMAhWhGWv6XtDqYD4w6K+2apYqumYupuiTekno4HLgLiyHjUs4V+rBdqL7qGtW3N7ti5zm5cjciv5iqxFwOoT4W/EFosLyCwgjWkpS8HGOWEf49+GVi4tajX1clFN9O8skEMku6YDFAV5m/+K1Xng= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2017 21:15:13.0321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea6e9973-110f-4229-6720-08d517367d07 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1232 Subject: [dpdk-dev] [PATCH v3] net/failsafe: fix PCI devices init X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <http://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: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | warning | coding style issues |
ci/Intel-compilation | success | Compilation OK |
Commit Message
Raslan Darawsheh
Oct. 19, 2017, 9:15 p.m. UTC
When trying to attach a port as a sub-device, the ethdev port was compared with devargs. In the case of a PCI device, the name in devargs is the PCI address. And since DPDK 17.08, the devargs name of the underlying device was used to match an ethdev port: a1e7c17555e8 ("ethdev: use device name from device structure") But the recent commit 72e3efb149cc has reverted this wrong matching to use the ethdev port name as identifier of the port. It impacts functions like rte_eth_dev_allocated() used in failsafe for matching ports with given devargs. The fix is to search for matching devargs in underlying device of all ethdev ports. If many ports match the same PCI device, only the first one is matched. This limitation was already present in previous implementation of rte_eth_dev_allocated(), and must be adressed later with a better devargs syntax. Fixes: 72e3efb149cc ("ethdev: revert use port name from device structure") Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com> --- drivers/net/failsafe/failsafe_eal.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
Comments
On 10/19/2017 2:15 PM, Raslan Darawsheh wrote: > When trying to attach a port as a sub-device, the ethdev port > was compared with devargs. > In the case of a PCI device, the name in devargs is the PCI address. > And since DPDK 17.08, the devargs name of the underlying device was > used to match an ethdev port: > a1e7c17555e8 ("ethdev: use device name from device structure") > > But the recent commit 72e3efb149cc has reverted this wrong matching > to use the ethdev port name as identifier of the port. > It impacts functions like rte_eth_dev_allocated() used in failsafe > for matching ports with given devargs. > The fix is to search for matching devargs in underlying device of > all ethdev ports. > If many ports match the same PCI device, only the first one is matched. > > This limitation was already present in previous implementation of > rte_eth_dev_allocated(), and must be adressed later with a better > devargs syntax. > > Fixes: 72e3efb149cc ("ethdev: revert use port name from device structure") > > Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> > Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com> Applied to dpdk-next-net/master, thanks.
diff --git a/drivers/net/failsafe/failsafe_eal.c b/drivers/net/failsafe/failsafe_eal.c index aeb87a0..19d26f5 100644 --- a/drivers/net/failsafe/failsafe_eal.c +++ b/drivers/net/failsafe/failsafe_eal.c @@ -41,6 +41,7 @@ fs_bus_init(struct rte_eth_dev *dev) struct sub_device *sdev; struct rte_devargs *da; uint8_t i; + uint16_t j; int ret; FOREACH_SUBDEV(sdev, i, dev) { @@ -57,7 +58,13 @@ fs_bus_init(struct rte_eth_dev *dev) rte_errno ? ")" : ""); continue; } - ETH(sdev) = rte_eth_dev_allocated(da->name); + RTE_ETH_FOREACH_DEV(j) { + if (strcmp(rte_eth_devices[j].device->name, + da->name) == 0) { + ETH(sdev) = &rte_eth_devices[j]; + break; + } + } if (ETH(sdev) == NULL) { ERROR("sub_device %d init went wrong", i); return -ENODEV;