datapath: use eth_hw_addr_random() and reset addr_assign_type
[sliver-openvswitch.git] / datapath / linux / compat / include / linux / etherdevice.h
diff --git a/datapath/linux/compat/include/linux/etherdevice.h b/datapath/linux/compat/include/linux/etherdevice.h
new file mode 100644 (file)
index 0000000..7a8178e
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef __LINUX_ETHERDEVICE_WRAPPER_H
+#define __LINUX_ETHERDEVICE_WRAPPER_H 1
+
+#include_next <linux/etherdevice.h>
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
+static inline void eth_hw_addr_random(struct net_device *dev)
+{
+       random_ether_addr(dev->dev_addr);
+}
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)
+static inline void eth_hw_addr_random(struct net_device *dev)
+{
+       dev_hw_addr_random(dev, dev->dev_addr);
+}
+#endif
+
+#endif