Hi Łukasz, On Sun, Jan 22, 2012 at 4:01 AM, Łukasz Czyż <perlowy.dzem@xxxxxxxxx> wrote: > Hello All > > I am wirting kernel module and I want to call some ipv6 stack function > from it (like ip6_forward). I am including proper header files so > compiler detects that functions, compiles module, but at the end it > returns warning like that: > > WARNING: "ip6_forward" [/path/to/my/module.ko] undefined! > > Resulting module cannot be inserted as I get following output: > > insmod: error inserting 'module.ko': -1 Unknown symbol in module > > I guess that this issue takes place because corresponding macro > EXPORT_SYMBOL(ip6_forward) is not defined in kernel source. But it > seems strange to me that such a fundamental functions cannot be used > by module writers. What is more, I found on net some exemplary module > source and I found ip6_forward function called from it. So if you're using a module, you can only call functions which are either declared inline, or which are EXPORT_SYMBOL'd. If you statically link your module into the kernel, then you can call any function which is available. > I defined "GPL" as license of my module and I try to compile it under > 3.0.4 kernel version. This would only impact symbols which were declared EXPORT_SYMBOL_GPL. -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies