Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Ryan Mounce <ryan@mounce.com.au>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: marco@heavenlysanctuary.com, Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Frontier FIOS Framing
Date: Mon, 23 Sep 2019 21:23:18 +0930	[thread overview]
Message-ID: <CAN+fvRaGQZa2SpJPxwz7Jkc1NWemGV+_tintmBwev5XGuSu4PQ@mail.gmail.com> (raw)
In-Reply-To: <F35FA667-3AE9-487E-9747-2EFCB6627556@gmail.com>

On Mon, 23 Sep 2019 at 13:56, Jonathan Morton <chromatix99@gmail.com> wrote:
>
> The overhead compensation matters more with small packets than with the larger ones used for bulk transfers; for the latter, reserving a little more bandwidth will appear to make everything work.  For fibre I would try "ethernet" and reserve about 1% bandwidth each way, then if possible test to see whether there is any bloat.

The "ethernet" keyword is perfect for shaping real line rate ethernet,
however it's more likely that the upstream ONU/OLT/BNG is
shaping/policing without regard for the 8 byte preamble + 12 byte
inter-frame gap. It's almost certainly blind to the native GEM framing
of GPON.

My starting point would be "mpu 64 overhead 18". There are possibly
VLAN tags in use behind the scenes, so try incrementing overhead by 4
from there.

For example, this is the simplified cake incantation for the upstream
of my 100/40 GPON connection:

tc qdisc replace dev eth2 root cake dual-srchost nat mpu 64 overhead
26 bandwidth 40Mbit

There are 2 VLAN tags added by the OLT before my upstream traffic is
policed by an aggregation switch, so 18 bytes ethernet (incl. FCS) + 4
bytes VLAN + 4 bytes VLAN = 26

Correspondingly in the downstream I use:

tc qdisc replace dev ifb2 root cake ingress dual-dsthost nat mpu 64
overhead 26 bandwidth 99Mbit

As alluded to by Jonathan, the 1% margin is required in order for cake
to reliably enforce host/flow fairness on downstream/"ingress"
traffic. So long as mpu/overhead/bandwidth are fine tuned, I haven't
needed to allow for any margin in the upstream.

-Ryan

      parent reply	other threads:[~2019-09-23 11:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-23  3:37 Marco Belmonte
2019-09-23  4:26 ` Jonathan Morton
2019-09-23  6:57   ` Marco Belmonte
2019-09-23  7:44   ` Sebastian Moeller
2019-09-23 11:53   ` Ryan Mounce [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=CAN+fvRaGQZa2SpJPxwz7Jkc1NWemGV+_tintmBwev5XGuSu4PQ@mail.gmail.com \
    --to=ryan@mounce.com.au \
    --cc=cake@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=marco@heavenlysanctuary.com \
    /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