Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
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 --]

  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