Hi Akhil,

Some replies inline.

Thanks,
Ciara


>-----Original Message-----
>From: Akhil Goyal <gak...@marvell.com>
>Sent: Monday 7 February 2022 09:05
>To: Power, Ciara <ciara.po...@intel.com>; dev@dpdk.org;
>tho...@monjalon.net
>Cc: Zhang, Roy Fan <roy.fan.zh...@intel.com>; Anoob Joseph
><ano...@marvell.com>; m...@ashroe.eu; Doherty, Declan
><declan.dohe...@intel.com>
>Subject: RE: [EXT] [PATCH v3 4/4] crypto: modify return value for asym session
>create
>
>> diff --git a/doc/guides/prog_guide/cryptodev_lib.rst
>> b/doc/guides/prog_guide/cryptodev_lib.rst
>> index 62bd3577f5..8e16461dc6 100644
>> --- a/doc/guides/prog_guide/cryptodev_lib.rst
>> +++ b/doc/guides/prog_guide/cryptodev_lib.rst
>> @@ -1236,10 +1236,10 @@ crypto operations is similar except change to
>> respective op and xform setup).
>>       * Create asym crypto session and initialize it for the crypto device.
>>       * The session structure is hidden from the app, so void * is used.
>>       */
>> -    void *asym_session;
>> -    asym_session =
>> rte_cryptodev_asym_session_create(asym_session_pool,
>> +    void *asym_session = NULL;
>> +    ret = rte_cryptodev_asym_session_create(&asym_session,
>> asym_session_pool,
>>              cdev_id, &modex_xform);
>> -    if (asym_session == NULL)
>> +    if (ret < 0)
>>          rte_exit(EXIT_FAILURE, "Session could not be created\n");
>
>Sample Code in the rst files is no more added. @Thomas: Could you please
>confirm?
>Probably a separate patch is required to clean this up.
>

[CP] I see Thomas replied on this - thanks. Will try find a section of 
example/test code that does the same thing as being shown here.


>> diff --git a/lib/cryptodev/rte_cryptodev.c
>> b/lib/cryptodev/rte_cryptodev.c index 0d816ed4a9..005f0e7952 100644
>> --- a/lib/cryptodev/rte_cryptodev.c
>> +++ b/lib/cryptodev/rte_cryptodev.c
>> @@ -1912,9 +1912,9 @@ rte_cryptodev_sym_session_create(struct
>> rte_mempool *mp)
>>      return sess;
>>  }
>>
>> -void *
>> -rte_cryptodev_asym_session_create(struct rte_mempool *mp, uint8_t
>> dev_id,
>> -            struct rte_crypto_asym_xform *xforms)
>> +int
>> +rte_cryptodev_asym_session_create(void **session, struct rte_mempool
>> *mp,
>> +            uint8_t dev_id, struct rte_crypto_asym_xform *xforms)
>
>Do you really need a double pointer for the session handle?
>

[CP] Yes I believe so, the return value used to be session, but now that we 
have an int return value, the session needs to be passed in as a parameter 
somehow.
We need the double pointer because we need the call to rte_mempool_get() to set 
the original session pointer that can be accessed outside of this function,
rather than just the local copy if it were a singular session pointer passed in 
as a parameter.


<snip>

Reply via email to