From mboxrd@z Thu Jan 1 00:00:00 1970 From: rohan.puri15@gmail.com (rohan puri) Date: Tue, 8 May 2012 19:31:11 +0530 Subject: Why I can't compile a simple netfilter hook module? In-Reply-To: References: Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Tue, May 8, 2012 at 9:37 AM, Chir0n wrote: > I'm using this Makefile: > > *obj-m += hello.o > > all: > make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules > > clean: > make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean* > > > The hello.c is this: > > *#include > #include > #include > #include > > static struct nf_hook_ops nfho; //struct holding set of hook > function options > > //function to be called by hook > 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 *)) > { > printk(KERN_INFO "packet dropped\n"); > //log to var/log/messages > return NF_DROP; > //drops the packet > } > > //Called when module loaded using 'insmod' > int init_module() > { > nfho.hook = hook_func; //function to call when > conditions below met > nfho.hooknum = NF_IP_PRE_ROUTING; //called right after packet > recieved, first hook in Netfilter > nfho.pf = PF_INET; //IPV4 packets > nfho.priority = NF_IP_PRI_FIRST; //set to highest priority > over all other hook functions > nf_register_hook(&nfho); //register hook > > return 0; //return 0 for success > } > > //Called when module unloaded using 'rmmod' > void cleanup_module() > { > nf_unregister_hook(&nfho); //cleanup ? unregister hook > }* > > > Here are the error message: > > *$ make > make -C /lib/modules/3.3.2-6.fc16.x86_64/build > M=/home/fabio/Desktop/modules modules > make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.x86_64' > CC [M] /home/fabio/Desktop/modules/hello.o > /home/fabio/Desktop/modules/hello.c: In function ?init_module?: > /home/fabio/Desktop/modules/hello.c:18:13: warning: assignment from > incompatible pointer type [enabled by default] > * you may have declared the header, thn check whether the path is correct or the symbol name spelling. > * /home/fabio/Desktop/modules/hello.c:19:18: error: ?NF_IP_PRE_ROUTING? > undeclared (first use in this function) > /home/fabio/Desktop/modules/hello.c:19:18: note: each undeclared > identifier is reported only once for each function it appears in > make[2]: *** [/home/fabio/Desktop/modules/hello.o] Error 1 > make[1]: *** [_module_/home/fabio/Desktop/modules] Error 2 > make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.x86_64' > make: *** [all] Error 2* > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > Also dont delete previous mail thread contents. - Rohan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120508/2c5913da/attachment-0001.html