Hi everyone, I am currently working on a netfilter driver that is a loadable module, and have run into a bit of a problem. I want to catch the packets at the NF_IP_PRE_ROUTING hook, and discard some of them based on the packet headers, and discard others based on the packet payload (non header data), specifically with UDP packets. Currently however, in my testing, the length provided by (*pskb)->len is only just big enough to hold the headers, and furthermore, the lengths embedded in the IP headers and UDP headers report the same numbers. I have seen some other example code which looks down into the packet data (all for TCP), and in each of those cases, the packet data was at the end of the sk_buff->data pointer, and was calculated by looking at the sizes reported in the headers. My ideas as to what I could be doing wrong are many. So far, I have tried changing the hook location on the off chance that the packet data would not be available at PRE_ROUTING hook location (as silly as that sounds..). I am going to hack on it until I figure out exactly what silly oversight I have committed of course, but I would very much appreciate if anyone were able to enlighten me. Thanks, John -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/