When the backport of ip_do_fragment() was done, it seemed as though the
upstream version of this function could always be trusted, provided we ensure
that we cannot trigger the ICMP response checks inside the upstream
implementation. This seemed to be correct, based on the kernel module tests
passing on various platforms. Unfortunately, in each of the kernel module
testsuite tests that handle IP fragments, non-fragmented traffic would be sent
through the datapath before the fragmented traffic is sent. As a result, the
refragmentation path for packets coming from userspace was not well-tested.

This series addresses a bug found in the datapath execute path where
refragmentation is expected, but not currently carried out. Patches 1-2 are
trivial updates for upstream changes to OVS, Patch 3 is the main chunk which
backports the upstream ip_do_fragment() function and dependencies, and patch 4
ensures that the kernel module tests will now send ip fragments through the
upcall/execute path as well as the regular path.

Eric W. Biederman (2):
  datapath: Pass net into ovs_fragment.
  compat: ipv4: Pass struct net through ip_fragment.

Joe Stringer (2):
  compat: Fix fragmentation issue with tunnels.
  system-traffic: Remove basic connectivity tests.

 acinclude.m4                           |   3 +-
 datapath/actions.c                     |   9 +-
 datapath/linux/Modules.mk              |   1 +
 datapath/linux/compat/include/net/ip.h |  64 ++++--
 datapath/linux/compat/ip_output.c      | 386 +++++++++++++++++++++++++++++++++
 tests/system-traffic.at                |  33 ---
 6 files changed, 435 insertions(+), 61 deletions(-)
 create mode 100644 datapath/linux/compat/ip_output.c

-- 
2.8.2

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to