Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
To: <cake@lists.bufferbloat.net>
Subject: [Cake] de-natting & host fairness
Date: Mon, 26 Sep 2016 04:20:38 +0100	[thread overview]
Message-ID: <3a99770e-6350-471f-72b6-b209d7d77d75@darbyshire-bryant.me.uk> (raw)

Greetings!

A while back I started on a quest to make cake 'nat' aware as the lack 
of host fairness in a typical home router environment was the only thing 
that prevented cake from being the ultimate qdisc in my opinion.  This 
involves dealing with conntrack which on egress is easy (the kernel 
fills in a data structure for us), ingress is less clear.  I hacked 
something together but wasn't really happy with it.

Another github user 'tegularius' presented some beautifully crafted code 
that did the lookups in a much neater way.  Originally it too had an 
'ingress' lookup problem.  This was worked on and I hacked some 
conditional 'denat' options into cake & tc.

For your 'delight' a denat cake 
https://github.com/kdarbyshirebryant/sch_cake/tree/natoptions along with 
a matching tc https://github.com/kdarbyshirebryant/tc-adv/tree/denat

Typically I use 'dual-srchost srcnat' options on the egress interface, 
with 'dual-dsthost dstnat' in the ingress ifb interface.  In *brief* 
testing, bandwidth is shared fairly between hosts, and fairly by flow 
within each host.  And it's not crashed yet.

Kevin

             reply	other threads:[~2016-09-26  3:20 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-26  3:20 Kevin Darbyshire-Bryant [this message]
2016-09-26  3:54 ` Dave Taht
2016-09-26  5:11   ` Dave Taht
2016-09-26  8:54 ` moeller0
2016-09-26 13:02   ` Kevin Darbyshire-Bryant
2016-09-26 13:28     ` moeller0
2016-09-26 14:06       ` Kevin Darbyshire-Bryant
2016-09-26 14:30       ` Jonathan Morton
2016-09-26 15:23         ` moeller0
2016-09-27  1:52 ` Noah Causin
2016-09-27  2:32   ` Kevin Darbyshire-Bryant
2016-09-27  4:20     ` Noah Causin
2016-09-27 14:52     ` Noah Causin
2016-09-27 15:28       ` Kevin Darbyshire-Bryant
2016-09-27 20:40         ` Noah Causin
2016-09-27 20:44           ` Jonathan Morton
     [not found]           ` <CAA93jw6rPE8aAGEiqf7jp3hc1J0ThrVer8PFmFLPBqANdtEixg@mail.gmail.com>
2016-09-27 20:58             ` Noah Causin
2016-09-28  4:38           ` Kevin Darbyshire-Bryant
2016-09-28  5:08             ` Noah Causin
2016-09-27 23:08 ` Jonathan Morton
2016-09-28  2:56   ` Kevin Darbyshire-Bryant
2016-09-28  3:06     ` Jonathan Morton
2016-09-28  3:33       ` Kevin Darbyshire-Bryant
2016-09-28  3:49         ` Jonathan Morton
2016-09-28  6:07       ` Kevin Darbyshire-Bryant
2016-09-28 11:08         ` Kevin Darbyshire-Bryant
2016-09-28 11:49           ` Dave Taht
2016-09-28 14:11             ` Kevin Darbyshire-Bryant
2016-09-28  5:56   ` 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=3a99770e-6350-471f-72b6-b209d7d77d75@darbyshire-bryant.me.uk \
    --to=kevin@darbyshire-bryant.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