maintainers: update for armv8 crypto library

Message ID 20191012073421.44748-1-jerinj@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series maintainers: update for armv8 crypto library |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-compilation success Compile Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Jerin Jacob Kollanukkaran Oct. 12, 2019, 7:34 a.m. UTC
  From: Jerin Jacob <jerinj@marvell.com>

Update the armv8 crypto PMD maintainership.

https://github.com/caviumnetworks/armv8_crypto external crypto
the library will not be maintained and probably removed soon
therefor updating the PMD documentation to reflect the same.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---

This patch is based on the discussion of the following thread
http://mails.dpdk.org/archives/dev/2019-October/146005.html

In summary,
# ARMv8 crypto PMD depends on an external library owned
by Marvell, specifically crafted to the DPDK performance use case.
# There is no upstream path to this library and it
will not be maintained due to that fact that it
a) Creates fragmentation of the SW
b) Contribution policy concerning external Github Repos
c) None other than Marvell can contribute to this library and this makes
difficult for other stakeholder to use it.

# As the maintainer, I would like to make forward progress by providing
the following options. None of the options are converging as the result
I would like to step down from the maintainership of the
incomplete PMD as I don't see any options for collaboration,
improvement in the library nor follows the open source philosophy
in the way it is structured out now.

option 1) Move external library(BSD-3 license) to dpdk.org
so that every armv8 vendors can contribute, improve and
avoid SW fragmentation and therefore better quality.

option 2) If option 1 is not possible, remove the incomplete PMD
from dpdk.org and maintain the existing PMD as the external one by 
each vendor. This won't change much in the existing situation as
this PMD is not standalone and anyway depended on an external code 
base.

I am glad/help to execute option 1 or 2 or help to a new maintainer
if he/she would like to step up and take ownership.

---
 MAINTAINERS                     | 1 -
 doc/guides/cryptodevs/armv8.rst | 3 +--
 2 files changed, 1 insertion(+), 3 deletions(-)
  

Comments

Jerin Jacob Oct. 16, 2019, 11:35 a.m. UTC | #1
On Sat, Oct 12, 2019 at 1:04 PM <jerinj@marvell.com> wrote:
>
> From: Jerin Jacob <jerinj@marvell.com>
>
> Update the armv8 crypto PMD maintainership.
>
> https://github.com/caviumnetworks/armv8_crypto external crypto
> the library will not be maintained and probably removed soon
> therefor updating the PMD documentation to reflect the same.
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>

Ping for merge.

> ---
>
> This patch is based on the discussion of the following thread
> http://mails.dpdk.org/archives/dev/2019-October/146005.html
>
> In summary,
> # ARMv8 crypto PMD depends on an external library owned
> by Marvell, specifically crafted to the DPDK performance use case.
> # There is no upstream path to this library and it
> will not be maintained due to that fact that it
> a) Creates fragmentation of the SW
> b) Contribution policy concerning external Github Repos
> c) None other than Marvell can contribute to this library and this makes
> difficult for other stakeholder to use it.
>
> # As the maintainer, I would like to make forward progress by providing
> the following options. None of the options are converging as the result
> I would like to step down from the maintainership of the
> incomplete PMD as I don't see any options for collaboration,
> improvement in the library nor follows the open source philosophy
> in the way it is structured out now.
>
> option 1) Move external library(BSD-3 license) to dpdk.org
> so that every armv8 vendors can contribute, improve and
> avoid SW fragmentation and therefore better quality.
>
> option 2) If option 1 is not possible, remove the incomplete PMD
> from dpdk.org and maintain the existing PMD as the external one by
> each vendor. This won't change much in the existing situation as
> this PMD is not standalone and anyway depended on an external code
> base.
>
> I am glad/help to execute option 1 or 2 or help to a new maintainer
> if he/she would like to step up and take ownership.
>
> ---
>  MAINTAINERS                     | 1 -
>  doc/guides/cryptodevs/armv8.rst | 3 +--
>  2 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b02066270..8096d93c4 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
>  F: doc/guides/cryptodevs/features/ccp.ini
>
>  ARMv8 Crypto
> -M: Jerin Jacob <jerinj@marvell.com>
>  F: drivers/crypto/armv8/
>  F: doc/guides/cryptodevs/armv8.rst
>  F: doc/guides/cryptodevs/features/armv8.ini
> diff --git a/doc/guides/cryptodevs/armv8.rst b/doc/guides/cryptodevs/armv8.rst
> index 1ab40096e..ada2a774d 100644
> --- a/doc/guides/cryptodevs/armv8.rst
> +++ b/doc/guides/cryptodevs/armv8.rst
> @@ -28,8 +28,7 @@ Installation
>
>  In order to enable this virtual crypto PMD, user must:
>
> -* Download ARMv8 crypto library source code from
> -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
> +* Use ARMv8 crypto library source code from vendor SDK
>
>  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
>    the path where the ``armv8_crypto`` library was downloaded
> --
> 2.23.0
>
  
Honnappa Nagarahalli Oct. 22, 2019, 8:32 p.m. UTC | #2
<snip>

> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Update the armv8 crypto PMD maintainership.
> 
> https://github.com/caviumnetworks/armv8_crypto external crypto the library
> will not be maintained and probably removed soon therefor updating the PMD
> documentation to reflect the same.
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> 
> This patch is based on the discussion of the following thread
> http://mails.dpdk.org/archives/dev/2019-October/146005.html
> 
> In summary,
> # ARMv8 crypto PMD depends on an external library owned by Marvell,
> specifically crafted to the DPDK performance use case.
> # There is no upstream path to this library and it will not be maintained due to
> that fact that it
> a) Creates fragmentation of the SW
> b) Contribution policy concerning external Github Repos
> c) None other than Marvell can contribute to this library and this makes
> difficult for other stakeholder to use it.
> 
> # As the maintainer, I would like to make forward progress by providing the
> following options. None of the options are converging as the result I would like
> to step down from the maintainership of the incomplete PMD as I don't see
> any options for collaboration, improvement in the library nor follows the open
> source philosophy in the way it is structured out now.
> 
> option 1) Move external library(BSD-3 license) to dpdk.org so that every armv8
> vendors can contribute, improve and avoid SW fragmentation and therefore
> better quality.
I do not see any issues with this approach. This patch should be changed to reflect this option?

> 
> option 2) If option 1 is not possible, remove the incomplete PMD from
> dpdk.org and maintain the existing PMD as the external one by each vendor.
> This won't change much in the existing situation as this PMD is not standalone
> and anyway depended on an external code base.
IMHO, DPDK defines an interface to integrate an external crypto library. This might be under use by applications. Removing the PMD will break those applications.

> 
> I am glad/help to execute option 1 or 2 or help to a new maintainer if he/she
> would like to step up and take ownership.
> 
> ---
>  MAINTAINERS                     | 1 -
>  doc/guides/cryptodevs/armv8.rst | 3 +--
>  2 files changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b02066270..8096d93c4 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
>  F: doc/guides/cryptodevs/features/ccp.ini
> 
>  ARMv8 Crypto
> -M: Jerin Jacob <jerinj@marvell.com>
>  F: drivers/crypto/armv8/
>  F: doc/guides/cryptodevs/armv8.rst
>  F: doc/guides/cryptodevs/features/armv8.ini
> diff --git a/doc/guides/cryptodevs/armv8.rst
> b/doc/guides/cryptodevs/armv8.rst index 1ab40096e..ada2a774d 100644
> --- a/doc/guides/cryptodevs/armv8.rst
> +++ b/doc/guides/cryptodevs/armv8.rst
> @@ -28,8 +28,7 @@ Installation
> 
>  In order to enable this virtual crypto PMD, user must:
> 
> -* Download ARMv8 crypto library source code from
> -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
> +* Use ARMv8 crypto library source code from vendor SDK
> 
>  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
>    the path where the ``armv8_crypto`` library was downloaded
> --
> 2.23.0
  
Jerin Jacob Oct. 23, 2019, 2:50 a.m. UTC | #3
On Wed, 23 Oct, 2019, 2:02 am Honnappa Nagarahalli, <
Honnappa.Nagarahalli@arm.com> wrote:

> <snip>
>
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Update the armv8 crypto PMD maintainership.
> >
> > https://github.com/caviumnetworks/armv8_crypto external crypto the
> library
> > will not be maintained and probably removed soon therefor updating the
> PMD
> > documentation to reflect the same.
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >
> > This patch is based on the discussion of the following thread
> > http://mails.dpdk.org/archives/dev/2019-October/146005.html
> >
> > In summary,
> > # ARMv8 crypto PMD depends on an external library owned by Marvell,
> > specifically crafted to the DPDK performance use case.
> > # There is no upstream path to this library and it will not be
> maintained due to
> > that fact that it
> > a) Creates fragmentation of the SW
> > b) Contribution policy concerning external Github Repos
> > c) None other than Marvell can contribute to this library and this makes
> > difficult for other stakeholder to use it.
> >
> > # As the maintainer, I would like to make forward progress by providing
> the
> > following options. None of the options are converging as the result I
> would like
> > to step down from the maintainership of the incomplete PMD as I don't see
> > any options for collaboration, improvement in the library nor follows
> the open
> > source philosophy in the way it is structured out now.
> >
> > option 1) Move external library(BSD-3 license) to dpdk.org so that
> every armv8
> > vendors can contribute, improve and avoid SW fragmentation and therefore
> > better quality.
> I do not see any issues with this approach. This patch should be changed
> to reflect this option?
>


In past, there was a concern with this approach about maintaining the
assembly code in dpdk.org. Is this concern still valid?


> >
> > option 2) If option 1 is not possible, remove the incomplete PMD from
> > dpdk.org and maintain the existing PMD as the external one by each
> vendor.
> > This won't change much in the existing situation as this PMD is not
> standalone
> > and anyway depended on an external code base.
> IMHO, DPDK defines an interface to integrate an external crypto library.
> This might be under use by applications. Removing the PMD will break those
> applications.
>

DPDK does not define any such interface. It was pushed to external library
for the reason mentioned above.

If no one is ready to host the actual code, how is even possible to have
floating PMD which can not even  build by community.

I propose to take this to TB to reach to consensus as we are going in
circles in mailing list.




> >
> > I am glad/help to execute option 1 or 2 or help to a new maintainer if
> he/she
> > would like to step up and take ownership.
> >
> > ---
> >  MAINTAINERS                     | 1 -
> >  doc/guides/cryptodevs/armv8.rst | 3 +--
> >  2 files changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index b02066270..8096d93c4 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
> >  F: doc/guides/cryptodevs/features/ccp.ini
> >
> >  ARMv8 Crypto
> > -M: Jerin Jacob <jerinj@marvell.com>
> >  F: drivers/crypto/armv8/
> >  F: doc/guides/cryptodevs/armv8.rst
> >  F: doc/guides/cryptodevs/features/armv8.ini
> > diff --git a/doc/guides/cryptodevs/armv8.rst
> > b/doc/guides/cryptodevs/armv8.rst index 1ab40096e..ada2a774d 100644
> > --- a/doc/guides/cryptodevs/armv8.rst
> > +++ b/doc/guides/cryptodevs/armv8.rst
> > @@ -28,8 +28,7 @@ Installation
> >
> >  In order to enable this virtual crypto PMD, user must:
> >
> > -* Download ARMv8 crypto library source code from
> > -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
> > +* Use ARMv8 crypto library source code from vendor SDK
> >
> >  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
> >    the path where the ``armv8_crypto`` library was downloaded
> > --
> > 2.23.0
>
>
  
Thomas Monjalon Oct. 23, 2019, 6:23 a.m. UTC | #4
23/10/2019 04:50, Jerin Jacob:
> In past, there was a concern with this approach about maintaining the
> assembly code in dpdk.org. Is this concern still valid?
[...]
> DPDK does not define any such interface. It was pushed to external library
> for the reason mentioned above.

Yes it is questionable to host some asm code which is doing a processing
not really specific to DPDK.
Also, my first thought was that this library could be used by other projects.
Another concern about integrating this crypto lib in DPDK is to know
whether it would have an impact on DPDK packaging and delivering?
I don't remember any answer about legal export of this crypto processing.
  
Jerin Jacob Oct. 23, 2019, 8:12 a.m. UTC | #5
On Wed, Oct 23, 2019 at 11:53 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 23/10/2019 04:50, Jerin Jacob:
> > In past, there was a concern with this approach about maintaining the
> > assembly code in dpdk.org. Is this concern still valid?
> [...]
> > DPDK does not define any such interface. It was pushed to external library
> > for the reason mentioned above.
>
> Yes it is questionable to host some asm code which is doing a processing
> not really specific to DPDK.

Currently, it is doing the DPDK specific processing like kernel code
as asm code.

> Also, my first thought was that this library could be used by other projects.

OK.

> Another concern about integrating this crypto lib in DPDK is to know
> whether it would have an impact on DPDK packaging and delivering?

See below.


> I don't remember any answer about legal export of this crypto processing.

I don't think, we ran through the legal check on this.
But this can be a genuine issue from the above list. Not sure how
Linux kernel handles this case.


>
>
  
Honnappa Nagarahalli Oct. 23, 2019, 5:11 p.m. UTC | #6
On Wed, 23 Oct, 2019, 2:02 am Honnappa Nagarahalli, <Honnappa.Nagarahalli@arm.com<mailto:Honnappa.Nagarahalli@arm.com>> wrote:
<snip>

>
> From: Jerin Jacob <jerinj@marvell.com<mailto:jerinj@marvell.com>>
>
> Update the armv8 crypto PMD maintainership.
>
> https://github.com/caviumnetworks/armv8_crypto external crypto the library
> will not be maintained and probably removed soon therefor updating the PMD
> documentation to reflect the same.
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com<mailto:jerinj@marvell.com>>
> ---
>
> This patch is based on the discussion of the following thread
> http://mails.dpdk.org/archives/dev/2019-October/146005.html
>
> In summary,
> # ARMv8 crypto PMD depends on an external library owned by Marvell,
> specifically crafted to the DPDK performance use case.
> # There is no upstream path to this library and it will not be maintained due to
> that fact that it
> a) Creates fragmentation of the SW
> b) Contribution policy concerning external Github Repos
> c) None other than Marvell can contribute to this library and this makes
> difficult for other stakeholder to use it.
>
> # As the maintainer, I would like to make forward progress by providing the
> following options. None of the options are converging as the result I would like
> to step down from the maintainership of the incomplete PMD as I don't see
> any options for collaboration, improvement in the library nor follows the open
> source philosophy in the way it is structured out now.
>
> option 1) Move external library(BSD-3 license) to dpdk.org<http://dpdk.org> so that every armv8
> vendors can contribute, improve and avoid SW fragmentation and therefore
> better quality.
I do not see any issues with this approach. This patch should be changed to reflect this option?


In past, there was a concern with this approach about maintaining the assembly code in dpdk.org<http://dpdk.org>. Is this concern still valid?


>
> option 2) If option 1 is not possible, remove the incomplete PMD from
> dpdk.org<http://dpdk.org> and maintain the existing PMD as the external one by each vendor.
> This won't change much in the existing situation as this PMD is not standalone
> and anyway depended on an external code base.
IMHO, DPDK defines an interface to integrate an external crypto library. This might be under use by applications. Removing the PMD will break those applications.

DPDK does not define any such interface. It was pushed to external library for the reason mentioned above.
[Honnappa] So, what should an application which has its own crypto library do when the PMD is removed?

If no one is ready to host the actual code, how is even possible to have floating PMD which can not even  build by community.
[Honnappa] I am trying to understand your comment. Are you saying without the actual crypto library how do we build/test the PMD? Is it ok to introduce a stub library which is used if ‘ARMV8_CRYPTO_LIB_PATH’ is not set. Such stub should not be subjected to export license issues.

I propose to take this to TB to reach to consensus as we are going in circles in mailing list.



>
> I am glad/help to execute option 1 or 2 or help to a new maintainer if he/she
> would like to step up and take ownership.
>
> ---
>  MAINTAINERS                     | 1 -
>  doc/guides/cryptodevs/armv8.rst | 3 +--
>  2 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b02066270..8096d93c4 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
>  F: doc/guides/cryptodevs/features/ccp.ini
>
>  ARMv8 Crypto
> -M: Jerin Jacob <jerinj@marvell.com<mailto:jerinj@marvell.com>>
>  F: drivers/crypto/armv8/
>  F: doc/guides/cryptodevs/armv8.rst
>  F: doc/guides/cryptodevs/features/armv8.ini
> diff --git a/doc/guides/cryptodevs/armv8.rst
> b/doc/guides/cryptodevs/armv8.rst index 1ab40096e..ada2a774d 100644
> --- a/doc/guides/cryptodevs/armv8.rst
> +++ b/doc/guides/cryptodevs/armv8.rst
> @@ -28,8 +28,7 @@ Installation
>
>  In order to enable this virtual crypto PMD, user must:
>
> -* Download ARMv8 crypto library source code from
> -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
> +* Use ARMv8 crypto library source code from vendor SDK
>
>  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
>    the path where the ``armv8_crypto`` library was downloaded
> --
> 2.23.0
  
Jerin Jacob Oct. 23, 2019, 5:28 p.m. UTC | #7
On Wed, Oct 23, 2019 at 10:42 PM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
>
> On Wed, 23 Oct, 2019, 2:02 am Honnappa Nagarahalli, <Honnappa.Nagarahalli@arm.com> wrote:
>
> <snip>
>
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Update the armv8 crypto PMD maintainership.
> >
> > https://github.com/caviumnetworks/armv8_crypto external crypto the library
> > will not be maintained and probably removed soon therefor updating the PMD
> > documentation to reflect the same.
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >
> > This patch is based on the discussion of the following thread
> > http://mails.dpdk.org/archives/dev/2019-October/146005.html
> >
> > In summary,
> > # ARMv8 crypto PMD depends on an external library owned by Marvell,
> > specifically crafted to the DPDK performance use case.
> > # There is no upstream path to this library and it will not be maintained due to
> > that fact that it
> > a) Creates fragmentation of the SW
> > b) Contribution policy concerning external Github Repos
> > c) None other than Marvell can contribute to this library and this makes
> > difficult for other stakeholder to use it.
> >
> > # As the maintainer, I would like to make forward progress by providing the
> > following options. None of the options are converging as the result I would like
> > to step down from the maintainership of the incomplete PMD as I don't see
> > any options for collaboration, improvement in the library nor follows the open
> > source philosophy in the way it is structured out now.
> >
> > option 1) Move external library(BSD-3 license) to dpdk.org so that every armv8
> > vendors can contribute, improve and avoid SW fragmentation and therefore
> > better quality.
> I do not see any issues with this approach. This patch should be changed to reflect this option?
>
>
>
>
>
> In past, there was a concern with this approach about maintaining the assembly code in dpdk.org. Is this concern still valid?
>
>
>
>
> >
> > option 2) If option 1 is not possible, remove the incomplete PMD from
> > dpdk.org and maintain the existing PMD as the external one by each vendor.
> > This won't change much in the existing situation as this PMD is not standalone
> > and anyway depended on an external code base.
> IMHO, DPDK defines an interface to integrate an external crypto library. This might be under use by applications. Removing the PMD will break those applications.
>
>
>
> DPDK does not define any such interface. It was pushed to external library for the reason mentioned above.
>
> [Honnappa] So, what should an application which has its own crypto library do when the PMD is removed?
>
>
>
> If no one is ready to host the actual code, how is even possible to have floating PMD which can not even  build by community.
>
> [Honnappa] I am trying to understand your comment. Are you saying without the actual crypto library how do we build/test the PMD?

Yes.

> Is it ok to introduce a stub library which is used if ‘ARMV8_CRYPTO_LIB_PATH’ is not set. Such stub should not be subjected to export license issues.

It won't be even functional. Right? and we really don't know, do we
really have an export license issue or not?

Having said that, I have no issues if we choose to go with stub model
provided this document patch is accepted.

>
>
>
> I propose to take this to TB to reach to consensus as we are going in circles in mailing list.
>
>
>
>
>
>
> >
> > I am glad/help to execute option 1 or 2 or help to a new maintainer if he/she
> > would like to step up and take ownership.
> >
> > ---
> >  MAINTAINERS                     | 1 -
> >  doc/guides/cryptodevs/armv8.rst | 3 +--
> >  2 files changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index b02066270..8096d93c4 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
> >  F: doc/guides/cryptodevs/features/ccp.ini
> >
> >  ARMv8 Crypto
> > -M: Jerin Jacob <jerinj@marvell.com>
> >  F: drivers/crypto/armv8/
> >  F: doc/guides/cryptodevs/armv8.rst
> >  F: doc/guides/cryptodevs/features/armv8.ini
> > diff --git a/doc/guides/cryptodevs/armv8.rst
> > b/doc/guides/cryptodevs/armv8.rst index 1ab40096e..ada2a774d 100644
> > --- a/doc/guides/cryptodevs/armv8.rst
> > +++ b/doc/guides/cryptodevs/armv8.rst
> > @@ -28,8 +28,7 @@ Installation
> >
> >  In order to enable this virtual crypto PMD, user must:
> >
> > -* Download ARMv8 crypto library source code from
> > -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
> > +* Use ARMv8 crypto library source code from vendor SDK
> >
> >  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
> >    the path where the ``armv8_crypto`` library was downloaded
> > --
> > 2.23.0
  
Jerin Jacob Oct. 23, 2019, 5:41 p.m. UTC | #8
On Wed, Oct 23, 2019 at 10:42 PM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
>
> On Wed, 23 Oct, 2019, 2:02 am Honnappa Nagarahalli, <Honnappa.Nagarahalli@arm.com> wrote:
>
> <snip>
>
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Update the armv8 crypto PMD maintainership.
> >
> > https://github.com/caviumnetworks/armv8_crypto external crypto the library
> > will not be maintained and probably removed soon therefor updating the PMD
> > documentation to reflect the same.
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >
> > This patch is based on the discussion of the following thread
> > http://mails.dpdk.org/archives/dev/2019-October/146005.html
> >
> > In summary,
> > # ARMv8 crypto PMD depends on an external library owned by Marvell,
> > specifically crafted to the DPDK performance use case.
> > # There is no upstream path to this library and it will not be maintained due to
> > that fact that it
> > a) Creates fragmentation of the SW
> > b) Contribution policy concerning external Github Repos
> > c) None other than Marvell can contribute to this library and this makes
> > difficult for other stakeholder to use it.
> >
> > # As the maintainer, I would like to make forward progress by providing the
> > following options. None of the options are converging as the result I would like
> > to step down from the maintainership of the incomplete PMD as I don't see
> > any options for collaboration, improvement in the library nor follows the open
> > source philosophy in the way it is structured out now.
> >
> > option 1) Move external library(BSD-3 license) to dpdk.org so that every armv8
> > vendors can contribute, improve and avoid SW fragmentation and therefore
> > better quality.
> I do not see any issues with this approach. This patch should be changed to reflect this option?
>
>
>
>
>
> In past, there was a concern with this approach about maintaining the assembly code in dpdk.org. Is this concern still valid?
>
>
>
>
> >
> > option 2) If option 1 is not possible, remove the incomplete PMD from
> > dpdk.org and maintain the existing PMD as the external one by each vendor.
> > This won't change much in the existing situation as this PMD is not standalone
> > and anyway depended on an external code base.
> IMHO, DPDK defines an interface to integrate an external crypto library. This might be under use by applications. Removing the PMD will break those applications.
>
>
>
> DPDK does not define any such interface. It was pushed to external library for the reason mentioned above.
>
> [Honnappa] So, what should an application which has its own crypto library do when the PMD is removed?

Sorry. I missed this question. The reason why it was moved out, is not
to have N different crypto library and bind to this, instead of one
library where
everyone can contribute it.
and the interface between library and the PMD is not designed to
create a framework. It is crafted in the way, the "current"
external library needed and not for the generic case.
  
Honnappa Nagarahalli Oct. 23, 2019, 6:17 p.m. UTC | #9
> > > From: Jerin Jacob <jerinj@marvell.com>
> > >
> > > Update the armv8 crypto PMD maintainership.
> > >
> > > https://github.com/caviumnetworks/armv8_crypto external crypto the
> > > library will not be maintained and probably removed soon therefor
> > > updating the PMD documentation to reflect the same.
> > >
> > > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > > ---
> > >
> > > This patch is based on the discussion of the following thread
> > > http://mails.dpdk.org/archives/dev/2019-October/146005.html
> > >
> > > In summary,
> > > # ARMv8 crypto PMD depends on an external library owned by Marvell,
> > > specifically crafted to the DPDK performance use case.
> > > # There is no upstream path to this library and it will not be
> > > maintained due to that fact that it
> > > a) Creates fragmentation of the SW
> > > b) Contribution policy concerning external Github Repos
> > > c) None other than Marvell can contribute to this library and this
> > > makes difficult for other stakeholder to use it.
> > >
> > > # As the maintainer, I would like to make forward progress by
> > > providing the following options. None of the options are converging
> > > as the result I would like to step down from the maintainership of
> > > the incomplete PMD as I don't see any options for collaboration,
> > > improvement in the library nor follows the open source philosophy in the
> way it is structured out now.
> > >
> > > option 1) Move external library(BSD-3 license) to dpdk.org so that
> > > every armv8 vendors can contribute, improve and avoid SW
> > > fragmentation and therefore better quality.
> > I do not see any issues with this approach. This patch should be changed to
> reflect this option?
> >
> >
> >
> >
> >
> > In past, there was a concern with this approach about maintaining the
> assembly code in dpdk.org. Is this concern still valid?
> >
> >
> >
> >
> > >
> > > option 2) If option 1 is not possible, remove the incomplete PMD
> > > from dpdk.org and maintain the existing PMD as the external one by each
> vendor.
> > > This won't change much in the existing situation as this PMD is not
> > > standalone and anyway depended on an external code base.
> > IMHO, DPDK defines an interface to integrate an external crypto library. This
> might be under use by applications. Removing the PMD will break those
> applications.
> >
> >
> >
> > DPDK does not define any such interface. It was pushed to external library for
> the reason mentioned above.
> >
> > [Honnappa] So, what should an application which has its own crypto library
> do when the PMD is removed?
> >
> >
> >
> > If no one is ready to host the actual code, how is even possible to have
> floating PMD which can not even  build by community.
> >
> > [Honnappa] I am trying to understand your comment. Are you saying without
> the actual crypto library how do we build/test the PMD?
> 
> Yes.
> 
> > Is it ok to introduce a stub library which is used if
> ‘ARMV8_CRYPTO_LIB_PATH’ is not set. Such stub should not be subjected to
> export license issues.
> 
> It won't be even functional. Right? and we really don't know, do we really have
> an export license issue or not?
Agree, stub is to just ensure that the PMD to lib interface is functional.
The export license issue need to be explored. Does this need to go to LF legal?

> 
> Having said that, I have no issues if we choose to go with stub model provided
> this document patch is accepted.
Stub should be the last option, only if we run out of other options as it will preserve only the PMD in DPDK.
IMO, we still have not reached a conclusion. I think following questions need to be answered:
1) The discussion on whether it should be part of DPDK still not concluded (export license issues should come after this)
2) What are the export licensing issues in the context of DPDK as an open source project?
3) Can it be a 'hosted-project' (similar to pkt-gen etc)?

> 
> >
> >
> >
> > I propose to take this to TB to reach to consensus as we are going in circles in
> mailing list.
> >
> >
> >
> >
> >
> >
> > >
> > > I am glad/help to execute option 1 or 2 or help to a new maintainer
> > > if he/she would like to step up and take ownership.
> > >
> > > ---
> > >  MAINTAINERS                     | 1 -
> > >  doc/guides/cryptodevs/armv8.rst | 3 +--
> > >  2 files changed, 1 insertion(+), 3 deletions(-)
> > >
> > > diff --git a/MAINTAINERS b/MAINTAINERS index b02066270..8096d93c4
> > > 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
> > >  F: doc/guides/cryptodevs/features/ccp.ini
> > >
> > >  ARMv8 Crypto
> > > -M: Jerin Jacob <jerinj@marvell.com>
> > >  F: drivers/crypto/armv8/
> > >  F: doc/guides/cryptodevs/armv8.rst
> > >  F: doc/guides/cryptodevs/features/armv8.ini
> > > diff --git a/doc/guides/cryptodevs/armv8.rst
> > > b/doc/guides/cryptodevs/armv8.rst index 1ab40096e..ada2a774d 100644
> > > --- a/doc/guides/cryptodevs/armv8.rst
> > > +++ b/doc/guides/cryptodevs/armv8.rst
> > > @@ -28,8 +28,7 @@ Installation
> > >
> > >  In order to enable this virtual crypto PMD, user must:
> > >
> > > -* Download ARMv8 crypto library source code from
> > > -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
> > > +* Use ARMv8 crypto library source code from vendor SDK
> > >
> > >  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
> > >    the path where the ``armv8_crypto`` library was downloaded
> > > --
> > > 2.23.0
  
Ferruh Yigit Oct. 24, 2019, 11:36 a.m. UTC | #10
On 10/23/2019 7:17 PM, Honnappa Nagarahalli wrote:
>>>> From: Jerin Jacob <jerinj@marvell.com>
>>>>
>>>> Update the armv8 crypto PMD maintainership.
>>>>
>>>> https://github.com/caviumnetworks/armv8_crypto external crypto the
>>>> library will not be maintained and probably removed soon therefor
>>>> updating the PMD documentation to reflect the same.
>>>>
>>>> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
>>>> ---
>>>>
>>>> This patch is based on the discussion of the following thread
>>>> http://mails.dpdk.org/archives/dev/2019-October/146005.html
>>>>
>>>> In summary,
>>>> # ARMv8 crypto PMD depends on an external library owned by Marvell,
>>>> specifically crafted to the DPDK performance use case.
>>>> # There is no upstream path to this library and it will not be
>>>> maintained due to that fact that it
>>>> a) Creates fragmentation of the SW
>>>> b) Contribution policy concerning external Github Repos
>>>> c) None other than Marvell can contribute to this library and this
>>>> makes difficult for other stakeholder to use it.
>>>>
>>>> # As the maintainer, I would like to make forward progress by
>>>> providing the following options. None of the options are converging
>>>> as the result I would like to step down from the maintainership of
>>>> the incomplete PMD as I don't see any options for collaboration,
>>>> improvement in the library nor follows the open source philosophy in the
>> way it is structured out now.
>>>>
>>>> option 1) Move external library(BSD-3 license) to dpdk.org so that
>>>> every armv8 vendors can contribute, improve and avoid SW
>>>> fragmentation and therefore better quality.
>>> I do not see any issues with this approach. This patch should be changed to
>> reflect this option?
>>>
>>>
>>>
>>>
>>>
>>> In past, there was a concern with this approach about maintaining the
>> assembly code in dpdk.org. Is this concern still valid?
>>>
>>>
>>>
>>>
>>>>
>>>> option 2) If option 1 is not possible, remove the incomplete PMD
>>>> from dpdk.org and maintain the existing PMD as the external one by each
>> vendor.
>>>> This won't change much in the existing situation as this PMD is not
>>>> standalone and anyway depended on an external code base.
>>> IMHO, DPDK defines an interface to integrate an external crypto library. This
>> might be under use by applications. Removing the PMD will break those
>> applications.
>>>
>>>
>>>
>>> DPDK does not define any such interface. It was pushed to external library for
>> the reason mentioned above.
>>>
>>> [Honnappa] So, what should an application which has its own crypto library
>> do when the PMD is removed?
>>>
>>>
>>>
>>> If no one is ready to host the actual code, how is even possible to have
>> floating PMD which can not even  build by community.
>>>
>>> [Honnappa] I am trying to understand your comment. Are you saying without
>> the actual crypto library how do we build/test the PMD?
>>
>> Yes.
>>
>>> Is it ok to introduce a stub library which is used if
>> ‘ARMV8_CRYPTO_LIB_PATH’ is not set. Such stub should not be subjected to
>> export license issues.
>>
>> It won't be even functional. Right? and we really don't know, do we really have
>> an export license issue or not?
> Agree, stub is to just ensure that the PMD to lib interface is functional.
> The export license issue need to be explored. Does this need to go to LF legal?

Hi Honnappa, et al,

Intel has a serious concern that including crypto code may cause restrictions on
Intel contributions, this is under investigation.

Also another major concern that, this may limit some consumers/users to access
to the dpdk and/or use it.


> 
>>
>> Having said that, I have no issues if we choose to go with stub model provided
>> this document patch is accepted.
> Stub should be the last option, only if we run out of other options as it will preserve only the PMD in DPDK.
> IMO, we still have not reached a conclusion. I think following questions need to be answered:
> 1) The discussion on whether it should be part of DPDK still not concluded (export license issues should come after this)
> 2) What are the export licensing issues in the context of DPDK as an open source project?
> 3) Can it be a 'hosted-project' (similar to pkt-gen etc)?
> 
>>
>>>
>>>
>>>
>>> I propose to take this to TB to reach to consensus as we are going in circles in
>> mailing list.
>>>
>>>
>>>
>>>
>>>
>>>
>>>>
>>>> I am glad/help to execute option 1 or 2 or help to a new maintainer
>>>> if he/she would like to step up and take ownership.
>>>>
>>>> ---
>>>>  MAINTAINERS                     | 1 -
>>>>  doc/guides/cryptodevs/armv8.rst | 3 +--
>>>>  2 files changed, 1 insertion(+), 3 deletions(-)
>>>>
>>>> diff --git a/MAINTAINERS b/MAINTAINERS index b02066270..8096d93c4
>>>> 100644
>>>> --- a/MAINTAINERS
>>>> +++ b/MAINTAINERS
>>>> @@ -918,7 +918,6 @@ F: doc/guides/cryptodevs/ccp.rst
>>>>  F: doc/guides/cryptodevs/features/ccp.ini
>>>>
>>>>  ARMv8 Crypto
>>>> -M: Jerin Jacob <jerinj@marvell.com>
>>>>  F: drivers/crypto/armv8/
>>>>  F: doc/guides/cryptodevs/armv8.rst
>>>>  F: doc/guides/cryptodevs/features/armv8.ini
>>>> diff --git a/doc/guides/cryptodevs/armv8.rst
>>>> b/doc/guides/cryptodevs/armv8.rst index 1ab40096e..ada2a774d 100644
>>>> --- a/doc/guides/cryptodevs/armv8.rst
>>>> +++ b/doc/guides/cryptodevs/armv8.rst
>>>> @@ -28,8 +28,7 @@ Installation
>>>>
>>>>  In order to enable this virtual crypto PMD, user must:
>>>>
>>>> -* Download ARMv8 crypto library source code from
>>>> -  `here <https://github.com/caviumnetworks/armv8_crypto>`_
>>>> +* Use ARMv8 crypto library source code from vendor SDK
>>>>
>>>>  * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
>>>>    the path where the ``armv8_crypto`` library was downloaded
>>>> --
>>>> 2.23.0
  

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index b02066270..8096d93c4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -918,7 +918,6 @@  F: doc/guides/cryptodevs/ccp.rst
 F: doc/guides/cryptodevs/features/ccp.ini
 
 ARMv8 Crypto
-M: Jerin Jacob <jerinj@marvell.com>
 F: drivers/crypto/armv8/
 F: doc/guides/cryptodevs/armv8.rst
 F: doc/guides/cryptodevs/features/armv8.ini
diff --git a/doc/guides/cryptodevs/armv8.rst b/doc/guides/cryptodevs/armv8.rst
index 1ab40096e..ada2a774d 100644
--- a/doc/guides/cryptodevs/armv8.rst
+++ b/doc/guides/cryptodevs/armv8.rst
@@ -28,8 +28,7 @@  Installation
 
 In order to enable this virtual crypto PMD, user must:
 
-* Download ARMv8 crypto library source code from
-  `here <https://github.com/caviumnetworks/armv8_crypto>`_
+* Use ARMv8 crypto library source code from vendor SDK
 
 * Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
   the path where the ``armv8_crypto`` library was downloaded