compat: Backport prandom_u32_max().
authorJoe Stringer <joestringer@nicira.com>
Thu, 3 Dec 2015 07:53:41 +0000 (23:53 -0800)
committerJoe Stringer <joe@ovn.org>
Fri, 4 Dec 2015 01:08:16 +0000 (17:08 -0800)
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
acinclude.m4
datapath/linux/compat/include/linux/random.h

index da1d397..090712e 100644 (file)
@@ -381,6 +381,7 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
                   [OVS_DEFINE([HAVE_NF_CT_TMPL_ALLOC_TAKES_STRUCT_ZONE])])
 
   OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32])
+  OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32_max])
 
   OVS_GREP_IFELSE([$KSRC/include/net/rtnetlink.h], [get_link_net])
   OVS_GREP_IFELSE([$KSRC/include/net/rtnetlink.h], [name_assign_type])
index f2a6d6a..5c088a2 100644 (file)
@@ -7,4 +7,11 @@
 #define prandom_u32()          random32()
 #endif
 
+#ifndef HAVE_PRANDOM_U32_MAX
+static inline u32 prandom_u32_max(u32 ep_ro)
+{
+       return (u32)(((u64) prandom_u32() * ep_ro) >> 32);
+}
+#endif
+
 #endif