lib/packet.h: add hash_mac()
[sliver-openvswitch.git] / lib / hash.h
index 979214a..5a9e289 100644 (file)
@@ -38,6 +38,7 @@ uint32_t hash_bytes(const void *, size_t n_bytes, uint32_t basis);
 static inline uint32_t hash_int(uint32_t x, uint32_t basis);
 static inline uint32_t hash_2words(uint32_t, uint32_t);
 static inline uint32_t hash_uint64(uint64_t);
+static inline uint32_t hash_uint64_basis(uint64_t x, uint32_t basis);
 uint32_t hash_3words(uint32_t, uint32_t, uint32_t);
 
 static inline uint32_t hash_boolean(bool x, uint32_t basis);
@@ -124,6 +125,11 @@ static inline uint32_t hash_uint64(const uint64_t x)
     return hash_2words((uint32_t)(x >> 32), (uint32_t)x);
 }
 
+static inline uint32_t hash_uint64_basis(const uint64_t x,
+                                         const uint32_t basis)
+{
+    return hash_3words((uint32_t)(x >> 32), (uint32_t)x, basis);
+}
 #ifdef __cplusplus
 }
 #endif