2010-01-31 02:08:58

by helight.xu

[permalink] [raw]
Subject: [REPORT] may be wrong place #endif in include/linux/netfilter_ipv4.h

hi all gys:

when I make LKM with netfilter on "NF_IP_PRE_ROUTING" point, but it
was reported that "NF_IP_PRE_ROUTING" is not defined.

but I am surely including <linux/netfilter_ipv4.h>, when I opened
include/linux/netfilter_ipv4.h I found that
"NF_IP_PRE_ROUTING" is in this lable :
#ifndef __KERNEL__
.....
/* IP Hooks */
/* After promisc drops, checksum checks. */
#define NF_IP_PRE_ROUTING 0
/* If the packet is destined for this box. */
#define NF_IP_LOCAL_IN 1
/* If the packet is destined for another interface. */
#define NF_IP_FORWARD 2
/* Packets coming from a local process. */
#define NF_IP_LOCAL_OUT 3
/* Packets about to hit the wire. */
#define NF_IP_POST_ROUTING 4
#define NF_IP_NUMHOOKS 5
#endif /* ! __KERNEL__ */

So I think the "endif" is ended a little early!

--
Zhenwen Xu - Seven Helight
Home Page: http://zhwen.org


2010-01-31 09:21:48

by Jan Engelhardt

[permalink] [raw]
Subject: Re: [REPORT] may be wrong place #endif in include/linux/netfilter_ipv4.h

On Sunday 2010-01-31 03:13, Helight.Xu wrote:

> hi all gys:
>
> when I make LKM with netfilter on "NF_IP_PRE_ROUTING" point, but it was
> reported that "NF_IP_PRE_ROUTING" is not defined.
>
> but I am surely including <linux/netfilter_ipv4.h>, when I opened
> include/linux/netfilter_ipv4.h I found that
> "NF_IP_PRE_ROUTING" is in this lable :
> #ifndef __KERNEL__
> .....
> /* IP Hooks */
> /* After promisc drops, checksum checks. */
> #define NF_IP_PRE_ROUTING 0
> /* If the packet is destined for this box. */
> #define NF_IP_LOCAL_IN 1
> /* If the packet is destined for another interface. */
> #define NF_IP_FORWARD 2
> /* Packets coming from a local process. */
> #define NF_IP_LOCAL_OUT 3
> /* Packets about to hit the wire. */
> #define NF_IP_POST_ROUTING 4
> #define NF_IP_NUMHOOKS 5
> #endif /* ! __KERNEL__ */
>
> So I think the "endif" is ended a little early!

Seems so. Are there any out-of-tree nf_ip_hook_priorities users? If not,
we could possibly move it further below.

2010-02-01 14:00:09

by Patrick McHardy

[permalink] [raw]
Subject: Re: [REPORT] may be wrong place #endif in include/linux/netfilter_ipv4.h

Jan Engelhardt wrote:
> On Sunday 2010-01-31 03:13, Helight.Xu wrote:
>
>> hi all gys:
>>
>> when I make LKM with netfilter on "NF_IP_PRE_ROUTING" point, but it was
>> reported that "NF_IP_PRE_ROUTING" is not defined.
>>
>> but I am surely including <linux/netfilter_ipv4.h>, when I opened
>> include/linux/netfilter_ipv4.h I found that
>> "NF_IP_PRE_ROUTING" is in this lable :
>> #ifndef __KERNEL__
>> .....
>> /* IP Hooks */
>> /* After promisc drops, checksum checks. */
>> #define NF_IP_PRE_ROUTING 0
>> /* If the packet is destined for this box. */
>> #define NF_IP_LOCAL_IN 1
>> /* If the packet is destined for another interface. */
>> #define NF_IP_FORWARD 2
>> /* Packets coming from a local process. */
>> #define NF_IP_LOCAL_OUT 3
>> /* Packets about to hit the wire. */
>> #define NF_IP_POST_ROUTING 4
>> #define NF_IP_NUMHOOKS 5
>> #endif /* ! __KERNEL__ */
>>
>> So I think the "endif" is ended a little early!
>
> Seems so. Are there any out-of-tree nf_ip_hook_priorities users? If not,
> we could possibly move it further below.

Its only available for userspace for compatibility reasons,
the kernel doesn't use the old definitions.