On Thu, Oct 03, 2019 at 02:57:59PM -0700, Tom Herbert wrote:
> From: Tom Herbert <t...@quantonium.net>
> 
> Move generic functions in exthdrs.c to new exthdrs_common.c so that
> exthdrs.c only contains functions that are specific to IPv6 processing,
> and exthdrs_common.c contains functions that are generic. These
> functions include those that will be used with IPv4 extension headers.
> Generic extension header related functions are prefixed by ipeh_.
> 
> Signed-off-by: Tom Herbert <t...@herbertland.com>

...

> diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
> index 25aab67..b8843c1 100644
> --- a/net/dccp/ipv6.c
> +++ b/net/dccp/ipv6.c
> @@ -515,7 +515,7 @@ static struct sock *dccp_v6_request_recv_sock(const 
> struct sock *sk,
>       if (!opt)
>               opt = rcu_dereference(np->opt);
>       if (opt) {
> -             opt = ipv6_dup_options(newsk, opt);
> +             opt = ipeh_dup_options(newsk, opt);
>               RCU_INIT_POINTER(newnp->opt, opt);
>       }
>       inet_csk(newsk)->icsk_ext_hdr_len = 0;
> diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig
> index ae1344e..700fcea 100644
> --- a/net/ipv6/Kconfig
> +++ b/net/ipv6/Kconfig
> @@ -3,9 +3,13 @@
>  # IPv6 configuration
>  #
>  
> +config EXTHDRS
> +     bool
> +
>  #   IPv6 as module will cause a CRASH if you try to unload it
>  menuconfig IPV6
>       tristate "The IPv6 protocol"
> +     select EXTHDRS
>       default y
>       ---help---
>         Support for IP version 6 (IPv6).

Hi Tom,

could you expand on the motivation for this new Kconfig symbol.
It seems that at this time exthdrs_common.o could simply depend on IPV6.

Otherwise this patch seems fine to me.

> diff --git a/net/ipv6/Makefile b/net/ipv6/Makefile
> index df3919b..0bcab81 100644
> --- a/net/ipv6/Makefile
> +++ b/net/ipv6/Makefile
> @@ -44,6 +44,7 @@ obj-$(CONFIG_IPV6_SIT) += sit.o
>  obj-$(CONFIG_IPV6_TUNNEL) += ip6_tunnel.o
>  obj-$(CONFIG_IPV6_GRE) += ip6_gre.o
>  obj-$(CONFIG_IPV6_FOU) += fou6.o
> +obj-$(CONFIG_EXTHDRS) += exthdrs_common.o
>  
>  obj-y += addrconf_core.o exthdrs_core.o ip6_checksum.o ip6_icmp.o
>  obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload)

...

Reply via email to