Re: [PATCH net-next 0/4] ipv6: fix the reassembly expire code in nf_conntrack
From: Cong Wang <hidden>
Date: 2012-09-18 02:34:16
Also in:
netfilter-devel
On Mon, 2012-09-17 at 12:59 -0400, David Miller wrote:
From: David Miller <davem@davemloft.net> Date: Mon, 17 Sep 2012 12:54:19 -0400 (EDT)quoted
From: Cong Wang <redacted> Date: Thu, 13 Sep 2012 14:25:37 +0800quoted
ipv6: add a new namespace for nf_conntrack_reasm ipv6: unify conntrack reassembly expire code with ipv6: make ip6_frag_nqueues() and ip6_frag_mem() static ipv6: unify fragment thresh handling code Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Cong Wang <redacted>These changes look great, all applied to net-next, thanks.I have to ask if you actually build tested this change at all: net/ipv6/proc.c: In function ‘sockstat6_seq_show’: net/ipv6/proc.c:46:10: error: implicit declaration of function ‘ip6_frag_nqueues’ [-Werror=implicit-function-declaration] net/ipv6/proc.c:46:10: error: implicit declaration of function ‘ip6_frag_mem’ [-Werror=implicit-function-declaration] It is absolutely impossible for you to have enabled ipv6 and not gotten that build error.
Weird, I don't see any build error: % grep CONFIG_IPV6 .config CONFIG_IPV6=y CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_IPV6_MIP6=y CONFIG_IPV6_SIT=y CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_GRE=y CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y % rm net/ipv6/proc.o % make net/ipv6/proc.o make[1]: Nothing to be done for `all'. make[1]: Nothing to be done for `relocs'. CHK include/linux/version.h CHK include/generated/utsrelease.h CC kernel/bounds.s GEN include/generated/bounds.h CC arch/x86/kernel/asm-offsets.s GEN include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CC scripts/mod/empty.o MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost CC net/ipv6/proc.o Rebuild the whole tree: ... CC net/ipv6/ip6mr.o CC net/ipv6/xfrm6_policy.o CC net/ipv6/xfrm6_state.o CC net/ipv6/xfrm6_input.o CC net/ipv6/xfrm6_output.o CC net/ipv6/netfilter.o CC net/ipv6/fib6_rules.o CC net/ipv6/proc.o CC net/ipv6/syncookies.o LD net/ipv6/ipv6.o CC net/ipv6/ah6.o CC net/ipv6/esp6.o CC net/ipv6/ipcomp6.o CC net/ipv6/xfrm6_tunnel.o CC net/ipv6/tunnel6.o ... % gcc --version gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The only logical explanation is that you didn't commit the changes to net/ipv6/proc.c in your tree when you put together these patches.
There is no change for net/ipv6/proc.c, ip6_frag_nqueues() and ip6_frag_mem() are now defined as static inline in include/net/ipv6.h which is already #included by net/ipv6/proc.c. This is why I still don't see how that build error could happen. Actually, the #ifdef CONFIG_IPV6 is not needed at all, as sockstat6_seq_show() is their only caller, which is compiled only when CONFIG_IPV6 is enabled. Thanks. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html