[Bloat] Best practices for paced TCP on Linux?

Steinar H. Gunderson sgunderson at bigfoot.com
Fri Apr 6 14:37:25 PDT 2012


This is only related to bloat, so bear with me if it's not 100% on-topic;
I guess the list is about the best place on the Internet to get a reasonble
answer for this anyway :-)

Long story short, I have a Linux box (running 3.2.0 or so) with a 10Gbit/sec
interface, streaming a large amount of video streams to external users,
at 1Mbit/sec, 3Mbit/sec or 5Mbit/sec (different values). Unfortunately, even
though there is no congestion in _our_ network (we have 190 Gbit/sec free!),
some users are complaining that they can't keep the stream up.

My guess is that this is because at 10Gbit/sec, we are crazy bursty, and
somewhere along the line, there will be devices doing down conversion without
enough buffers (for instance, I've seen drop behavior on Cisco 2960-S in a
very real ISP network on 10->1 Gbit/sec down conversion, and I doubt it's the
worst offender here).

Is there anything I can do about this on my end? I looked around for paced
TCP implementations, but couldn't find anything current. Can I somehow shape
each TCP stream to 10Mbit/sec or so each with a combination of SFQ and TBF?

I'm not very well versed in tc, so anything practical would be very much
appreciated. Bonus points if we won't have to patch the kernel.

/* Steinar */
Homepage: http://www.sesse.net/

More information about the Bloat mailing list