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