On Wed, Mar 30, 2016 at 02:46:49PM -0700, Stephen Hemminger wrote: > On Wed, 30 Mar 2016 17:30:24 +0200 > Olivier Matz <olivier.matz at 6wind.com> 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, > > if (strncmp(name, lpm->name, RTE_LPM6_NAMESIZE) == 0) > > break; > > } > > - if (te != NULL) > > + if (te != NULL) { > > + lpm = NULL; > > + rte_errno = EEXIST; > > goto exit; > > + } > > > > /* allocate tailq entry */ > > > > 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 application.
Is all the memory not zeroed on initialization? /Bruce