* 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