[ovs-dev] [PATCH] datapath: Move kernel version check to version.h.

Pravin Shelar pshelar at nicira.com
Fri Aug 10 01:03:49 UTC 2012


After discussing it with Jesse, we have decided to move this check to
configure script, I will send out patch soon.


On Thu, Aug 9, 2012 at 3:39 PM, Jesse Gross <jesse at nicira.com> wrote:
> The check for supported kernel versions is currently in datapath.c
> but sometimes compatibility problems are hit before getting that far.
> When this happens users get compiler errors and generally no
> descriptive text.  This moves the check to version.h, which is almost
> certainly included before any offending code.
>
> Suggested-by: Pravin B Shelar <pshelar at nicira.com>
> Signed-off-by: Jesse Gross <jesse at nicira.com>
> ---
>  datapath/datapath.c                           |    5 -----
>  datapath/linux/Modules.mk                     |    1 +
>  datapath/linux/compat/include/linux/version.h |   11 +++++++++++
>  3 files changed, 12 insertions(+), 5 deletions(-)
>  create mode 100644 datapath/linux/compat/include/linux/version.h
>
> diff --git a/datapath/datapath.c b/datapath/datapath.c
> index e98c84b..a9d9a3c 100644
> --- a/datapath/datapath.c
> +++ b/datapath/datapath.c
> @@ -60,11 +60,6 @@
>  #include "tunnel.h"
>  #include "vport-internal_dev.h"
>
> -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) || \
> -    LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
> -#error Kernels before 2.6.18 or after 3.5 are not supported by this version of Open vSwitch.
> -#endif
> -
>  #define REHASH_FLOW_INTERVAL (10 * 60 * HZ)
>  static void rehash_flow_table(struct work_struct *work);
>  static DECLARE_DELAYED_WORK(rehash_flow_wq, rehash_flow_table);
> diff --git a/datapath/linux/Modules.mk b/datapath/linux/Modules.mk
> index 8ce6115..6283ff7 100644
> --- a/datapath/linux/Modules.mk
> +++ b/datapath/linux/Modules.mk
> @@ -55,6 +55,7 @@ openvswitch_headers += \
>         linux/compat/include/linux/types.h \
>         linux/compat/include/linux/u64_stats_sync.h \
>         linux/compat/include/linux/udp.h \
> +       linux/compat/include/linux/version.h \
>         linux/compat/include/linux/workqueue.h \
>         linux/compat/include/net/checksum.h \
>         linux/compat/include/net/dst.h \
> diff --git a/datapath/linux/compat/include/linux/version.h b/datapath/linux/compat/include/linux/version.h
> new file mode 100644
> index 0000000..cdca86e
> --- /dev/null
> +++ b/datapath/linux/compat/include/linux/version.h
> @@ -0,0 +1,11 @@
> +#ifndef __LINUX_VERSION_WRAPPER_H
> +#define __LINUX_VERSION_WRAPPER_H 1
> +
> +#include_next <linux/version.h>
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) || \
> +    LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
> +#error Kernels before 2.6.18 or after 3.5 are not supported by this version of Open vSwitch.
> +#endif
> +
> +#endif
> --
> 1.7.9.5
>



More information about the dev mailing list