[dpdk-dev] [PATCH 1/4] lpm: allocation of an existing object should fail

2016-04-01 Thread Olivier Matz
On 03/31/2016 09:35 AM, Olivier Matz wrote: > On 03/30/2016 11:46 PM, Stephen Hemminger wrote: >> with older memzone model, objects in huge memory area were never freed. >> That means when application restarts it finds the old LPM and works. >> With your change it would break such an

[dpdk-dev] [PATCH 1/4] lpm: allocation of an existing object should fail

2016-03-31 Thread Bruce Richardson
On Wed, Mar 30, 2016 at 02:46:49PM -0700, Stephen Hemminger wrote: > On Wed, 30 Mar 2016 17:30:24 +0200 > Olivier Matz wrote: > > > diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c > > index 4c44cd7..9877a30 100644 > > --- a/lib/librte_lpm/rte_lpm6.c > > +++

[dpdk-dev] [PATCH 1/4] lpm: allocation of an existing object should fail

2016-03-31 Thread Olivier Matz
Hi Stephen, On 03/30/2016 11:46 PM, Stephen Hemminger wrote: > On Wed, 30 Mar 2016 17:30:24 +0200 > Olivier Matz wrote: > >> diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c >> index 4c44cd7..9877a30 100644 >> --- a/lib/librte_lpm/rte_lpm6.c >> +++ b/lib/librte_lpm/rte_lpm6.c

[dpdk-dev] [PATCH 1/4] lpm: allocation of an existing object should fail

2016-03-30 Thread Olivier Matz
Change the API of rte_lpm*_create() functions to return NULL and set rte_errno to EEXIST when the object name already exists. 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

[dpdk-dev] [PATCH 1/4] lpm: allocation of an existing object should fail

2016-03-30 Thread Stephen Hemminger
On Wed, 30 Mar 2016 17:30:24 +0200 Olivier Matz wrote: > diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c > index 4c44cd7..9877a30 100644 > --- a/lib/librte_lpm/rte_lpm6.c > +++ b/lib/librte_lpm/rte_lpm6.c > @@ -182,8 +182,11 @@ rte_lpm6_create(const char *name, int socket_id,