<br><br><div class="gmail_quote">On Tue, May 8, 2012 at 9:37 AM, Chir0n <span dir="ltr">&lt;<a href="mailto:io.chir0n@gmail.com" target="_blank">io.chir0n@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I&#39;m using this Makefile:<br><br><font size="1"><i>obj-m += hello.o<br><br>all:<br>        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules<br><br>clean:<br>        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean</i></font><br>

<br><br>The hello.c is this:<br><br><font size="1"><i>#include &lt;linux/kernel.h&gt;<br>#include &lt;linux/module.h&gt;<br>#include &lt;linux/netfilter.h&gt;<br>#include &lt;linux/netfilter_ipv4.h&gt;<br><br>static struct nf_hook_ops nfho;         //struct holding set of hook function options<br>

<br>//function to be called by hook<br>unsigned int hook_func(unsigned int hooknum, struct sk_buff **skb, const struct net_device *in, const struct net_device *out, int (*okfn)(struct sk_buff *))<br>{<br>  printk(KERN_INFO &quot;packet dropped\n&quot;);                                             //log to var/log/messages<br>

  return NF_DROP;                                                                   //drops the packet<br>}<br><br>//Called when module loaded using &#39;insmod&#39;<br>int init_module()<br>{<br>  nfho.hook = hook_func;                       //function to call when conditions below met<br>

  nfho.hooknum = NF_IP_PRE_ROUTING;            //called right after packet recieved, first hook in Netfilter<br>  <a href="http://nfho.pf" target="_blank">nfho.pf</a> = PF_INET;                           //IPV4 packets<br>
  nfho.priority = NF_IP_PRI_FIRST;             //set to highest priority over all other hook functions<br>
  nf_register_hook(&amp;nfho);                     //register hook<br><br>  return 0;                                    //return 0 for success<br>}<br><br>//Called when module unloaded using &#39;rmmod&#39;<br>void cleanup_module()<br>

{<br>  nf_unregister_hook(&amp;nfho);                     //cleanup – unregister hook<br>}</i></font><br><br><br>Here are the error message:<br><br><font size="1"><i>$ make<br>make -C /lib/modules/3.3.2-6.fc16.x86_64/build M=/home/fabio/Desktop/modules modules<br>

make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.x86_64&#39;<br>  CC [M]  /home/fabio/Desktop/modules/hello.o<br>/home/fabio/Desktop/modules/hello.c: In function ‘init_module’:<br>/home/fabio/Desktop/modules/hello.c:18:13: warning: assignment from incompatible pointer type [enabled by default]<br>

/home/fabio/Desktop/modules/hello.c:19:18: error: ‘NF_IP_PRE_ROUTING’ undeclared (first use in this function)<br>/home/fabio/Desktop/modules/hello.c:19:18: note: each undeclared identifier is reported only once for each function it appears in<br>

make[2]: *** [/home/fabio/Desktop/modules/hello.o] Error 1<br>make[1]: *** [_module_/home/fabio/Desktop/modules] Error 2<br>make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.x86_64&#39;<br>make: *** [all] Error 2</i></font><br>

<br>_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br></blockquote></div>Hi,<div><br></div><div>You need to include header which defines &quot;<i style>NF_IP_PRE_ROUTING&quot;</i></div><div><i style><br></i></div><div><i style>- </i>Rohan</div>