[dpdk-dev] [PATCH] examples/ipsec-secgw: fix wrong session size

Joseph, Anoob Anoob.Joseph at caviumnetworks.com
Tue Sep 25 12:52:30 CEST 2018


Hi Akhil, Radu,

Can you please review this patch and let me know your thoughts?

Anoob

On 07-09-2018 11:25, Anoob Joseph wrote:
> Crypto devices, which support lookaside protocol, exposes security
> session size in addition to the crypto private symmetric session data
> size. For applications using the security capabilities, both these
> sizes need to be considered.
>
> Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")
>
> Signed-off-by: Anoob Joseph <anoob.joseph at caviumnetworks.com>
> Signed-off-by: Archana Muniganti <muniganti.archana at caviumnetworks.com>
> ---
>   examples/ipsec-secgw/ipsec-secgw.c | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
>
> diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
> index b45b87b..47ac26a 100644
> --- a/examples/ipsec-secgw/ipsec-secgw.c
> +++ b/examples/ipsec-secgw/ipsec-secgw.c
> @@ -1392,9 +1392,27 @@ cryptodevs_init(void)
>   
>   	uint32_t max_sess_sz = 0, sess_sz;
>   	for (cdev_id = 0; cdev_id < rte_cryptodev_count(); cdev_id++) {
> +		void *sec_ctx;
> +
> +		/* Get crypto priv session size */
>   		sess_sz = rte_cryptodev_sym_get_private_session_size(cdev_id);
>   		if (sess_sz > max_sess_sz)
>   			max_sess_sz = sess_sz;
> +
> +		/*
> +		 * If crypto device is security capable, need to check the
> +		 * size of security session as well.
> +		 */
> +
> +		/* Get security context of the crypto device */
> +		sec_ctx = rte_cryptodev_get_sec_ctx(cdev_id);
> +		if (sec_ctx == NULL)
> +			continue;
> +
> +		/* Get size of security session */
> +		sess_sz = rte_security_session_get_size(sec_ctx);
> +		if (sess_sz > max_sess_sz)
> +			max_sess_sz = sess_sz;
>   	}
>   	RTE_ETH_FOREACH_DEV(port_id) {
>   		void *sec_ctx;



More information about the dev mailing list