[Cake] openwrt build with latest cake and other qdiscs

Jonathan Morton chromatix99 at gmail.com
Thu May 14 09:12:06 EDT 2015


> On 14 May, 2015, at 13:58, Sebastian Moeller <moeller0 at gmx.de> wrote:
> 
>> Peeling is on the agenda; that’ll make sure we are dealing with actual, individual packets when we need to.  
> 
> I agree, that sounds conceptually much cleaner, but peeling is going to be costlier than pushing the segmentation to the NIC, so bandwidth aficionados will not appreciate unconditional peeling, I would guess.
> 
>> Certainly when dealing with cell-framing overhead, we *always* need to know individual packet sizes.
> 
> Well that or the sum for an aggregate as long as the sum takes all fancy “celling” into account, all we really need to know to how many bits the data expands on the wire.

Since GRO and GSO are for Ethernet and thus *don’t* take cell-framing overhead into account, I really do have to break them up for that purpose if no other.

But beyond that, it can be conditional.  I propose that peeling be done if either:

1) the ATM flag is set, or

2) the aggregate would occupy more than 1ms on the wire (at the shaped rate).

This would imply that pairs of 1500-byte packets would be separated at shaping rates up to 24Mbps, but smaller aggregates of smaller packets could still pass unhindered.  Conveniently, 24Mbps is also the ADSL cap, although since that’s the downstream rate, it’s not quite so relevant.

Incidentally, GSO also interferes with my proposed ELR signalling, in a way that it doesn’t with ordinary ECN.  ELR needs to consider packets individually in order to apply the correct signalling pattern to them.  However, if the NIC did the signalling, that wouldn’t be an objection.

 - Jonathan Morton




More information about the Cake mailing list