From: John Sager <john@sager.me.uk>
To: cake@lists.bufferbloat.net
Subject: Re: [Cake] Enforcing video quality question
Date: Tue, 23 Feb 2021 11:15:16 +0000 [thread overview]
Message-ID: <f954af51-8a96-d4de-d9ac-f3c78174cd39@sager.me.uk> (raw)
In-Reply-To: <faa1600e-d040-2741-9335-fdf17e32f11b@sager.me.uk>
[-- Attachment #1: Type: text/plain, Size: 3464 bytes --]
Here is the toy QoS solution for linux, which is a simplified version of the
one I uses successfully on my home network. It uses quite a few scheduler
modules - sch_htb, act_connmark, em_meta etc - that may not load
automatically, so they may need to be listed in /etc/modules.
Toke, thanks for agreeing to let the attachment through.
John
On 19/02/2021 19:04, John Sager wrote:
> Yes. The marks are set on egress so you can select on inside IP address,
> port, protocol - in fact many characteristics that iptables rules can test
> for. I'll put together a toy iptables rules file and a toy script with the
> necessary tc commands. It'll take me a few days though as I'm busy with
> other stuff currently.
>
> PS does the cake list allow attachments? It will be a small zip file.
>
> John
>
> On 19/02/2021 15:02, Peter Lepeska wrote:
>> Hi John
>>
>> Does this result in the ability to set per internal host max ingress
>> bandwidth? If so, any chance you can share a snippet of a script? I will
>> be trying to reproduce your setup.
>>
>> Thank you!
>>
>> Peter
>>
>> On Fri, Feb 19, 2021 at 7:16 AM John Sager <john@sager.me.uk
>> <mailto:john@sager.me.uk>> wrote:
>>
>> That's basically what I do. I set marks on outgoing traffic in the mangle
>> table which are copied to connmark before egress. Then on ingress the
>> connmark is restored to the packet and punted to ifb0 using 'action
>> connmark
>> action mirred egress redirect dev $IFB' as an ingress filter on the
>> incoming
>> interface (ppp0 in my case). Then I have HTB classes on ifb0 which set
>> rate
>> limits for different traffic classes indicated by the marks. I have
>> only 6
>> traffic classes (I bundle all video into one class), but as marks are 32
>> bits wide there is lots of scope for classes for individual IP addresses.
>>
>> John
>>
>> On 18/02/2021 19:28, Toke Høiland-Jørgensen via Cake wrote:
>> > Peter Lepeska <bizzbyster@gmail.com <mailto:bizzbyster@gmail.com>>
>> writes:
>> >
>> >> A user on the OpenWrt forum suggested hashlimit rules supported by
>> >> iptables. How does that idea sound to you?
>> >
>> > That will result in a cliff-edge policer (i.e., as soon as a device
>> goes
>> > over its limits it will see every packet get dropped). This doesn't
>> > interact too well with the burstiness of TCP, so you'll likely get
>> > erratic behaviour of the traffic if you do that. Doing the same thing
>> > with HTB means the router will queue+shape each class (and with
>> FQ-CoDel
>> > on the leaves, you'll get a nice AQM behaviour as well), so that
>> will be
>> > smoother and less prone to bloat :)
>> >
>> > -Toke
>> > _______________________________________________
>> > Cake mailing list
>> > Cake@lists.bufferbloat.net <mailto:Cake@lists.bufferbloat.net>
>> > https://lists.bufferbloat.net/listinfo/cake
>> >
>> _______________________________________________
>> Cake mailing list
>> Cake@lists.bufferbloat.net <mailto:Cake@lists.bufferbloat.net>
>> https://lists.bufferbloat.net/listinfo/cake
>>
> _______________________________________________
> Cake mailing list
> Cake@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake
>
[-- Attachment #2: linux_toy_qos.zip --]
[-- Type: application/zip, Size: 4508 bytes --]
next prev parent reply other threads:[~2021-02-23 11:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-18 17:40 Peter Lepeska
2021-02-18 19:10 ` Toke Høiland-Jørgensen
2021-02-18 19:13 ` Peter Lepeska
2021-02-18 19:28 ` Toke Høiland-Jørgensen
2021-02-18 19:43 ` Peter Lepeska
2021-02-18 19:55 ` N0man Tech
2021-02-18 22:05 ` John Yates
2021-02-19 12:16 ` John Sager
2021-02-19 15:02 ` Peter Lepeska
2021-02-19 19:04 ` John Sager
2021-02-19 20:33 ` Peter Lepeska
2021-02-19 23:06 ` John Sager
2021-02-19 23:26 ` Jeremy Marks
2021-02-20 11:53 ` Toke Høiland-Jørgensen
2021-02-20 15:09 ` John Sager
2021-02-20 11:54 ` Toke Høiland-Jørgensen
2021-02-23 11:15 ` John Sager [this message]
2021-02-23 20:37 ` Peter Lepeska
2021-02-23 20:52 ` Jeremy Marks
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
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f954af51-8a96-d4de-d9ac-f3c78174cd39@sager.me.uk \
--to=john@sager.me.uk \
--cc=cake@lists.bufferbloat.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox