On 1 August 2016 at 14:08, Joe Stringer <j...@ovn.org> wrote:
> In kernels <=3.16 there is an LRU for managing fragment queues for IPv4
> and IPv6. Because the backport code comes from more recent upstream
> versions of Linux, this LRU management was missing from ip_frag_queue()
> and nf_ct_frag6_queue().
>
> Fixes: 595e069a0634 ("compat: Backport IPv4 reassembly.")
> Signed-off-by: Joe Stringer <j...@ovn.org>

I thought this was only needed inside the HAVE_CORRECT_MRU_HANDLING
but it seems to be called outside that from IPv6 (eg kernel-4.2). The
following incremental should fix the build on relevant platforms:

diff --git a/datapath/linux/compat/include/net/inet_frag.h
b/datapath/linux/compat/include/net/inet_frag.h
index dee1eaf80642..c37bc845896e 100644
--- a/datapath/linux/compat/include/net/inet_frag.h
+++ b/datapath/linux/compat/include/net/inet_frag.h
@@ -23,13 +23,13 @@ static inline bool inet_frag_evicting(struct
inet_frag_queue *q)
}
#endif /* HAVE_INET_FRAG_EVICTING */

-#ifndef HAVE_CORRECT_MRU_HANDLING
/* Upstream commit 3fd588eb90bf ("inet: frag: remove lru list") dropped this
 * function, but we call it from our compat code. Provide a noop version. */
#ifndef HAVE_INET_FRAG_LRU_MOVE
#define inet_frag_lru_move(q)
#endif

+#ifndef HAVE_CORRECT_MRU_HANDLING
static inline void rpl_sub_frag_mem_limit(struct netns_frags *nf, int i)
{
       __percpu_counter_add(&nf->mem, -i, frag_percpu_counter_batch);
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to