[dpdk-dev] [PATCH] lpm: fix overflow issue

Bruce Richardson bruce.richardson at intel.com
Sun Feb 22 21:29:00 CET 2015


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


More information about the dev mailing list