From: Sebastian Moeller <moeller0@gmx.de>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] #17
Date: Tue, 14 Apr 2015 12:34:10 +0200 [thread overview]
Message-ID: <4DB49702-F260-4841-8E1A-27D824C14A7E@gmx.de> (raw)
In-Reply-To: <23954505-84F7-4708-9EAD-4233B2DEFE81@gmail.com>
Hi Jonathan,
On Apr 14, 2015, at 12:13 , Jonathan Morton <chromatix99@gmail.com> wrote:
>
>> On 13 Apr, 2015, at 17:45, Sebastian Moeller <moeller0@gmx.de> wrote:
>>
>>> It could be refined by adding an additional, orthogonal setting for non-cell framing overhead, which would be added before the cell-framing calculation; this would allow adding the 8 bytes of PPPoE framing and/or the 2 bytes of Ethernet VLAN tag, for people who want to get it exactly right.
>>
>> I fully endorse this, actually this “overhead” parameter should work independent of the “atm” flag (on my VDSL link I have 16 bytes overhead that needs accounting on top of the ethernet header). For non-atm carriers getting the per-packet overhead wrong is not as terrible, but it will make the shaper suck with small packets…
>
> Well yes, that’s what I meant by “orthogonal”.
Ah, good.
>
>>> Whether these are simple, self-descriptive flags which can be combined for the desired effect, or a numeric parameter which must be set up, is open for discussion.
>>
>> Have a look at http://ace-host.stuart.id.au/russell/files/tc/tc-atm/ and http://www.faqs.org/rfcs/rfc2684.html (neither of which deals with potential VLAN tags between BRAS and Modem, that are “invisible” to packet captures as they never reach the endusers network, but still cost bottleneck bandwidth); the whole encapsulation issue is a mess that will most likely not lend it self to a small enumeration of encapsulations
>
> What I propose is that I add a numeric overhead parameter to cake’s configuration API, and then in iproute2 I can provide keywords as a more user-friendly way of specifying the common cases, as well as offering direct access to the numeric. So specifying “pppoa vcmux” would be shorthand for “atm overhead 10”,
This is going to be challenging to keep it simple, as we still need to think about what the kernel does on ethernet interfaces (it accounts for the ethernet header) so for PPPoE, LLC/SNAP, RFC-2684 you already need 3 flags plus a flag for ethernet header (which h the kernel does account for on ethernet devices but not on true ATM devices even if an ethernet header is used on the wire). Also most users do not really know or have a reliable way to figure out the encapsulation used (short of the slow empiric way I have been pushing for some time). But as long as there is a way to specify the overhead numerically, having a nicer symbolic way is not going to hurt.
> “vdsl” would be shorthand for “noatm overhead 16”,
But, that is only true for my link including PPPoE and VLAN overhead, vdsl2 only drags in an additional 5 bytes:
VDSL (IEEE 802.3-2012 61.3 relevant for VDSL2): 2 Byte PPP + 6 Byte PPPoE + 4 Byte VLAN + 1 Byte Start of Frame (S), 1 Byte End of Frame (Ck), 2 Byte TC-CRC (PTM-FCS), = 16 Byte
Also I am uncertain whether vdsl2 transmits the ethernet frame check sequence or not… (and unlike with the ATM carrier I have no idea how to measure the actual per packet overhead…)
In my case this really does not matter though, as the BRAS throttle accounts for 16 bytes (dual VLAN tags) so that is the value I need to shape for…
> and “raw” would allow reverting to an unadjusted configuration, ie. “noatm overhead 0”.
I like raw as simple way to clear all the individual symbolic constants ;)
> And it’s easy to retrospectively refine the behaviour of those keywords, because they’re in userspace.
Is it simlper to get a patch into iproute2 than the kernel? and are the iproute2 maintainers open to redefinition of symbolic values?
Best Regards
Sebastian
>
> - Jonathan Morton
>
next prev parent reply other threads:[~2015-04-14 10:34 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-12 19:18 Sebastian Moeller
2015-04-12 21:59 ` Dave Taht
2015-04-12 23:50 ` Sebastian Moeller
2015-04-12 23:55 ` Jonathan Morton
2015-04-13 0:15 ` Sebastian Moeller
2015-04-13 0:23 ` Sebastian Moeller
2015-04-13 0:45 ` Jonathan Morton
2015-04-13 6:51 ` Sebastian Moeller
2015-04-13 14:45 ` Sebastian Moeller
2015-04-14 10:13 ` Jonathan Morton
2015-04-14 10:34 ` Sebastian Moeller [this message]
2015-04-13 14:59 ` Sebastian Moeller
2015-04-13 17:06 ` Jonathan Morton
2015-04-13 19:45 ` Sebastian Moeller
2015-04-13 20:08 ` Jonathan Morton
2015-04-13 20:10 ` Sebastian Moeller
2015-04-14 0:58 ` Jonathan Morton
2015-04-14 1:24 ` Dave Taht
2015-04-14 7:03 ` 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=4DB49702-F260-4841-8E1A-27D824C14A7E@gmx.de \
--to=moeller0@gmx.de \
--cc=cake@lists.bufferbloat.net \
--cc=chromatix99@gmail.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