aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2013-03-12 11:34:29 -0700
committerJesse Gross <jesse@nicira.com>2013-03-13 08:42:20 -0700
commit0e8b7cb8a89f61e944a577469f7917191ba081c0 (patch)
tree52e53926df4775f3bcb0dd09c3654bf414be6e88
parent524eae67a601e05b1f4dab856d66e9e13aad69f3 (diff)
datapath: Check for Centos 6.4 backports.
Centos 6.4 backported a number of additional functions so our existing versions started causing conflicts. Reported-by: Denis Iskandarov <d.iskandarov@gmail.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
-rw-r--r--acinclude.m45
-rw-r--r--datapath/linux/compat/include/linux/etherdevice.h2
-rw-r--r--datapath/linux/compat/include/linux/if_vlan.h2
-rw-r--r--datapath/linux/compat/include/linux/skbuff.h2
4 files changed, 9 insertions, 2 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 02dc9525..f0610c90 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -215,6 +215,10 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
OVS_GREP_IFELSE([$KSRC/include/linux/err.h], [ERR_CAST])
+ OVS_GREP_IFELSE([$KSRC/include/linux/etherdevice.h], [eth_hw_addr_random])
+
+ OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [vlan_set_encap_proto])
+
OVS_GREP_IFELSE([$KSRC/include/linux/in.h], [ipv4_is_multicast])
OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_disable_lro])
@@ -249,6 +253,7 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
[OVS_DEFINE([HAVE_SKB_WARN_LRO])])
OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [consume_skb])
OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_frag_page])
+ OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_reset_mac_len])
OVS_GREP_IFELSE([$KSRC/include/linux/string.h], [kmemdup], [],
[OVS_GREP_IFELSE([$KSRC/include/linux/slab.h], [kmemdup])])
diff --git a/datapath/linux/compat/include/linux/etherdevice.h b/datapath/linux/compat/include/linux/etherdevice.h
index b2c33535..eb7123ee 100644
--- a/datapath/linux/compat/include/linux/etherdevice.h
+++ b/datapath/linux/compat/include/linux/etherdevice.h
@@ -4,6 +4,7 @@
#include <linux/version.h>
#include_next <linux/etherdevice.h>
+#ifndef HAVE_ETH_HW_ADDR_RANDOM
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
static inline void eth_hw_addr_random(struct net_device *dev)
{
@@ -15,6 +16,7 @@ static inline void eth_hw_addr_random(struct net_device *dev)
dev_hw_addr_random(dev, dev->dev_addr);
}
#endif
+#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)
#define eth_mac_addr rpl_eth_mac_addr
diff --git a/datapath/linux/compat/include/linux/if_vlan.h b/datapath/linux/compat/include/linux/if_vlan.h
index dc4b15e3..b8b1961f 100644
--- a/datapath/linux/compat/include/linux/if_vlan.h
+++ b/datapath/linux/compat/include/linux/if_vlan.h
@@ -55,7 +55,7 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci)
#define VLAN_TAG_PRESENT VLAN_CFI_MASK
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)
+#ifndef HAVE_VLAN_SET_ENCAP_PROTO
static inline void vlan_set_encap_proto(struct sk_buff *skb, struct vlan_hdr *vhdr)
{
__be16 proto;
diff --git a/datapath/linux/compat/include/linux/skbuff.h b/datapath/linux/compat/include/linux/skbuff.h
index 7fbe9d81..d485b39a 100644
--- a/datapath/linux/compat/include/linux/skbuff.h
+++ b/datapath/linux/compat/include/linux/skbuff.h
@@ -245,7 +245,7 @@ static inline struct page *skb_frag_page(const skb_frag_t *frag)
}
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40)
+#ifndef HAVE_SKB_RESET_MAC_LEN
static inline void skb_reset_mac_len(struct sk_buff *skb)
{
skb->mac_len = skb->network_header - skb->mac_header;