ipfilter 4.1.6 won't build on FreeBSD5.3 amd64 (fwd)
Goran Gajic
ggajic at mail.sbb.co.yu
Mon Mar 7 22:42:24 GMT 2005
Hi,
I have tried to build ipfilter 4.1.6 as module and as part of kernel on FreeBSD
5.3 on amd64 but in both cases I have failed. When I use
option IPFILTER in kernel config this is what I get:
cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc
-I- -I. -I../../.. -I../../../contrib/dev/acpica -I../../../contrib/altq
-I../../../contrib/ipfilter
-I../../../contrib/pf -I../../../contrib/dev/ath
-I../../../contrib/dev/ath/freebsd -I../../../contrib/ngatm -D_KERNEL -include
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Werror
../../../contrib/ipfilter/netinet/ip_frag.c
../../../contrib/ipfilter/netinet/ip_frag.c: In function `fr_ipid_newfrag':
../../../contrib/ipfilter/netinet/ip_frag.c:394: warning: cast to pointer from
integer of different size
../../../contrib/ipfilter/netinet/ip_frag.c: In function `fr_ipid_knownfrag':
../../../contrib/ipfilter/netinet/ip_frag.c:579: warning: cast from pointer to
integer of different size
*** Error code 1
Stop in /usr/src/sys/amd64/compile/SENT.
When I have tried to build ipf.ko this is what I get:
ld -warn-common -r -d -o ipf.kld.5 ip_fil.o fil.o ml_ipl.o ip_nat.o ip_frag.o
ip_state.o ip_proxy.o ip_auth.o ip_log.o ip_pool.o ip_htable.o ip_lookup.o
ip_rules.o ip_scan.o ip_sync.o
ld -Bshareable -d -warn-common -o ipf.ko ipf.kld.5
ld: ipf.kld.5: relocation R_X86_64_32 can not be used when making a shared
object; recompile with -fPIC
ipf.kld.5: could not read symbols: Bad value
*** Error code 1
Stop in /root/ip_fil4.1.6/BSD/FreeBSD-5.3-RELEASE-amd64.
*** Error code 1
Stop in /root/ip_fil4.1.6.
I have tried recompling with -fPIC but when I do kld_load ipf.ko this is what I
get:
sen# kldload /boot/kernel/ipf.ko
dmesg output:
kldload: can't load /boot/kernel/ipf.ko: Exec format error
kldload: Unsupported file type
kldload: unexpected relocation type 7
link_elf: symbol appr_check undefined
So, my question is: can ipfilter be used to NAT something like 7000 hosts on
FreeBSD? Currently I have cisco 7206 that is running IOS 12.3(4r)T1 only IOS
that has NAT inside CEF (otherwise CPU load is something like 80% with this
IOS it is something like 20% for 7000 hosts). I want my amd64 only to NAT
inside network (10.1.0.0/16) but when I have tried ipfilter
v3.4.35 that comes with freebsd5.3 (compiled with LARGE_NAT) it had poor
performance. (it could handle something like 120000 connections although vaules
in ip_nat.h were much greater, maybe I have missed some other parameters?).
Machine has two broadcom NICs so I don't think that is problem, can someone
advise what to do to?
Regards,
Goran Gajic
More information about the freebsd-amd64
mailing list