Subject: Re: [GIT PATCH] NET: Fixes for net-2.6.19

From: Stephen Hemminger <[email-masked]>
Date: Thu, 28 Sep 2006 08:36:45 -0700

On Wed, 27 Sep 2006 22:44:44 -0700 (PDT)
David Miller <[email-masked]> wrote:

> From: YOSHIFUJI Hideaki <[email-masked]>
> Date: Tue, 19 Sep 2006 00:08:00 +0900 (JST)
> 
> >     [XFRM]: Do not add a state whose SPI is zero to the SPI hash.
> >     
> >     SPI=0 is used for acquired IPsec SA and MIPv6 RO state.
> >     Such state should not be added to the SPI hash
> >     because we do not care about it on deleting path.
> >     
> >     Signed-off-by: Masahide NAKAMURA <[email-masked]>
> >     Signed-off-by: YOSHIFUJI Hideaki <[email-masked]>
> 
> Patch applied, thank you.
> 
> But the rest of these patches need more thought about these header
> file issues.
> 
> >     [NET]: Move netlink interface bits to linux/if_link.h.
> >     
> >     Moving netlink interface bits to linux/if.h is rather troublesome for
> >     applications including both linux/if.h (which was changed to be included
> >     from linux/rtnetlink.h automatically) and net/if.h.
> >     
> >     Signed-off-by: YOSHIFUJI Hideaki <[email-masked]>
> 
> If it is illegal for user to include kernel's linux/if.h (by any
> means) if he uses net/if.h from userland headers, then he should
> also avoid including the kernel's rtnetlink.h header too.
> 
> I understand the issue, in that net/if.h defines macros that
> linux/if.h defines as well so there are conflicts (even though
> in the end the same exact values are used).
> 
> What I see happening is that the troublesome interfaces move from
> linux/if.h to a new file named linux/if_addr.h, then this gets
> included again to linux/rtnetlink.h but only for userspace with
> some messy ifdefs.
> 
> These kinds of things don't go away, they stay around forever once
> you decide to support them.
> 
> Actually, what I'm going to do is apply:
> 
> [NET]: Move netlink interface bits to linux/if_link.h.
> [NET] KBUILD: Add missing entries for new net headers.
> 
> And leave the rest for now.
> 

Please figure out how to keep rtnetlink.h useful from user space.
I tried putting the current sanitized version of rtnetlink.h into
iproute2 and the build fails. 

-- 
Stephen Hemminger <[email-masked]>