SFQ + speed caps

Linux Advanced Routing and Traffic Control

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

 



Hi everybody,

I am trying to find a solution to the following problem. I have a lan where pcs get a fair amount of the internet connection from a linux router. In order to do this I am using SFQ with "flow map key dst and 0xff". This way each pc gets its own SFQ band. This setup is completely automatic and works exceptionally well. Two active pcs will get 50% of the line, three active pcs will get 33% of the line etc.

Now here comes the problem. What if in addition to a fair distribution of the connection I wanted to cap the speed of one pc to a specified hard limit. I can do something similar to this...

interface
 |
 +---- HTB --- class 1 (capped pc)
        |
        +----- class 2  (everything else)
                 |
                 +--- SFQ

.. but this way I am getting the capped pc out of the SFQ round robin allowing it to monopolize the line up to its hard limit and in excess of what is currently fair. If, for example, the capped pc speed is set at 40% of the line speed and there are 5 active pcs on the lan then the capped pc will managed to steal more than it's fair share of the line. It could manage to go all the way up to 40% instead of 20%.

It appears that HTB must be placed on top of SFQ for this to work:

interface
 |
+--- SFQ
        |
+---- HTB --- class 1 (capped pc)
               |
               +----- class 2  (everything else)

Only problem is, you can't attach a qdisc on top of another qdisc. You can only attach a qdisc on top of a class and SFQ is a classless qdisc.

So is there a solution to my problem ? Can you shape some flows dynamically and in addition to that shape one of those flows statically ? I am shifting through the LARTC documentation trying to figure some way to do this but I can't think of any.

Any thoughts ?

Regards,

Dimitris.

--
To unsubscribe from this list: send the line "unsubscribe lartc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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