2022-02-04 07:03:55

by David Ahern

[permalink] [raw]
Subject: Re: [PATCH net-next] net: don't include ndisc.h from ipv6.h

On 2/2/22 9:34 PM, Jakub Kicinski wrote:
> diff --git a/include/net/ipv6.h b/include/net/ipv6.h
> index 082f30256f59..cda1f205f391 100644
> --- a/include/net/ipv6.h
> +++ b/include/net/ipv6.h
> @@ -15,7 +15,6 @@
> #include <linux/refcount.h>
> #include <linux/jump_label_ratelimit.h>
> #include <net/if_inet6.h>
> -#include <net/ndisc.h>
> #include <net/flow.h>
> #include <net/flow_dissector.h>
> #include <net/snmp.h>
> diff --git a/include/net/ipv6_frag.h b/include/net/ipv6_frag.h
> index 0a4779175a52..5052c66e22d2 100644
> --- a/include/net/ipv6_frag.h
> +++ b/include/net/ipv6_frag.h
> @@ -1,6 +1,7 @@
> /* SPDX-License-Identifier: GPL-2.0 */
> #ifndef _IPV6_FRAG_H
> #define _IPV6_FRAG_H
> +#include <linux/icmpv6.h>
> #include <linux/kernel.h>
> #include <net/addrconf.h>
> #include <net/ipv6.h>
> diff --git a/include/net/ndisc.h b/include/net/ndisc.h
> index 53cb8de0e589..07d48bd6c0bd 100644
> --- a/include/net/ndisc.h
> +++ b/include/net/ndisc.h
> @@ -71,7 +71,6 @@ do { \
>
> struct ctl_table;
> struct inet6_dev;
> -struct net_device;

ndisc_parse_options references net_device. This part seems unrelated to
the patch intent.

> struct net_proto_family;
> struct sk_buff;
> struct prefix_info;



2022-02-04 19:51:31

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net-next] net: don't include ndisc.h from ipv6.h

On Thu, 3 Feb 2022 15:48:28 -0700 David Ahern wrote:
> > --- a/include/net/ndisc.h
> > +++ b/include/net/ndisc.h
> > @@ -71,7 +71,6 @@ do { \
> >
> > struct ctl_table;
> > struct inet6_dev;
> > -struct net_device;
>
> ndisc_parse_options references net_device. This part seems unrelated to
> the patch intent.

Indeed, I'll post v2 with this fixed. The reason was this header
includes linux/netdevice.h so the forward declaration is unnecessary.