* Fwd: include/linux/netfilter.h after make headers_install is incomplete [not found] ` <a27c0c970805201139i38e12d15ue807fc0239b1c10e@mail.gmail.com> @ 2008-05-20 18:44 ` Greg Steuck 2008-05-20 21:21 ` David Miller 0 siblings, 1 reply; 5+ messages in thread From: Greg Steuck @ 2008-05-20 18:44 UTC (permalink / raw) To: linux-kernel Hello, I asked this on netfilter list, but it doesn't seem to be generating any interest there. Maybe the question belongs on this list? I ran make headers_install in 2.6.25 tree and the installed netfilter.h is not complete. Namely, it declares union nf_inet_addr { __u32 all[4]; __be32 ip; __be32 ip6[4]; ... } The __u32, __be32 types are declared in <linux/types.h> and the #include directive is removed by the installation process. This in turn makes some applications unbuildable against such an exported tree, e.g. busybox-1.10.1/networking/tcpudp.c:#include <linux/netfilter_ipv4.h> If I correctly understand the purpose of make headers_install, it is supposed to generate an API for applications. I could certainly make tcpudp.c include linux/types.h, but given that the application does not even use nf_inet_addr, this would be the wrong place for the fix. Is kernel the right place then? Thanks Greg -- nest.cx is Gmail hosted, use PGP for anything private. Key: http://tinyurl.com/ho8qg Fingerprint: 5E2B 2D0E 1E03 2046 BEC3 4D50 0B15 42BD 8DF5 A1B0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: include/linux/netfilter.h after make headers_install is incomplete 2008-05-20 18:44 ` Fwd: include/linux/netfilter.h after make headers_install is incomplete Greg Steuck @ 2008-05-20 21:21 ` David Miller 2008-05-21 9:56 ` Patrick McHardy 0 siblings, 1 reply; 5+ messages in thread From: David Miller @ 2008-05-20 21:21 UTC (permalink / raw) To: greg; +Cc: linux-kernel, netfilter-devel From: "Greg Steuck" <greg@nest.cx> Date: Tue, 20 May 2008 11:44:56 -0700 > I asked this on netfilter list, but it doesn't seem to be generating any > interest there. Maybe the question belongs on this list? No, it does not. netfilter-devel@vger.kernel.org is the correct place to discuss this, added to CC:. Perhaps you sent this to plain "netfilter@vger.kernel.org" or the older lists which are no longer in use. > I ran make headers_install in 2.6.25 tree and the installed netfilter.h is > not complete. Namely, it declares > union nf_inet_addr { > __u32 all[4]; > __be32 ip; > __be32 ip6[4]; > ... > } > > The __u32, __be32 types are declared in <linux/types.h> and the #include > directive is removed by the installation process. This in turn makes some > applications unbuildable against such an exported tree, e.g. > > busybox-1.10.1/networking/tcpudp.c:#include <linux/netfilter_ipv4.h> > > If I correctly understand the purpose of make headers_install, it is > supposed to generate an API for applications. I could certainly > make tcpudp.c include linux/types.h, but given that the application > does not even use nf_inet_addr, this would be the wrong place for > the fix. > > Is kernel the right place then? > > Thanks > Greg > -- > nest.cx is Gmail hosted, use PGP for anything private. Key: > http://tinyurl.com/ho8qg > Fingerprint: 5E2B 2D0E 1E03 2046 BEC3 4D50 0B15 42BD 8DF5 A1B0 > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: include/linux/netfilter.h after make headers_install is incomplete 2008-05-20 21:21 ` David Miller @ 2008-05-21 9:56 ` Patrick McHardy 2008-05-21 10:04 ` Sam Ravnborg 0 siblings, 1 reply; 5+ messages in thread From: Patrick McHardy @ 2008-05-21 9:56 UTC (permalink / raw) To: David Miller; +Cc: greg, linux-kernel, netfilter-devel, Sam Ravnborg David Miller wrote: > From: "Greg Steuck" <greg@nest.cx> > Date: Tue, 20 May 2008 11:44:56 -0700 > >> I ran make headers_install in 2.6.25 tree and the installed netfilter.h is >> not complete. Namely, it declares >> union nf_inet_addr { >> __u32 all[4]; >> __be32 ip; >> __be32 ip6[4]; >> ... >> } >> >> The __u32, __be32 types are declared in <linux/types.h> and the #include >> directive is removed by the installation process. This in turn makes some >> applications unbuildable against such an exported tree, e.g. >> >> busybox-1.10.1/networking/tcpudp.c:#include <linux/netfilter_ipv4.h> >> >> If I correctly understand the purpose of make headers_install, it is >> supposed to generate an API for applications. I could certainly >> make tcpudp.c include linux/types.h, but given that the application >> does not even use nf_inet_addr, this would be the wrong place for >> the fix. These types are used by countless header files. I don't know why types.h is stripped, I guess this question can be best answered by whoever maintains the header-install stuff (Sam? I don't know). ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: include/linux/netfilter.h after make headers_install is incomplete 2008-05-21 9:56 ` Patrick McHardy @ 2008-05-21 10:04 ` Sam Ravnborg 2008-05-21 10:31 ` Patrick McHardy 0 siblings, 1 reply; 5+ messages in thread From: Sam Ravnborg @ 2008-05-21 10:04 UTC (permalink / raw) To: Patrick McHardy; +Cc: David Miller, greg, linux-kernel, netfilter-devel On Wed, May 21, 2008 at 11:56:55AM +0200, Patrick McHardy wrote: > David Miller wrote: > >From: "Greg Steuck" <greg@nest.cx> > >Date: Tue, 20 May 2008 11:44:56 -0700 > > > >>I ran make headers_install in 2.6.25 tree and the installed netfilter.h is > >>not complete. Namely, it declares > >>union nf_inet_addr { > >> __u32 all[4]; > >> __be32 ip; > >> __be32 ip6[4]; > >>... > >>} > >> > >>The __u32, __be32 types are declared in <linux/types.h> and the #include > >>directive is removed by the installation process. This in turn makes some > >>applications unbuildable against such an exported tree, e.g. > >> > >>busybox-1.10.1/networking/tcpudp.c:#include <linux/netfilter_ipv4.h> > >> > >>If I correctly understand the purpose of make headers_install, it is > >>supposed to generate an API for applications. I could certainly > >>make tcpudp.c include linux/types.h, but given that the application > >>does not even use nf_inet_addr, this would be the wrong place for > >>the fix. > > These types are used by countless header files. I don't know > why types.h is stripped, I guess this question can be best > answered by whoever maintains the header-install stuff (Sam? > I don't know). Everything inside #ifdef __KERNEL__ ... #endif are stripped. >From netfilter.h: #ifdef __KERNEL__ #include <linux/init.h> #include <linux/types.h> #include <linux/skbuff.h> #include <linux/net.h> #include <linux/netdevice.h> #include <linux/if.h> #include <linux/in.h> #include <linux/in6.h> #include <linux/wait.h> #include <linux/list.h> #include <net/net_namespace.h> #endif Include of types.h should be outside the #ifdef block. Sam ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: include/linux/netfilter.h after make headers_install is incomplete 2008-05-21 10:04 ` Sam Ravnborg @ 2008-05-21 10:31 ` Patrick McHardy 0 siblings, 0 replies; 5+ messages in thread From: Patrick McHardy @ 2008-05-21 10:31 UTC (permalink / raw) To: Sam Ravnborg; +Cc: David Miller, greg, linux-kernel, netfilter-devel Sam Ravnborg wrote: > On Wed, May 21, 2008 at 11:56:55AM +0200, Patrick McHardy wrote: >> David Miller wrote: >>> From: "Greg Steuck" <greg@nest.cx> >>> Date: Tue, 20 May 2008 11:44:56 -0700 >>> >>>> I ran make headers_install in 2.6.25 tree and the installed netfilter.h is >>>> not complete. Namely, it declares >>>> union nf_inet_addr { >>>> __u32 all[4]; >>>> __be32 ip; >>>> __be32 ip6[4]; >>>> ... >>>> } >>>> >>>> The __u32, __be32 types are declared in <linux/types.h> and the #include >>>> directive is removed by the installation process. This in turn makes some >>>> applications unbuildable against such an exported tree, e.g. >>>> >>>> busybox-1.10.1/networking/tcpudp.c:#include <linux/netfilter_ipv4.h> >>>> >>>> If I correctly understand the purpose of make headers_install, it is >>>> supposed to generate an API for applications. I could certainly >>>> make tcpudp.c include linux/types.h, but given that the application >>>> does not even use nf_inet_addr, this would be the wrong place for >>>> the fix. >> These types are used by countless header files. I don't know >> why types.h is stripped, I guess this question can be best >> answered by whoever maintains the header-install stuff (Sam? >> I don't know). > > Everything inside > #ifdef __KERNEL__ > ... > #endif > > are stripped. I didn't notice the ifdef around the include statement, this makes sense of course. I'll fix it up, thanks Sam. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-05-21 10:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <a27c0c970805161521k332fba8cg808d52396b5cdce5@mail.gmail.com>
[not found] ` <a27c0c970805201139i38e12d15ue807fc0239b1c10e@mail.gmail.com>
2008-05-20 18:44 ` Fwd: include/linux/netfilter.h after make headers_install is incomplete Greg Steuck
2008-05-20 21:21 ` David Miller
2008-05-21 9:56 ` Patrick McHardy
2008-05-21 10:04 ` Sam Ravnborg
2008-05-21 10:31 ` Patrick McHardy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox