[ovs-git] [openvswitch/ovs] f07a05: datapath: disable LRO

GitHub noreply at github.com
Tue Aug 18 00:09:24 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: f07a05ddb630cfc03dcaa1957ed773b6165605ed
      https://github.com/openvswitch/ovs/commit/f07a05ddb630cfc03dcaa1957ed773b6165605ed
  Author: Jiri Benc <jbenc at redhat.com>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M datapath/vport-netdev.c

  Log Message:
  -----------
  datapath: disable LRO

Currently, openvswitch tries to disable LRO from the user space. This does
not work correctly when the device added is a vlan interface, though.
Instead of dealing with possibly complex stacked cross name space relations
in the user space, do the same as bridging does and call dev_disable_lro in
the kernel.

Signed-off-by: Jiri Benc <jbenc at redhat.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 640b2b107c ("openvswitch: disable LRO").

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: d8fc1b0e2acfc1542b4d7f77586875757efc6aa2
      https://github.com/openvswitch/ovs/commit/d8fc1b0e2acfc1542b4d7f77586875757efc6aa2
  Author: Chris J Arges <chris.j.arges at canonical.com>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: allocate nr_node_ids flow_stats instead of num_possible_nodes

Some architectures like POWER can have a NUMA node_possible_map that
contains sparse entries. This causes memory corruption with openvswitch
since it allocates flow_cache with a multiple of num_possible_nodes() and
assumes the node variable returned by for_each_node will index into
flow->stats[node].

Use nr_node_ids to allocate a maximal sparse array instead of
num_possible_nodes().

The crash was noticed after 3af229f2 was applied as it changed the
node_possible_map to match node_online_map on boot.
Fixes: 3af229f2071f5b5cb31664be6109561fbe19c861

Signed-off-by: Chris J Arges <chris.j.arges at canonical.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Nishanth Aravamudan <nacc at linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: bac541e4631 ("openvswitch: allocate nr_node_ids flow_stats
instead of num_possible_nodes")

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: efdb0c9f47871213db230d17a21a903bac5adb8e
      https://github.com/openvswitch/ovs/commit/efdb0c9f47871213db230d17a21a903bac5adb8e
  Author: Glenn Griffin <ggriffin.kernel at gmail.com>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M datapath/actions.c

  Log Message:
  -----------
  datapath: Fix L4 checksum handling when dealing with IP fragments

openvswitch modifies the L4 checksum of a packet when modifying
the ip address. When an IP packet is fragmented only the first
fragment contains an L4 header and checksum. Prior to this change
openvswitch would modify all fragments, modifying application data
in non-first fragments, causing checksum failures in the
reassembled packet.

Signed-off-by: Glenn Griffin <ggriffin.kernel at gmail.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 3576fd794b3 ("openvswitch: Fix L4 checksum handling when
dealing with IP fragments").

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


Compare: https://github.com/openvswitch/ovs/compare/8af0b1b6839c...efdb0c9f4787


More information about the git mailing list