Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: moeller0 <moeller0@gmx.de>
To: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] triple flow isolation
Date: Thu, 14 Jan 2016 15:20:15 +0100	[thread overview]
Message-ID: <BD61E335-B01E-45C9-BDF5-2E1C8176B2D0@gmx.de> (raw)
In-Reply-To: <56941191.1010601@darbyshire-bryant.me.uk>

Hi Kevin,

> On Jan 11, 2016, at 21:33 , Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> wrote:
> 
> 
> 
> On 11/01/16 18:16, moeller0 wrote:
>> Hi Kevin,
>> 
>> I agree the triple mode seems under-documented ;)
> Yes that's true but it is experimental after all - and I'm experimenting
> with it :-)
>>> On Jan 11, 2016, at 18:40 , Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> wrote:
>>> 
>>> Hello List,
>>> 
>>> I've been looking at latest 'triple flow isolation' features in latest
>>> cake git and find myself confused.  It's very likely to be a
>>> misunderstanding on my part, although if I'm confused I'm sure others
>>> will, sooner or later, fall into the same trap.
>>> 
>>> I thought that triple flow was a solution such that a host with many
>>> elephant flows couldn't dominate the bandwidth consumption thus starving
>>> another host with just one elephant flow.  I guess the typical example
>>> is a 'bittorrent' host pulling data from many places vs a host pulling
>>> data from a single place.  My recent 'test' example was a host doing 4
>>> simulatenous pulls of 9GByte+ files vs my wife downloading a movie via
>>> the TV box downstairs.  The bandwidth was evenly divided by the 5 flows,
>>> however my host got 4/5ths of the share.  I didn't think this was
>>> supposed to happen with triple flow isolation?  Ideally we'd both get
>>> 50% of the ISP bandwidth managed by my router (cake is running on the
>>> WAN facing interface to the ISP modem with appropriate bandwidth limits set)
>> 	I believe you would want src_host on egress and (post-NAT) dat-host on ingress, assuming your goal is fairness by internal host, not external hosts ;). Now the challenges are to get the post-NAT IP addresses on ingress and how to counteract IPv6’s tendency to grow incredible amounts of addresses by host. In theory all of this could be solved with fairness by internal MAC addresses, except these will only work in a shallow networks (as far as I understand). I would argue that wifi aggregation has the same issue regarding IPv6, but I digress...
> Ah, yes, silly me - NAT.  As you say pre-NAT internal source address on
> egress and post-NAT internal destination address on ingress.  So the
> shaping to work, cake needs to be on the wan interface but that's too
> late to obtain the internal pre-NATed addresses.  Oh dear.  Help!

	So a quick and dirty test would be to set up sqm with cake on the interface connecting the router SoC with its switch (aka LAN) then you have access to the internal addresses for both egress and ingress. Note that ingress and egress will be switched as compared to sqm on the wan interface so adjust the shaper settings accordingly (ingress egress are always from the view of the router, and on a LAN interface the egress direction of the interface is the ingress/download direction from the WAN). So, I would guess, destination address on egress and source address on ingress as seen by sqm should do the trick then.
	This test will obviously only work if no additional traffic hits the router besided WAN ans LAN, so no WLAN on the router for this test… Or leave everything as is an run pure IPv6 tests, since I believe openwrt does not do NAT6 by default…
	I am really curious how cake behaves in that setting...

Best Regards
	Sebastian

> 
> 
> _______________________________________________
> Cake mailing list
> Cake@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake


  reply	other threads:[~2016-01-14 14:20 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-11 17:40 Kevin Darbyshire-Bryant
2016-01-11 18:16 ` moeller0
2016-01-11 20:33   ` Kevin Darbyshire-Bryant
2016-01-14 14:20     ` moeller0 [this message]
2016-01-14 14:45       ` Jonathan Morton
2016-01-14 15:48         ` moeller0
2016-01-14 16:05           ` Jonathan Morton
     [not found]             ` <02A10F37-145C-4BF9-B428-BC1BDF700135@gmx.de>
2016-01-15  0:05               ` Jonathan Morton
2016-01-15  8:05                 ` moeller0
2016-01-16  9:05                   ` Jonathan Morton
2016-01-16  9:35                     ` Jonathan Morton
2016-01-17 22:22                       ` moeller0
2016-01-18  9:21                     ` moeller0
2016-01-18  9:37                       ` Jonathan Morton
2016-01-18 11:08                         ` Alan Jenkins
2016-01-18 11:39                           ` Jonathan Morton
2016-01-18 16:20                         ` Sebastian Moeller

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=BD61E335-B01E-45C9-BDF5-2E1C8176B2D0@gmx.de \
    --to=moeller0@gmx.de \
    --cc=cake@lists.bufferbloat.net \
    --cc=kevin@darbyshire-bryant.me.uk \
    /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