From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0040.outbound.protection.outlook.com [104.47.37.40]) by dpdk.org (Postfix) with ESMTP id 73CC01023 for ; Wed, 25 Jan 2017 14:48:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=fjwO3IydKjNnqgw87bx4q1Qu88/vXWFMhxB6X7nXVU8=; b=M0xLzHhtiXDJ4PpaRYic1oco1CiUZ+7Tfdkp/SyRyPUPTwD/1ZUxdTRmLTUhCK2IuzGelVc3o0MxWo0kyhUxEDgxSTm3SDrFsk4RBATeI+4OY34Posm1M1o/0Wetva3LnQporzQZRUrjaYP5c6ktWnPObRN7FZpX33N3TNPHuAE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain (122.172.181.227) by BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Wed, 25 Jan 2017 13:48:06 +0000 Date: Wed, 25 Jan 2017 19:17:49 +0530 From: Jerin Jacob To: Shreyansh Jain CC: Neil Horman , Thomas Monjalon , Hemant Agrawal , Ferruh Yigit , "dev@dpdk.org" , "bruce.richardson@intel.com" , "john.mcnamara@intel.com" Message-ID: <20170125134748.GA17762@localhost.localdomain> References: <1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com> <228ff5e7-2fa8-7731-681d-e4759bff93cb@nxp.com> <20101825.1zhD9dk20U@xps13> <20170125122324.GA4611@hmswarspite.think-freely.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [122.172.181.227] X-ClientProxiedBy: MAXPR01CA0056.INDPRD01.PROD.OUTLOOK.COM (10.164.146.156) To BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) X-MS-Office365-Filtering-Correlation-Id: 89a049a0-313d-4bd3-b8c7-08d44528ccb4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 3:um9JbT5TReOguKgJOUsqSybaor49rpM8L13zk+QU0E1j6XmuW/Tz/+Ch0cmXVzryjeu9Um9FBjjR+NYq/QpBFm05f2yYsz6DkpzBxCU/rvviRrLvnlAal2m8RhegP3uv/vnuLOeI/GWa415kAIL/s0NUUBJCugP+87uTT0E+KrSROVTyKFGgRzt5PBe0YkM0cDjqm7MpKxKuxbq1gCqpvlBxfZ/TJau8RIx4hBR3w/KaoGANV8T7yqnQL7Q5mu8d09YBuO4AVvmrpQhRPjuxbg==; 25:PgdVqDGEMoLsDCnwKlxwpQxbIpEF/eDAuuC24EeQXdH15KA7G2bBIuncYsvMTdfOkJ2mHR++5RQZNcw4CNFwWexEDb7vphVFaU2/P30Ynu9w7y9XxBnFEKfI19TZoC4JAWVC2+XZ9Ig07/b2a9+TaOcg9N+OP4QT2YgUEekzyMUVB2wRfyDm3hl7NIA9yAYS71LyhrTojHKo8PSFl6cHWekzrdsz02V/oFCl4WWguFadL4omj/ltWynL01RslPP8q1UmhQ6eWdIrEr9VWU0364sLgERla08ACeIjgtiZMXKllBy7VTnO/h7rsJNrywG6SuTGL7usihKAM4B8G9nJ4HOGbqyNQNHWg0AsnM3ZZTUgKBI5rfqOZ8gGWblDAehaZa1ow2RIf1MSwyYC9fo6rfN/Oibay6V4Yz79zuITivD25X0IIVtvDOCdtmm5O3Z35iudALE2Ml7L0x/qnTx53w== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 31:v1C0Ta01TD3LfVT7+42hOsz5+pmnF4WyMOprTEB9tXWHkcmPrC9Fd9TnP47ngfJIzC5EgOcKdPoblXvLR+jBsz4qKxkjSEn+WFsIBKzSTBy8Tvj89XtsIyu3PQYNtCPK9T59kxV5TQNtD6f9IGd7W09MduGBlkRbJ3C4Bzh07W1sbbN5/mRDNr3pzKvYi6auXwsj7EnBhoY0e6BIAtAzXeM5clhzO3nFOvRX59IdiaSxBIAPKsPMLgUdiV/GGAqiQjnJiO8g67kZaYyLRsmShg==; 20:aYFexAEWXmgeqRh7k8BwuGPZtakn4LljNaguAV8J/7yDD92C+iZbLgu+Sywsd6lqmm063xrZgRDywS3EO8ldXz3rmgETwYCI7ECH5MKsDp5mXb6EI6ckPAukDzL/Acz7YnPSMl4CevGMjY+vGXQU/fWPhwO1AdJcMxGu76Ur2E58lX/s0ideDEGbaToZlKtMXHninuGI22aTnrSrN9HkWePIl3zAI6DtFZjQFObVDUOodWv0COd1f8nMymNLKN4+ojZKpyvb7NifKUZ7W5PerpDLnHKM6vRpjA3AKCzjBHDKo/j2qA5bxfC+0HGhZMPbXxcyry3FQhWOK9B+1I37xUEwJDWWM9X97k9bgoaqghPzMl60XU8k1TMmoEMFOoqZYtLrfR82+t41+N/316NEZGz6YDITlkezZir06TC2AM9WIqT2VbtHNuenDzhXHJjKh+ydfIkV65TX/FM/o+O0ryacjeb5sv4+PNrHrboA7tIGBTryzqs22bLrkuJ4oA4+6cdPAN7yAgDAwcttOgeqvR47d4Fuf3kyXUz6FlhGKacpQytzWAofCGz98YBOUL484CjrZ/GlWUpiCFutiR0wmFeUAAlrMen4KLN56XsxQJY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148); SRVR:BLUPR0701MB1714; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 4:UMT6zO5TfwDu9ChE1Tg8I+2VhWrpVPBrx2UxL/8iU0Nj6x5+d3J4WA5gpEYiJ0ENrZ7mw58WPhiOHxalpbgywkewIeMmrw/EoT+C6s85L9BYKh9m7PzwRNpPuCpWgV3nLNiv90bGyUvGw2XVXBVO7Csi6rmgJVBkB3Mk41jbjV6IHGim2pNHYMLDLiN4YypSkOxjsCrUZWwICccxEJ978me9yI5rHeArCCFzn6jezRjiljnpXOJQH3oSMExEdce01us2xLt91R8agC/VkKCvxPLAGSAGpM8vUWo96uPDD05/uVC3G1kPMMZQtJtDIWUr8/BxrG8uVSZn4ENggNzmbVLczqhrADprDFHZc+09JaF9m18UM2ENs5x46rtznXrzG5kEe8y5Cy3+9TnxgF/Ycqwv2767Xo4K13faoWbg4iJB4Zq3uxj+1xuJrAfdG8voDRT579wPikyfKWAHSw64RkdNUiDeBPD6UTm4K+QxebBESgaB6UYJCY105mTI5M5LRV2YIOoNuiD9nW0GP61RW525/8Tief7ganQ7gAlUNF+TYry2WXdQeU0bS4LxudVJxJQ9xUU/sPmyoQq1gbUHzDCX9+pZEH1PceDNyFpA8kdmyGX2MMz9uv75SyyvawEVL6hql7QAH5Duat2A9gFGhA== X-Forefront-PRVS: 01986AE76B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(377454003)(377424004)(24454002)(199003)(189002)(13464003)(81156014)(81166006)(4326007)(93886004)(8676002)(110136003)(1076002)(9686003)(92566002)(68736007)(4001350100001)(5660300001)(229853002)(2906002)(189998001)(53936002)(97736004)(2950100002)(38730400001)(6666003)(42882006)(6916009)(50466002)(105586002)(106356001)(55016002)(54906002)(46406003)(8656002)(25786008)(33656002)(97756001)(6506006)(42186005)(305945005)(7736002)(66066001)(101416001)(23726003)(3846002)(76176999)(54356999)(61506002)(6116002)(83506001)(47776003)(50986999)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 23:rcgjDHUahCZFfhxP2HHaXBO+ioqx2Qv8HsC3bKL?= =?us-ascii?Q?4VIHk2As53vYGjp7E4JPoisY/7U93KOHuE4N2JHPycHNeXUKmYGDfnspwvBr?= =?us-ascii?Q?J9/Wjw19c/Ju58F2j0lrab5+XlN6BAOQRPploBvj0BVtquvtGms263AUMvLA?= =?us-ascii?Q?RWWCcI6xjExzsoQ+ZivD94E9n4LHRv2/vyzoxIhylK3ToxO19B+Nu8LiD3Vm?= =?us-ascii?Q?GU9yzRzfL3RkHC71DEVEvTrhMWw9m/g9eypEI86urfRhr1acqYLmM+CZ82jp?= =?us-ascii?Q?6NRSqnS9MJG/A9RkEVHBHdhX1FQRDAqDzR1QmPbT8zZDT1oAqeV0WJ7x296q?= =?us-ascii?Q?G8ah220l4XB9u/4/cBWdftsb58vPQLW+cP87i+nhR6/tHjq5Qbz3UUHrr6pu?= =?us-ascii?Q?57c0ZoNSZTQEORcPk3Gw2pZirZgga9/jeO1B/pAqUMe7iPEOCHf/6Cwpohfv?= =?us-ascii?Q?TgxYU7syOYDgaToMr7pfUYqSErHaZp576d/gI0iz2ApaYn5UhLXo6aRbPrr9?= =?us-ascii?Q?tFwSmFVCEUtE1hq3Ai8p/pOiuj0yS28C9P655kSN66/UQMh1WSs5HJofY0Fl?= =?us-ascii?Q?uaXf/qL2Uta5876TaAobx0XkDv4N8t13i15932bL18VwX6YqbNTKb+Jx8NCw?= =?us-ascii?Q?2HmNmdHpvt1OVM5Xdz41IUnkXGk7TsN3IlhQ7vHp6zcYbWVHiZ7wzT60LUA5?= =?us-ascii?Q?NVnp9dvGjahBH1yLEIuEjB/HjVAFdkBBLRjI4uctLVzQ4IaCn5TkZPSMnw36?= =?us-ascii?Q?3EfIr+G0Eft+3JZC8V+dGQ49Q4JrIaHisGpBWy8N48kcsYpe7iu67qMjR9D7?= =?us-ascii?Q?s59DsXI/mVOrleBOzlaf5K8XDrHrWPUezjnh+hxrVJYWlNYkBwNuykruqo7/?= =?us-ascii?Q?56U2r486M5PTkMizjo/CWvNeNVj0jEYiVgTr6asALOgRKSsgFS/bmjzh2AZf?= =?us-ascii?Q?EGwh1zzUDjrzFtE/aHImaN9EZ5RusD5JL8bvzhcUr7EHtt4dBq7DmEszJMy5?= =?us-ascii?Q?l9L1zmXG05Z9oGfmgcAPDzTlUILyjrfUoR1PKX98bl0Z9b6C3OvukCpQX4ZP?= =?us-ascii?Q?SQUQGm2kU4QV93oKJ94ECrb280TGAYVf/57OFCE0LSYKSPU3h/qPnWCmOySS?= =?us-ascii?Q?88ZD4jytOZajjqBQdzDcYS5WrTJCb96yfv2YgvnCzFe6r3bG341zG4yZ1FfA?= =?us-ascii?Q?AQlPAtcwbhib+Xxumer09MA+i34oHy9oX9WOcw5gF68iLXGfq3hAGFKGx34U?= =?us-ascii?Q?QSJ5JTjl5lm4hJzFB6FacbpUxJ0wqTKhIuHyDz23Mb0cL4U7By07WyBM7KjG?= =?us-ascii?Q?FRmrRtpAgWdRKCDTiz1HXkTj38jWSQmyHvVo0C7b6MTEvyj7KsF/zLMUTWS/?= =?us-ascii?Q?U7WZ2xce+rBJ4dlULHsCNz7JZMDjI7vk2nQUgLJrh9faRfvOP?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 6:7AoN/oZnKFABXsVr0BDGAyMmhFutZ2i+pwOA0rQLlAw9kKqV21DoxuIRpOYnubOuSwgvxHk0o7D1iDvfvTJEJKBg1pwllc3/DprhZpzuA+4TZeht0CstFhVcAYtGA6Cq5NSnEPs3h9JKDWwTyzzxWFLvGiLCnb61hHkfvKMnwygj12mXEPDG3crkmzaTKiU1lU5sshxAuC6c+K9eALifnnCAgHdWK5y9+sjvaK4kZ5u8bKminPQRHlpWhJ6imcFKm3vnzmnGMrNAxkqKjU3ZkDS8KJGSiKxKgu7MrjBbR6B1aG4yyyBo1mXgFPfeUBAk3/ms+QyH28EYJ7IpSVpfYnE7ld/B89ZQyDBueEMiORPrzFOhzHwhC11LchsYz+FiWTpb9NpQiAX8+sZOe9y/wr8+MRj8V19JfvdxBXWeeRE=; 5:cuCmHANcZmXdFV3Em2xMn1cVVowYzjubDeQX9W9aCxYrvsX/RKUcTN3DQAE798IlLdPSxzYihLWDzlfHsbKPKTTZNdpff6/kw44fQPLZJoNJI/U96xTm0ZE2H/Dw2h9tuow57hH6Hp8cRM1DcfI3DQ==; 24:bzjanro50P7/xckTgANhNADvPHHhu6eTtfK+FXaEJze1zM7rGGb59phgHhtE2/0xyF1uCFKgKf4JwQwGHY0ast/XISqNLt+uEjH0dC9GI4c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 7:u1qhW1KdYTRluLBFVikAABzB6ABYKfpGLuWvpnf1erfy+Z8YGkc8CHfGF3O+LNm45EJa8fquzuKwxhXrzfmaQyLoi51pYbt9kSfltXe2Y1gEguNwio5vfHw/jIbfoIeqDHUmcqyAJrcz//iBKR5q4+RP935LSy/uERrJXZx3d37lkm9rvYcG7wGxo0Tqpwvp/DXTFY57gn9fY36CabRL4TFtzmyMoBek5bzfn0iUXUc0EN9TAAtaWhUr1iRnpRqu+aq4rxavKozCblliEj/5l4FrRuxZLCwzFmRDnkquOYf57LANVeqUa7QTJL4uDWxY0tEuwrVHBB6zHdu/aHN+eos/1QhmBxFzpBtMzcKtuyAAOaPHUounVb+fu5dQPKbBq27QSbJJnM03SJT0rfsYyY2DOiVxRjisHGzsD2S1xZiwkigGnb/VEbqr9PEjCWn6Fljx1NhwZK7kxWdn/Bc+mQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 13:48:06.8204 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714 Subject: Re: [dpdk-dev] [PATCHv6 16/33] drivers/pool/dpaa2: adding hw offloaded mempool 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 13:48:13 -0000 On Wed, Jan 25, 2017 at 01:34:47PM +0000, Shreyansh Jain wrote: > > > > -----Original Message----- > > From: Neil Horman [mailto:nhorman@tuxdriver.com] > > Sent: Wednesday, January 25, 2017 5:53 PM > > To: Thomas Monjalon > > Cc: Hemant Agrawal ; Ferruh Yigit > > ; Shreyansh Jain ; > > dev@dpdk.org; bruce.richardson@intel.com; john.mcnamara@intel.com; > > jerin.jacob@caviumnetworks.com > > Subject: Re: [dpdk-dev] [PATCHv6 16/33] drivers/pool/dpaa2: adding hw > > offloaded mempool > > > > On Tue, Jan 24, 2017 at 06:28:59PM +0100, Thomas Monjalon wrote: > > > 2017-01-24 20:07, Hemant Agrawal: > > > > On 1/24/2017 4:19 PM, Ferruh Yigit wrote: > > > > > On 1/24/2017 9:12 AM, Shreyansh Jain wrote: > > > > >> On Monday 23 January 2017 11:04 PM, Ferruh Yigit wrote: > > > > >>> On 1/23/2017 11:59 AM, Hemant Agrawal wrote: > > > > >>>> +# library dependencies > > > > >>>> +DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_eal > > > > >>>> +DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_mempool > > > > >>>> +DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += > > lib/librte_common_dpaa2_qbman > > > > >>> > > > > >>> This dependeny doesn not looks correct, there is no folder like that. > > > > >> > > > > >> This is something even I need to understand. From the DEPDIRS what I > > > > >> understood was that though it refers to a directory, it essentially > > > > >> links libraries in build/lib/*. > > > > >> > > > > >> Further, somehow the development is deploying drivers/bus, > > > > >> drivers/common and drivers/pool in lib/* under the name specified as > > > > >> LIB in Makefile. My understanding was that it is expected behavior and > > > > >> not special because of drivers folder. > > > > >> > > > > >> Thus, above line only links lib/librte_common_dpaa2_qbman generated by > > > > >> drivers/common/dpaa2/qbman code. > > > > >> > > > > >> In fact, I think, this might also one of the issues why a parallel > > > > >> shared build fails for DPAA2 PMD (added in Cover letter). > > > > >> The dependency graph cannot create a graph for drivers/common > > > > >> as dependency for drivers/net or drivers/bus and hence parallel build > > > > >> fails because of missing libraries which are being parallely compiled. > > > > > > > > > > DEPDIRS-y is mainly to resolve dependencies for compilation order, and > > > > > should point to the folder, > > > > > > > > > > Following line will cause "librte_eal" to be compiled before driver: > > > > > DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_eal > > > > > > > > > > So "lib/librte_common_dpaa2_qbman" does not makes more sense, since > > > > > there is no folder like that. > > > > > > > > > > > > > > > Somewhere in the history, with following commit, DEPDIRS-y gained a > > side > > > > > effect, it has been used to set dynamic linking dependencies, to fix > > > > > underlinking issue: > > > > > bf5a46fa5972 ("mk: generate internal library dependencies") > > > > > > > > > > I guess you are having that line to benefit from this side effect, but > > > > > this can be done with following more properly: > > > > > LDLIBS += lib/librte_common_dpaa2_qbman > > > > > > > > > > > > > > > To resolve the drivers/net to drivers/common dependency, following line > > > > > in this Makefile should work: > > > > > DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += drivers/common/dpaa2 > > > > > > > > > > This adds following, which will cause "drivers/common" compiled before > > > > > any "drivers/net": > > > > > LOCAL_DEPDIRS-drivers/net += drivers/common > > > > > > > > Thanks for your suggestion. This is one thing, I am not yet able to fix. > > > > > > > > Based on your suggestions: > > > > e.g. > > > > LDLIBS += -lrte_common_dpaa2_qbman > > > > DEPDIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += drivers/common/dpaa2 > > > > > > > > It does add entry in the ".depdirs" > > > > ./arm64-dpaa2-linuxapp-gcc/.depdirs:168:LOCAL_DEPDIRS-drivers/bus += > > > > drivers/common > > > > ./arm64-dpaa2-linuxapp-gcc/.depdirs:170:LOCAL_DEPDIRS-drivers += lib > > > > ./arm64-dpaa2-linuxapp-gcc/.depdirs:172:LOCAL_DEPDIRS-drivers += lib > > > > ./arm64-dpaa2-linuxapp-gcc/.depdirs:174:LOCAL_DEPDIRS-drivers/pool += > > > > drivers/common > > > > > > > > However, we keep on getting: > > > > LD librte_bus_fslmc.so.1.1 > > > > aarch64-linux-gnu-gcc: error: drivers/common/dpaa2: No such file or > > > > directory > > > > make[6]: *** [librte_bus_fslmc.so.1.1] Error 1 > > > > > > Probably because of: > > > > > > # Translate DEPDIRS-y into LDLIBS > > > # Ignore (sub)directory dependencies which do not provide an actual library > > > _IGNORE_DIRS = lib/librte_eal/% lib/librte_compat > > > _DEPDIRS = $(filter-out $(_IGNORE_DIRS),$(DEPDIRS-y)) > > > _LDDIRS = $(subst librte_ether,librte_ethdev,$(_DEPDIRS)) > > > LDLIBS += $(subst lib/lib,-l,$(_LDDIRS)) > > > > > > It shows one important thing: qbman is not a driver, it is a lib. > > > So drivers/common/dpaa2 should be handled differently. > > > > > > Solution 1: tweak mk/rte.lib.mk for directories in drivers/common/ > > > Solution 2: host your bus libs outside of DPDK > > Please do not go with suggestion two, the more libraries get hosted outside > > of > > the project, the less likely any sort of test/build/ongoing maintenence from > > the > > community can be expected. If you're going to go with solution (2), then you > > may as well host the entire PMD outside of the DPDK project, and thats more > > undesireable. > > Agree with you. Hosting a part of PMD (or PMD itself) outside of DPDK is not > a preferred way for me as well. Besides being non-user-friendly, this has > obvious disadvantage of a fragmented software which will quickly become > difficult to manage/maintain. +1 If NXP drivers are only the consumers for the common code. Then I think, there is no harm in exposing them as non rte_ namespace. > > But, renaming so many variables also is not an easy choice (assuming > that the suggestion from you for MAP_STATIC_SYMBOL is not in place - still > investigating on that). > Merging everything together has already been ruled out in initial RFC > Discussions. > > > > > Neil > > > > >