[ovs-dev] [PATCH 3/7 v3] datapath: Use new header file net/ipv6_frag.h

Ilya Maximets i.maximets at samsung.com
Fri May 17 10:08:38 UTC 2019


On 10.05.2019 22:30, Yifeng Sun wrote:
> From: Florian Westphal <fw at strlen.de>
> 
> Upstream commit:
>     commit 70b095c84326640eeacfd69a411db8fc36e8ab1a
>     Author: Florian Westphal <fw at strlen.de>
>     Date:   Sat Jul 14 01:14:01 2018 +0200
> 
>     ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
> 
>     IPV6=m
>     DEFRAG_IPV6=m
>     CONNTRACK=y yields:
> 
>     net/netfilter/nf_conntrack_proto.o: In function `nf_ct_netns_do_get':
>     net/netfilter/nf_conntrack_proto.c:802: undefined reference to `nf_defrag_ipv6_enable'
>     net/netfilter/nf_conntrack_proto.o:(.rodata+0x640): undefined reference to `nf_conntrack_l4proto_icmpv6'
> 
>     Setting DEFRAG_IPV6=y causes undefined references to ip6_rhash_params
>     ip6_frag_init and ip6_expire_frag_queue so it would be needed to force
>     IPV6=y too.
> 
>     This patch gets rid of the 'followup linker error' by removing
>     the dependency of ipv6.ko symbols from netfilter ipv6 defrag.
> 
>     Shared code is placed into a header, then used from both.
> 
>     Signed-off-by: Florian Westphal <fw at strlen.de>
>     Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
> 
> This patch backports the above upstream patch to OVS.
> 
> Cc: Florian Westphal <fw at strlen.de>
> Signed-off-by: Yifeng Sun <pkusunyifeng at gmail.com>
> Acked-by: Yi-Hung Wei <yihung.wei at gmail.com>
> ---
>  acinclude.m4                                  | 2 ++
>  datapath/conntrack.c                          | 1 +
>  datapath/linux/Modules.mk                     | 1 +
>  datapath/linux/compat/include/net/ipv6_frag.h | 8 ++++++++
>  4 files changed, 12 insertions(+)
>  create mode 100644 datapath/linux/compat/include/net/ipv6_frag.h
> 

Hi. This seems like not a full set of required changes.
This patch doesn't fix the compat implementation of nf_conntrack_reasm.c:
    datapath/linux/compat/nf_conntrack_reasm.c
It uses 'struct frag_queue' that was moved to a new header and some functions
and structures like 'ip6_frag_init'  and 'ip6_rhash_params'.
In practice we have a broken build with kernel 4.9.176 where the same upstream
patch was backported.

I'll be good if someone could take care of this.

BTW, I have a patch for TravisCI to always check with the latest stable versions,
i.e. if KERNEL=4.9 specified in matrix, Travis will check the latest 4.9.x and
will try to build with it. Would like to hear if this is an interesting feature
or not.

Best regards, Ilya Maximets.


More information about the dev mailing list