From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0089.outbound.protection.outlook.com [104.47.40.89]) by dpdk.org (Postfix) with ESMTP id 8FD79558B for ; Fri, 15 Jul 2016 15:14:01 +0200 (CEST) Received: from BLUPR0301CA0022.namprd03.prod.outlook.com (10.162.113.160) by SN2PR03MB2416.namprd03.prod.outlook.com (10.166.211.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.528.16; Fri, 15 Jul 2016 13:13:59 +0000 Received: from BL2FFO11OLC011.protection.gbl (2a01:111:f400:7c09::153) by BLUPR0301CA0022.outlook.office365.com (2a01:111:e400:5259::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.539.14 via Frontend Transport; Fri, 15 Jul 2016 13:13:58 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; rehivetech.com; dkim=none (message not signed) header.d=none;rehivetech.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11OLC011.mail.protection.outlook.com (10.173.160.157) with Microsoft SMTP Server (TLS) id 15.1.534.7 via Frontend Transport; Fri, 15 Jul 2016 13:13:58 +0000 Received: from [10.232.14.199] (Tophie.ap.freescale.net [10.232.14.199]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u6FDDswl005417; Fri, 15 Jul 2016 06:13:55 -0700 To: Jan Viktorin References: <1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com> <1468303282-2806-1-git-send-email-shreyansh.jain@nxp.com> <1468303282-2806-13-git-send-email-shreyansh.jain@nxp.com> <20160714185546.6e483b40@jvn> <5788AF6E.9080203@nxp.com> CC: , , From: Shreyansh Jain Message-ID: <5788E1B8.1070506@nxp.com> Date: Fri, 15 Jul 2016 18:44:32 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <5788AF6E.9080203@nxp.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131130620386548308; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(377454003)(199003)(24454002)(189002)(87266999)(4326007)(65956001)(7846002)(65806001)(106466001)(50986999)(47776003)(81156014)(86362001)(97736004)(356003)(59896002)(81166006)(104016004)(54356999)(80316001)(87936001)(189998001)(65816999)(4001350100001)(105606002)(76176999)(68736007)(83506001)(33656002)(15395725005)(230700001)(110136002)(2950100001)(64126003)(586003)(93886004)(8936002)(85426001)(15975445007)(92566002)(23746002)(305945005)(11100500001)(77096005)(19580405001)(36756003)(2906002)(50466002)(19580395003)(6806005)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2416; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC011; 1:rVITV62ZvpOxRL3LlgbHi8j2MLY1dAlU7IYOh68NZJrW7ptf8H/aqcq65vMS5Fnr+jRrIJmL9MAGRegwkX3dzYexh8OhB50oDahfDySOicDjPdTu1tazol2+KW5l3f2PTbM7E+xwN8TPtrW7ndK6YBtKsdE18iV1rl78yDldn5kVerW2ghlQuD6lU/9lMXBBhEN64sq5yEW+SE+HensNVUlYSye6j7WSi4ScfRLwuXzNqCk5asV43XtY0enRmZ3pQwlTHVPe5yAlaAINWSM+Uot8HNjR1+t7kNxac2P27/Y/sGid1iOBkDwyv/Dvoz+rhM/qwhqH4nd3aI1Wuhz4c2VvDRwswazXVbSGYr+TUhTD25Pe5vDDmKPwgczHenUmvlKdmtwvq2U9xFWxByRAqRhe3wiZ6NeDTbr2X3htHt2wTjCjgP+ps4oL2ndMIPAPVYO8NrTs7KTxEiWNuIXD3vJUrLNcED/IyHHcdqoJgyLWKjib1ajazR7g+jdmfPZRlmcOkFMQMcNCPdt9dXfpwOhNVD4KAPnwCF2OsC8pcKn0TEEGI06paS7Bf42wbPkbxkwgMjNnSZiN0oaTo005iA== X-MS-Office365-Filtering-Correlation-Id: 216a9a30-2536-4d3c-1a54-08d3acb1e1c8 X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2416; 2:KEmsu8n/3mr7Ex8lcPcUd8w832+QCd9Hyssmm7ur1dfLBZko/sRczS7ht4lhhb3fMmChapWh5BCHI04WBn9QUua+KF6gFnq/BNPFVjAzLPxbDUXe+EFpcpR0WLBPwIH1CRPlk4kg8pkWwQcBqWvBNkQNnLO5XDH+C0Oh18UqH6uZGN3MClSjwktTLhrfPmGc; 3:jE9X3ZeoJKLHGlTzilOpV4kWnr2sJPg84kHn8NxC1PHEgLhPMzoWyyxwuvjNH10n/6PkOyPtPqpNAZ48kzqhTUXhvwFeVSVHe8XNwcriMb70Zf3bnuSQdZthW5IQDPQUSASfsCMlSzYJDPj7H8j0Q8MXdtPVYy1mlTRVWhdQUq7SU+5b/XMNboNDfoB+sBayOsRW/ePGT22TXRfcHAAdjsaOct7e7Gi9CKHJ3TtjzR4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR03MB2416; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2416; 25:D8WXXHjqDWVWWKzqtoaTKXklH12yPbplUrftB+hHy9zi57W0MgWC2wxaeFoEQ3W9H/x0nZsK5TnWyQpQ+Ab6+TOz0KeDBh8Wr+1IMi4QmjC7Physs1F8NROZ3OcuK00RjNxEO9ll0yNyRsHQ89jicOTWLEumvnMkDrl25o3dGuHE2SKYXNirT77dvwmw1Do2VsayjZ5DlGqwi2bNnL5LDhB9+datxtxbHaERMaYxgWLpMyf+Pz+8+R7RnH3OdRqW6nbKFwVh1h8rpAO0pIAsUWBujjRtTqiCb+FOrzPsduUENiDqMuK/dO3BwT4bqSpInn/DPrHt5ZDZeQ5To6KLuD/xUN5vzqsYgTmObBqCEe6St50leJH0jb+oCLd2dLt/hQmk71r9UtuTNFY3EoofDiVy1TRdqRcIrf8MfTCZcMlLu07+OmzACBeWhyuJe2inwMBIlr/lqO9RcVkv2KU9A3AHzsdp6GaZ/j4uDTLXxFSegnYqNZAkKtMe0PscXmmvAsWiWMtTk0WzAn+sb/kzSJUNlH7+Y+IQ911FNmEz6+y7MYEmAoqcZ3QY+L2t+64jOgHKIeK0VC69ZXdFTjnDzr6v7LaG4YhTdf9eZhoYLu7caxEVk+muSnUIgGOrXQ48kapY8patku+3UXrXgzIKSfShcPbx4VyF+GEHfzDAPGb0cxSmSUs8d5UsgBcwkwpr+cg7I9M7seBk4+pjf4WGuKXEGVWgARgsr1OsFQdg30HMlpXVuLulokOmJzV+6VlSGT42qgy7mq8cb1XUgvv35ggkQc7UhvymW5dmcl8/aKskd0Fxrm1DGXssgjkTHTrk X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2416; 31:ESRaU/4g/g/RlxSNvJHgnBzAwsuWF36BuJod+SCSspBOiW1flQPd5l77bIMtAHvbhuU2ftXwUrNT7Lzn7aYDRWb9RUyQPgRW6fqk6NsWNbcOFK2K/QLUce5FpWyEfsOz1hdrdK2yhHuDgNj6Y2xSVz5xuqCd7CGxxmgRoKNvzDOfsCKCT5J90IHEdevhYArNWGKhHbDmPnFCPhxBBa0mgA==; 4:FqqQnlodwtplrVYDefsl9+2Wx4sFlNmXs2N8fbUWBwj4SvBSE2hoccaoN/GIyW8crzc4jQBtRV0txwDCvrfx1grayaLqMZZf1TZZacRJ1p2q+ZnMgFxiErUGdcfoiKOFUEqrW3zOiij5TWQmGrnyFIf9tB4rOZjRASm6j5sOn3Fcp2MDkzvbhWbdexpNlaxny3RDUbZpkQttArI0hhZk/yo1r957hNnATDMhJ0+nz+80Q1dLQTjUSi63hswRGJ0uU2XCiRCIo0uRqKrnA4CQM76yfTe7G0YzwUVSUh4vPovCN8nk38FOaApESVSg+dsHfIx/Xb0rQOxElL9Nuc6/DkBz+WAXIBJEPmAdqoYPv7gqoFu6gCDls+CcakYhx0ywbF0noHqio/mBBsYFnPVW3DLsHG2Az13ad70XqX0YLjF7NP9J6JpTxhn2rNuR/VywhJe3g2qJ1eL8b4v8qaF2rp6lXh3SqSMmUxqH6OYbnyY8aU7yvP1Y1MvSKnD+tzigIPenFmJ6dnAmY0ylckGqtQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13018025)(13017025)(13024025)(13015025)(13023025)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:SN2PR03MB2416; BCL:0; PCL:0; RULEID:(400006); SRVR:SN2PR03MB2416; X-Forefront-PRVS: 00046D390F X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; SN2PR03MB2416; 23:dSfQKwZXunCr2GuRUxmWBCCAjvdYZksVh19Bd?= =?Windows-1252?Q?xLYkaiX7kZ4EBq8/XlPpXo4CmsubFt8UiKoxknJHz7mvn2Zq1YvIgLp4?= =?Windows-1252?Q?u0BoRhqSq7Zu9gqunRsa7bIY+NlpbkQbiDI2iuImqYTvUlSx4bokPom0?= =?Windows-1252?Q?AsTSxL2g5dLt6yTjj6M0ARGCq1mhA/XsfsyRWXRWWaNO65iL6K7KL+w9?= =?Windows-1252?Q?zgblTPLDrqQhrj3aLobop++GuTlPK0HsCMUImwaf3fmOPaJebQlUvaYb?= =?Windows-1252?Q?p3nyu9YnaYs9rlXt9QTOsmVowdNPGMil2qbQ/podqWfRm3lZaABEiAZu?= =?Windows-1252?Q?9K9T060ILS14pABuAJlSc1tvdjL82lFjw/PUUymgZ5ztmDmNNNBZ/2FG?= =?Windows-1252?Q?N8ne0U+cdkYCdib6tZEpfNuGurNO1Dc1enxSS5koAHq0EA/smFMd6NE1?= =?Windows-1252?Q?1/02cnkmH51zw/Vsie5EOUpm5y+LERE4eBlZw69WQ/3JQC9Yb9lb0Bux?= =?Windows-1252?Q?3OR6XenzjbtkZKh0nyPj5jlD3dkZVYKrfcAsnzhRlmYq1OwruVc9A1y9?= =?Windows-1252?Q?S+TFRNEShYD9mZoa1ETXeimzJoVPeCB6TBSLOUdk5pjVcoTeTrQh9GaP?= =?Windows-1252?Q?ap4iiLRjOwh0KqXzum4RTpc50iANdmgO8ddXKbJjA6GsJcS0Eblm4Cfq?= =?Windows-1252?Q?AZgijTZo9fIbLFfmN7aUiNhxHL6H7rMFb7s/JFI4ZjPdLo8b4nQ87sQ1?= =?Windows-1252?Q?OnXYfJikogS2C4lkrfyGCYtaBWB3qYHPfMVMLLq7mhMs4tdFx05Sx1mq?= =?Windows-1252?Q?F7dVVc8i5tRC97MzRA2E1mPt9f0dq83PUKblOBJZwrZ+qRvUsIunJsSM?= =?Windows-1252?Q?/xnTbZB794CMOwnDoVOI8swknYomum8SzyWlJOLcwn6pdteQzItHzWRE?= =?Windows-1252?Q?ymphWlP6aXfCjFw5ZvndPMzSIqMlIbQpdX2ni6k19xVmfAIoQLLfPh14?= =?Windows-1252?Q?NvWAiaki+OlEaY8Qb5DH2sdlnhKtCpTOSZn18X6R3n04THjroWa7LBRI?= =?Windows-1252?Q?d5v3Sfb4wHlpAsp8Ct0ixa4PrgtyKKxskbPmKNFv/nwDk5mHjkgT36c7?= =?Windows-1252?Q?X4hwZZcGfeqjSevqJ+etGIbPmnhc/Za3S96T2/r9q3STlHH4gCa9BGJv?= =?Windows-1252?Q?DK1o3kh0jGawaih3yLUuTvABNScOUWh8JemioQAzRzLYTo6Nh+gtLkzZ?= =?Windows-1252?Q?SQQwm2K17ZI0pCmFjxAeSXogSecLo2lk4ar0XQUNmefQ7btmUpM0e/wI?= =?Windows-1252?Q?CxyLdiLiFwWdRQnltmdm3Q540N5Xpzuhyd3CFaegnmsN7StEDQGMdeSz?= =?Windows-1252?Q?VqUxtkthPTmCNUBGunOGKwLSGbS3Iti0FHl5WIv9K1DwIC/1VTMHhVWX?= =?Windows-1252?Q?yO1zW0782sXuTkAJMEGNMMH573v0d982sXkdrQIj0H1QjPdCJ4Wraq4x?= =?Windows-1252?Q?6JPLQ/z4TIPVyIIMUCu+JA0wlGi?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2416; 6:o0pNZBMol+5fRm+TauGAjYqhgMJGLnsQmWk3iWHLHvO3dZP6c96mVyma/biTgqhAF2IFXsvnMjXi/ND6xlAOP+CMOtA/iAO4YYms6Fg9ALeWsi3EMuDKD90NEXHlRyFWlm/tHULNfx/81qpZJySFq/Zs0ilusqnU3DY4SHxhh2VjxwtC9QjDSrUpr1BZFnDUNe+qfhikfnhrgmHvw6FtCAvzZcHcRK7/4+w7QmaXfxes1OvPxErrcHvum9p3s/Q3k0aKHVdSIq038icTnwAVIPctW8X6AjFBKqKDphwg3Z4=; 5:pTeujTOHVKtcPRuT8Zv84Ap4VoTmTd1Fr/BreSi3fAEu2zeJTEH7WaoB/0EhqwM0R2xzF3uWRWUGNuvWFcGwU3MP6f/qFLWC3QDxAuXJKS/4b7gAkYy3IkBekaHQYMZ7YKzkNQf/lgxRDihAE2ttt7nAcaOVFW+TujKh0iSODx8=; 24:5BGxjr/SXHhVpzTgwBi7hFCIOU4CpsF3L6v3vdj8IwBi/tnv0T6o1HMPoxyPH4Xf06dztponq6si/yGGk9a7crPk0w4fctgYuoUf+lGYwaI=; 7:PHaqzcbZXpyqX/LVDsb295symPciko4/YvhHh1AAysQCrB21TqkH29CnVm+UdMHbdc1rVzPucvunbZYjaKTJ8GWiFRDmNkT8JhwSPN87y/rPNcmNqr1VJUUWvHceBmjMMROkFYY8jMC306CCgZx4JtmWEWGw7U3Njh+QvmdHh6d7UV4mbWnYDK4QdO/bzD+DlWWuAHWCqsjeTsQBoc8FNw/CHQ33xXsy53XTGv9c0RvImS/zJY20Sq9YM3hJCHXd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2016 13:13:58.4676 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB2416 Subject: Re: [dpdk-dev] [PATCH v6 12/17] pci: add a helper for device name X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2016 13:14:02 -0000 On Friday 15 July 2016 03:09 PM, Shreyansh jain wrote: > On Thursday 14 July 2016 10:25 PM, Jan Viktorin wrote: >> On Tue, 12 Jul 2016 11:31:17 +0530 >> Shreyansh Jain wrote: >> >>> eal is a better place than crypto / ethdev for naming resources. >> >> s/for naming/to name/ > > OK. > >> >> What is meant by "resources" here? > > This has historic context (from earlier version of this patch). > But I could relate the word 'resources' to EAL representation of devices - whether PCI or Crypto. > Or, Resource == Device. > If I go by what Thomas is proposing for meaning of 'resource' [1], and the fact that all methods in this patchset refer to 'devices', I will change the patch context to 'EAL is a better place than crypto / ethdev to name devices'. [1] http://dpdk.org/ml/archives/dev/2016-July/044056.html >> >>> Add a helper in eal and make use of it in crypto / ethdev. >>> >>> Signed-off-by: David Marchand >>> Signed-off-by: Shreyansh Jain >>> --- >>> lib/librte_cryptodev/rte_cryptodev.c | 27 ++++----------------------- >>> lib/librte_eal/common/include/rte_pci.h | 25 +++++++++++++++++++++++++ >>> lib/librte_ether/rte_ethdev.c | 24 ++++-------------------- >>> 3 files changed, 33 insertions(+), 43 deletions(-) >>> >>> diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c >>> index d7be111..60c6384 100644 >>> --- a/lib/librte_cryptodev/rte_cryptodev.c >>> +++ b/lib/librte_cryptodev/rte_cryptodev.c >>> @@ -367,23 +367,6 @@ rte_cryptodev_pmd_allocate(const char *name, int socket_id) >>> return cryptodev; >>> } >>> >>> -static inline int >>> -rte_cryptodev_create_unique_device_name(char *name, size_t size, >>> - struct rte_pci_device *pci_dev) >>> -{ >>> - int ret; >>> - >>> - if ((name == NULL) || (pci_dev == NULL)) >>> - return -EINVAL; >>> - >>> - ret = snprintf(name, size, "%d:%d.%d", >>> - pci_dev->addr.bus, pci_dev->addr.devid, >>> - pci_dev->addr.function); >>> - if (ret < 0) >>> - return ret; >>> - return 0; >>> -} >>> - >>> int >>> rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev) >>> { >>> @@ -446,9 +429,8 @@ rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv, >>> if (cryptodrv == NULL) >>> return -ENODEV; >>> >>> - /* Create unique Crypto device name using PCI address */ >>> - rte_cryptodev_create_unique_device_name(cryptodev_name, >>> - sizeof(cryptodev_name), pci_dev); >>> + rte_eal_pci_device_name(&pci_dev->addr, cryptodev_name, >>> + sizeof(cryptodev_name)); >>> >>> cryptodev = rte_cryptodev_pmd_allocate(cryptodev_name, rte_socket_id()); >>> if (cryptodev == NULL) >>> @@ -503,9 +485,8 @@ rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev) >>> if (pci_dev == NULL) >>> return -EINVAL; >>> >>> - /* Create unique device name using PCI address */ >>> - rte_cryptodev_create_unique_device_name(cryptodev_name, >>> - sizeof(cryptodev_name), pci_dev); >>> + rte_eal_pci_device_name(&pci_dev->addr, cryptodev_name, >>> + sizeof(cryptodev_name)); >>> >>> cryptodev = rte_cryptodev_pmd_get_named_dev(cryptodev_name); >>> if (cryptodev == NULL) >>> diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h >>> index 3027adf..06508fa 100644 >>> --- a/lib/librte_eal/common/include/rte_pci.h >>> +++ b/lib/librte_eal/common/include/rte_pci.h >>> @@ -82,6 +82,7 @@ extern "C" { >>> #include >>> #include >>> >>> +#include >>> #include >>> >>> TAILQ_HEAD(pci_device_list, rte_pci_device); /**< PCI devices in D-linked Q. */ >>> @@ -95,6 +96,7 @@ const char *pci_get_sysfs_path(void); >>> >>> /** Formatting string for PCI device identifier: Ex: 0000:00:01.0 */ >>> #define PCI_PRI_FMT "%.4" PRIx16 ":%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8 >>> +#define PCI_PRI_STR_SIZE sizeof("XXXX:XX:XX.X") >>> >>> /** Short formatting string, without domain, for PCI device: Ex: 00:01.0 */ >>> #define PCI_SHORT_PRI_FMT "%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8 >>> @@ -308,6 +310,29 @@ eal_parse_pci_DomBDF(const char *input, struct rte_pci_addr *dev_addr) >>> } >>> #undef GET_PCIADDR_FIELD >>> >>> +/** >>> + * Utility function to write a pci device name, this device name can later be >>> + * used to retrieve the corresponding rte_pci_addr using above functions. >> >> What about saying "using functions eal_parse_pci_*BDF"? The >> specification "above" is quite uncertain... > > Agree that 'above' is positional word and should be avoided. > I will change that to "... using eal_parse_pci_* BDF helpers". OK? > >> >>> + * >>> + * @param addr >>> + * The PCI Bus-Device-Function address >>> + * @param output >>> + * The output buffer string >>> + * @param size >>> + * The output buffer size >>> + * @return >>> + * 0 on success, negative on error. >>> + */ >>> +static inline void >>> +rte_eal_pci_device_name(const struct rte_pci_addr *addr, >>> + char *output, size_t size) >>> +{ >>> + RTE_VERIFY(size >= PCI_PRI_STR_SIZE); >>> + RTE_VERIFY(snprintf(output, size, PCI_PRI_FMT, >>> + addr->domain, addr->bus, >>> + addr->devid, addr->function) >= 0); >>> +} >>> + >>> /* Compare two PCI device addresses. */ >>> /** >> >> [...] >> >> > >