DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] crypto drivers in the API
@ 2017-02-13 13:25 Thomas Monjalon
  2017-02-13 13:29 ` Thomas Monjalon
  2017-02-14 10:44 ` Doherty, Declan
  0 siblings, 2 replies; 6+ messages in thread
From: Thomas Monjalon @ 2017-02-13 13:25 UTC (permalink / raw)
  To: Declan Doherty; +Cc: dev

In the crypto API, the drivers are listed.
In my opinion, it is a wrong designed and these lists should be removed.
Do we need a deprecation notice to plan this removal in 17.05, while
working on bus abstraction?


lib/librte_cryptodev/rte_cryptodev.h:

#define CRYPTODEV_NAME_NULL_PMD     crypto_null
/**< Null crypto PMD device name */
#define CRYPTODEV_NAME_AESNI_MB_PMD crypto_aesni_mb
/**< AES-NI Multi buffer PMD device name */
#define CRYPTODEV_NAME_AESNI_GCM_PMD    crypto_aesni_gcm
/**< AES-NI GCM PMD device name */
#define CRYPTODEV_NAME_OPENSSL_PMD  crypto_openssl
/**< Open SSL Crypto PMD device name */
#define CRYPTODEV_NAME_QAT_SYM_PMD  crypto_qat
/**< Intel QAT Symmetric Crypto PMD device name */
#define CRYPTODEV_NAME_SNOW3G_PMD   crypto_snow3g
/**< SNOW 3G PMD device name */
#define CRYPTODEV_NAME_KASUMI_PMD   crypto_kasumi
/**< KASUMI PMD device name */
#define CRYPTODEV_NAME_ZUC_PMD      crypto_zuc
/**< KASUMI PMD device name */
#define CRYPTODEV_NAME_ARMV8_PMD    crypto_armv8
/**< ARMv8 Crypto PMD device name */
#define CRYPTODEV_NAME_SCHEDULER_PMD    crypto_scheduler
/**< Scheduler Crypto PMD device name */

/** Crypto device type */
enum rte_cryptodev_type {
    RTE_CRYPTODEV_NULL_PMD = 1, /**< Null crypto PMD */
    RTE_CRYPTODEV_AESNI_GCM_PMD,    /**< AES-NI GCM PMD */
    RTE_CRYPTODEV_AESNI_MB_PMD, /**< AES-NI multi buffer PMD */
    RTE_CRYPTODEV_QAT_SYM_PMD,  /**< QAT PMD Symmetric Crypto */
    RTE_CRYPTODEV_SNOW3G_PMD,   /**< SNOW 3G PMD */
    RTE_CRYPTODEV_KASUMI_PMD,   /**< KASUMI PMD */
    RTE_CRYPTODEV_ZUC_PMD,      /**< ZUC PMD */
    RTE_CRYPTODEV_OPENSSL_PMD,    /**<  OpenSSL PMD */
    RTE_CRYPTODEV_ARMV8_PMD,    /**< ARMv8 crypto PMD */
    RTE_CRYPTODEV_SCHEDULER_PMD,    /**< Crypto Scheduler PMD */
};

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] crypto drivers in the API
  2017-02-13 13:25 [dpdk-dev] crypto drivers in the API Thomas Monjalon
@ 2017-02-13 13:29 ` Thomas Monjalon
  2017-02-14 10:44 ` Doherty, Declan
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2017-02-13 13:29 UTC (permalink / raw)
  To: Declan Doherty; +Cc: dev

(resent to fix email address)
2017-02-13 14:25, Thomas Monjalon:
> In the crypto API, the drivers are listed.
> In my opinion, it is a wrong designed and these lists should be removed.
> Do we need a deprecation notice to plan this removal in 17.05, while
> working on bus abstraction?
> 
> 
> lib/librte_cryptodev/rte_cryptodev.h:
> 
> #define CRYPTODEV_NAME_NULL_PMD     crypto_null
> /**< Null crypto PMD device name */
> #define CRYPTODEV_NAME_AESNI_MB_PMD crypto_aesni_mb
> /**< AES-NI Multi buffer PMD device name */
> #define CRYPTODEV_NAME_AESNI_GCM_PMD    crypto_aesni_gcm
> /**< AES-NI GCM PMD device name */
> #define CRYPTODEV_NAME_OPENSSL_PMD  crypto_openssl
> /**< Open SSL Crypto PMD device name */
> #define CRYPTODEV_NAME_QAT_SYM_PMD  crypto_qat
> /**< Intel QAT Symmetric Crypto PMD device name */
> #define CRYPTODEV_NAME_SNOW3G_PMD   crypto_snow3g
> /**< SNOW 3G PMD device name */
> #define CRYPTODEV_NAME_KASUMI_PMD   crypto_kasumi
> /**< KASUMI PMD device name */
> #define CRYPTODEV_NAME_ZUC_PMD      crypto_zuc
> /**< KASUMI PMD device name */
> #define CRYPTODEV_NAME_ARMV8_PMD    crypto_armv8
> /**< ARMv8 Crypto PMD device name */
> #define CRYPTODEV_NAME_SCHEDULER_PMD    crypto_scheduler
> /**< Scheduler Crypto PMD device name */
> 
> /** Crypto device type */
> enum rte_cryptodev_type {
>     RTE_CRYPTODEV_NULL_PMD = 1, /**< Null crypto PMD */
>     RTE_CRYPTODEV_AESNI_GCM_PMD,    /**< AES-NI GCM PMD */
>     RTE_CRYPTODEV_AESNI_MB_PMD, /**< AES-NI multi buffer PMD */
>     RTE_CRYPTODEV_QAT_SYM_PMD,  /**< QAT PMD Symmetric Crypto */
>     RTE_CRYPTODEV_SNOW3G_PMD,   /**< SNOW 3G PMD */
>     RTE_CRYPTODEV_KASUMI_PMD,   /**< KASUMI PMD */
>     RTE_CRYPTODEV_ZUC_PMD,      /**< ZUC PMD */
>     RTE_CRYPTODEV_OPENSSL_PMD,    /**<  OpenSSL PMD */
>     RTE_CRYPTODEV_ARMV8_PMD,    /**< ARMv8 crypto PMD */
>     RTE_CRYPTODEV_SCHEDULER_PMD,    /**< Crypto Scheduler PMD */
> };

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] crypto drivers in the API
  2017-02-13 13:25 [dpdk-dev] crypto drivers in the API Thomas Monjalon
  2017-02-13 13:29 ` Thomas Monjalon
@ 2017-02-14 10:44 ` Doherty, Declan
  2017-02-14 11:04   ` Thomas Monjalon
  1 sibling, 1 reply; 6+ messages in thread
From: Doherty, Declan @ 2017-02-14 10:44 UTC (permalink / raw)
  To: Thomas Monjalon, Declan Doherty; +Cc: dev

On 13/02/2017 1:25 PM, Thomas Monjalon wrote:
> In the crypto API, the drivers are listed.
> In my opinion, it is a wrong designed and these lists should be removed.
> Do we need a deprecation notice to plan this removal in 17.05, while
> working on bus abstraction?
>
...
>

Hey Thomas,
I agree that these need to be removed, and I had planned on doing this 
for 17.05 but I have a concern on the requirements for ABI breakage in 
relation to this. This enum is unfortunately used in both the 
rte_cryptodev and rte_crypto_sym_session structures which are part of 
the libraries public API. I don't think it would be feasible to maintain 
a set of 17.02 compatible APIs with the changes this would introduce, as 
it would require a large number of functions to have 2 versions? Is it 
OK to break the ABI for this case?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] crypto drivers in the API
  2017-02-14 10:44 ` Doherty, Declan
@ 2017-02-14 11:04   ` Thomas Monjalon
  2017-02-14 14:46     ` Doherty, Declan
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Monjalon @ 2017-02-14 11:04 UTC (permalink / raw)
  To: Doherty, Declan, dev

2017-02-14 10:44, Doherty, Declan:
> On 13/02/2017 1:25 PM, Thomas Monjalon wrote:
> > In the crypto API, the drivers are listed.
> > In my opinion, it is a wrong designed and these lists should be removed.
> > Do we need a deprecation notice to plan this removal in 17.05, while
> > working on bus abstraction?
> >
> ...
> >
> 
> Hey Thomas,
> I agree that these need to be removed, and I had planned on doing this 
> for 17.05 but I have a concern on the requirements for ABI breakage in 
> relation to this. This enum is unfortunately used in both the 
> rte_cryptodev and rte_crypto_sym_session structures which are part of 
> the libraries public API. I don't think it would be feasible to maintain 
> a set of 17.02 compatible APIs with the changes this would introduce, as 
> it would require a large number of functions to have 2 versions? Is it 
> OK to break the ABI for this case?

Yes
If you were planning to do this, you should have sent a deprecation notice
few weeks ago.
Please send it now and we'll see if we have enough supporters shortly.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] crypto drivers in the API
  2017-02-14 11:04   ` Thomas Monjalon
@ 2017-02-14 14:46     ` Doherty, Declan
  2017-02-14 15:47       ` Thomas Monjalon
  0 siblings, 1 reply; 6+ messages in thread
From: Doherty, Declan @ 2017-02-14 14:46 UTC (permalink / raw)
  To: Thomas Monjalon, dev, Pablo DeLara Guarch

On 14/02/2017 11:04 AM, Thomas Monjalon wrote:
> 2017-02-14 10:44, Doherty, Declan:
>> On 13/02/2017 1:25 PM, Thomas Monjalon wrote:
>>> In the crypto API, the drivers are listed.
>>> In my opinion, it is a wrong designed and these lists should be removed.
>>> Do we need a deprecation notice to plan this removal in 17.05, while
>>> working on bus abstraction?
>>>
>> ...
>>>
...
>
> Yes
> If you were planning to do this, you should have sent a deprecation notice
> few weeks ago.
> Please send it now and we'll see if we have enough supporters shortly.
>

Thomas, there are a couple of other changes we are looking at in the 
cryptodev which would require API changes as well as break ABI including 
adding support for a multi-device sessions, and changes to crypto 
operation layout and field changes for performance but these but will 
require RFCs or at least more discussion of the proposals. Given the 
time constrains for the V1 deadline for 17.05 I would prefer to work on 
the RFCs and get them out as soon as possible over the next few weeks 
and then make all the ABI breaking changes in R17.08 in a single release.

Otherwise we will end up breaking ABI 2 release in a row which I would 
like to avoid if possible.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] crypto drivers in the API
  2017-02-14 14:46     ` Doherty, Declan
@ 2017-02-14 15:47       ` Thomas Monjalon
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2017-02-14 15:47 UTC (permalink / raw)
  To: Doherty, Declan; +Cc: dev, Pablo DeLara Guarch

2017-02-14 14:46, Doherty, Declan:
> On 14/02/2017 11:04 AM, Thomas Monjalon wrote:
> > 2017-02-14 10:44, Doherty, Declan:
> >> On 13/02/2017 1:25 PM, Thomas Monjalon wrote:
> >>> In the crypto API, the drivers are listed.
> >>> In my opinion, it is a wrong designed and these lists should be removed.
> >>> Do we need a deprecation notice to plan this removal in 17.05, while
> >>> working on bus abstraction?
> >>>
> >> ...
> >>>
> ...
> >
> > Yes
> > If you were planning to do this, you should have sent a deprecation notice
> > few weeks ago.
> > Please send it now and we'll see if we have enough supporters shortly.
> >
> 
> Thomas, there are a couple of other changes we are looking at in the 
> cryptodev which would require API changes as well as break ABI including 
> adding support for a multi-device sessions, and changes to crypto 
> operation layout and field changes for performance but these but will 
> require RFCs or at least more discussion of the proposals. Given the 
> time constrains for the V1 deadline for 17.05 I would prefer to work on 
> the RFCs and get them out as soon as possible over the next few weeks 
> and then make all the ABI breaking changes in R17.08 in a single release.
> 
> Otherwise we will end up breaking ABI 2 release in a row which I would 
> like to avoid if possible.

OK, seems good. Thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-02-14 15:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-13 13:25 [dpdk-dev] crypto drivers in the API Thomas Monjalon
2017-02-13 13:29 ` Thomas Monjalon
2017-02-14 10:44 ` Doherty, Declan
2017-02-14 11:04   ` Thomas Monjalon
2017-02-14 14:46     ` Doherty, Declan
2017-02-14 15:47       ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).