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