[lkml]   [2003]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[ANNOUNCE] Layer-7 Filter for Linux QoS
We have written a filter for the QoS infrastructure that looks at the 
data segment of packets and uses regular expressions to identify the
protocol of a stream of traffic regardless of port number.

Many peer-to-peer programs (such as Kazaa and Gnucleus) will change to
use a different port (including well known ports such as, say, 80) if
they find that they can get better throughput there. That means that the
port based filtering is no longer sufficient. However, by analyzing the
application layer data, we can differentiate Kazaa from non-Kazaa HTTP,
and lower the priority of whichever we deem to be less important. :)

It is a filter in the existing QoS infrastructure, so it can be used in
conjunction with u32 filters, HTB or CBQ scheduling, SFQ queueing etc,

Commercial companies sell devices which do layer-7 classification for
anywhere from $6000-$80,000 depending on the bandwidth required. If we
can build a comprehensive set of patterns I don't see any reason why
Linux can't beat the pants off the commercial devices; we already have
excellent queueing, and scheduling.

Our home page is but if you want to
skip right to the downloads go to (there is a kernel patch, a
patched version of tc, and some sample patterns for HTTP, POP3, IMAP,
SSH, Kazaa, and FTP.) You'll notice the patch is a somewhat large, most
of that is regexp code.

We're still working on it. It currently only does TCP for example... Do
you guys/gals have any comments/suggestions/etc? I suspect that this is
a post 2.6 thing, but it is very non-invasive (it only adds approx. 2
lines of code that would affect anything if the user were not using the
layer-7 filters,) so I still have a little bit of hope.

Ethan Sommer
Matt Strait
Justin Levandoski

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:35    [W:0.017 / U:7.236 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site