[ovs-git] [openvswitch/ovs] 6cfd6b: datapath: Backport: openvswitch: fix hangup on vxl...

GitHub noreply at github.com
Tue Dec 8 17:53:21 UTC 2015


  Branch: refs/heads/branch-2.5
  Home:   https://github.com/openvswitch/ovs
  Commit: 6cfd6b1e44aa41604422dde04aada44ac4834f0a
      https://github.com/openvswitch/ovs/commit/6cfd6b1e44aa41604422dde04aada44ac4834f0a
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-12-08 (Tue, 08 Dec 2015)

  Changed paths:
    M datapath/dp_notify.c
    M datapath/vport-netdev.c

  Log Message:
  -----------
  datapath: Backport: openvswitch: fix hangup on vxlan/gre/geneve device deletion

Upstream commit:

    Each openvswitch tunnel vport (vxlan,gre,geneve) holds a reference
    to the underlying tunnel device, but never released it when such
    device is deleted.
    Deleting the underlying device via the ip tool cause the kernel to
    hangup in the netdev_wait_allrefs() loop.
    This commit ensure that on device unregistration dp_detach_port_notify()
    is called for all vports that hold the device reference, properly
    releasing it.

    Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device")
    Fixes: b2acd1dc3949 ("openvswitch: Use regular GRE net_device instead of vport")
    Fixes: 6b001e682e90 ("openvswitch: Use Geneve device.")
    Signed-off-by: Paolo Abeni <pabeni at redhat.com>
    Acked-by: Flavio Leitner <fbl at sysclose.org>
    Acked-by: Pravin B Shelar <pshelar at nicira.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 131753030("openvswitch: fix hangup on vxlan/gre/geneve device
deletion").
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jesse Gross <jesse at kernel.org>


  Commit: 6a6d1c0ff61987cfac8e2efef228cab90e4aa7ed
      https://github.com/openvswitch/ovs/commit/6a6d1c0ff61987cfac8e2efef228cab90e4aa7ed
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-12-08 (Tue, 08 Dec 2015)

  Changed paths:
    M datapath/vport-geneve.c
    M datapath/vport-gre.c
    M datapath/vport-lisp.c
    M datapath/vport-stt.c
    M datapath/vport.c
    M datapath/vport.h

  Log Message:
  -----------
  datapath: Backport: openvswitch: properly refcount vport-vxlan module

Upstream commit:
    After 614732eaa12d, no refcount is maintained for the vport-vxlan module.
    This allows the userspace to remove such module while vport-vxlan
    devices still exist, which leads to later oops.

    v1 -> v2:
     - move vport 'owner' initialization in ovs_vport_ops_register()
       and make such function a macro

    Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device")
    Signed-off-by: Paolo Abeni <pabeni at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 83e4bf7a74 ("openvswitch: properly refcount vport-vxlan
module").
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jesse Gross <jesse at kernel.org>


  Commit: 46708b2af3f6e9dd92b4d574c21f4675e17e33e9
      https://github.com/openvswitch/ovs/commit/46708b2af3f6e9dd92b4d574c21f4675e17e33e9
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-12-08 (Tue, 08 Dec 2015)

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

  Log Message:
  -----------
  datapath: Backport: vxlan: fix incorrect RCO bit in VXLAN header

Upstream commit:
    Commit 3511494ce2f3d ("vxlan: Group Policy extension") changed definition of
    VXLAN_HF_RCO from 0x00200000 to BIT(24). This is obviously incorrect. It's
    also in violation with the RFC draft.

    Fixes: 3511494ce2f3d ("vxlan: Group Policy extension")
    Cc: Thomas Graf <tgraf at suug.ch>
    Cc: Tom Herbert <therbert at google.com>
    Signed-off-by: Jiri Benc <jbenc at redhat.com>
    Acked-by: Tom Herbert <tom at herbertland.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: c5fb8caaf91 ("vxlan: fix incorrect RCO bit in VXLAN header")
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jesse Gross <jesse at kernel.org>


  Commit: 2862aeff82a3216ea4592c57299569484cf159ea
      https://github.com/openvswitch/ovs/commit/2862aeff82a3216ea4592c57299569484cf159ea
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-12-08 (Tue, 08 Dec 2015)

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

  Log Message:
  -----------
  datapath: Backport: vxlan: interpret IP headers for ECN correctly

Upstream commit:
    When looking for outer IP header, use the actual socket address family, not
    the address family of the default destination which is not set for metadata
    based interfaces (and doesn't have to match the address family of the
    received packet even if it was set).

    Fix also the misleading comment.

    Signed-off-by: Jiri Benc <jbenc at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: ce212d0f6f5 ("vxlan: interpret IP headers for ECN correctly")
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jesse Gross <jesse at kernel.org>


Compare: https://github.com/openvswitch/ovs/compare/0f851eab1de6...2862aeff82a3


More information about the git mailing list