On 25 November 2015 at 09:36, Pravin Shelar <[email protected]> wrote: > On Sun, Nov 8, 2015 at 1:29 AM, Joe Stringer <[email protected]> wrote: >> Backport IPv4 reassembly from the upstream commit caaecdd3d3f8 ("inet: >> frags: remove INET_FRAG_EVICTED and use list_evictor for the test"). >> >> This is necessary because kernels prior to upstream commit d6b915e29f4a >> ("ip_fragment: don't forward defragmented DF packet") would not always >> track the maximum received unit size during ip_defrag(). Without the >> MRU, refragmentation cannot occur so reassembled packets are dropped. >> >> Signed-off-by: Joe Stringer <[email protected]> >> --- >> acinclude.m4 | 6 + >> datapath/compat.h | 15 + >> datapath/datapath.c | 9 +- >> datapath/linux/Modules.mk | 4 + >> datapath/linux/compat/include/net/inet_frag.h | 57 ++ >> datapath/linux/compat/include/net/inetpeer.h | 16 + >> datapath/linux/compat/include/net/ip.h | 21 + >> datapath/linux/compat/include/net/vrf.h | 26 + >> datapath/linux/compat/inet_fragment.c | 557 +++++++++++++++++++ >> datapath/linux/compat/ip_fragment.c | 737 >> ++++++++++++++++++++++++++ >> 10 files changed, 1447 insertions(+), 1 deletion(-) >> create mode 100644 datapath/linux/compat/include/net/inetpeer.h >> create mode 100644 datapath/linux/compat/include/net/vrf.h >> create mode 100644 datapath/linux/compat/inet_fragment.c >> create mode 100644 datapath/linux/compat/ip_fragment.c >> > > I would prefer to have ip-frag and ipv6-frag as separate modules if it > does not complicate code alot. Have you considered it?
Update on this: short answer is it introduces a circular dependency on rpl_pskb_expand_head(). I sent out a v2 with the other fixes I've accumulated since this version. As a side note of interest, some arcane magicks cause modules with names like like "foo_bar" (note the underscore) defined in datapath/Modules.mk to ignore the list of source files provided, and only build a single source file with a name like "foo-bar.c". I suspect it's related to the definitions of 'obj-m' and "foo_bar-y" in datapath/linux/Kbuild.in, but this could only be verified by someone more well-versed in the dark arts than I. The workaround is if you want multiple source files in your module, don't place an underscore/dash in the name. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
