[dpdk-dev] [PATCH] lpm: fix allocation of an existing object
Phil Yang
Phil.Yang at arm.com
Wed Jan 31 05:47:34 CET 2018
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Pavan Nikhilesh
> Sent: Wednesday, January 31, 2018 2:52 AM
> To: thomas at monjalon.net; zhiyong.yang at intel.com; ferruh.yigit at intel.com;
> olivier.matz at 6wind.com; pablo.de.lara.guarch at intel.com
> Cc: dev at dpdk.org; Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH] lpm: fix allocation of an existing object
>
> Fix rte_lpm_create_*() functions to return NULL and set rte_errno to EEXIST
> when lpm object name already exists.
> This is the behavior described in the API documentation in the header file.
>
> Fixes: 134975073af3 ("lib: remove unnecessary pointer cast")
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
Acked-by: Phil Yang <phil.yang at arm.com>
> ---
>
> This was already fixed in a previous patch by Olivier commit id
> f82f705b635d31a63446a16bc4526dbebf293c5a.
> But for some reason was undone in 134975073af3.
> lpm6 is untouched.
> Fixes currently broken 'func_reentrancy_autotest'.
>
> lib/librte_lpm/rte_lpm.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c index
> d464dbda9..d00b13d93 100644
> --- a/lib/librte_lpm/rte_lpm.c
> +++ b/lib/librte_lpm/rte_lpm.c
> @@ -180,6 +180,7 @@ rte_lpm_create_v20(const char *name, int socket_id,
> int max_rules,
> }
>
> if (te != NULL) {
> + lpm = NULL;
> rte_errno = EEXIST;
> goto exit;
> }
> @@ -256,6 +257,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,
> }
>
> if (te != NULL) {
> + lpm = NULL;
> rte_errno = EEXIST;
> goto exit;
> }
> --
> 2.16.0
More information about the dev
mailing list