From: Ryan Mounce <ryan@mounce.com.au>
To: Dennis Fedtke <dennisfedtke@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] overhead and mpu
Date: Tue, 5 Sep 2017 13:07:05 +0930 [thread overview]
Message-ID: <CAN+fvRZ5fnaNVuempGVOnR9siK_Qyb2ncTb=AQa-ZuUpsK0xAA@mail.gmail.com> (raw)
In-Reply-To: <CAN+fvRbppV=Q0h81Wt-wLcAygmyJ1u7_xjViH8qnm_Y8hfj6dQ@mail.gmail.com>
I will clarify a little further, that cake does make a guess as to the
overhead of an interface based on what it 'sees' however this is
overridden (rather than simply added to) if the overhead is specified
directly or via a keyword.
In my case running cake on a VLAN subinterface, it happens to guess 18
bytes (14 ethernet + 4 802.1q) which is subsequently set to 18 bytes
again by the 'docsis' keyword. 'tc qdisc show dev eth0.2' naively
determines that since my configured overhead is the same as the
overhead it 'sees', that I must have configured cake to use the 'raw'
overhead.
On 5 September 2017 at 12:56, Ryan Mounce <ryan@mounce.com.au> wrote:
> Hi Dennis,
>
> I am probably qualified to answer your question as I have done
> extensive testing for this case with DOCSIS modems, indeed I was
> prompted to contribute the 'mpu' option to cake in order to optimise
> this case.
>
> Short answer: just use the 'docsis' keyword for cake which configures
> the correct overhead and mpu, then it is just a matter of tuning the
> bandwidth.
>
> e.g. this is my command for cake on a DOCSIS connection advertised as
> 2Mbps upstream but actually shaped to 2.5Mbps:
> tc qdisc add dev eth0.2 root cake dual-srchost nat oceanic docsis
> bandwidth 2496Kbit
>
>
> The shaper in DOCSIS modems for upstream traffic (and I believe also
> in the CMTS for downstream traffic) works with ethernet frames
> including the 14-byte MAC header and 4-byte CRC and excluding any
> preamble / inter-packet gap, for 18 bytes total. Cake rounds runt
> frames up to the MPU after the overhead has been added, thus 64 bytes
> is our MPU for DOCSIS.
>
> It doesn't matter what packet size cake 'sees' on an interface, the
> overhead specified at the command line (directly or via keywords) is
> always interpreted relative to IP packets rather than relative to the
> PDU of a given interface.
>
> Regards,
> Ryan Mounce
>
> On 5 September 2017 at 12:16, Dennis Fedtke <dennisfedtke@gmail.com> wrote:
>> Hi!
>>
>> what values should be used for an Ethernet connection running over docsis
>> modem?
>>
>> I think cake automatically accounts for the Ethernet header.
>> But how large is the ethernet header? Some sites say 1514 some other sites
>> say 1518.
>> So we have the mac header (14bytes) + the crc checksum (4 bytes) + max
>> payload 1500bytes = 1518 bytes?
>>
>> I looked at the code and there is hard_header_len used.
>>
>> After some quick googling i found this info:
>> The value ofhard_header_lenis14(ETH_HLEN) for Ethernet interfaces.
>>
>> Which "packets size(1500 or 1514 or 1518)" does cake really see and work
>> with when running on an Ethernet interface?
>> Minimum Ethernet payload size is 46 bytes. So should i use mpu 46, mpu 60 or
>> mpu 64 setting for an Ethernet interface?
>>
>> Thanks
>>
>> _______________________________________________
>> Cake mailing list
>> Cake@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cake
next prev parent reply other threads:[~2017-09-05 3:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-05 2:46 Dennis Fedtke
2017-09-05 3:26 ` Ryan Mounce
2017-09-05 3:37 ` Ryan Mounce [this message]
2017-09-05 6:00 ` Dennis Fedtke
2017-09-05 6:49 ` Ryan Mounce
2017-09-05 6:58 ` Jonathan Morton
2017-09-05 20:19 ` Dennis Fedtke
2017-09-06 1:45 ` Ryan Mounce
2017-09-06 7:26 ` Sebastian Moeller
2017-09-07 4:11 ` Dennis Fedtke
2017-09-07 4:18 ` Dennis Fedtke
2017-09-07 4:25 ` Jonathan Morton
2017-09-07 7:41 ` Dennis Fedtke
2017-09-07 7:58 ` Sebastian Moeller
2017-09-07 7:47 ` Sebastian Moeller
2017-09-07 7:58 ` Dennis Fedtke
2017-09-07 8:07 ` Sebastian Moeller
2017-09-06 7:22 ` Sebastian Moeller
2017-09-05 8:01 ` Sebastian Moeller
2017-09-05 8:35 ` Kevin Darbyshire-Bryant
2017-09-05 8:58 ` Sebastian Moeller
2017-09-05 14:37 ` Ryan Mounce
2017-09-05 15:06 ` Sebastian Moeller
2017-09-05 15:33 ` Kevin Darbyshire-Bryant
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+fvRZ5fnaNVuempGVOnR9siK_Qyb2ncTb=AQa-ZuUpsK0xAA@mail.gmail.com' \
--to=ryan@mounce.com.au \
--cc=cake@lists.bufferbloat.net \
--cc=dennisfedtke@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