Hacker News new | ask | show | jobs
by wtallis 3767 days ago
Direct use of queuing disciplines lets you create bloated buffers and use features of TBF and netem that aren't exposed through this simple wrapper. If you're testing at line rate, bfifo suffices to create bufferbloat, and TBF lets you do rate limiting with the kinds of burst allowances used by many cable ISPs. The IFB module is used to do ingress shaping, which is totally not addressed by this tcconfig tool.

For packet loss, you really just need to create competing traffic in order to cause congestion, preferably realistically bursty competition. Dropping packets based on a fixed probability isn't a realistic simulation of any common real-world cause of packet loss, and generating competing traffic is probably easier than figuring out the right way to approximate its effect using the other loss models implemented by netem (and again not exposed through this simple tool). Simulating the behavior of WiFi under congestion and interference is hard, and I don't think the stock Linux kernel (or any other mainstream OS) has adequate tools to emulate layer 2 retransmits, packet aggregation, and the periodic interference of microwave ovens.