[Chilli] Exclude up/down traffic from "quota" if in walled garden

Tim White timwhite88 at gmail.com
Mon Jun 13 09:54:54 UTC 2011


I wrote a patch a long time ago to exclude traffic to a from the local 
coovachilli server from the "quota" counting. It basically matches for 
port 80 on the uamlisten at the same time that we already check for 
uamport and uamuiport. My reasoning was that I wanted to use a different 
webserver for the captive portal, that also hosts a local mirror.  It 
can be seen at 
http://grase.bzr.sf.net/bzr/grase/grase-coova-chilli/annotate/head%3A/debian/patches/ignore_localhttp.diff

What I'm hoping to try and do is extend this so that we can exclude all 
traffic from the walled garden hosts so that I can allow access to some 
local mirrors that are on the other side of the coovachilli machine, 
without it counting against the quota.

Currently both my modifications are in the cb_tun_ind function. I 
understand that my modifications would need to be moved into it's own 
area (as currently the second one actually forces the packet through the 
tun/tap interface due to me piggybacking on other code.

If I understand the code correctly, the functions I need to bypass are 
chilli_acct_fromsub and chilli_acct_tosub. Both those functions only 
modify the accounting data, and don't modify the packet path. Please 
correct me if I'm wrong.

So for example, before the chilli_acct_fromsub call I'd put an if 
statement to call a funky function to check if the daddr is in the uam 
list and if so, then call the tun_encaps function otherwise allow the 
chilli_acct_fromsub to call.
Can someone point me to where I can get access to the list of 
uamdomains/address, and functions that already compare to the list? C 
hasn't been my main language for a good number of years and I'm having 
trouble finding things in the rather large chilli.c file.

Also, if I'm trying to put these functions in the wrong area, i.e. me 
bypassing chilli_acct_fromsub, and it's going to cause serious problems 
somewhere, please tell me!

I hope this won't work out too difficult, and that I can code it well 
enough that it can be come a feature.

Thanks

Tim


More information about the Chilli mailing list