cvs commit: src/sys/contrib/ipfilter/netinet ip_fil.h
dillon at apollo.backplane.com
Fri Jul 28 09:23:38 PDT 2006
:> Modified files:
:> sys/contrib/ipfilter/netinet ip_fil.h
:> Why is ip_fil.h trying to declare kernel procedures for userland #include's?
:> Remove them.
:Because ip_fil.c is shared between kernel and userland program(ipftest).
Yah, but insofar as I can tell the userland program does not actually
try to call those procedures.
Generally speaking, trying to share source files between kernel and
userland is a mistake. CAM tries to do the same thing. The result
is usually a big mess (and, indeed, the ipfilter code has so many
#ifdef's in it that it took me 40 minutes just to figure out which
declarations were even being compiled!). vinum has similar issues,
but in vinum's case the problem is that it tries to export huge complex
kernel structures to the userland 'vinum' program.
Not that there is much we can do about it at the moment.
<dillon at xxxxxxxxxxxxx>
More information about the Commits