diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-10-29 23:10:58 -0700 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2013-11-01 18:43:46 -0700 |
commit | 8ddd094675cfd453fc9838caa46ea108a4107183 (patch) | |
tree | 197ff564a74885ac227917a82c1e987454895878 /net/openvswitch | |
parent | 5eb26b156e29eadcc21f73fb5d14497f0db24b86 (diff) | |
download | linux-stable-8ddd094675cfd453fc9838caa46ea108a4107183.tar.gz linux-stable-8ddd094675cfd453fc9838caa46ea108a4107183.tar.bz2 linux-stable-8ddd094675cfd453fc9838caa46ea108a4107183.zip |
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: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch')
-rw-r--r-- | net/openvswitch/flow_table.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index 536b4d2a42e2..e42542706087 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c @@ -421,7 +421,7 @@ static struct sw_flow *masked_flow_lookup(struct table_instance *ti, hash = flow_hash(&masked_key, key_start, key_end); head = find_bucket(ti, hash); 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, key_start, key_end)) return flow; |