Fetch the Click sources from the repository into a local directory called click inside your home directory (~):
git clone git://read.cs.ucla.edu/git/click click
Then download the wing packages for click:
wget http://www.wing-project.org/downloads/snapshots/click-packages-latest.tar.gz -O click-packages.tar.gz
untar them:
tar xvfz click-packages.tar.gz
and copy them into click/elements directory:
cp -R click-packages/* click/elements/
Switch to the Click directory and run the configure script:
cd click ./configure --enable-wifi --enable-xr --enable-diffserv --disable-linuxmodule --enable-userlevel
Finally run make:
make
Download the configuration scripts (here) or using the following command:
wget http://www.wing-project.org/downloads/snapshots/scripts.tar.gz
and untar them:
tar xvfz scripts.tar.gz
Switch to the scripts directory and run the Wing configuration script (as root):
cd scripts sh gen_config_wing.sh sr2.bulk.click | ~/click/userlevel/click -
At this point running /sbin/ifconfig should show a new tap interfaces called srcr2, which is configured as 6.X.X.X and uses multi-hop routing.
The sr2.bulk.click is the default configuration script for wing, the other option available are the following:
sr2.fairbufferadrr.click, implements the Airtime Deficit Robin (ADRR) link scheduling discipline described here;sr2.fairbuffer.click, implements the Deficit Round Robin (DRR) link scheduling discipline;sr2.sd_warp.click, implements the Wireless ACK Retransmission Policy described here. Incoming IP packet are classified according to their DSCP field: High Priority (46), Low Priority (26), Best Effort (All the others). Queues are then scheduled according to the Weighted Fair Queuing (WFQ) discipline;sr2.sd_{adwrr, dwrr, wfq}.click, implement different traffic differentiation schemes. Incoming IP packet are classified according to their DSCP field: High Priority (46), Low Priority (26), Best Effort (All the others). More Information can be found here.