aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow_table.c
diff options
context:
space:
mode:
authorTonghao Zhang <[email protected]>2019-11-01 14:23:50 +0000
committerDavid S. Miller <[email protected]>2019-11-04 01:18:03 +0000
commit515b65a4b99197ae062a795ab4de919e6d04be04 (patch)
treefc2ecc9ce1e57e5ce59c9fe596140ec425f197f5 /net/openvswitch/flow_table.c
parentnet: openvswitch: optimize flow-mask looking up (diff)
downloadkernel-515b65a4b99197ae062a795ab4de919e6d04be04.tar.gz
kernel-515b65a4b99197ae062a795ab4de919e6d04be04.zip
net: openvswitch: simplify the flow_hash
Simplify the code and remove the unnecessary BUILD_BUG_ON. Signed-off-by: Tonghao Zhang <[email protected]> Tested-by: Greg Rose <[email protected]> Acked-by: William Tu <[email protected]> Acked-by: Pravin B Shelar <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/openvswitch/flow_table.c')
-rw-r--r--net/openvswitch/flow_table.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
index a10d421773f8..96757e2ed256 100644
--- a/net/openvswitch/flow_table.c
+++ b/net/openvswitch/flow_table.c
@@ -432,13 +432,10 @@ err_free_ti:
static u32 flow_hash(const struct sw_flow_key *key,
const struct sw_flow_key_range *range)
{
- int key_start = range->start;
- int key_end = range->end;
- const u32 *hash_key = (const u32 *)((const u8 *)key + key_start);
- int hash_u32s = (key_end - key_start) >> 2;
+ const u32 *hash_key = (const u32 *)((const u8 *)key + range->start);
/* Make sure number of hash bytes are multiple of u32. */
- BUILD_BUG_ON(sizeof(long) % sizeof(u32));
+ int hash_u32s = range_n_bytes(range) >> 2;
return jhash2(hash_key, hash_u32s, 0);
}