[ovs-dev] PATCH etherdevice.h : Fix openvswitch-v1.9.0 brcompat.ko compiler errors in Debian Wheezy (linux 3.2.0)

Michael Przybylski michaeljprzybylski at gmail.com
Sun Apr 7 23:19:51 UTC 2013


This patch refers to commit 
a83d19d7581c083b84a611a1bf4286989656f52c
"Set dates for 1.9.0 release."

Building brcompat.ko for Debian Wheezy fails with error "openvswitch/datapath/
linux/compat/include/linux/etherdevice.h:13:20: error:
redefinition of ‘eth_hw_addr_random’" because it is already defined in
/usr/src/linux-headers-3.2.0-4-common/include/linux/etherdevice.h

The following patch moves the kernel threshold for defining 
dev_hw_addr_random down from < 3.4.0 to < 3.2.0

openvswitch-1.9.0 with this patch was successfully built for Debian Wheezy
with dpkg-buildpackage, the resulting .debs were successfully installed,
and openvswitch.ko and brcompat.ko were successfully built, and inserted
into the running kernel.

Further testing to consider:
* Test against linux kernel versions between 3.2.1 and 3.4.0.
* Test in other distributions that use kernels between 3.2.0 and 3.4.0

Signed-off-by: Michael Przybylski <MichaelJPrzybylski at gmail.com>

From 84d49c098269d4212aabe3b9e14aa7f09ec4e417 Mon Sep 17 00:00:00 2001
From: Michael Przybylski <MichaelJPrzybylski at gmail.com>
Date: Sun, 7 Apr 2013 15:26:42 -0700
Subject: [PATCH] Prevent redefinition of dev_hw_addr_random when building
 brcompat.ko for Debian Wheezy (linux 3.2.0)

---
 datapath/linux/compat/include/linux/etherdevice.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/datapath/linux/compat/include/linux/etherdevice.h b/datapath/linux/
index 7f04c96..3a1400a 100644
--- a/datapath/linux/compat/include/linux/etherdevice.h
+++ b/datapath/linux/compat/include/linux/etherdevice.h
@@ -9,7 +9,7 @@ static inline void eth_hw_addr_random(struct net_device *dev)
 {
        random_ether_addr(dev->dev_addr);
 }
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
 static inline void eth_hw_addr_random(struct net_device *dev)
 {
        dev_hw_addr_random(dev, dev->dev_addr);
-- 
1.7.10.4


More information about the dev mailing list