lpm: fix allocation of an existing object
authorOlivier Matz <olivier.matz@6wind.com>
Wed, 6 Apr 2016 13:27:58 +0000 (15:27 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 6 Apr 2016 15:30:06 +0000 (17:30 +0200)
commitf82f705b635d31a63446a16bc4526dbebf293c5a
treee7e91433e292d5cbce7193d7569d3c8d0a4adc58
parent4c50e2f6bf412544ae02a1fe4e04622d12953fd9
lpm: fix allocation of an existing object

Change rte_lpm*_create() functions to return NULL and set rte_errno to
EEXIST when the object name already exists. This is the behavior
described in the API documentation in the header file.

These functions were returning a pointer to the existing object in that
case, but it is a problem as the caller did not know if the object had
to be freed or not.

Doing this change also makes the lpm API more consistent with the other
APIs (mempool, rings, ...).

Fixes: 916e4f4f4e ("memory: fix for multi process support")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test/test_lpm6.c
doc/guides/rel_notes/release_16_04.rst
lib/librte_lpm/rte_lpm.c
lib/librte_lpm/rte_lpm6.c