[Cake] overheads or rate calculation changed?

Jonathan Morton chromatix99 at gmail.com
Sat Jan 6 19:33:31 EST 2018


> On 7 Jan, 2018, at 12:46 am, Sebastian Moeller <moeller0 at gmx.de> wrote:
> 
> I thibk cake should offer a mode in which it behaves as all other qdiscs currently do and not do auto correction at all and a mode where it corrects for the right amount, but keeping the current ake cbehavior will not help anybody.... but most likely i misunderstood your proposal in that regard.

Let me explain a little more clearly, using your example:

Here "by default" means with no overhead keywords used at all.  Currently, Cake does nothing with the packet lengths by default, acting as though "raw" was specified.

Instead, Cake will act as though "overhead 26" were specified on egress and "overhead 14" on ingress in your case.  Unlike its current behaviour, it will recognise that it's actually getting raw IP packets, and won't first attempt to subtract a non-existent header from them.  That's still different from tc-stab behaviour, but probably more useful.

Conversely, with a typical Ethernet interface, it will act as though "overhead 14" were specified on both egress and ingress, and will effectively leave the packet length alone, recognising that there is in fact an Ethernet frame header on the front of the packets handed in.

If you then specify "overhead 34", you'll get exactly that, relative to the transport-layer packet (that is, IP).

You'll get visibility into this behaviour through the output of the current configuration, which will include an overhead keyword.  And all this assumes that skb_network_offset(skb) *actually* does what I think it does.

What I'm not sure about yet is whether to keep "raw" and "via-ethernet" with their current meanings - as that would probably have a (small) runtime overhead as well as requiring more serious thought into how to organise the configuration interface.  Otherwise, I do intend to keep "raw" as a way to reset to the default configuration.

 - Jonathan Morton



More information about the Cake mailing list