OVS_GREP_IFELSE([$KSRC26/include/linux/netdevice.h], [dev_disable_lro])
OVS_GREP_IFELSE([$KSRC26/include/linux/netdevice.h], [dev_get_stats])
+ OVS_GREP_IFELSE([$KSRC26/include/linux/netdevice.h], [dev_get_by_index_rcu])
+ OVS_GREP_IFELSE([$KSRC26/include/linux/rcupdate.h], [rcu_read_lock_held], [],
+ [OVS_GREP_IFELSE([$KSRC26/include/linux/rtnetlink.h],
+ [rcu_read_lock_held])])
+
# Check for the proto_data_valid member in struct sk_buff. The [^@]
# is necessary because some versions of this header remove the
# member but retain the kerneldoc comment that describes it (which
OVS_GREP_IFELSE([$KSRC26/include/net/netlink.h], [nla_get_be16])
OVS_GREP_IFELSE([$KSRC26/include/net/netlink.h], [nla_find_nested])
+ OVS_GREP_IFELSE([$KSRC26/include/linux/if_link.h], [rtnl_link_stats64])
+
OVS_CHECK_LOG2_H
if cmp -s datapath/linux-2.6/kcompat.h.new \
[$1], [ovs_have_cc_option=yes], [ovs_have_cc_option=no])
AM_CONDITIONAL([$2], [test $ovs_have_cc_option = yes])])
dnl ----------------------------------------------------------------------
+
+dnl Check for too-old XenServer.
+AC_DEFUN([OVS_CHECK_XENSERVER_VERSION],
+ [AC_CACHE_CHECK([XenServer release], [ovs_cv_xsversion],
+ [if test -e /etc/redhat-release; then
+ ovs_cv_xsversion=`sed -n 's/^XenServer DDK release \([[^-]]*\)-.*/\1/p' /etc/redhat-release`
+ fi
+ if test -z "$ovs_cv_xsversion"; then
+ ovs_cv_xsversion=none
+ fi])
+ case $ovs_cv_xsversion in
+ none)
+ ;;
+
+ [[1-9]][[0-9]]* | dnl XenServer 10 or later
+ [[6-9]]* | dnl XenServer 6 or later
+ 5.[[7-9]]* | dnl XenServer 5.7 or later
+ 5.6.[[1-9]][[0-9]][[0-9]][[0-9]]* | dnl XenServer 5.6.1000 or later
+ 5.6.[[2-9]][[0-9]][[0-9]]* | dnl XenServer 5.6.200 or later
+ 5.6.1[[0-9]][[0-9]]) dnl Xenserver 5.6.100 or later
+ ;;
+
+ *)
+ AC_MSG_ERROR([This appears to be XenServer $ovs_cv_xsversion, but only XenServer 5.6.100 or later is supported. (If you are really using a supported version of XenServer, you may override this error message by specifying 'ovs_cv_xsversion=5.6.100' on the "configure" command line.)])
+ ;;
+ esac])