Hi Hemant, On 29/07/2020 07:39, Hemant Agrawal wrote: > Hi David > >> -----Original Message----- >> From: David Marchand <david.march...@redhat.com> >> Sent: Tuesday, July 28, 2020 7:12 PM >> To: Hemant Agrawal <hemant.agra...@nxp.com> >> Cc: Thomas Monjalon <tho...@monjalon.net>; Sachin Saxena >> <sachin.sax...@nxp.com>; dev@dpdk.org; Ferruh Yigit >> <ferruh.yi...@intel.com>; techbo...@dpdk.org >> Subject: Re: [dpdk-dev] [PATCH v3 1/8] net/dpaa: add support for fmlib in >> dpdk >> Importance: High >> >> Hello Hemant, >> >> On Mon, Jul 20, 2020 at 6:50 AM Hemant Agrawal >> <hemant.agra...@nxp.com> wrote: >>>> Why dropping this codebase in DPDK instead of pulling it as a >> dependency? >>> [Hemant] >I don't like seeing DPDK becoming a pile of code duplicated >> from somewhere else. >>> [Hemant] We are not using the library as it is and making some serious >> changes in the generic library to suit the DPDK use-case. >>> So, it is not possible for us to use the *original* code of fmlib, which is >> public. >> >> Looking at >> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu >> b.com%2Fqoriq-open- >> source%2Ffmlib&data=02%7C01%7Chemant.agrawal%40nxp.com%7Ce >> b9167f8bbd64a6234dd08d832fc01cb%7C686ea1d3bc2b4c6fa92cd99c5c301635 >> %7C0%7C0%7C637315405224811211&sdata=%2B65hKHyXFlWgXYq7yzZb >> lEYlI%2FyKb8OINXRuGqX8dOM%3D&reserved=0 which I think is the >> original code for this library (?). >>
I didn't see an answer to this question - is this (https://github.com/qoriq-open-source/fmlib) the source library you are referring to below? >> Some symbols from the original code were dropped in the dpdk copy of the >> file. >> Part of the API changed, with a param pointer now being passed. > > [Hemant] In DPAA1 is NXP's legacy architecture. > > In the DPDK on ARM-DPAA1 (MAC is called FMAN) platforms, we have been > supporting static FMAN configuration utility (fmc) to pre-configure the > queues, RSS and classification rules before starting the application. This > config has several limitations, e.g. max DPAA_NUM_RX_QUEUES via env variable, > etc. In last few years, several customers are using it in production. > > The legacy Fmlib supports dynamic FMAN configuration and it removes current > limitation in DPAA PMD. In order to support both modes where we can support > new dynamic configuration with fmlib and static fmc mode (with parsing > facility to avoid env variables). We have done this modification in fmlib > structures to support both fmc parser and flow API on fmlib mode. > This param change is part of that. > > >> The VSP symbols are in the fm_lib.c file from the original code while they >> have been separated in a fm_vsp.c file in the dpdk copy. >> Some logs / comments have changed. >> > [Hemant] Yes, there is code structuring and removal of code, which we don't > need for DPDK and ARM platforms. There are several small changes in VSP as > well as PCD (Parse Classify Distribute) configuration. > >> For the sake of understanding: >> - can you point at the problems with reusing this externally maintained >> library? > > [Hemant] The original library was designed to work with our legacy Userspace > offering (USDPAA) and Bare metal offerings on PowerPC. We did tested it > initially on ARM but now largely it is only for supporting legacy customers. > This library is in maintenance mode. > > NXP don’t want to add any new feature in this legacy standalone library - as > it is difficult to test them on PowerPC and they can break the legacy > customers code. > On ARM, we are now only offering DPDK as the Userspace solution. So, we have > done a branch out of the code for DPDK. > Some changes you are already seeing and there are more in development to > support DPDK style flow classification. > Since DPDK is only consumer for this new base code, there is no reason for > creating external dependency for the DPAA PMD. > >> - this library is tightly linked to the fm kmod drivers I guess, how is >> maintained >> the compatibility? > > [Hemant] kernel module is already inbuilt in NXP Linux kernel for this > platform. > >> >> >> Thanks. >> >> -- >> David Marchand >