[ovs-dev] [PATCH v2] datapath: Fix build on RHEL 5.5

Pravin B Shelar pshelar at nicira.com
Wed Dec 7 23:49:01 UTC 2011


Fixed according to comments from Jesse.

--8<--------------------------cut here-------------------------->8--

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
---
 datapath/linux/Modules.mk                     |    1 +
 datapath/linux/compat/include/linux/ipv6.h    |    8 --------
 datapath/linux/compat/include/linux/jiffies.h |   14 +++++++++++---
 datapath/linux/compat/include/net/ipv6.h      |   13 +++++++++++++
 4 files changed, 25 insertions(+), 11 deletions(-)
 create mode 100644 datapath/linux/compat/include/net/ipv6.h

diff --git a/datapath/linux/Modules.mk b/datapath/linux/Modules.mk
index bb8eff6..fdd952e 100644
--- a/datapath/linux/Modules.mk
+++ b/datapath/linux/Modules.mk
@@ -60,6 +60,7 @@ openvswitch_headers += \
 	linux/compat/include/net/netlink.h \
 	linux/compat/include/net/protocol.h \
 	linux/compat/include/net/route.h \
+	linux/compat/include/net/ipv6.h \
 	linux/compat/genetlink.inc
 
 both_modules += brcompat
diff --git a/datapath/linux/compat/include/linux/ipv6.h b/datapath/linux/compat/include/linux/ipv6.h
index fdbbe62..25a5431 100644
--- a/datapath/linux/compat/include/linux/ipv6.h
+++ b/datapath/linux/compat/include/linux/ipv6.h
@@ -2,7 +2,6 @@
 #define __LINUX_IPV6_WRAPPER_H 1
 
 #include_next <linux/ipv6.h>
-#include <net/ipv6.h>
 
 #ifndef HAVE_SKBUFF_HEADER_HELPERS
 static inline struct ipv6hdr *ipv6_hdr(const struct sk_buff *skb)
@@ -11,11 +10,4 @@ static inline struct ipv6hdr *ipv6_hdr(const struct sk_buff *skb)
 }
 #endif
 
-/* This function is upstream but not the version which supplies the
- * fragment offset.  We plan to propose the extended version.
- */
-#define ipv6_skip_exthdr rpl_ipv6_skip_exthdr
-extern int rpl_ipv6_skip_exthdr(const struct sk_buff *skb, int start,
-				u8 *nexthdrp, __be16 *frag_offp);
-
 #endif
diff --git a/datapath/linux/compat/include/linux/jiffies.h b/datapath/linux/compat/include/linux/jiffies.h
index a64f226..642eace 100644
--- a/datapath/linux/compat/include/linux/jiffies.h
+++ b/datapath/linux/compat/include/linux/jiffies.h
@@ -4,23 +4,31 @@
 #include_next <linux/jiffies.h>
 
 #include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
 
 /* Same as above, but does so with platform independent 64bit types.
  * These must be used when utilizing jiffies_64 (i.e. return value of
  * get_jiffies_64() */
+
+#ifndef time_after64
 #define time_after64(a, b)       \
 	(typecheck(__u64, a) && \
 	typecheck(__u64, b) && \
 	((__s64)(b) - (__s64)(a) < 0))
+#endif
+
+#ifndef time_before64
 #define time_before64(a, b)      time_after64(b, a)
+#endif
 
+#ifndef time_after_eq64
 #define time_after_eq64(a, b)    \
 	(typecheck(__u64, a) && \
 	typecheck(__u64, b) && \
 	((__s64)(a) - (__s64)(b) >= 0))
-#define time_before_eq64(a, b)   time_after_eq64(b, a)
+#endif
 
-#endif /* linux kernel < 2.6.19 */
+#ifndef time_before_eq64
+#define time_before_eq64(a, b)   time_after_eq64(b, a)
+#endif
 
 #endif
diff --git a/datapath/linux/compat/include/net/ipv6.h b/datapath/linux/compat/include/net/ipv6.h
new file mode 100644
index 0000000..8bb7d65
--- /dev/null
+++ b/datapath/linux/compat/include/net/ipv6.h
@@ -0,0 +1,13 @@
+#ifndef __NET_IPV6_WRAPPER_H
+#define __NET_IPV6_WRAPPER_H 1
+
+#include_next <net/ipv6.h>
+
+/* This function is upstream but not the version which supplies the
+ * fragment offset.  We plan to propose the extended version.
+ */
+#define ipv6_skip_exthdr rpl_ipv6_skip_exthdr
+extern int ipv6_skip_exthdr(const struct sk_buff *skb, int start,
+				u8 *nexthdrp, __be16 *frag_offp);
+
+#endif
-- 
1.7.1




More information about the dev mailing list