Commit 8ddd0946 authored by Pravin B Shelar's avatar Pravin B Shelar Committed by Jesse Gross

openvswitch: Use flow hash during flow lookup operation.

Flow->hash can be used to detect hash collisions and avoid flow key
compare in flow lookup.
Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
Signed-off-by: default avatarJesse Gross <jesse@nicira.com>
parent 5eb26b15
...@@ -421,7 +421,7 @@ static struct sw_flow *masked_flow_lookup(struct table_instance *ti, ...@@ -421,7 +421,7 @@ static struct sw_flow *masked_flow_lookup(struct table_instance *ti,
hash = flow_hash(&masked_key, key_start, key_end); hash = flow_hash(&masked_key, key_start, key_end);
head = find_bucket(ti, hash); head = find_bucket(ti, hash);
hlist_for_each_entry_rcu(flow, head, hash_node[ti->node_ver]) { hlist_for_each_entry_rcu(flow, head, hash_node[ti->node_ver]) {
if (flow->mask == mask && if (flow->mask == mask && flow->hash == hash &&
flow_cmp_masked_key(flow, &masked_key, flow_cmp_masked_key(flow, &masked_key,
key_start, key_end)) key_start, key_end))
return flow; return flow;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment