RE: 2.6.14 - HTB/SFQ QoS broken?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> It's undefined what happens when you overallocate, and is certainly not
> required to do what you want. 'rate' is guarenteed rate, 'ceil' is maximum
> bandwidth useable through borrowing, and 'prio' is priority this class
> gets when borrowing bandwidth. You should give emule next to nothing for
> guarenteed, but with a ceil either the max bandwidth or very close. It is
> then guarenteed little, but will borrow up to its ceil. Then guarentee
> apache most, with some left for default. the prio will mean apache has
> first access to any borrowable bandwidth, then default, then emule.

It _does_ seem to be necessary that the guranteed rates overlap.
Let me explain: I have 45 kb/s of upstream.
I basically offer 4 services: eMule, FTP, Apache, Miranda filetransfer.
To me, these four have different priorities: eMule should be consuming 
the whole bandwidth if nothing else is being used. If someone is
downloading from FTP, he should take away most bandwidth from eMule,
let's say 32 kb/s. But then it might happen that I want to send a
file to somebody via Miranda because he does not have an FTP account.
Then the filetransfer has to be higher priority than the FTP transfer
and receive about 30 kb/s, FTP and eMule should use the remaining 
bandwidth. But now it might also happen that - while somebody is 
downloading from FTP and a miranda filetransfer is running -
I want to show a picture to someone which is stored on my webserver.
Thus, Apache needs a guranteed rate of 30 kb/s, i.e. higher priority
than FTP and filetransfer. 
Furthermore, while all this stuff is happening, I might be gaming
or browsing the web and for this I need a good response time.
But I don't know anything about the bandwidth requirement of games
or webbrowsing, thus in my old script I gave a rate of $IFUP with
priority 0 to the default traffic so that it can take anything which
it needs.

This complex situation with all classes being active at once 
shows quite clearly why I want to have overlapping guranteed 
bandwidths. It will never happen probably, but the situation that
I'm running a Miranda filetransfer and want to show somebody a picture
on Apache happens very often. 
The fact why I don't like reserving bandwidth with the sum of 
child rates being _correct_ (not larger than available upstream)
is that this would make me "lose" much bandwidth, look at this
example which I created for testing:

eMule rate 8kbps prio 5
FTP rate 4kbps prio 4
Miranda rate 12kbps prio 3
Apache rate 8kbps prio 2
Skype rate 6kbps prio 0
default rate 10kbps prio 1

The sum of the child rates is correct, but I cannot make Miranda
or apache receive a guranteed 30 kb/s while eMule is running.
Thus, some kind of overlapping might be necessary for a perfect
scheduler.

I hope it is possible to understand what I was aiming for now.

Thanks, Leo Bogert

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux