Subject: Current - pf+altq kernel compilation problem.
To: NetBSD-current Discussion List <current-users@netbsd.org>
From: Chavdar Ivanov <ci4ic4@gmail.com>
List: current-users
Date: 10/10/2005 16:05:58
Hi,

I was trying to compile a -current kernel with pf and altq; I thought
the support was there following some earlier discussions here. I have
all ALTQ options in the config file uncommented, as well as pf and
pflog, the relevant parts as follows:
....
options         PPP_FILTER      # Active filter support for PPP (requires b=
pf)
options         PFIL_HOOKS      # pfil(9) packet filter hooks
options         ALTQ            # Manipulate network interfaces' output que=
ues
options         ALTQ_BLUE       # Stochastic Fair Blue
options         ALTQ_CBQ        # Class-Based Queueing
options         ALTQ_CDNR       # Diffserv Traffic Conditioner
options         ALTQ_FIFOQ      # First-In First-Out Queue
options         ALTQ_FLOWVALVE  # RED/flow-valve (red-penalty-box)
options         ALTQ_HFSC       # Hierarchical Fair Service Curve
options         ALTQ_LOCALQ     # Local queueing discipline
options         ALTQ_PRIQ       # Priority Queueing
options         ALTQ_RED        # Random Early Detection
options         ALTQ_RIO        # RED with IN/OUT
options         ALTQ_WFQ        # Weighted Fair Queueing
pseudo-device   bpfilter        8       # Berkeley packet filter
pseudo-device   ipfilter                # IP filter (firewall) and NAT
#options        BRIDGE_IPF              # bridge uses IP/IPv6 pfil hooks to=
o
pseudo-device   pf                      # PF packet filter
pseudo-device   pflog                   # PF log if
....

config and make depend OK; make results in:

#   compile  LOAN8FW/pf.o
cc -ffreestanding -O2 -Werror -Wall -Wno-main -Wno-format-zero-length
-Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wreturn-type
-Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-compare
-Wno-shadow -fno-zero-initialized-in-bss -Di386 -I. -I../../../../arch
-I../../../.. -nostdinc -DLKM -DALTQ_PRIQ -DMAXUSERS=3D32 -D_KERNEL
-D_KERNEL_OPT -I../../../../dist/pf -I../../../../dist/ipf -c
../../../../dist/pf/net/pf.c
../../../../dist/pf/net/pf.c: In function `pf_send_tcp':
../../../../dist/pf/net/pf.c:1523: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:1526: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:1528: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:1529: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c: In function `pf_send_icmp':
../../../../dist/pf/net/pf.c:1673: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:1676: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:1678: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:1679: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c: In function `pf_test':
../../../../dist/pf/net/pf.c:6063: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6067: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6069: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6071: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6072: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c: In function `pf_test6':
../../../../dist/pf/net/pf.c:6404: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6408: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6410: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6412: error: dereferencing pointer to
incomplete type
../../../../dist/pf/net/pf.c:6413: error: dereferencing pointer to
incomplete type
*** Error code 1

I probably haven't got my config file right (all the above errors are
in the conditionals #ifdef ALTQ). BTW I just did a cvs update - same,
also 'make cleandir' in /usr/src. The toolshain is from a week or so,
so I thought it shouldn't make difference to use build.sh.

Any ideas?