First part of the hash was discarded as basis was used too late. Also be explicit about the input type expected by mhash_add().
Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> --- lib/flow.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/flow.c b/lib/flow.c index 00e66a4..ac8d748 100644 --- a/lib/flow.c +++ b/lib/flow.c @@ -828,10 +828,10 @@ flow_hash_5tuple(const struct flow *flow, uint32_t basis) return 0; } - hash = mhash_add(hash, (OVS_FORCE unsigned int) flow->nw_src); - hash = mhash_add(basis, (OVS_FORCE unsigned int) flow->nw_dst); - hash = mhash_add(hash, ((OVS_FORCE unsigned int) flow->tp_src << 16) - | (OVS_FORCE unsigned int) flow->tp_dst); + hash = mhash_add(basis, (OVS_FORCE uint32_t) flow->nw_src); + hash = mhash_add(hash, (OVS_FORCE uint32_t) flow->nw_dst); + hash = mhash_add(hash, ((OVS_FORCE uint32_t) flow->tp_src << 16) + | (OVS_FORCE uint32_t) flow->tp_dst); hash = mhash_add(hash, flow->nw_proto); return mhash_finish(hash, 13); -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev