From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0041.outbound.protection.outlook.com [104.47.42.41]) by dpdk.org (Postfix) with ESMTP id 49973108F for ; Wed, 25 Jan 2017 13:56:04 +0100 (CET) Received: from BN6PR03CA0028.namprd03.prod.outlook.com (10.175.124.14) by DM5PR03MB2476.namprd03.prod.outlook.com (10.168.233.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Wed, 25 Jan 2017 12:56:02 +0000 Received: from BN1BFFO11FD031.protection.gbl (2a01:111:f400:7c10::1:146) by BN6PR03CA0028.outlook.office365.com (2603:10b6:404:10c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via Frontend Transport; Wed, 25 Jan 2017 12:56:02 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; tuxdriver.com; dkim=none (message not signed) header.d=none;tuxdriver.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 BN1BFFO11FD031.mail.protection.outlook.com (10.58.144.94) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8 via Frontend Transport; Wed, 25 Jan 2017 12:56:01 +0000 Received: from [10.232.14.39] ([10.232.14.39]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v0PCtvl3003015; Wed, 25 Jan 2017 05:55:58 -0700 To: Neil Horman References: <20170125123730.GB4611@hmswarspite.think-freely.org> CC: Thomas Monjalon , Ferruh Yigit , "dev@dpdk.org" , Hemant Agrawal From: Shreyansh Jain Message-ID: <233c9eda-d01d-ec33-fb58-c73271bdb3e0@nxp.com> Date: Wed, 25 Jan 2017 18:30:37 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: <20170125123730.GB4611@hmswarspite.think-freely.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131298225622256108; (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)(336005)(7916002)(39840400002)(39850400002)(39400400002)(39410400002)(39450400003)(39380400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(189002)(377454003)(199003)(24454002)(174874002)(36756003)(105606002)(8656002)(54906002)(106466001)(50466002)(47776003)(31696002)(4326007)(6306002)(65956001)(15395725005)(2906002)(65806001)(86362001)(110136003)(81156014)(5660300001)(8676002)(33646002)(8936002)(4001350100001)(65826007)(81166006)(64126003)(626004)(305945005)(77096006)(230700001)(6916009)(6666003)(31686004)(229853002)(76176999)(54356999)(92566002)(356003)(2950100002)(85426001)(38730400001)(68736007)(23746002)(53936002)(83506001)(50986999)(97736004)(189998001)(104016004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2476; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD031; 1:N/VngMB41VLLrMJsb+1Gy9HxnzC0tMP7i0C9ifhmeOyPEVb2ApM5om16+AZTo8hSwKoUe3cnCcav6EV7cQFzxV9Oxs9ZM+2vE9nR1Jp0pnJ4MGwc9KZvx6+lNjniNeyJi7fRbxEExvxGdVQsfN0A9GJi6yvQ8eg6zTe80vCqazg1IUAmUwmyHcBxAVU5S+ETcZBT8AEbj7yKqSNCH6NYX5kzXGK9fid24aB62s6wKA3I+77eR25nRrKtSzLqX9JoSVDYZKCVvYj0hz0mdOWu2TJo9fvL6mMogOuGjRMhPfen6D8RE4E/PxU4dkMI0wiSPiIDRE+ecPNLgqDi41AEvrgXBcp/bwKrdWzD1aXjpB4T2xJUh59RiN21Lz/RaWf8lVBa4JYLLsO07cUwiuOG8LWeYTxExUCr1neSTt1gcKiaAHBojK8A6nWfQMbMzSFGrZBd0BDcz88fGGNn+Zt8knVXAAeFK0vgUDn6LB2bXFWPFefEVWWAHlJrZCiNhuJ58/asvDztnXakJo2kQKptqXybjz8YZ8arpl/6V6xNFs1VDT60R4Q+R9oRxp6+dQDwI9GZVtLdH5mrIxjGd66ZvVesh/T4sxjvCFbHQPyW4wo= X-MS-Office365-Filtering-Correlation-Id: e5356dae-f441-4018-7f04-08d44521843e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR03MB2476; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2476; 3:kIt4vllSTp4XxKC8Zx0g/IS2MQTHVXQo3yaF00tFrFok3ubiAU3M+YpPesqSRZcEY5CUiXDH8+f+UZPF4hqmUaoplP8G2dh0NBM/CEQoV467bqm+iIRiQKv7s93pa36QCeuGDi11jJw1sk9R1v7fmkQhRJs14Tr7nxpTATcHSmIjX1BP97w/7CGqAPUByKZpRLddqrENmBSqK8L6B6UDK28QIEFFTgKiwstWo9xdZQPIVWwgv81TTXaFRh5fJBPyCjE+wReXsVw1FJGQUxysTy3r0uBhADHo/Kmg3qlLQcYJvPrvHYGCwvdy7RgH4r5XluGuKiU4nSFmZBUmis/E5T1APdf/URiBS7XgTHjYTLxDcoIHgcDXq+DB7MHScz4V X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2476; 25:5HpJFMe33k8swAH4pqz4stjjHzVWnkBYaPQiaF9eKRhRJ2DtDupW1N29E/DpM7M66Me7dOPwiBG4+VKzMPyWUusDA9e+WUTp7f2ZrS6GjQJHZ7JskjwKrRH+IBDWfHd8Dyyvuq7bMa/uXaT1OY1bxlVkpAksgl2NDMboRniPDR/yddpdPTU2BSvE+kEA9nEHD/QwgZSG5zgaU052euU8vwF8XVbRrgyzz6iH4jvAY3R1BD1dj5tDY/PKzrEoO5+cefFc50koe/j7V9lR2QWTWXld4O2sXv8gFLrrX47CpFUAmPD2JYwfMB40KWsZxafd2WkZKTSU2B1hp1iMJDXrH/WY2h13sDZkrvkfwq1maIB88psKDn9T81c2oClzSFmzWOk2pxamHY9eOacOj10GLKdmOEdQkjFJYRr+YbQQQfcJbHB43S2oBvYCim+t2C7Pl4/yaGtZal/Nsvsfwo826MvTcsDdygrIj3onbnB2oFtR9eV4ygcArU6PskC3IiH4WQdgz1TXerktQtsQXXBe+P/0mgfEE/jJQQIkCYnTfU0pCsXfTkkBa0j4ASFNsJbYOfMgr4hODBaSopVua5TEAo0EDZZrCRyTAJhuG+ZcHqRfDlI1WBCPGgYx84to8YpXmw261yfkQyjrlvU6LTmGsV6bN6Wlu0rghRkxh67Fe/Xk/VJF++JIWkDyK2s2fj3kG4aijsh2QTXQTUarBpAI+oWwBUi+SDuLBZNOiu8x8Iscu1ftsF0KDhQOd2C96a/hBLlz6kcUtMOSqwRW45KZeBM6lYXn+7CPs4vEplKCOPe4GafuGGX/crhsNiUKvHVeJkAjkmw/7dHFemyG+wnDaoHm1gWWxxVVADag3ij2/wLEAAJqdVjTX59+XaBB7lFcLiyqi/g7bSOjYSH4HjaRxQ== X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2476; 31:MppzGCbl5U0Qc1mvhteRYGFFpVB4SnSO+tTX3hqYkKFtvHm6RC8+Wb3vA88DABVBWudXzLwTPACwdqsg5KZdJILtVvTkKV08T3Ba4mh1Off8FqJNLaY3HlXlmxBYR1trp5/gT6GmG/ipkTklDpwhfdCBjjT+LLlyhx1uqIOijUFjkmo8kr9SzaZkN9VH2wJ5FJZyO9Yj5CT1Iy7JVl2eO/fN12NUsOBDWMBao/rqr6wpdAhsPbYDY87ROJhTyabOSq3sGZIU7xY1i9YP40uPBBsdXZ65ykG85CUUqrfqrlA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(227817650892897); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(5005006)(8121501046)(13015025)(13017025)(13024025)(13023025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123563025)(20161123565025); SRVR:DM5PR03MB2476; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2476; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2476; 4:9+MibATCJiPQwO+wX1AHyQnDh5m1OYZyE9Xpdg3P2xh/1bLYBB5J/OxGVbhVjjWCn+Cqz/Sg+fQhz6YLfFrKS1rJZBzmuQFNm447LXaUrRn6Ci8r70Meb2c1k128//cht+H5PlZhv1iZ6BsirqjdL7C739CfZQWofXATo0HHaZK5la5S9M428hgEkbLaobyOHbdq5rGClkfLS4QvDNNSkbh9EpN/T7M8VHMlkmCPxxLVNWA43EuueR3FuGHTbDWD523SZlO2RESFC5Tsn+svrqGk3AOu2Vkh9vgIh1vkGFkMmwAoAJS5UkUbwEi1wURbzhm4Hb9kJc7EI4n16dMm9DXTh5LrWemim1mCbqxcp4UM0Nq/MMY75/PvgIgKSPymFshIgyDT+Bev6d82IcBoZA8WIHT73mAEq83Z3cYCYpmcbeixG5e0nx325TvCWU/AAenHSDGj312h3+FTXr6H6kgL/CyBkCHVE2l/RVjhsWvyV/3KyVUaCFADhllQDbPmguQXR0f116ytR/yu0tCUuPTlDjoN2IhZL9dFIeM4p/k4OBuS0BE2E+qIs9DbhIqJk/nDDli0B0IJdgmnSTptF6r/719V11EeZFu2+bxRZ4ookb997X7CQcQ2uM3Kafqb37FAdrYlW8K2qdeRMSiFcgHfK/KGPDusnKa199vzqkcj+ifgyHRfzUaKrXGsewZVGGGmTPM17LnAkUCqDviYIZ6zA+B8ga6frcNj4u0XAl7YCrFlLQ2YXl8zZNvMoXGB X-Forefront-PRVS: 01986AE76B X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; DM5PR03MB2476; 23:+HGIuXLiq6WJ+2lM0rU5Nt9rP1QPXs++lt3R5?= =?Windows-1252?Q?AJIUKC3kuB+40bo4nClFIE4oortzN3sL6Xx5ZmFJ8dO8WmA7it259KMn?= =?Windows-1252?Q?p2nRc83WJWgEQoucTi/GU+l7LH4XZSE7N4Q/vd/r9vNP4ch/YMeBy2zt?= =?Windows-1252?Q?D/REghTN9j7y8jW4ACWrhZrxEU+LCgwbKzr0VrQMdMs+yIbarLIHkwPP?= =?Windows-1252?Q?n2yovh+5WRQNMCo50RfRF84OYLppwEkBxt6PU/58pQqm+KSM8Ni9Oubv?= =?Windows-1252?Q?ngtVfzoj788p9uMmF4LLANS+Gv6A0oLfhrRSW/0vCHIiDRvX4X86fclc?= =?Windows-1252?Q?vsDdkNRlMyYpIGtzyzLPbnZyuijn+MRN0Cc75fVjNbkmpYboEiiE3aMh?= =?Windows-1252?Q?7tnKl7LieU3HBbd74MM863zTC+koO3xJcWQic79bnEgK1T77knRb2Jvs?= =?Windows-1252?Q?FmMwzioXagdNZ4lq72dY0TRnCicp60VcsSm9lj+K8WMAdmDV8lCCrRDw?= =?Windows-1252?Q?6oIBr/Qe6BVNfQ10rqwvNUnUal0DVnda75ulT5JdSx01EkpWk9Syr5Tq?= =?Windows-1252?Q?ZexTIi4/vgEU1cas1DZBi8FpJmsWY8totLb5+Gqu/izyEYX4qz9ZXZ56?= =?Windows-1252?Q?Qavv26/GatWaPHNe+Q9OtYIZYclDtxGEh2v0d/FFaSDuz5MADadVwpWU?= =?Windows-1252?Q?Z+GZ4svKbbJdpySuYuq7bzz9ao2weZcF4ccPlc6Rmc7Ndfuox5NOV2ak?= =?Windows-1252?Q?VSaZzMdi4FpXXl/L9jvy6o6x1a+qg/Pp5lpEVvCuS0BNTd1CtFSxVpLI?= =?Windows-1252?Q?r7Z6BOJwREZL72wlnofIda5LqbyjZ92jImszxlmhSEJz+hvTtqFT4fEL?= =?Windows-1252?Q?jaCO54X6el9ZIBAHyHLGsOi5j8xmrB5aWryIY1MVy7At2PgbDY5787Er?= =?Windows-1252?Q?LC5oeZTnqn90SRO0TH+906gkvJZCLi8pGmkfxmPeDOMjVLgrdDR2pJWt?= =?Windows-1252?Q?Ej95zu2aFXlNi7SestdO6oTARvRAi5C9DvvKGz99Z3tFn3NOAs3v5kL0?= =?Windows-1252?Q?ksJS3fBOgA3iZCxaE1FsIWere7ixzavQRRN4Hbokx/H2OBoWhSZhzLKS?= =?Windows-1252?Q?JOh2K5bJqVGvNh+M3Abx1HW/sCDBmJXEnlA1xsKtHcCfhPdD0cM+IIgX?= =?Windows-1252?Q?foHUT6ASYvu7+iXvkRGn3XxH7Z9KFwtrC7D0nMQVoKl9rSXX7AOAkzvS?= =?Windows-1252?Q?Qz00Y8cx8GC/GtFRmE7+ChzJIdTNaFJ5sdjlx1HT5/zexn8DAZXLWRL1?= =?Windows-1252?Q?QnZdCxwR2RsuUzjnvQl9UY8L0x2+Zpc6J6+gqvjrz5XTBz53+2OtjiQM?= =?Windows-1252?Q?8bstMldoc5RiLpnRI2nXBgujlGthCUbfza+HeGA7tAfegUrdkqyoA8jN?= =?Windows-1252?Q?4epYn5fFn/MK7CnCxBNVwlpMrWHvdq3DS2viY/O55ZEzQgS6ddHRnb1h?= =?Windows-1252?Q?yR8yAjmq9f7gPv9Y0UBFJPwZIpDsIOXb5cOBOV84gBPGCNClT37Q94YK?= =?Windows-1252?Q?s2VZWo7HcRudC9cx1mKHG5fzlSy4ixKBd2hDCcSXLClR27pClNwPjuFg?= =?Windows-1252?Q?3+lJIUh2odBjtv2NFgxK7fQyUj6CvRqGwRVeetXIE11z7vms6c2hFDA9?= =?Windows-1252?Q?5q8MfihSBJBFfxvsbBhAckICcAP7Ep9DfMcGYk6kawZcXn5mE6F?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2476; 6:uFGtdUJ8tINxg8YQ3SZgTqNzPM49bwiLNMQ12L4Ed3+oWqjxl3MqMAZuFU+Hrs36AI9xKI2mxfusXtBCMlUEUo/yTvizTJx+xjAqXk7GNMQccXgbn955K78NfIaFSxfY5Rt+3kOprxr0UKKfH+YRzU31NEi97U4f/lQkxYkG+lB2U/Q6N+02L2vIw+E2Y4YuBGJIl1W/Hb1eW+MaBGRioIC79/FYiC6Iw3RwYe4/E5RMaemYymeQ0K5zic2/r3KGHavh6rQc/AJ8eH4KWguNWcRriz7XlnCyugKoh6GE8jBE9LNwafaP6FYDAdV4YzTp+SbU6gw6wYoqlvmvBup9F6hQhsHTnqXxLcVBR+TAdum60pqkSZaR4Sap2HkscyEqIPgo+YJEJYBGkI9FKCwN4NppAHbruqXCguKOi08S9dhYfOxtWR+C1VIWyFcOrvL1; 5:6Dx1li6rtCpwM/7pSdO3YBgWI4zC+47FIasrO3AjP196rRi/X2XAIpMhIB0rTSbHQXfUz/Q+vH6CWIprSCDoGgnf0nS6tNZK06iiRarhThW4iqy7z/LKPv3AS0UlP1OkAEBGl+eBGM45SUwwYNpaEllp9ynay7OU13i4XN3xCjPcvmbtQDUTNgJet+YHivNj; 24:CpbKpvuCipLCPR+DUADFF3LyRu0La463u3IvIv9q0pPRoYr89KL2RvKxBurltScjKDAn/emriigJBltTE3f2FqMGnyFOQbcRshWO9vOr2FI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2476; 7:qwfl5C1WItIuY2OVK63LkebBEJGeQJHF/GmvocCA1yOmSsqM8rK/Z6R4ICAXmNbLnjez5vZQ2E7IIceDzfR8mRmqtiMyyIX+kr9ijHJ0xaK+CgsReeF2lscbXLGAbjRWs05hBZv6Mf7wetDdQelnLPh8s5fXNT188CfCIrqVNhDkP8im631nwmTsp1+F3cr9lBxhn2NYdTqdDU+830v3ygcdQqZZrDvAc+jFkqviAXaxb1QRjaKeA2dGvITU4J60XPIVFIXdDoGpakM6ChjfRFetnLUlt7nba8oPBIrbgtZPC+BCPoRTjOgn0EoxuY4LZP2VfWgE3PLddvVi2nluMSo16l6newQeh5cHth8F3qIVELR60XhLwWcTEjAdXJHJIyOoT2k5hrHtvsNoinHxQB5EBX4y57f/fTuKu+sTarDcVUpvqK3KLS0QCXlektNcdLZVcQnouLZ+6amZPBiWww== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 12:56:01.9136 (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: DM5PR03MB2476 Subject: Re: [dpdk-dev] NXP DPAA2: Symbol renaming issue: Request for Suggestions 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: Wed, 25 Jan 2017 12:56:04 -0000 On Wednesday 25 January 2017 06:07 PM, Neil Horman wrote: > On Tue, Jan 24, 2017 at 02:39:56PM +0000, Shreyansh Jain wrote: >> Hello, >> >> We are facing a peculiar problem with respect to symbol namespace in DPDK. I >> think Ferruh and Thomas would have fair idea about it as they have already >> reviewed and commented on it. I was hoping to get some input to take it >> forward from here. >> >> Brief Intro to DPAA2 Architecture: >> >> This is brief about NXP's DPAA2 PMD to start with: >> (A lot more information is available at [1]) >> >> >> >> +-------------------------------+ >> | Application | >> +----.--------------------.-----+ >> | | >> +----'------+ +-----'-----+ >> drivers/---->| DPIO | | DPIO |<---drivers/bus/fslmc >> bus/fslmc +----.------+ +------.----+ >> | | >> +----/-||--------------||--/----+ >> | Queue/Buffer Manager |<--- drivers/common/dpaa2 >> +----\-||--------------||--\----+ qbman >> | | >> +----'------+ +------'----+ >> drivers/ --->| DPNI | | DPSEC |<---drivers/cyrpto >> net/dpaa2 +----|------+ +-----|-----+ dpaa2_sec >> | | >> +----|------+ +------|-----+ +----------------+ >> | PHY H/W | | SEC H/W | .> FSL MC BUS | >> +-----------+ +------------+ / +----------------+ >> drivers/bus/fslmc >> >> >> If we consider the above layout, drivers/crypto/dpaa_sec (NXP's DPAA2 Crypto >> PMD, already available on ML [2]), and drivers/net/dpaa2 (NXP's DPAA2 PMD) are >> using a common code (drivers/common/dpaa2/qbman). >> >> QBMAN (drivers/common/dpaa2/qbman) is essentially a Queue and Buffer Manager >> set of APIs which allow DPIO (Data Path IO interfaces) to communicate with the >> Hardware through queues (and buffers). >> >> At the scan time, FSLMC bus is scanned and all devices (Phy or Sec) are >> identified and added to a list. For each such device, appropriate I/O portals >> are opened which are essentially gateway between user-space and DP* devices >> using the hardware queues/buffers (qbman) >> >> Problem: >> >> You might have noticed that we have exposed a lot of symbols from >> drivers/common and drivers/bus for drivers/net and drivers/crypto. All these >> symbols are not rte_* as what has been suggested for exported symbols. >> >> Review comments have been received for renaming these to make them rte_* or >> _rte_* prefixed. >> >> Just as a side note, these symbols are being exposed _internally_ within >> drivers/* area. >> >> There are (3) possible solutions we have: >> >> 1/ Rename all the symbols: >> - This is a difficult option for us. Renaming means breaking our linkage >> with existing code (Linux Kernel upstream candidate as well as internal >> repository). >> - Changing it means maintaining this change set internally/independently >> which is not a feasible long term solution. >> >> 2/ Merge all the libraries together: >> - In the initial RFC days, there were review comments which suggested that >> we should break the PMD into common libraries and place it in drivers/* >> parallel folders. >> - This is precisely the reason we are facing the situation. >> - Another possibility is to start duplicating the code for common. But, this >> too has a technical limitation for us as some data structures are shared >> across net and crypto and it is not possible to have multiple instances of >> those. >> - One more offshoot option could have been to keep the library external >> of the DPDK framework (external location and linked on demand basis, >> manually). We don't prefer this as this will make it difficult for any user >> to use DPAA2 easily. >> >> 3/ Finding a way to keep symbols internal to drivers/* independent of rte_* >> prefix: >> - For example, allowing symbols to be exposed limited to drivers/* area >> and not allowing them to be available across lib/* (not sure how, though!) >> >> > can help us arrive to a solution?> >> >> My argument for this: >> - With new bus infra in place, there would be more drivers being contributed. >> It also means that there would be PMDs having their own code and symbol >> models. It would be difficult to ask all of them to mandatorily adhere >> to a naming scheme. >> This argument bodes well for lib/* because that is core (libraries) which >> should be controlled for uniformity and performance. >> >> [1] https://www.kernel.org/doc/readme/drivers-staging-fsl-mc-README.txt >> [2] http://dpdk.org/ml/archives/dev/2017-January/054251.html >> >> > > So, Option 3 seems pretty easy, just use symbol aliasing. Make all your > exported symbols static, and use the MAP_SATIC_SYMBOL macro (or use your own > inline asm if you want), to create rte_ aliases for them all, add the rte_* > variants to your version map and it should all work out. You get to keep your > naming in tact, you can create some macro ifdeffery to make your names static or > not depending on your build environment (upstream linux kernel vs. dpdk, vs > something else), and just use the aliases when it suit you (like for dpdk naming > conventions) Thanks. Sounds interesting, though something I will need to investigate. I will experiment on this. > > Neil > >