[Click] roofnet kernel/userlevel changes

John Bicket jbicket at amsterdam.lcs.mit.edu
Wed Oct 20 12:57:40 EDT 2004


I have finished moving stuff to userlevel click for our roofnet
configurations. We have done this for a couple of reasons, but mainly so
that it's easier for anyone to run our code.   Now you don't have to
recompile your kernel with the click patch any longer, and the only 
kernel module you have to load is the noe for our specialized device drivers. 

I have added a new header type, like the prism header, but much more
sane - it includes information such as tx retry count, bitrate, 
rssi, noise etc.

Take a look at click/include/clicknet/wifi.h and search for click_wifi_extra,
that is the header. The first field is uint32_t magic, which is some
easily recognizable pattern. The element ExtraDecap won't pull the
header off unless this field is the correct value, and if it does it
stores the values it pulled off in annotations so other elements can
still access it.

WifiTXFeedback has been removed from click. Instead, when the stripped driver
gets feedback about a tx, it just calls marks the correct bytes in the
header (including retries, tx status, etc) and calls netif_rx. 
To get txfeedback then, you can use FromDevice and the FilterTX element, 
which will spit out txfeeback out of the second output if a second 
output exists.

I ran some tests that indicate the throughput at userlevel is no
different than what we saw at kernel level. I actually think this may
fix the remaining latency issues we were seeing.

Let me know if you have questions.

jbicket



More information about the click mailing list