From 51c07c9e1fc925c2e1aeca04c3b9971dfdb7c1a0 Mon Sep 17 00:00:00 2001 From: Pravin B Shelar Date: Thu, 8 Dec 2011 09:52:40 -0800 Subject: [PATCH] datapath: Fix build on RHEL 5.5 Signed-off-by: Pravin B Shelar Acked-by: Jesse Gross --- 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 bb8eff6cf..fdd952e7d 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 fdbbe62a5..25a5431af 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 -#include #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 a64f22641..642eacec7 100644 --- a/datapath/linux/compat/include/linux/jiffies.h +++ b/datapath/linux/compat/include/linux/jiffies.h @@ -4,23 +4,31 @@ #include_next #include -#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 000000000..8bb7d656b --- /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 + +/* 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 -- 2.43.0