[ovs-git] [openvswitch/ovs] 86a94a: datapath: Fix netdev_master_upper_dev_link for 4.1...

GitHub noreply at github.com
Mon Feb 12 08:31:32 UTC 2018


  Branch: refs/heads/branch-2.9
  Home:   https://github.com/openvswitch/ovs
  Commit: 86a94a96163ccd5d02cd3a3d6bcba2800109add4
      https://github.com/openvswitch/ovs/commit/86a94a96163ccd5d02cd3a3d6bcba2800109add4
  Author: Greg Rose <gvrose8192 at gmail.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/linux/netdevice.h
    M datapath/vport-netdev.c

  Log Message:
  -----------
  datapath: Fix netdev_master_upper_dev_link for 4.14

An extended netlink ack has been added for 4.14 - add compat layer
changes so that it compiles for all kernels up to and including
4.14.

Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 47df6fb4e0ed5e230117f613b42bca75cbefdb5c
      https://github.com/openvswitch/ovs/commit/47df6fb4e0ed5e230117f613b42bca75cbefdb5c
  Author: Greg Rose <gvrose8192 at gmail.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/linux/compat/ip_gre.c
    M datapath/linux/compat/ip_output.c

  Log Message:
  -----------
  compat: Do not include headers when not compiling

If the entire file is not going to be compiled because OVS is using
upstream tunnel support then also don't bother pulling in the headers.

Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 2070685328a6a8993565dd9c0797480d1607d7c0
      https://github.com/openvswitch/ovs/commit/2070685328a6a8993565dd9c0797480d1607d7c0
  Author: Greg Rose <gvrose8192 at gmail.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/linux/compat/include/net/inet_frag.h

  Log Message:
  -----------
  compat:inet_frag.h: Check for frag_percpu_counter_batch

Fix up the compat layer to check for frag_percpu_counter_batch and
if not present then use atomic_sub and atomic_add as per the
backport in the 3.16.50 LTS kernel.

Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 62aa7df3ce6ead05641283e7854dd81dfa674738
      https://github.com/openvswitch/ovs/commit/62aa7df3ce6ead05641283e7854dd81dfa674738
  Author: Florian Westphal <fw at strlen.de>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/conntrack.c

  Log Message:
  -----------
  datapath: conntrack: make protocol tracker pointers const

Upstream commit:
    commit b3480fe059ac9121b5714205b4ddae14b59ef4be
    Author: Florian Westphal <fw at strlen.de>
    Date:   Sat Aug 12 00:57:08 2017 +0200

    netfilter: conntrack: make protocol tracker pointers const

    Doesn't change generated code, but will make it easier to eventually
    make the actual trackers themselvers const.

    Signed-off-by: Florian Westphal <fw at strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

Cc: Florian Westphal <fw at strlen.de>
Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 1406b9c11805a882c6d05acad2009b2f35335f87
      https://github.com/openvswitch/ovs/commit/1406b9c11805a882c6d05acad2009b2f35335f87
  Author: Greg Rose <gvrose8192 at gmail.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/datapath.c
    M datapath/linux/compat/stt.c

  Log Message:
  -----------
  datapath: Fix SKB_GSO_UDP usage

Using SKB_GSO_UDP breaks the compilation on Linux 4.14. Check for
the HAVE_SKB_GSO_UDP compiler #define.

Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: da4908001bdc4c677fe084ad8506f986cac878f4
      https://github.com/openvswitch/ovs/commit/da4908001bdc4c677fe084ad8506f986cac878f4
  Author: Greg Rose <gvrose8192 at gmail.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/linux/compiler-gcc.h

  Log Message:
  -----------
  compat: Fix compiler headers

Since Linux kernel upstream commit d15155824c50
("linux/compiler.h: Split into compiler.h and compiler_types.h") this
error check for the gcc compiler header is no longer valid.  Remove
so that openvswitch builds for linux kernels 4.14.8 and since.

Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 39f8615821d74b8af938b556bc4741519a987862
      https://github.com/openvswitch/ovs/commit/39f8615821d74b8af938b556bc4741519a987862
  Author: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Fix an error handling path in 'ovs_nla_init_match_and_action()

Upstream commit:
commit 5829e62ac17a40ab08c1b905565604a4b5fa7af6
Author: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
Date:   Mon Sep 11 21:56:20 2017 +0200

    openvswitch: Fix an error handling path in 'ovs_nla_init_match_and_action()'

    All other error handling paths in this function go through the 'error'
    label. This one should do the same.

    Fixes: 9cc9a5cb176c ("datapath: Avoid using stack larger than 1024.")
    Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
    Acked-by: Pravin B Shelar <pshelar at ovn.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Cc: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
Fixes: 850c2a4d1a ("datapath: Avoid using stack larger than 1024.")
Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: e66064f7a0df8d32b8b1d9e9219b2ab07000d54b
      https://github.com/openvswitch/ovs/commit/e66064f7a0df8d32b8b1d9e9219b2ab07000d54b
  Author: Gustavo A. R. Silva <garsilva at embeddedor.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/datapath.c
    M datapath/linux/compat/stt.c

  Log Message:
  -----------
  datapath: fix data type in queue_gso_packets

Upstream commit:
    commit 2734166e89639c973c6e125ac8bcfc2d9db72b70
    Author: Gustavo A. R. Silva <garsilva at embeddedor.com>
    Date:   Sat Nov 25 13:14:40 2017 -0600

    net: openvswitch: datapath: fix data type in queue_gso_packets

    gso_type is being used in binary AND operations together with SKB_GSO_UDP.
    The issue is that variable gso_type is of type unsigned short and
    SKB_GSO_UDP expands to more than 16 bits:

    SKB_GSO_UDP = 1 << 16

    this makes any binary AND operation between gso_type and SKB_GSO_UDP to
    be always zero, hence making some code unreachable and likely causing
    undesired behavior.

    Fix this by changing the data type of variable gso_type to unsigned int.

    Addresses-Coverity-ID: 1462223
    Fixes: 0c19f846d582 ("net: accept UFO datagrams from tuntap and packet")
    Signed-off-by: Gustavo A. R. Silva <garsilva at embeddedor.com>
    Acked-by: Willem de Bruijn <willemb at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

While backporting this I found another couple of instances of the
same issue so I fixed them up as well.

Cc: Gustavo A. R. Silva <garsilva at embeddedor.com>
Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 37861ce0ee92acf04a71a59521f519cc3e06bee4
      https://github.com/openvswitch/ovs/commit/37861ce0ee92acf04a71a59521f519cc3e06bee4
  Author: zhangliping <zhangliping02 at baidu.com>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M datapath/flow_netlink.c

  Log Message:
  -----------
  datapath: fix the incorrect flow action alloc size

Upstream commit:
    commit 67c8d22a73128ff910e2287567132530abcf5b71
    Author: zhangliping <zhangliping02 at baidu.com>
    Date:   Sat Nov 25 22:02:12 2017 +0800

    openvswitch: fix the incorrect flow action alloc size

    If we want to add a datapath flow, which has more than 500 vxlan outputs'
    action, we will get the following error reports:
      openvswitch: netlink: Flow action size 32832 bytes exceeds max
      openvswitch: netlink: Flow action size 32832 bytes exceeds max
      openvswitch: netlink: Actions may not be safe on all matching packets
      ... ...

    It seems that we can simply enlarge the MAX_ACTIONS_BUFSIZE to fix it, but
    this is not the root cause. For example, for a vxlan output action, we need
    about 60 bytes for the nlattr, but after it is converted to the flow
    action, it only occupies 24 bytes. This means that we can still support
    more than 1000 vxlan output actions for a single datapath flow under the
    the current 32k max limitation.

    So even if the nla_len(attr) is larger than MAX_ACTIONS_BUFSIZE, we
    shouldn't report EINVAL and keep it move on, as the judgement can be
    done by the reserve_sfa_size.

    Signed-off-by: zhangliping <zhangliping02 at baidu.com>
    Acked-by: Pravin B Shelar <pshelar at ovn.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Cc: zhangliping <zhangliping02 at baidu.com>
Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


  Commit: 1d7f018c278b3201070669c2c9e70ba9516841c5
      https://github.com/openvswitch/ovs/commit/1d7f018c278b3201070669c2c9e70ba9516841c5
  Author: Arnd Bergmann <arnd at arndb.de>
  Date:   2018-02-12 (Mon, 12 Feb 2018)

  Changed paths:
    M acinclude.m4
    M datapath/flow.c
    M datapath/linux/Modules.mk
    A datapath/linux/compat/include/linux/timekeeping.h

  Log Message:
  -----------
  datapath: use ktime_get_ts64() instead of ktime_get_ts()

Upstream commit:
    commit 311af51dcb5629f04976a8e451673f77e3301041
    Author: Arnd Bergmann <arnd at arndb.de>
    Date:   Mon Nov 27 12:41:38 2017 +0100

    openvswitch: use ktime_get_ts64() instead of ktime_get_ts()

    timespec is deprecated because of the y2038 overflow, so let's convert
    this one to ktime_get_ts64(). The code is already safe even on 32-bit
    architectures, since it uses monotonic times. On 64-bit architectures,
    nothing changes, while on 32-bit architectures this avoids one
    type conversion.

    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Additional compatability check for ktime_get_ts64() exists or not.
If not, then just continue using ktime_get_ts(). I added a new
compatability header file "timekeeping.h".

Cc: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/0451eb1ebbe6...1d7f018c278b


More information about the git mailing list