Hi,

ipfilter 3.4.31, OpenBSD 3.1-stable + recent errata.  Couldn't compile a 
kernel with ipfilter and bridge code enabled.

Followed $IPFDIR/OpenBSD-3/README.3_1, patched with 3.1-sys-diffs, ran 
BSD/kupgrade, compiled the kernel.  Then I got this while compiling 
/usr/src/sys/net/if_bridge.c

cc1: warnings being treated as errors
/export/3.1/src/sys/arch/i386/compile/SYSWALL-3.1/../../../../net/if_bridge.c: In 
function `bridge_filter':
/export/3.1/src/sys/arch/i386/compile/SYSWALL-3.1/../../../../net/if_bridge.c:2239: 
warning: implicit declaration of function `pf_test'
/export/3.1/src/sys/arch/i386/compile/SYSWALL-3.1/../../../../net/if_bridge.c:2239: 
`PF_PASS' undeclared (first use in this function)
/export/3.1/src/sys/arch/i386/compile/SYSWALL-3.1/../../../../net/if_bridge.c:2239: 
(Each undeclared identifier is reported only once
/export/3.1/src/sys/arch/i386/compile/SYSWALL-3.1/../../../../net/if_bridge.c:2239: 
for each function it appears in.)
*** Error code 1

Stop in /usr/src/sys/arch/i386/compile/SYSWALL-3.1 (line 820 of Makefile).
*** Error code 1


Fix: $IPFDIR/OpenBSD-3/3.1-sys-diffs, line 642 should be changed to 

+ #if defined(IPFILTER) || defined(IPFILTER_LKM)
+               if (fr_checkp && (*fr_checkp)(ip, hlen, ifp, dir, &m))
+                       goto dropit;
+ #else
                if (pf_test(dir, ifp, &m) != PF_PASS)
                        goto dropit;
+ #endif

i.e. don't call pf_test in if_bridge.c if defined(IPFILTER).  Hmm, there's 
another call to pf_test in the IPv6 code some lines below..


The 3.2-sys-diffs patch seems to have the same problem.
Or am I way off here?  At least, I've got the kernel compile and boot 
so far.

ciao,
chakl

Reply via email to