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

Reply via email to