compat: Detect and use inet_getpeer_v4().
authorJoe Stringer <joe@ovn.org>
Fri, 8 Jan 2016 01:58:59 +0000 (17:58 -0800)
committerJoe Stringer <joe@ovn.org>
Tue, 2 Feb 2016 22:26:46 +0000 (14:26 -0800)
Signed-off-by: Joe Stringer <joe@ovn.org>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
acinclude.m4
datapath/linux/compat/include/net/inetpeer.h

index dddbd1c..eedda76 100644 (file)
@@ -359,6 +359,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
                         [frags_work])
   OVS_FIND_FIELD_IFELSE([$KSRC/include/net/inet_frag.h], [inet_frags],
                         [rwlock])
+  OVS_GREP_IFELSE([$KSRC/include/net/inetpeer.h], [vif],
+                  [OVS_DEFINE([HAVE_INETPEER_VIF_SUPPORT])])
 
   OVS_GREP_IFELSE([$KSRC/include/net/dst_metadata.h], [metadata_dst])
 
index 02e9d44..c086f3b 100644 (file)
@@ -3,7 +3,8 @@
 
 #include_next <net/inetpeer.h>
 
-#ifdef OVS_FRAGMENT_BACKPORT
+#if defined(OVS_FRAGMENT_BACKPORT) && \
+    !defined(HAVE_INETPEER_VIF_SUPPORT)
 static inline struct inet_peer *rpl_inet_getpeer_v4(struct inet_peer_base *base,
                                                    __be32 v4daddr, int vif,
                                                    int create)