From: "Jeremy Marks" <jmarks2@gmail.com>
To: "'Cake List'" <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Enforcing video quality question
Date: Tue, 23 Feb 2021 15:52:12 -0500 [thread overview]
Message-ID: <003101d70a25$c32357a0$496a06e0$@gmail.com> (raw)
In-Reply-To: <f954af51-8a96-d4de-d9ac-f3c78174cd39@sager.me.uk>
Thank you very much!
---Original Message-----
From: Cake <cake-bounces@lists.bufferbloat.net> On Behalf Of John Sager
Sent: Tuesday, February 23, 2021 6:15 AM
To: cake@lists.bufferbloat.net
Subject: Re: [Cake] Enforcing video quality question
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
>
prev parent reply other threads:[~2021-02-23 20:52 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
2021-02-23 20:37 ` Peter Lepeska
2021-02-23 20:52 ` Jeremy Marks [this message]
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='003101d70a25$c32357a0$496a06e0$@gmail.com' \
--to=jmarks2@gmail.com \
--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