[ovs-git] [openvswitch/ovs] 36d352: datapath: Fix netdev_master_upper_dev_link for 4.1...

GitHub noreply at github.com
Mon Feb 12 08:30:51 UTC 2018


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 36d3520b5fd0f23656a387f16d7091f368b95f33
      https://github.com/openvswitch/ovs/commit/36d3520b5fd0f23656a387f16d7091f368b95f33
  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: b66081f33c426de2553c13171621ffdbc1bfd6c0
      https://github.com/openvswitch/ovs/commit/b66081f33c426de2553c13171621ffdbc1bfd6c0
  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: 64d8cb7295fa9480991b8fcacb574cb151bb9b2e
      https://github.com/openvswitch/ovs/commit/64d8cb7295fa9480991b8fcacb574cb151bb9b2e
  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: b81164d9e5a72fbd02a58107501ef6c7dea71db9
      https://github.com/openvswitch/ovs/commit/b81164d9e5a72fbd02a58107501ef6c7dea71db9
  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: 969b8e6b81e2d89f0e3d2212ef9937a1ac63fe72
      https://github.com/openvswitch/ovs/commit/969b8e6b81e2d89f0e3d2212ef9937a1ac63fe72
  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: a61fbfa459b808f99983fe68701f3973b366ad04
      https://github.com/openvswitch/ovs/commit/a61fbfa459b808f99983fe68701f3973b366ad04
  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: 497895ca85395d686d2a694a8ef7c1739f86e28e
      https://github.com/openvswitch/ovs/commit/497895ca85395d686d2a694a8ef7c1739f86e28e
  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: f54a7a5d5633105b9c89443defe7ae097d31a923
      https://github.com/openvswitch/ovs/commit/f54a7a5d5633105b9c89443defe7ae097d31a923
  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: 55053088ff5117cb2649ae9ec10a6ffb119c230c
      https://github.com/openvswitch/ovs/commit/55053088ff5117cb2649ae9ec10a6ffb119c230c
  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: 6deeb55a3ec9357c42c21ca1582668136ed264c4
      https://github.com/openvswitch/ovs/commit/6deeb55a3ec9357c42c21ca1582668136ed264c4
  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/94c0d9f74053...6deeb55a3ec9


More information about the git mailing list