[dpdk-dev] [PATCH] lpm: fix overflow issue
Igor Ryzhov
iryzhov at nfware.com
Fri Feb 20 14:16:46 CET 2015
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>
---
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