[Bloat] [Codel] [Cerowrt-devel] FQ_Codel lwn draft article review
Michael Richardson
mcr at sandelman.ca
Wed Nov 28 16:44:41 EST 2012
>>>>> "Eric" == Eric Dumazet <eric.dumazet at gmail.com> writes:
>> >>>>> "Paul" == Paul E McKenney <paulmck at linux.vnet.ibm.com> writes:
Paul> You lost me on this one. It looks to me like
Paul> net/sched/sch_fq_codel.c
Paul> in fact does hash packets into flows, so FQ-CoDel is
Paul> stochastic in the
Paul> the same sense that SFQ is. In particular, FQ-CoDel can hash a thin
Paul> session into the same flow as a thick session, which really is the
Paul> birthday effect.
>>
>> Silly question from someone who should read more code, but...
>> if one is hashing the packet to pick a flow bucket, shouldn't this hash
>> occur before any application of address/port translation. ? (NAT)
>>
>> (Maybe I've just found out that IPv6 + CoDel will be a killer
>> combination)
Eric> Why would it be a killer ?
I mean, it's a killer app :-)
Eric> A NATed flow becomes another flow, with its own hash
yes, but one loses the afinity to which internal host the flow belongs
to, so it's harder to be "fair" to each host.
going deeper into the packet is both expensive and is difficult to
impossible given tunnels and NAT. The lack of NAT on IPv6 would make
deeper classification easier for layer-two devices (DSL modems, etc),
and the IPv6 flow label would also contribute significantly to making
this easier.
Consider a future scenario where there are the following streams easily
identified:
1) IPv4 packets less than 128 bytes.
2) IPv6 packets > 128 bytes.
*) IPv6 flows identified by flow label
In such a situation, IPv6 becomes the choice for interactive video.
--
] He who is tired of Weird Al is tired of life! | firewalls [
] Michael Richardson, Sandelman Software Works, Ottawa, ON |net architect[
] mcr at sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE>
then sign the petition.
More information about the Bloat
mailing list