summaryrefslogtreecommitdiff
path: root/lib/librte_lpm
diff options
context:
space:
mode:
authorNa Na <nana.nn@alibaba-inc.com>2015-11-03 10:17:41 +0800
committerThomas Monjalon <thomas.monjalon@6wind.com>2015-11-04 01:18:22 +0100
commit3591a83607bd1c3742001a2807bdbc6f07e254de (patch)
treecb33ce5ecdb7abe328eae3d6ea6d8b9294af875f /lib/librte_lpm
parent5b720dc6434c62267a32d87b3becb4698e03bc62 (diff)
downloaddpdk-3591a83607bd1c3742001a2807bdbc6f07e254de.zip
dpdk-3591a83607bd1c3742001a2807bdbc6f07e254de.tar.gz
dpdk-3591a83607bd1c3742001a2807bdbc6f07e254de.tar.xz
lpm: fix incorrect reuse of already allocated tbl8
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>
Diffstat (limited to 'lib/librte_lpm')
-rw-r--r--lib/librte_lpm/rte_lpm.c1
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,