Just to let anyone who is interested know, since I didn't receive any suggestions, I found this implementation of token bucket: http://www.cin.ufpe.br/~cak/ns/
It seems quite easy to understand, and am currently modifying it for rate limiting multiple fids (this only deals with a single fid). My implementation is in progress, and I'm sure that anyone can use the token bucket implementation above to use with droptail (or any other queue). I can also make my implementation available once I am done with it if you want. Note: I also noticed DelayBox (http://dirt.cs.unc.edu/delaybox/), which seems to be interesting, but for my requirements, simply re-using the code above seems to be good enough so far. I Prajjwal On Tue, Jul 14, 2009 at 8:02 PM, Prajjwal Devkota <prajj...@gmail.com>wrote: > Hi list, > > I am currently doing some ethernet level rate limiting simulations using > ns-2. I had been doing my simulations with a simple DropTail queue (by > physically changing the link rate), but now, I am trying to see if I can > apply a Token Bucket implementation to support multiple flows in a simple > manner. I have been searching the mailing list to I can find pointers on > getting started, as well as some of the ns-2 code (using a source browser), > but I have generally only found references to Diffserv. I did notice that > ns-2 does have a TokenBucket class implemented though. However, as far as I > can see, diffserv seems to be the only one referencing this class. > > I came across this discussion on the ns users mailing list at > http://mailman.isi.edu/pipermail/ns-users/2005-June/050699.html and the > conclusion seems to be that using Diffserv with the queue mode being > specified as DropTail was what a solution. > > My rate limiting simply requires token bucket mechanism: once I know the > flow-id, I will have to do token bucket rate limiting myself. As per my > understanding, diffserv is a class based qos mechanism, not a flow based > one. Is looking into diffserv a good choice, or is there a better solution, > or one that might be more appropriate for my requirements? > > I would appreciate any pointers that you could offer on this. > > Thank you very much for your help! > > Prajjwal >