From: Dimitris Kotsonis <dkotsonis@gmail.com>
To: lartc@vger.kernel.org
Subject: SFQ + speed caps
Date: Wed, 06 Aug 2014 08:59:20 +0000 [thread overview]
Message-ID: <53E1EE68.8030503@gmail.com> (raw)
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.
next reply other threads:[~2014-08-06 8:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-06 8:59 Dimitris Kotsonis [this message]
2014-08-06 21:21 ` SFQ + speed caps Alan Goodman
2014-08-06 22:41 ` Dimitris Kotsonis
2014-08-07 14:41 ` Dimitris Kotsonis
2014-08-07 16:56 ` Dimitris Kotsonis
2014-08-07 22:14 ` Andy Furniss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E1EE68.8030503@gmail.com \
--to=dkotsonis@gmail.com \
--cc=lartc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.