Runko Works

Case study

An accelerated network stack inside containers

Containers depend on network interfaces moving between namespaces. Tests proved the accelerated network stack keeps working when they do.

Client
Network technology vendor
Role
Designed and built the framework extensions and tests
Period
2015 – 2018
Area
Quality engineering
Stack
Linux network namespaces · C

Why it mattered

Containers are built on Linux network namespaces: each container sees its own network, and it gets its connection when a network interface is moved into its namespace. The kernel’s own network stack handles that move. For the vendor’s accelerated TCP/UDP stack to be usable in containers, it had to keep working correctly when interfaces move between namespaces too.

How it works

  • Framework extensions. The engineering company’s own test framework, the tool behind its testing services, was extended to create and drive namespaces on a test host, together with their virtual interfaces and routing.
  • Tests around the move itself: interfaces moved between namespaces, and the accelerated stack checked to behave correctly before and after.
  • Thousands of tests then ran inside namespaces against the accelerated stack.