[dpdk-dev] [PATCH v3 2/2] lib/lpm:fix incorrect reuse of already allocated tbl8

Na Na nana.nn at alibaba-inc.com
Tue Nov 3 03:17:41 CET 2015


Fixes an initialization issue of 'valid_group' in the delete_depth_small().

When adding an entry to a tbl8, the .valid_group field should always be set,
so that future adds do not accidently find and use this table, thinking it is
currently invalid, i.e. unused, and thereby overwrite existing entries.

Signed-off-by: Na Na <nana.nn at alibaba-inc.com>

---
 lib/librte_lpm/rte_lpm.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 57ec2f0..3981452 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -769,6 +769,7 @@ delete_depth_small(struct rte_lpm *lpm, uint32_t ip_masked,
 
 		struct rte_lpm_tbl8_entry new_tbl8_entry = {
 			.valid = VALID,
+			.valid_group = VALID,
 			.depth = sub_rule_depth,
 			.next_hop = lpm->rules_tbl
 			[sub_rule_index].next_hop,
-- 
1.7.7.6



More information about the dev mailing list