]> git.droids-corp.org - dpdk.git/commitdiff
lpm: fix incorrect reuse of already allocated tbl8
authorNa Na <nana.nn@alibaba-inc.com>
Tue, 3 Nov 2015 02:17:41 +0000 (10:17 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 4 Nov 2015 00:18:22 +0000 (01:18 +0100)
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@alibaba-inc.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_lpm/rte_lpm.c

index 57ec2f0d2abd6b0f62027737f7bf89e575792c27..39814525d8cd8158331b06cda9bd2c1d72daf319 100644 (file)
@@ -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,