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)
> 

Reply via email to