On Fri, Feb 20, 2015 at 04:16:46PM +0300, Igor Ryzhov wrote: > LPM table overflow may occur if table is full and added rule has the biggest > depth that already have some rules. > > Signed-off-by: Igor Ryzhov <iryzhov at nfware.com> Acked-by: Bruce Richardson <bruce.richardson at intel.com>
> --- > lib/librte_lpm/rte_lpm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c > index 983e04b..cc51210 100644 > --- a/lib/librte_lpm/rte_lpm.c > +++ b/lib/librte_lpm/rte_lpm.c > @@ -298,6 +298,9 @@ rule_add(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t > depth, > return rule_index; > } > } > + > + if (rule_index == lpm->max_rules) > + return -ENOSPC; > } else { > /* Calculate the position in which the rule will be stored. */ > rule_index = 0; > -- > 1.9.3 (Apple Git-50) >