batman-adv: Use common Jenkins Hash implementation
[cascardo/linux.git] / net / batman-adv / bridge_loop_avoidance.c
index ac4b96e..f2ac903 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
+/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
  *
  * Simon Wunderlich
  *
@@ -42,12 +42,8 @@ static inline uint32_t batadv_choose_claim(const void *data, uint32_t size)
        struct batadv_bla_claim *claim = (struct batadv_bla_claim *)data;
        uint32_t hash = 0;
 
-       hash = batadv_hash_bytes(hash, &claim->addr, sizeof(claim->addr));
-       hash = batadv_hash_bytes(hash, &claim->vid, sizeof(claim->vid));
-
-       hash += (hash << 3);
-       hash ^= (hash >> 11);
-       hash += (hash << 15);
+       hash = jhash(&claim->addr, sizeof(claim->addr), hash);
+       hash = jhash(&claim->vid, sizeof(claim->vid), hash);
 
        return hash % size;
 }
@@ -59,12 +55,8 @@ static inline uint32_t batadv_choose_backbone_gw(const void *data,
        const struct batadv_bla_claim *claim = (struct batadv_bla_claim *)data;
        uint32_t hash = 0;
 
-       hash = batadv_hash_bytes(hash, &claim->addr, sizeof(claim->addr));
-       hash = batadv_hash_bytes(hash, &claim->vid, sizeof(claim->vid));
-
-       hash += (hash << 3);
-       hash ^= (hash >> 11);
-       hash += (hash << 15);
+       hash = jhash(&claim->addr, sizeof(claim->addr), hash);
+       hash = jhash(&claim->vid, sizeof(claim->vid), hash);
 
        return hash % size;
 }