All Favorites

Linux tc for SD-WAN Testing

If you’re looking to deploy a new IT solution, you need to be sure that it meets your needs. What are you relying on to be sure of that? Are you reading the tests that are done to provide numbers for throughput? Or latency? Are you taking their word for it? Or are you doing your own testing?

One of the major roadblocks to testing with networking devices is the ability to do the kinds of traffic patterns that we’re most interested in replicating. We don’t just want to see what happens when everything is working smoothly. We want to test things like failover and the logic that causes a device to move to a new link due to congestion. However, the setups that are capable of doing this on a large scale cost a significant amount of capital and are designed to test large links. What if you just need to test one box or perhaps a few for a bake-off?

Thanks to Gian Paolo Boarina, we have a great answer if you’re looking to do small-scale testing. It comes courtesy of our friends in the Linux kernel! Using the tc command, you can get a great setup to simulate what happens when there’s a problem with your connection. You’re not generating packets per se as much as you’re generating what happens when you start losing them.

Here’s a great example of some of the knowledge that Gian Paolo shares:

With the bridge in place we can start working with tc to add latency and drop some packets. I share below some simple examples of tc from my notes that can be used as a starting point. Add 400ms of latency, introducing a 25% packet loss, and Some examples of policing and latency.

Read more at Gian Paolo’s blog here: Linux tc for SDWAN testing

About the author

Tom Hollingsworth

Tom Hollingsworth is a networking professional, blogger, and speaker on advanced technology topics. He is also an organizer for networking and wireless for Tech Field Day.  His blog can be found at

Leave a Comment