This tc-4ttbf project is an extension of the Linux QoS tc-htb filter and associated tc command interface, and requires direct experience with Linux kernel level programming.
Normal tc-htb has a 1 or 2 token bucketd that fills at "rate" and limits traffic to "rate" after a burst period based on the token buffer size.
This new tc-4ttbf project extends that concept to four (4) cascaded token buffers with independent out going rates and burst sizes, implemented as follows:
1) the first token buffer allows packets to depart at "rate1" as long as tokens are available, and fills at "FairShare" rate until the token buffer reaches "quota1", after which excess tokens are passed to the second token buffer.
2) Tokens for the second token buffer allow packets to depart at "rate2" as long as tokens are available, and fills until the token buffer reaches "quota2", after which excess tokens are passed to the third token buffer.
3) Tokens for the third token buffer allow packets to depart at "rate3" as long as tokens are available, and fills until the token buffer reaches "quota3", after which excess tokens are passed to the fourth token buffer.
4) Tokens for the fourth token buffer allow packets to depart at "rate4" as long as tokens are available, and fills until the token bucket reaches "quota4", after which excess tokens are discarded.
5) if all token buffers are empty, the outgoing rate will default to "FairShare" since this is the rate tokens will trickle into the first token bucket.
The intent here is to provide multiple tiers to provide high bandwidth for interactive tasks (the first tier), and to progressively slow the traffic over the 2nd, 3rd, and 4th tiers with increasingly heavy sustained use, but still provide relatively fast recovery to the interactive rate when the sustained traffic ceases.
FairShare 500kbps quota1 50mb rate1 20mbps quota2 1gb rate2 5mbps quota3 5gb rate3 2mbps quota4 100gb rate4 1mbps
would progressively slow the connection at 50mb/1gb/5gb/100gb to the corresponding rates of 20mbps/5mbps/2mbps/1mbps and default to 500mbps when all the token buffers empty.
Project delivery is targeted for current release Centos 7 on multicore 64bit x86 platforms, and will include build files, sources for filter and tc
4 freelancers are bidding on average $507 for this job
Dear employer. I am Sumit Kumar, developer in India. I've just read your job posting and I’m very interested. I m quite well experienced in these jobs. I want to service for you continuously. Thanks.