cvs commit: src/sys/contrib/ipfilter/netinet ip_fil.h

Matthew Dillon dillon at
Fri Jul 28 09:23:38 PDT 2006

:>   Modified files:
:>     sys/contrib/ipfilter/netinet ip_fil.h 
:>   Log:
:>   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.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Commits mailing list