Le 24/05/11 15:40, Eric Dumazet a Ãcrit :
Le mardi 24 mai 2011 Ã 15:03 +0200, Pierre Rondou a Ãcrit :
Hello,
I'm a student at the University of Liege, currently developing a NAT64
(see RFC 6146) module for Netfilter.
In order to develop this module, I had to use some in-kernel function,
such as icmp_send, ip6_output, ip_finish_output, ... and many more.
But many of those functions didn't have an "EXPORT_SYMBOL" allowing them
to be reachable from outside the kernel.
So, to be able to use them, I had to copy paste about 1500 lines of
kernel source code (those functions + related functions). This makes the
module hardly updatable as all those functions are likely to be updated.
Is there a reason why those functions are not associated with an
"EXPORT_SYMBOL"?
We dont export all possible symbols (each export has a memory cost)
We export one symbol when its needed from a module.
Dont copy/paste code, but add EXPORT_SYMBOL when/if needed.
icmp_send() is for sure already exported (needed in various netfilter
modules)
Ok, thanks for the info.
Though, my module doesn't need a kernel recompilations as its developed
for Xtables, I'm not likely to develop a kernel patch to apply for each
kernel my module could be connected.
Of course, the best way would be to patch the currently dev kernel
(2.6.39 if I take your word from previous mail) to use my module.
But I'm not a kernel developper and my previously proposed module
(NATIVI, which had the same problem) didn't seem to get interest from
kernel or Xtables developers :(
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html