Thanks Greg for your review and testing. Yifeng
On Thu, Aug 23, 2018 at 10:17 PM, Gregory Rose <[email protected]> wrote: > On 8/21/2018 7:42 AM, Yifeng Sun wrote: > > Add support for kernel version up to 4.17.x. On Travis, build passed > for all kernel versions. And no new test fails are introduced by this > patch. > > Cleaned up file datapath/linux/compat/include/net/ip6_fib.h which > has no effect to kernel module but brings complexity to porting. > > Signed-off-by: Yifeng Sun <[email protected]> <[email protected]> > > > LGTM. > > Travis is happy: > > https://travis-ci.org/gvrose8192/ovs-experimental/builds/419847640 > > I ran check-kmod on a 4.16.13 kernel and got one transient error but > everything else looks good there > too. > > ## ------------- ## > ## Test results. ## > ## ------------- ## > > ERROR: 116 tests were run, > 1 failed unexpectedly. > 14 tests were skipped. > ## -------------------------------------- ## > ## system-kmod-testsuite.log was created. ## > ## -------------------------------------- ## > > Please send `tests/system-kmod-testsuite.log' and all information you > think might help: > > To: <[email protected]> <[email protected]> > Subject: [openvswitch 2.10.90] system-kmod-testsuite: 109 failed > > Nice work, thanks!!! > > Reviewed-by: Greg Rose <[email protected]> <[email protected]> > Tested-by: Greg Rose <[email protected]> <[email protected]> > > > --- > .travis.yml | 2 ++ > Documentation/faq/releases.rst | 2 +- > NEWS | 2 +- > acinclude.m4 | 6 ++-- > datapath/linux/Modules.mk | 1 - > datapath/linux/compat/include/net/dst_metadata.h | 14 ++++++--- > datapath/linux/compat/include/net/ip6_fib.h | 40 > ------------------------ > 7 files changed, 15 insertions(+), 52 deletions(-) > delete mode 100644 datapath/linux/compat/include/net/ip6_fib.h > > diff --git a/.travis.yml b/.travis.yml > index 998b33d..21447b5 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -35,6 +35,8 @@ env: > - BUILD_ENV="-m32" OPTS="--disable-ssl" > - KERNEL=3.16.54 DPDK=1 > - KERNEL=3.16.54 DPDK=1 OPTS="--enable-shared" > + - KERNEL=4.17.14 > + - KERNEL=4.16.18 > - KERNEL=4.15.18 > - KERNEL=4.14.63 > - KERNEL=4.9.120 > diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst > index e64fa22..41d41e3 100644 > --- a/Documentation/faq/releases.rst > +++ b/Documentation/faq/releases.rst > @@ -67,7 +67,7 @@ Q: What Linux kernel versions does each Open vSwitch > release work with? > 2.7.x 3.10 to 4.9 > 2.8.x 3.10 to 4.12 > 2.9.x 3.10 to 4.13 > - 2.10.x 3.10 to 4.15 > + 2.10.x 3.10 to 4.17 > ============ ============== > > Open vSwitch userspace should also work with the Linux kernel module > built > diff --git a/NEWS b/NEWS > index 8987f9a..5bab26d 100644 > --- a/NEWS > +++ b/NEWS > @@ -4,7 +4,7 @@ Post-v2.10.0 > as the default syslog method. > - The environment variable OVS_CTL_TIMEOUT, if set, is now used > as the default timeout for control utilities. > - > + - Support for the kernel versions 4.16.x and 4.17.x. > > v2.10.0 - xx xxx xxxx > --------------------- > diff --git a/acinclude.m4 b/acinclude.m4 > index a6a0e9a..ab141bd 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -151,10 +151,10 @@ AC_DEFUN([OVS_CHECK_LINUX], [ > AC_MSG_RESULT([$kversion]) > > if test "$version" -ge 4; then > - if test "$version" = 4 && test "$patchlevel" -le 15; then > + if test "$version" = 4 && test "$patchlevel" -le 17; then > : # Linux 4.x > else > - AC_ERROR([Linux kernel in $KBUILD is version $kversion, but > version newer than 4.15.x is not supported (please refer to the FAQ for > advice)]) > + AC_ERROR([Linux kernel in $KBUILD is version $kversion, but > version newer than 4.17.x is not supported (please refer to the FAQ for > advice)]) > fi > elif test "$version" = 3 && test "$patchlevel" -ge 10; then > : # Linux 3.x > @@ -803,8 +803,6 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [ > [OVS_DEFINE(HAVE_NF_CONNTRACK_HELPER_PUT)]) > > OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h],[[[[:space:]]]SKB_GSO_UDP[[[:space:]]]], > [OVS_DEFINE([HAVE_SKB_GSO_UDP])]) > - OVS_GREP_IFELSE([$KSRC/include/net/dst.h],[DST_NOCACHE], > - [OVS_DEFINE([HAVE_DST_NOCACHE])]) > OVS_FIND_FIELD_IFELSE([$KSRC/include/net/rtnetlink.h], [rtnl_link_ops], > [extack], > [OVS_DEFINE([HAVE_EXT_ACK_IN_RTNL_LINKOPS])]) > diff --git a/datapath/linux/Modules.mk b/datapath/linux/Modules.mk > index 2fec650..b06ca15 100644 > --- a/datapath/linux/Modules.mk > +++ b/datapath/linux/Modules.mk > @@ -82,7 +82,6 @@ openvswitch_headers += \ > linux/compat/include/net/inetpeer.h \ > linux/compat/include/net/ip.h \ > linux/compat/include/net/ip_tunnels.h \ > - linux/compat/include/net/ip6_fib.h \ > linux/compat/include/net/ip6_route.h \ > linux/compat/include/net/ip6_tunnel.h \ > linux/compat/include/net/ipv6.h \ > diff --git a/datapath/linux/compat/include/net/dst_metadata.h > b/datapath/linux/compat/include/net/dst_metadata.h > index e53a29e..36f3f39 100644 > --- a/datapath/linux/compat/include/net/dst_metadata.h > +++ b/datapath/linux/compat/include/net/dst_metadata.h > @@ -1,11 +1,6 @@ > #ifndef __NET_DST_METADATA_WRAPPER_H > #define __NET_DST_METADATA_WRAPPER_H 1 > > -enum metadata_type { > - METADATA_IP_TUNNEL, > - METADATA_HW_PORT_MUX, > -}; > - > #ifdef USE_UPSTREAM_TUNNEL > #include_next <net/dst_metadata.h> > #else > @@ -16,6 +11,11 @@ enum metadata_type { > #include <net/ipv6.h> > #include <net/ip_tunnels.h> > > +enum metadata_type { > + METADATA_IP_TUNNEL, > + METADATA_HW_PORT_MUX, > +}; > + > struct hw_port_info { > struct net_device *lower_dev; > u32 port_id; > @@ -119,7 +119,11 @@ void ovs_ip_tunnel_rcv(struct net_device *dev, struct > sk_buff *skb, > static inline struct metadata_dst * > rpl_metadata_dst_alloc(u8 optslen, enum metadata_type type, gfp_t flags) > { > +#if defined(HAVE_METADATA_DST_ALLOC_WITH_METADATA_TYPE) && > defined(USE_UPSTREAM_TUNNEL) > + return metadata_dst_alloc(optslen, type, flags); > +#else > return metadata_dst_alloc(optslen, flags); > +#endif > } > #define metadata_dst_alloc rpl_metadata_dst_alloc > > diff --git a/datapath/linux/compat/include/net/ip6_fib.h > b/datapath/linux/compat/include/net/ip6_fib.h > deleted file mode 100644 > index 4d58375..0000000 > --- a/datapath/linux/compat/include/net/ip6_fib.h > +++ /dev/null > @@ -1,40 +0,0 @@ > -/* > - * Linux INET6 implementation > - * > - * Authors: > - * Pedro Roque <[email protected]> <[email protected]> > - * > - * This program is free software; you can redistribute it and/or > - * modify it under the terms of the GNU General Public License > - * as published by the Free Software Foundation; either version > - * 2 of the License, or (at your option) any later version. > - */ > - > -#ifndef _IP6_FIB_WRAPPER_H > -#define _IP6_FIB_WRAPPER_H > - > -#include_next <net/ip6_fib.h> > - > -#ifndef RTF_PCPU > -#define RTF_PCPU 0x40000000 > -#endif > - > -#ifndef RTF_LOCAL > -#define RTF_LOCAL 0x80000000 > -#endif > - > -#define rt6_get_cookie rpl_rt6_get_cookie > -static inline u32 rt6_get_cookie(const struct rt6_info *rt) > -{ > - if (rt->rt6i_flags & RTF_PCPU || > -#ifdef HAVE_DST_NOCACHE > - (unlikely(rt->dst.flags & DST_NOCACHE) && rt->dst.from)) > -#else > - (unlikely(!list_empty(&rt->rt6i_uncached)) && rt->dst.from)) > -#endif > - rt = (struct rt6_info *)(rt->dst.from); > - > - return rt->rt6i_node ? rt->rt6i_node->fn_sernum : 0; > -} > - > -#endif > > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
