tunneling: Don't shadow vport when generating cache.
[sliver-openvswitch.git] / lib / random.c
index 88ddb4a..6b02446 100644 (file)
@@ -17,6 +17,7 @@
 #include <config.h>
 #include "random.h"
 
+#include <assert.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <sys/time.h>
@@ -56,6 +57,13 @@ random_init(void)
     }
 }
 
+void
+random_set_seed(uint32_t seed_)
+{
+    assert(seed_);
+    seed = seed_;
+}
+
 void
 random_bytes(void *p_, size_t n)
 {
@@ -103,7 +111,7 @@ static uint32_t
 random_next(void)
 {
     seed ^= seed << 13;
-    seed >>= 17;
+    seed ^= seed >> 17;
     seed ^= seed << 5;
 
     return seed;