You can check out a working version from https://github.com/pnr/click
You need to pull the freebsd-kernelmodule-patches branch: git clone git://github.com/pnr/click.git git checkout freebsd-kernelmodule-patches Please let us know how it goes. It should work with both 7.X and 8.X, but so far we've done only minimal testing. So, please report any bugs you encounter. We haven't yet asked it to be merged since we are still looking at better ways to deal with scheduling. Right now we are using netisr on 7.X and the alternative method on 8.X, as we haven't got netisr to work on 8.X. Hopefully we will get both working on both, at some point. ---Pekka On 2010-11 -18, at 16:52 , Cong Guo wrote: > Hello everyone, > > I want to use click as FreeBSD kernel module. I configure using > --enable-bsdmodule, but when I make click I get this error: > > ********************************************************************************************************** > > echo "userlevel analysis app aqm ethernet icmp ip simple standard tcpudp > test threads" | ../click-buildtool findelem -r userlevel -p .. -X > ./elements.exclude > elements.conf > ../click-buildtool elem2make -x "addressinfo.o alignmentinfo.o > errorelement.o portinfo.o scheduleinfo.o" < elements.conf > elements.mk > AR libclick.a > RANLIB libclick.a > ../click-buildtool elem2export < elements.conf > elements.cc > CXX elements.cc > LINK click > echo "bsdmodule analysis app aqm ethernet icmp ip simple standard tcpudp > test threads" | ../click-buildtool findelem -r bsdmodule -p .. -X > ./elements.exclude > elements.conf > ../click-buildtool elem2make < elements.conf > elements.mk > g++ -w -W -Wall -fno-exceptions -fno-rtti -fpermissive -fpermissive > -DHAVE_CONFIG_H -D_KERNEL -nostdinc -I../include -I../include -I. -I.. -I. > -I/usr/include -I/usr/include -I/usr/include -DCLICK_BSDMODULE > -DBSD_NETISRSCHED -O2 -g -fPIC -fno-builtin -c ../lib/straccum.cc > In file included from ../lib/straccum.cc:26: > ../include/click/timestamp.hh:266: error: 'static Click::Timestamp > Click::Timestamp::make_jiffies(click_jiffies_difference_t)' cannot be > overloaded > ../include/click/timestamp.hh:264: error: with 'static Click::Timestamp > Click::Timestamp::make_jiffies(click_jiffies_t)' > ../include/click/timestamp.hh:927: error: redefinition of 'static > Click::Timestamp Click::Timestamp::make_jiffies(click_jiffies_difference_t)' > ../include/click/timestamp.hh:913: error: 'static Click::Timestamp > Click::Timestamp::make_jiffies(click_jiffies_t)' previously defined here > gmake: *** [straccum.o] Error 1 > *** Error code 2 > > Stop in /usr/src/click-1.8.0. > > *********************************************************************************************************************** > > FreeBSD version: 7.1 ( I tried 7.3 but also failed ) > click version: 1.8.0 > gmake version: 3.81 > > Can anyone help? Do I need to patch FreeBSD kernel? > > Thanks, > Cong > > -- > Cong Guo > > David R. Cheriton School of Computer Science, > University of Waterloo, Waterloo, ON > N2L 3G1 > _______________________________________________ > click mailing list > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
