[Cerowrt-devel] [Bloat] Testing Queue models

Justin McCann jneilm at gmail.com
Wed Feb 1 15:08:41 EST 2012

On Wed, Feb 1, 2012 at 12:12 PM, Dave Taht <dave.taht at gmail.com> wrote:
> Even getting 1/d is hard because the filters can only use IP and IPv6
> addresses, so a device issuing traffic on both ipv4 and ipv6 can get
> twice what it deserves in terms of bandwidth, or more if it has
> multiple ipv6 addresses.
> My preferred solution to this (and part of the wireless problem) is to
> sort things out by source mac address. How to do that, remains a
> mystery. The way I'm leaning is to invent some sort of "src mac-to-id"
> filter that is global router-wide.

A friend and I were discussing last week how each device on an IPv6
network can and will have multiple addresses, so classifying becomes a
bit trickier. But I guess most devices are supposed to have one (ha!)
/64, so you can ignore the lower-order bits? I assume that sort of
IPv6 alias resolution is a solved problem already...?

It sounds to me like you want to assign each device its own netfilter
MARK, and mark each packet (by MAC?) on ingress, and then use the mark
plus any other port/protocol selection you want to put it into the
appropriate queue.

> I tend to view (in the home) as having 1/u network performance as the
> ideal. There are exceptions to this, notably video vs. say,
> bittorrent. A clever way of getting closer to 1/u might be to sense
> for more recent DNS queries and move that to a more interactive class.

You might try assigning each device to a user, and then marking as
above, assuming only one user at a time on a device.

I guess that doing this would address (in the local/home network) what
Bob Briscoe was getting at in our earlier thread:

"Since 2004, we now understand that fairness has to involve accounting
over time. That requires per-user state, which is not something you
can do, or that you need to do, within every queue. We should leave
fairness to separate code, probably on machines specialising in this
at the edge of a provider's network domain - where it knows about
users/customers - separate from the AQM code of each specific queue."


More information about the Cerowrt-devel mailing list